!(function (t) {
     var e = {};
     function i(n) {
          if (e[n]) return e[n].exports;
          var r = (e[n] = { i: n, l: !1, exports: {} });
          return t[n].call(r.exports, r, r.exports, i), (r.l = !0), r.exports;
     }
     (i.m = t),
          (i.c = e),
          (i.d = function (t, e, n) {
               i.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: n });
          }),
          (i.r = function (t) {
               "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 });
          }),
          (i.t = function (t, e) {
               if ((1 & e && (t = i(t)), 8 & e)) return t;
               if (4 & e && "object" == typeof t && t && t.__esModule) return t;
               var n = Object.create(null);
               if ((i.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t))
                    for (var r in t)
                         i.d(
                              n,
                              r,
                              function (e) {
                                   return t[e];
                              }.bind(null, r)
                         );
               return n;
          }),
          (i.n = function (t) {
               var e =
                    t && t.__esModule
                         ? function () {
                                return t.default;
                           }
                         : function () {
                                return t;
                           };
               return i.d(e, "a", e), e;
          }),
          (i.o = function (t, e) {
               return Object.prototype.hasOwnProperty.call(t, e);
          }),
          (i.p = ""),
          i((i.s = 152));
})([
     function (t, e, i) {
          (function (t) {
               t.exports = (function () {
                    "use strict";
                    var e, n;
                    function r() {
                         return e.apply(null, arguments);
                    }
                    function o(t) {
                         return t instanceof Array || "[object Array]" === Object.prototype.toString.call(t);
                    }
                    function a(t) {
                         return null != t && "[object Object]" === Object.prototype.toString.call(t);
                    }
                    function s(t, e) {
                         return Object.prototype.hasOwnProperty.call(t, e);
                    }
                    function l(t) {
                         if (Object.getOwnPropertyNames) return 0 === Object.getOwnPropertyNames(t).length;
                         var e;
                         for (e in t) if (s(t, e)) return !1;
                         return !0;
                    }
                    function c(t) {
                         return void 0 === t;
                    }
                    function u(t) {
                         return "number" == typeof t || "[object Number]" === Object.prototype.toString.call(t);
                    }
                    function h(t) {
                         return t instanceof Date || "[object Date]" === Object.prototype.toString.call(t);
                    }
                    function d(t, e) {
                         var i,
                              n = [];
                         for (i = 0; i < t.length; ++i) n.push(e(t[i], i));
                         return n;
                    }
                    function p(t, e) {
                         for (var i in e) s(e, i) && (t[i] = e[i]);
                         return s(e, "toString") && (t.toString = e.toString), s(e, "valueOf") && (t.valueOf = e.valueOf), t;
                    }
                    function f(t, e, i, n) {
                         return Me(t, e, i, n, !0).utc();
                    }
                    function m(t) {
                         return (
                              null == t._pf &&
                                   (t._pf = {
                                        empty: !1,
                                        unusedTokens: [],
                                        unusedInput: [],
                                        overflow: -2,
                                        charsLeftOver: 0,
                                        nullInput: !1,
                                        invalidEra: null,
                                        invalidMonth: null,
                                        invalidFormat: !1,
                                        userInvalidated: !1,
                                        iso: !1,
                                        parsedDateParts: [],
                                        era: null,
                                        meridiem: null,
                                        rfc2822: !1,
                                        weekdayMismatch: !1,
                                   }),
                              t._pf
                         );
                    }
                    function g(t) {
                         if (null == t._isValid) {
                              var e = m(t),
                                   i = n.call(e.parsedDateParts, function (t) {
                                        return null != t;
                                   }),
                                   r =
                                        !isNaN(t._d.getTime()) &&
                                        e.overflow < 0 &&
                                        !e.empty &&
                                        !e.invalidEra &&
                                        !e.invalidMonth &&
                                        !e.invalidWeekday &&
                                        !e.weekdayMismatch &&
                                        !e.nullInput &&
                                        !e.invalidFormat &&
                                        !e.userInvalidated &&
                                        (!e.meridiem || (e.meridiem && i));
                              if ((t._strict && (r = r && 0 === e.charsLeftOver && 0 === e.unusedTokens.length && void 0 === e.bigHour), null != Object.isFrozen && Object.isFrozen(t))) return r;
                              t._isValid = r;
                         }
                         return t._isValid;
                    }
                    function v(t) {
                         var e = f(NaN);
                         return null != t ? p(m(e), t) : (m(e).userInvalidated = !0), e;
                    }
                    n = Array.prototype.some
                         ? Array.prototype.some
                         : function (t) {
                                var e,
                                     i = Object(this),
                                     n = i.length >>> 0;
                                for (e = 0; e < n; e++) if (e in i && t.call(this, i[e], e, i)) return !0;
                                return !1;
                           };
                    var y = (r.momentProperties = []),
                         b = !1;
                    function _(t, e) {
                         var i, n, r;
                         if (
                              (c(e._isAMomentObject) || (t._isAMomentObject = e._isAMomentObject),
                              c(e._i) || (t._i = e._i),
                              c(e._f) || (t._f = e._f),
                              c(e._l) || (t._l = e._l),
                              c(e._strict) || (t._strict = e._strict),
                              c(e._tzm) || (t._tzm = e._tzm),
                              c(e._isUTC) || (t._isUTC = e._isUTC),
                              c(e._offset) || (t._offset = e._offset),
                              c(e._pf) || (t._pf = m(e)),
                              c(e._locale) || (t._locale = e._locale),
                              y.length > 0)
                         )
                              for (i = 0; i < y.length; i++) c((r = e[(n = y[i])])) || (t[n] = r);
                         return t;
                    }
                    function x(t) {
                         _(this, t), (this._d = new Date(null != t._d ? t._d.getTime() : NaN)), this.isValid() || (this._d = new Date(NaN)), !1 === b && ((b = !0), r.updateOffset(this), (b = !1));
                    }
                    function w(t) {
                         return t instanceof x || (null != t && null != t._isAMomentObject);
                    }
                    function k(t) {
                         !1 === r.suppressDeprecationWarnings && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + t);
                    }
                    function S(t, e) {
                         var i = !0;
                         return p(function () {
                              if ((null != r.deprecationHandler && r.deprecationHandler(null, t), i)) {
                                   var n,
                                        o,
                                        a,
                                        l = [];
                                   for (o = 0; o < arguments.length; o++) {
                                        if (((n = ""), "object" == typeof arguments[o])) {
                                             for (a in ((n += "\n[" + o + "] "), arguments[0])) s(arguments[0], a) && (n += a + ": " + arguments[0][a] + ", ");
                                             n = n.slice(0, -2);
                                        } else n = arguments[o];
                                        l.push(n);
                                   }
                                   k(t + "\nArguments: " + Array.prototype.slice.call(l).join("") + "\n" + new Error().stack), (i = !1);
                              }
                              return e.apply(this, arguments);
                         }, e);
                    }
                    var M,
                         T = {};
                    function C(t, e) {
                         null != r.deprecationHandler && r.deprecationHandler(t, e), T[t] || (k(e), (T[t] = !0));
                    }
                    function D(t) {
                         return ("undefined" != typeof Function && t instanceof Function) || "[object Function]" === Object.prototype.toString.call(t);
                    }
                    function L(t, e) {
                         var i,
                              n = p({}, t);
                         for (i in e) s(e, i) && (a(t[i]) && a(e[i]) ? ((n[i] = {}), p(n[i], t[i]), p(n[i], e[i])) : null != e[i] ? (n[i] = e[i]) : delete n[i]);
                         for (i in t) s(t, i) && !s(e, i) && a(t[i]) && (n[i] = p({}, n[i]));
                         return n;
                    }
                    function E(t) {
                         null != t && this.set(t);
                    }
                    function A(t, e, i) {
                         var n = "" + Math.abs(t),
                              r = e - n.length;
                         return (t >= 0 ? (i ? "+" : "") : "-") + Math.pow(10, Math.max(0, r)).toString().substr(1) + n;
                    }
                    (r.suppressDeprecationWarnings = !1),
                         (r.deprecationHandler = null),
                         (M = Object.keys
                              ? Object.keys
                              : function (t) {
                                     var e,
                                          i = [];
                                     for (e in t) s(t, e) && i.push(e);
                                     return i;
                                });
                    var P = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
                         I = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
                         O = {},
                         Y = {};
                    function z(t, e, i, n) {
                         var r = n;
                         "string" == typeof n &&
                              (r = function () {
                                   return this[n]();
                              }),
                              t && (Y[t] = r),
                              e &&
                                   (Y[e[0]] = function () {
                                        return A(r.apply(this, arguments), e[1], e[2]);
                                   }),
                              i &&
                                   (Y[i] = function () {
                                        return this.localeData().ordinal(r.apply(this, arguments), t);
                                   });
                    }
                    function R(t, e) {
                         return t.isValid()
                              ? ((e = F(e, t.localeData())),
                                (O[e] =
                                     O[e] ||
                                     (function (t) {
                                          var e,
                                               i,
                                               n,
                                               r = t.match(P);
                                          for (e = 0, i = r.length; e < i; e++) Y[r[e]] ? (r[e] = Y[r[e]]) : (r[e] = (n = r[e]).match(/\[[\s\S]/) ? n.replace(/^\[|\]$/g, "") : n.replace(/\\/g, ""));
                                          return function (e) {
                                               var n,
                                                    o = "";
                                               for (n = 0; n < i; n++) o += D(r[n]) ? r[n].call(e, t) : r[n];
                                               return o;
                                          };
                                     })(e)),
                                O[e](t))
                              : t.localeData().invalidDate();
                    }
                    function F(t, e) {
                         var i = 5;
                         function n(t) {
                              return e.longDateFormat(t) || t;
                         }
                         for (I.lastIndex = 0; i >= 0 && I.test(t); ) (t = t.replace(I, n)), (I.lastIndex = 0), (i -= 1);
                         return t;
                    }
                    var H = {};
                    function j(t, e) {
                         var i = t.toLowerCase();
                         H[i] = H[i + "s"] = H[e] = t;
                    }
                    function N(t) {
                         return "string" == typeof t ? H[t] || H[t.toLowerCase()] : void 0;
                    }
                    function B(t) {
                         var e,
                              i,
                              n = {};
                         for (i in t) s(t, i) && (e = N(i)) && (n[e] = t[i]);
                         return n;
                    }
                    var W = {};
                    function V(t, e) {
                         W[t] = e;
                    }
                    function U(t) {
                         return (t % 4 == 0 && t % 100 != 0) || t % 400 == 0;
                    }
                    function q(t) {
                         return t < 0 ? Math.ceil(t) || 0 : Math.floor(t);
                    }
                    function $(t) {
                         var e = +t,
                              i = 0;
                         return 0 !== e && isFinite(e) && (i = q(e)), i;
                    }
                    function X(t, e) {
                         return function (i) {
                              return null != i ? (Z(this, t, i), r.updateOffset(this, e), this) : G(this, t);
                         };
                    }
                    function G(t, e) {
                         return t.isValid() ? t._d["get" + (t._isUTC ? "UTC" : "") + e]() : NaN;
                    }
                    function Z(t, e, i) {
                         t.isValid() &&
                              !isNaN(i) &&
                              ("FullYear" === e && U(t.year()) && 1 === t.month() && 29 === t.date() ? ((i = $(i)), t._d["set" + (t._isUTC ? "UTC" : "") + e](i, t.month(), wt(i, t.month()))) : t._d["set" + (t._isUTC ? "UTC" : "") + e](i));
                    }
                    var J,
                         K = /\d/,
                         Q = /\d\d/,
                         tt = /\d{3}/,
                         et = /\d{4}/,
                         it = /[+-]?\d{6}/,
                         nt = /\d\d?/,
                         rt = /\d\d\d\d?/,
                         ot = /\d\d\d\d\d\d?/,
                         at = /\d{1,3}/,
                         st = /\d{1,4}/,
                         lt = /[+-]?\d{1,6}/,
                         ct = /\d+/,
                         ut = /[+-]?\d+/,
                         ht = /Z|[+-]\d\d:?\d\d/gi,
                         dt = /Z|[+-]\d\d(?::?\d\d)?/gi,
                         pt = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
                    function ft(t, e, i) {
                         J[t] = D(e)
                              ? e
                              : function (t, n) {
                                     return t && i ? i : e;
                                };
                    }
                    function mt(t, e) {
                         return s(J, t)
                              ? J[t](e._strict, e._locale)
                              : new RegExp(
                                     gt(
                                          t.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (t, e, i, n, r) {
                                               return e || i || n || r;
                                          })
                                     )
                                );
                    }
                    function gt(t) {
                         return t.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
                    }
                    J = {};
                    var vt,
                         yt = {};
                    function bt(t, e) {
                         var i,
                              n = e;
                         for (
                              "string" == typeof t && (t = [t]),
                                   u(e) &&
                                        (n = function (t, i) {
                                             i[e] = $(t);
                                        }),
                                   i = 0;
                              i < t.length;
                              i++
                         )
                              yt[t[i]] = n;
                    }
                    function _t(t, e) {
                         bt(t, function (t, i, n, r) {
                              (n._w = n._w || {}), e(t, n._w, n, r);
                         });
                    }
                    function xt(t, e, i) {
                         null != e && s(yt, t) && yt[t](e, i._a, i, t);
                    }
                    function wt(t, e) {
                         if (isNaN(t) || isNaN(e)) return NaN;
                         var i,
                              n = ((e % (i = 12)) + i) % i;
                         return (t += (e - n) / 12), 1 === n ? (U(t) ? 29 : 28) : 31 - ((n % 7) % 2);
                    }
                    (vt = Array.prototype.indexOf
                         ? Array.prototype.indexOf
                         : function (t) {
                                var e;
                                for (e = 0; e < this.length; ++e) if (this[e] === t) return e;
                                return -1;
                           }),
                         z("M", ["MM", 2], "Mo", function () {
                              return this.month() + 1;
                         }),
                         z("MMM", 0, 0, function (t) {
                              return this.localeData().monthsShort(this, t);
                         }),
                         z("MMMM", 0, 0, function (t) {
                              return this.localeData().months(this, t);
                         }),
                         j("month", "M"),
                         V("month", 8),
                         ft("M", nt),
                         ft("MM", nt, Q),
                         ft("MMM", function (t, e) {
                              return e.monthsShortRegex(t);
                         }),
                         ft("MMMM", function (t, e) {
                              return e.monthsRegex(t);
                         }),
                         bt(["M", "MM"], function (t, e) {
                              e[1] = $(t) - 1;
                         }),
                         bt(["MMM", "MMMM"], function (t, e, i, n) {
                              var r = i._locale.monthsParse(t, n, i._strict);
                              null != r ? (e[1] = r) : (m(i).invalidMonth = t);
                         });
                    var kt = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                         St = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
                         Mt = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
                         Tt = pt,
                         Ct = pt;
                    function Dt(t, e, i) {
                         var n,
                              r,
                              o,
                              a = t.toLocaleLowerCase();
                         if (!this._monthsParse)
                              for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], n = 0; n < 12; ++n)
                                   (o = f([2e3, n])), (this._shortMonthsParse[n] = this.monthsShort(o, "").toLocaleLowerCase()), (this._longMonthsParse[n] = this.months(o, "").toLocaleLowerCase());
                         return i
                              ? "MMM" === e
                                   ? -1 !== (r = vt.call(this._shortMonthsParse, a))
                                        ? r
                                        : null
                                   : -1 !== (r = vt.call(this._longMonthsParse, a))
                                   ? r
                                   : null
                              : "MMM" === e
                              ? -1 !== (r = vt.call(this._shortMonthsParse, a)) || -1 !== (r = vt.call(this._longMonthsParse, a))
                                   ? r
                                   : null
                              : -1 !== (r = vt.call(this._longMonthsParse, a)) || -1 !== (r = vt.call(this._shortMonthsParse, a))
                              ? r
                              : null;
                    }
                    function Lt(t, e) {
                         var i;
                         if (!t.isValid()) return t;
                         if ("string" == typeof e)
                              if (/^\d+$/.test(e)) e = $(e);
                              else if (!u((e = t.localeData().monthsParse(e)))) return t;
                         return (i = Math.min(t.date(), wt(t.year(), e))), t._d["set" + (t._isUTC ? "UTC" : "") + "Month"](e, i), t;
                    }
                    function Et(t) {
                         return null != t ? (Lt(this, t), r.updateOffset(this, !0), this) : G(this, "Month");
                    }
                    function At() {
                         function t(t, e) {
                              return e.length - t.length;
                         }
                         var e,
                              i,
                              n = [],
                              r = [],
                              o = [];
                         for (e = 0; e < 12; e++) (i = f([2e3, e])), n.push(this.monthsShort(i, "")), r.push(this.months(i, "")), o.push(this.months(i, "")), o.push(this.monthsShort(i, ""));
                         for (n.sort(t), r.sort(t), o.sort(t), e = 0; e < 12; e++) (n[e] = gt(n[e])), (r[e] = gt(r[e]));
                         for (e = 0; e < 24; e++) o[e] = gt(o[e]);
                         (this._monthsRegex = new RegExp("^(" + o.join("|") + ")", "i")),
                              (this._monthsShortRegex = this._monthsRegex),
                              (this._monthsStrictRegex = new RegExp("^(" + r.join("|") + ")", "i")),
                              (this._monthsShortStrictRegex = new RegExp("^(" + n.join("|") + ")", "i"));
                    }
                    function Pt(t) {
                         return U(t) ? 366 : 365;
                    }
                    z("Y", 0, 0, function () {
                         var t = this.year();
                         return t <= 9999 ? A(t, 4) : "+" + t;
                    }),
                         z(0, ["YY", 2], 0, function () {
                              return this.year() % 100;
                         }),
                         z(0, ["YYYY", 4], 0, "year"),
                         z(0, ["YYYYY", 5], 0, "year"),
                         z(0, ["YYYYYY", 6, !0], 0, "year"),
                         j("year", "y"),
                         V("year", 1),
                         ft("Y", ut),
                         ft("YY", nt, Q),
                         ft("YYYY", st, et),
                         ft("YYYYY", lt, it),
                         ft("YYYYYY", lt, it),
                         bt(["YYYYY", "YYYYYY"], 0),
                         bt("YYYY", function (t, e) {
                              e[0] = 2 === t.length ? r.parseTwoDigitYear(t) : $(t);
                         }),
                         bt("YY", function (t, e) {
                              e[0] = r.parseTwoDigitYear(t);
                         }),
                         bt("Y", function (t, e) {
                              e[0] = parseInt(t, 10);
                         }),
                         (r.parseTwoDigitYear = function (t) {
                              return $(t) + ($(t) > 68 ? 1900 : 2e3);
                         });
                    var It = X("FullYear", !0);
                    function Ot(t, e, i, n, r, o, a) {
                         var s;
                         return t < 100 && t >= 0 ? ((s = new Date(t + 400, e, i, n, r, o, a)), isFinite(s.getFullYear()) && s.setFullYear(t)) : (s = new Date(t, e, i, n, r, o, a)), s;
                    }
                    function Yt(t) {
                         var e, i;
                         return (
                              t < 100 && t >= 0
                                   ? (((i = Array.prototype.slice.call(arguments))[0] = t + 400), (e = new Date(Date.UTC.apply(null, i))), isFinite(e.getUTCFullYear()) && e.setUTCFullYear(t))
                                   : (e = new Date(Date.UTC.apply(null, arguments))),
                              e
                         );
                    }
                    function zt(t, e, i) {
                         var n = 7 + e - i;
                         return (-(7 + Yt(t, 0, n).getUTCDay() - e) % 7) + n - 1;
                    }
                    function Rt(t, e, i, n, r) {
                         var o,
                              a,
                              s = 1 + 7 * (e - 1) + ((7 + i - n) % 7) + zt(t, n, r);
                         return s <= 0 ? (a = Pt((o = t - 1)) + s) : s > Pt(t) ? ((o = t + 1), (a = s - Pt(t))) : ((o = t), (a = s)), { year: o, dayOfYear: a };
                    }
                    function Ft(t, e, i) {
                         var n,
                              r,
                              o = zt(t.year(), e, i),
                              a = Math.floor((t.dayOfYear() - o - 1) / 7) + 1;
                         return a < 1 ? (n = a + Ht((r = t.year() - 1), e, i)) : a > Ht(t.year(), e, i) ? ((n = a - Ht(t.year(), e, i)), (r = t.year() + 1)) : ((r = t.year()), (n = a)), { week: n, year: r };
                    }
                    function Ht(t, e, i) {
                         var n = zt(t, e, i),
                              r = zt(t + 1, e, i);
                         return (Pt(t) - n + r) / 7;
                    }
                    function jt(t, e) {
                         return t.slice(e, 7).concat(t.slice(0, e));
                    }
                    z("w", ["ww", 2], "wo", "week"),
                         z("W", ["WW", 2], "Wo", "isoWeek"),
                         j("week", "w"),
                         j("isoWeek", "W"),
                         V("week", 5),
                         V("isoWeek", 5),
                         ft("w", nt),
                         ft("ww", nt, Q),
                         ft("W", nt),
                         ft("WW", nt, Q),
                         _t(["w", "ww", "W", "WW"], function (t, e, i, n) {
                              e[n.substr(0, 1)] = $(t);
                         }),
                         z("d", 0, "do", "day"),
                         z("dd", 0, 0, function (t) {
                              return this.localeData().weekdaysMin(this, t);
                         }),
                         z("ddd", 0, 0, function (t) {
                              return this.localeData().weekdaysShort(this, t);
                         }),
                         z("dddd", 0, 0, function (t) {
                              return this.localeData().weekdays(this, t);
                         }),
                         z("e", 0, 0, "weekday"),
                         z("E", 0, 0, "isoWeekday"),
                         j("day", "d"),
                         j("weekday", "e"),
                         j("isoWeekday", "E"),
                         V("day", 11),
                         V("weekday", 11),
                         V("isoWeekday", 11),
                         ft("d", nt),
                         ft("e", nt),
                         ft("E", nt),
                         ft("dd", function (t, e) {
                              return e.weekdaysMinRegex(t);
                         }),
                         ft("ddd", function (t, e) {
                              return e.weekdaysShortRegex(t);
                         }),
                         ft("dddd", function (t, e) {
                              return e.weekdaysRegex(t);
                         }),
                         _t(["dd", "ddd", "dddd"], function (t, e, i, n) {
                              var r = i._locale.weekdaysParse(t, n, i._strict);
                              null != r ? (e.d = r) : (m(i).invalidWeekday = t);
                         }),
                         _t(["d", "e", "E"], function (t, e, i, n) {
                              e[n] = $(t);
                         });
                    var Nt = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                         Bt = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
                         Wt = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
                         Vt = pt,
                         Ut = pt,
                         qt = pt;
                    function $t(t, e, i) {
                         var n,
                              r,
                              o,
                              a = t.toLocaleLowerCase();
                         if (!this._weekdaysParse)
                              for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], n = 0; n < 7; ++n)
                                   (o = f([2e3, 1]).day(n)),
                                        (this._minWeekdaysParse[n] = this.weekdaysMin(o, "").toLocaleLowerCase()),
                                        (this._shortWeekdaysParse[n] = this.weekdaysShort(o, "").toLocaleLowerCase()),
                                        (this._weekdaysParse[n] = this.weekdays(o, "").toLocaleLowerCase());
                         return i
                              ? "dddd" === e
                                   ? -1 !== (r = vt.call(this._weekdaysParse, a))
                                        ? r
                                        : null
                                   : "ddd" === e
                                   ? -1 !== (r = vt.call(this._shortWeekdaysParse, a))
                                        ? r
                                        : null
                                   : -1 !== (r = vt.call(this._minWeekdaysParse, a))
                                   ? r
                                   : null
                              : "dddd" === e
                              ? -1 !== (r = vt.call(this._weekdaysParse, a)) || -1 !== (r = vt.call(this._shortWeekdaysParse, a)) || -1 !== (r = vt.call(this._minWeekdaysParse, a))
                                   ? r
                                   : null
                              : "ddd" === e
                              ? -1 !== (r = vt.call(this._shortWeekdaysParse, a)) || -1 !== (r = vt.call(this._weekdaysParse, a)) || -1 !== (r = vt.call(this._minWeekdaysParse, a))
                                   ? r
                                   : null
                              : -1 !== (r = vt.call(this._minWeekdaysParse, a)) || -1 !== (r = vt.call(this._weekdaysParse, a)) || -1 !== (r = vt.call(this._shortWeekdaysParse, a))
                              ? r
                              : null;
                    }
                    function Xt() {
                         function t(t, e) {
                              return e.length - t.length;
                         }
                         var e,
                              i,
                              n,
                              r,
                              o,
                              a = [],
                              s = [],
                              l = [],
                              c = [];
                         for (e = 0; e < 7; e++)
                              (i = f([2e3, 1]).day(e)), (n = gt(this.weekdaysMin(i, ""))), (r = gt(this.weekdaysShort(i, ""))), (o = gt(this.weekdays(i, ""))), a.push(n), s.push(r), l.push(o), c.push(n), c.push(r), c.push(o);
                         a.sort(t),
                              s.sort(t),
                              l.sort(t),
                              c.sort(t),
                              (this._weekdaysRegex = new RegExp("^(" + c.join("|") + ")", "i")),
                              (this._weekdaysShortRegex = this._weekdaysRegex),
                              (this._weekdaysMinRegex = this._weekdaysRegex),
                              (this._weekdaysStrictRegex = new RegExp("^(" + l.join("|") + ")", "i")),
                              (this._weekdaysShortStrictRegex = new RegExp("^(" + s.join("|") + ")", "i")),
                              (this._weekdaysMinStrictRegex = new RegExp("^(" + a.join("|") + ")", "i"));
                    }
                    function Gt() {
                         return this.hours() % 12 || 12;
                    }
                    function Zt(t, e) {
                         z(t, 0, 0, function () {
                              return this.localeData().meridiem(this.hours(), this.minutes(), e);
                         });
                    }
                    function Jt(t, e) {
                         return e._meridiemParse;
                    }
                    z("H", ["HH", 2], 0, "hour"),
                         z("h", ["hh", 2], 0, Gt),
                         z("k", ["kk", 2], 0, function () {
                              return this.hours() || 24;
                         }),
                         z("hmm", 0, 0, function () {
                              return "" + Gt.apply(this) + A(this.minutes(), 2);
                         }),
                         z("hmmss", 0, 0, function () {
                              return "" + Gt.apply(this) + A(this.minutes(), 2) + A(this.seconds(), 2);
                         }),
                         z("Hmm", 0, 0, function () {
                              return "" + this.hours() + A(this.minutes(), 2);
                         }),
                         z("Hmmss", 0, 0, function () {
                              return "" + this.hours() + A(this.minutes(), 2) + A(this.seconds(), 2);
                         }),
                         Zt("a", !0),
                         Zt("A", !1),
                         j("hour", "h"),
                         V("hour", 13),
                         ft("a", Jt),
                         ft("A", Jt),
                         ft("H", nt),
                         ft("h", nt),
                         ft("k", nt),
                         ft("HH", nt, Q),
                         ft("hh", nt, Q),
                         ft("kk", nt, Q),
                         ft("hmm", rt),
                         ft("hmmss", ot),
                         ft("Hmm", rt),
                         ft("Hmmss", ot),
                         bt(["H", "HH"], 3),
                         bt(["k", "kk"], function (t, e, i) {
                              var n = $(t);
                              e[3] = 24 === n ? 0 : n;
                         }),
                         bt(["a", "A"], function (t, e, i) {
                              (i._isPm = i._locale.isPM(t)), (i._meridiem = t);
                         }),
                         bt(["h", "hh"], function (t, e, i) {
                              (e[3] = $(t)), (m(i).bigHour = !0);
                         }),
                         bt("hmm", function (t, e, i) {
                              var n = t.length - 2;
                              (e[3] = $(t.substr(0, n))), (e[4] = $(t.substr(n))), (m(i).bigHour = !0);
                         }),
                         bt("hmmss", function (t, e, i) {
                              var n = t.length - 4,
                                   r = t.length - 2;
                              (e[3] = $(t.substr(0, n))), (e[4] = $(t.substr(n, 2))), (e[5] = $(t.substr(r))), (m(i).bigHour = !0);
                         }),
                         bt("Hmm", function (t, e, i) {
                              var n = t.length - 2;
                              (e[3] = $(t.substr(0, n))), (e[4] = $(t.substr(n)));
                         }),
                         bt("Hmmss", function (t, e, i) {
                              var n = t.length - 4,
                                   r = t.length - 2;
                              (e[3] = $(t.substr(0, n))), (e[4] = $(t.substr(n, 2))), (e[5] = $(t.substr(r)));
                         });
                    var Kt,
                         Qt = X("Hours", !0),
                         te = {
                              calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" },
                              longDateFormat: { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" },
                              invalidDate: "Invalid date",
                              ordinal: "%d",
                              dayOfMonthOrdinalParse: /\d{1,2}/,
                              relativeTime: {
                                   future: "in %s",
                                   past: "%s ago",
                                   s: "a few seconds",
                                   ss: "%d seconds",
                                   m: "a minute",
                                   mm: "%d minutes",
                                   h: "an hour",
                                   hh: "%d hours",
                                   d: "a day",
                                   dd: "%d days",
                                   w: "a week",
                                   ww: "%d weeks",
                                   M: "a month",
                                   MM: "%d months",
                                   y: "a year",
                                   yy: "%d years",
                              },
                              months: kt,
                              monthsShort: St,
                              week: { dow: 0, doy: 6 },
                              weekdays: Nt,
                              weekdaysMin: Wt,
                              weekdaysShort: Bt,
                              meridiemParse: /[ap]\.?m?\.?/i,
                         },
                         ee = {},
                         ie = {};
                    function ne(t, e) {
                         var i,
                              n = Math.min(t.length, e.length);
                         for (i = 0; i < n; i += 1) if (t[i] !== e[i]) return i;
                         return n;
                    }
                    function re(t) {
                         return t ? t.toLowerCase().replace("_", "-") : t;
                    }
                    function oe(e) {
                         var n = null;
                         if (void 0 === ee[e] && void 0 !== t && t && t.exports)
                              try {
                                   (n = Kt._abbr), i(174)("./" + e), ae(n);
                              } catch (t) {
                                   ee[e] = null;
                              }
                         return ee[e];
                    }
                    function ae(t, e) {
                         var i;
                         return t && ((i = c(e) ? le(t) : se(t, e)) ? (Kt = i) : "undefined" != typeof console && console.warn && console.warn("Locale " + t + " not found. Did you forget to load it?")), Kt._abbr;
                    }
                    function se(t, e) {
                         if (null !== e) {
                              var i,
                                   n = te;
                              if (((e.abbr = t), null != ee[t]))
                                   C(
                                        "defineLocaleOverride",
                                        "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."
                                   ),
                                        (n = ee[t]._config);
                              else if (null != e.parentLocale)
                                   if (null != ee[e.parentLocale]) n = ee[e.parentLocale]._config;
                                   else {
                                        if (null == (i = oe(e.parentLocale))) return ie[e.parentLocale] || (ie[e.parentLocale] = []), ie[e.parentLocale].push({ name: t, config: e }), null;
                                        n = i._config;
                                   }
                              return (
                                   (ee[t] = new E(L(n, e))),
                                   ie[t] &&
                                        ie[t].forEach(function (t) {
                                             se(t.name, t.config);
                                        }),
                                   ae(t),
                                   ee[t]
                              );
                         }
                         return delete ee[t], null;
                    }
                    function le(t) {
                         var e;
                         if ((t && t._locale && t._locale._abbr && (t = t._locale._abbr), !t)) return Kt;
                         if (!o(t)) {
                              if ((e = oe(t))) return e;
                              t = [t];
                         }
                         return (function (t) {
                              for (var e, i, n, r, o = 0; o < t.length; ) {
                                   for (e = (r = re(t[o]).split("-")).length, i = (i = re(t[o + 1])) ? i.split("-") : null; e > 0; ) {
                                        if ((n = oe(r.slice(0, e).join("-")))) return n;
                                        if (i && i.length >= e && ne(r, i) >= e - 1) break;
                                        e--;
                                   }
                                   o++;
                              }
                              return Kt;
                         })(t);
                    }
                    function ce(t) {
                         var e,
                              i = t._a;
                         return (
                              i &&
                                   -2 === m(t).overflow &&
                                   ((e =
                                        i[1] < 0 || i[1] > 11
                                             ? 1
                                             : i[2] < 1 || i[2] > wt(i[0], i[1])
                                             ? 2
                                             : i[3] < 0 || i[3] > 24 || (24 === i[3] && (0 !== i[4] || 0 !== i[5] || 0 !== i[6]))
                                             ? 3
                                             : i[4] < 0 || i[4] > 59
                                             ? 4
                                             : i[5] < 0 || i[5] > 59
                                             ? 5
                                             : i[6] < 0 || i[6] > 999
                                             ? 6
                                             : -1),
                                   m(t)._overflowDayOfYear && (e < 0 || e > 2) && (e = 2),
                                   m(t)._overflowWeeks && -1 === e && (e = 7),
                                   m(t)._overflowWeekday && -1 === e && (e = 8),
                                   (m(t).overflow = e)),
                              t
                         );
                    }
                    var ue = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
                         he = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
                         de = /Z|[+-]\d\d(?::?\d\d)?/,
                         pe = [
                              ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
                              ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
                              ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
                              ["GGGG-[W]WW", /\d{4}-W\d\d/, !1],
                              ["YYYY-DDD", /\d{4}-\d{3}/],
                              ["YYYY-MM", /\d{4}-\d\d/, !1],
                              ["YYYYYYMMDD", /[+-]\d{10}/],
                              ["YYYYMMDD", /\d{8}/],
                              ["GGGG[W]WWE", /\d{4}W\d{3}/],
                              ["GGGG[W]WW", /\d{4}W\d{2}/, !1],
                              ["YYYYDDD", /\d{7}/],
                              ["YYYYMM", /\d{6}/, !1],
                              ["YYYY", /\d{4}/, !1],
                         ],
                         fe = [
                              ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
                              ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
                              ["HH:mm:ss", /\d\d:\d\d:\d\d/],
                              ["HH:mm", /\d\d:\d\d/],
                              ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
                              ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
                              ["HHmmss", /\d\d\d\d\d\d/],
                              ["HHmm", /\d\d\d\d/],
                              ["HH", /\d\d/],
                         ],
                         me = /^\/?Date\((-?\d+)/i,
                         ge = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,
                         ve = { UT: 0, GMT: 0, EDT: -240, EST: -300, CDT: -300, CST: -360, MDT: -360, MST: -420, PDT: -420, PST: -480 };
                    function ye(t) {
                         var e,
                              i,
                              n,
                              r,
                              o,
                              a,
                              s = t._i,
                              l = ue.exec(s) || he.exec(s);
                         if (l) {
                              for (m(t).iso = !0, e = 0, i = pe.length; e < i; e++)
                                   if (pe[e][1].exec(l[1])) {
                                        (r = pe[e][0]), (n = !1 !== pe[e][2]);
                                        break;
                                   }
                              if (null == r) return void (t._isValid = !1);
                              if (l[3]) {
                                   for (e = 0, i = fe.length; e < i; e++)
                                        if (fe[e][1].exec(l[3])) {
                                             o = (l[2] || " ") + fe[e][0];
                                             break;
                                        }
                                   if (null == o) return void (t._isValid = !1);
                              }
                              if (!n && null != o) return void (t._isValid = !1);
                              if (l[4]) {
                                   if (!de.exec(l[4])) return void (t._isValid = !1);
                                   a = "Z";
                              }
                              (t._f = r + (o || "") + (a || "")), ke(t);
                         } else t._isValid = !1;
                    }
                    function be(t) {
                         var e = parseInt(t, 10);
                         return e <= 49 ? 2e3 + e : e <= 999 ? 1900 + e : e;
                    }
                    function _e(t) {
                         var e,
                              i,
                              n,
                              r,
                              o,
                              a,
                              s,
                              l,
                              c = ge.exec(
                                   t._i
                                        .replace(/\([^)]*\)|[\n\t]/g, " ")
                                        .replace(/(\s\s+)/g, " ")
                                        .replace(/^\s\s*/, "")
                                        .replace(/\s\s*$/, "")
                              );
                         if (c) {
                              if (
                                   ((i = c[4]),
                                   (n = c[3]),
                                   (r = c[2]),
                                   (o = c[5]),
                                   (a = c[6]),
                                   (s = c[7]),
                                   (l = [be(i), St.indexOf(n), parseInt(r, 10), parseInt(o, 10), parseInt(a, 10)]),
                                   s && l.push(parseInt(s, 10)),
                                   (e = l),
                                   !(function (t, e, i) {
                                        return !t || Bt.indexOf(t) === new Date(e[0], e[1], e[2]).getDay() || ((m(i).weekdayMismatch = !0), (i._isValid = !1), !1);
                                   })(c[1], e, t))
                              )
                                   return;
                              (t._a = e),
                                   (t._tzm = (function (t, e, i) {
                                        if (t) return ve[t];
                                        if (e) return 0;
                                        var n = parseInt(i, 10),
                                             r = n % 100;
                                        return ((n - r) / 100) * 60 + r;
                                   })(c[8], c[9], c[10])),
                                   (t._d = Yt.apply(null, t._a)),
                                   t._d.setUTCMinutes(t._d.getUTCMinutes() - t._tzm),
                                   (m(t).rfc2822 = !0);
                         } else t._isValid = !1;
                    }
                    function xe(t, e, i) {
                         return null != t ? t : null != e ? e : i;
                    }
                    function we(t) {
                         var e,
                              i,
                              n,
                              o,
                              a,
                              s = [];
                         if (!t._d) {
                              for (
                                   n = (function (t) {
                                        var e = new Date(r.now());
                                        return t._useUTC ? [e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate()] : [e.getFullYear(), e.getMonth(), e.getDate()];
                                   })(t),
                                        t._w &&
                                             null == t._a[2] &&
                                             null == t._a[1] &&
                                             (function (t) {
                                                  var e, i, n, r, o, a, s, l, c;
                                                  null != (e = t._w).GG || null != e.W || null != e.E
                                                       ? ((o = 1), (a = 4), (i = xe(e.GG, t._a[0], Ft(Te(), 1, 4).year)), (n = xe(e.W, 1)), ((r = xe(e.E, 1)) < 1 || r > 7) && (l = !0))
                                                       : ((o = t._locale._week.dow),
                                                         (a = t._locale._week.doy),
                                                         (c = Ft(Te(), o, a)),
                                                         (i = xe(e.gg, t._a[0], c.year)),
                                                         (n = xe(e.w, c.week)),
                                                         null != e.d ? ((r = e.d) < 0 || r > 6) && (l = !0) : null != e.e ? ((r = e.e + o), (e.e < 0 || e.e > 6) && (l = !0)) : (r = o)),
                                                       n < 1 || n > Ht(i, o, a) ? (m(t)._overflowWeeks = !0) : null != l ? (m(t)._overflowWeekday = !0) : ((s = Rt(i, n, r, o, a)), (t._a[0] = s.year), (t._dayOfYear = s.dayOfYear));
                                             })(t),
                                        null != t._dayOfYear &&
                                             ((a = xe(t._a[0], n[0])), (t._dayOfYear > Pt(a) || 0 === t._dayOfYear) && (m(t)._overflowDayOfYear = !0), (i = Yt(a, 0, t._dayOfYear)), (t._a[1] = i.getUTCMonth()), (t._a[2] = i.getUTCDate())),
                                        e = 0;
                                   e < 3 && null == t._a[e];
                                   ++e
                              )
                                   t._a[e] = s[e] = n[e];
                              for (; e < 7; e++) t._a[e] = s[e] = null == t._a[e] ? (2 === e ? 1 : 0) : t._a[e];
                              24 === t._a[3] && 0 === t._a[4] && 0 === t._a[5] && 0 === t._a[6] && ((t._nextDay = !0), (t._a[3] = 0)),
                                   (t._d = (t._useUTC ? Yt : Ot).apply(null, s)),
                                   (o = t._useUTC ? t._d.getUTCDay() : t._d.getDay()),
                                   null != t._tzm && t._d.setUTCMinutes(t._d.getUTCMinutes() - t._tzm),
                                   t._nextDay && (t._a[3] = 24),
                                   t._w && void 0 !== t._w.d && t._w.d !== o && (m(t).weekdayMismatch = !0);
                         }
                    }
                    function ke(t) {
                         if (t._f !== r.ISO_8601)
                              if (t._f !== r.RFC_2822) {
                                   (t._a = []), (m(t).empty = !0);
                                   var e,
                                        i,
                                        n,
                                        o,
                                        a,
                                        s,
                                        l = "" + t._i,
                                        c = l.length,
                                        u = 0;
                                   for (n = F(t._f, t._locale).match(P) || [], e = 0; e < n.length; e++)
                                        (o = n[e]),
                                             (i = (l.match(mt(o, t)) || [])[0]) && ((a = l.substr(0, l.indexOf(i))).length > 0 && m(t).unusedInput.push(a), (l = l.slice(l.indexOf(i) + i.length)), (u += i.length)),
                                             Y[o] ? (i ? (m(t).empty = !1) : m(t).unusedTokens.push(o), xt(o, i, t)) : t._strict && !i && m(t).unusedTokens.push(o);
                                   (m(t).charsLeftOver = c - u),
                                        l.length > 0 && m(t).unusedInput.push(l),
                                        t._a[3] <= 12 && !0 === m(t).bigHour && t._a[3] > 0 && (m(t).bigHour = void 0),
                                        (m(t).parsedDateParts = t._a.slice(0)),
                                        (m(t).meridiem = t._meridiem),
                                        (t._a[3] = (function (t, e, i) {
                                             var n;
                                             return null == i ? e : null != t.meridiemHour ? t.meridiemHour(e, i) : null != t.isPM ? ((n = t.isPM(i)) && e < 12 && (e += 12), n || 12 !== e || (e = 0), e) : e;
                                        })(t._locale, t._a[3], t._meridiem)),
                                        null !== (s = m(t).era) && (t._a[0] = t._locale.erasConvertYear(s, t._a[0])),
                                        we(t),
                                        ce(t);
                              } else _e(t);
                         else ye(t);
                    }
                    function Se(t) {
                         var e = t._i,
                              i = t._f;
                         return (
                              (t._locale = t._locale || le(t._l)),
                              null === e || (void 0 === i && "" === e)
                                   ? v({ nullInput: !0 })
                                   : ("string" == typeof e && (t._i = e = t._locale.preparse(e)),
                                     w(e)
                                          ? new x(ce(e))
                                          : (h(e)
                                                 ? (t._d = e)
                                                 : o(i)
                                                 ? (function (t) {
                                                        var e,
                                                             i,
                                                             n,
                                                             r,
                                                             o,
                                                             a,
                                                             s = !1;
                                                        if (0 === t._f.length) return (m(t).invalidFormat = !0), void (t._d = new Date(NaN));
                                                        for (r = 0; r < t._f.length; r++)
                                                             (o = 0),
                                                                  (a = !1),
                                                                  (e = _({}, t)),
                                                                  null != t._useUTC && (e._useUTC = t._useUTC),
                                                                  (e._f = t._f[r]),
                                                                  ke(e),
                                                                  g(e) && (a = !0),
                                                                  (o += m(e).charsLeftOver),
                                                                  (o += 10 * m(e).unusedTokens.length),
                                                                  (m(e).score = o),
                                                                  s ? o < n && ((n = o), (i = e)) : (null == n || o < n || a) && ((n = o), (i = e), a && (s = !0));
                                                        p(t, i || e);
                                                   })(t)
                                                 : i
                                                 ? ke(t)
                                                 : (function (t) {
                                                        var e = t._i;
                                                        c(e)
                                                             ? (t._d = new Date(r.now()))
                                                             : h(e)
                                                             ? (t._d = new Date(e.valueOf()))
                                                             : "string" == typeof e
                                                             ? (function (t) {
                                                                    var e = me.exec(t._i);
                                                                    null === e
                                                                         ? (ye(t), !1 === t._isValid && (delete t._isValid, _e(t), !1 === t._isValid && (delete t._isValid, t._strict ? (t._isValid = !1) : r.createFromInputFallback(t))))
                                                                         : (t._d = new Date(+e[1]));
                                                               })(t)
                                                             : o(e)
                                                             ? ((t._a = d(e.slice(0), function (t) {
                                                                    return parseInt(t, 10);
                                                               })),
                                                               we(t))
                                                             : a(e)
                                                             ? (function (t) {
                                                                    if (!t._d) {
                                                                         var e = B(t._i),
                                                                              i = void 0 === e.day ? e.date : e.day;
                                                                         (t._a = d([e.year, e.month, i, e.hour, e.minute, e.second, e.millisecond], function (t) {
                                                                              return t && parseInt(t, 10);
                                                                         })),
                                                                              we(t);
                                                                    }
                                                               })(t)
                                                             : u(e)
                                                             ? (t._d = new Date(e))
                                                             : r.createFromInputFallback(t);
                                                   })(t),
                                            g(t) || (t._d = null),
                                            t))
                         );
                    }
                    function Me(t, e, i, n, r) {
                         var s,
                              c = {};
                         return (
                              (!0 !== e && !1 !== e) || ((n = e), (e = void 0)),
                              (!0 !== i && !1 !== i) || ((n = i), (i = void 0)),
                              ((a(t) && l(t)) || (o(t) && 0 === t.length)) && (t = void 0),
                              (c._isAMomentObject = !0),
                              (c._useUTC = c._isUTC = r),
                              (c._l = i),
                              (c._i = t),
                              (c._f = e),
                              (c._strict = n),
                              (s = new x(ce(Se(c))))._nextDay && (s.add(1, "d"), (s._nextDay = void 0)),
                              s
                         );
                    }
                    function Te(t, e, i, n) {
                         return Me(t, e, i, n, !1);
                    }
                    (r.createFromInputFallback = S(
                         "value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",
                         function (t) {
                              t._d = new Date(t._i + (t._useUTC ? " UTC" : ""));
                         }
                    )),
                         (r.ISO_8601 = function () {}),
                         (r.RFC_2822 = function () {});
                    var Ce = S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function () {
                              var t = Te.apply(null, arguments);
                              return this.isValid() && t.isValid() ? (t < this ? this : t) : v();
                         }),
                         De = S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function () {
                              var t = Te.apply(null, arguments);
                              return this.isValid() && t.isValid() ? (t > this ? this : t) : v();
                         });
                    function Le(t, e) {
                         var i, n;
                         if ((1 === e.length && o(e[0]) && (e = e[0]), !e.length)) return Te();
                         for (i = e[0], n = 1; n < e.length; ++n) (e[n].isValid() && !e[n][t](i)) || (i = e[n]);
                         return i;
                    }
                    var Ee = ["year", "quarter", "month", "week", "day", "hour", "minute", "second", "millisecond"];
                    function Ae(t) {
                         var e = B(t),
                              i = e.year || 0,
                              n = e.quarter || 0,
                              r = e.month || 0,
                              o = e.week || e.isoWeek || 0,
                              a = e.day || 0,
                              l = e.hour || 0,
                              c = e.minute || 0,
                              u = e.second || 0,
                              h = e.millisecond || 0;
                         (this._isValid = (function (t) {
                              var e,
                                   i,
                                   n = !1;
                              for (e in t) if (s(t, e) && (-1 === vt.call(Ee, e) || (null != t[e] && isNaN(t[e])))) return !1;
                              for (i = 0; i < Ee.length; ++i)
                                   if (t[Ee[i]]) {
                                        if (n) return !1;
                                        parseFloat(t[Ee[i]]) !== $(t[Ee[i]]) && (n = !0);
                                   }
                              return !0;
                         })(e)),
                              (this._milliseconds = +h + 1e3 * u + 6e4 * c + 1e3 * l * 60 * 60),
                              (this._days = +a + 7 * o),
                              (this._months = +r + 3 * n + 12 * i),
                              (this._data = {}),
                              (this._locale = le()),
                              this._bubble();
                    }
                    function Pe(t) {
                         return t instanceof Ae;
                    }
                    function Ie(t) {
                         return t < 0 ? -1 * Math.round(-1 * t) : Math.round(t);
                    }
                    function Oe(t, e) {
                         z(t, 0, 0, function () {
                              var t = this.utcOffset(),
                                   i = "+";
                              return t < 0 && ((t = -t), (i = "-")), i + A(~~(t / 60), 2) + e + A(~~t % 60, 2);
                         });
                    }
                    Oe("Z", ":"),
                         Oe("ZZ", ""),
                         ft("Z", dt),
                         ft("ZZ", dt),
                         bt(["Z", "ZZ"], function (t, e, i) {
                              (i._useUTC = !0), (i._tzm = ze(dt, t));
                         });
                    var Ye = /([\+\-]|\d\d)/gi;
                    function ze(t, e) {
                         var i,
                              n,
                              r = (e || "").match(t);
                         return null === r ? null : 0 === (n = 60 * (i = ((r[r.length - 1] || []) + "").match(Ye) || ["-", 0, 0])[1] + $(i[2])) ? 0 : "+" === i[0] ? n : -n;
                    }
                    function Re(t, e) {
                         var i, n;
                         return e._isUTC ? ((i = e.clone()), (n = (w(t) || h(t) ? t.valueOf() : Te(t).valueOf()) - i.valueOf()), i._d.setTime(i._d.valueOf() + n), r.updateOffset(i, !1), i) : Te(t).local();
                    }
                    function Fe(t) {
                         return -Math.round(t._d.getTimezoneOffset());
                    }
                    function He() {
                         return !!this.isValid() && this._isUTC && 0 === this._offset;
                    }
                    r.updateOffset = function () {};
                    var je = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
                         Ne = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
                    function Be(t, e) {
                         var i,
                              n,
                              r,
                              o,
                              a,
                              l,
                              c = t,
                              h = null;
                         return (
                              Pe(t)
                                   ? (c = { ms: t._milliseconds, d: t._days, M: t._months })
                                   : u(t) || !isNaN(+t)
                                   ? ((c = {}), e ? (c[e] = +t) : (c.milliseconds = +t))
                                   : (h = je.exec(t))
                                   ? ((i = "-" === h[1] ? -1 : 1), (c = { y: 0, d: $(h[2]) * i, h: $(h[3]) * i, m: $(h[4]) * i, s: $(h[5]) * i, ms: $(Ie(1e3 * h[6])) * i }))
                                   : (h = Ne.exec(t))
                                   ? ((i = "-" === h[1] ? -1 : 1), (c = { y: We(h[2], i), M: We(h[3], i), w: We(h[4], i), d: We(h[5], i), h: We(h[6], i), m: We(h[7], i), s: We(h[8], i) }))
                                   : null == c
                                   ? (c = {})
                                   : "object" == typeof c &&
                                     ("from" in c || "to" in c) &&
                                     ((o = Te(c.from)),
                                     (a = Te(c.to)),
                                     (r = o.isValid() && a.isValid() ? ((a = Re(a, o)), o.isBefore(a) ? (l = Ve(o, a)) : (((l = Ve(a, o)).milliseconds = -l.milliseconds), (l.months = -l.months)), l) : { milliseconds: 0, months: 0 }),
                                     ((c = {}).ms = r.milliseconds),
                                     (c.M = r.months)),
                              (n = new Ae(c)),
                              Pe(t) && s(t, "_locale") && (n._locale = t._locale),
                              Pe(t) && s(t, "_isValid") && (n._isValid = t._isValid),
                              n
                         );
                    }
                    function We(t, e) {
                         var i = t && parseFloat(t.replace(",", "."));
                         return (isNaN(i) ? 0 : i) * e;
                    }
                    function Ve(t, e) {
                         var i = {};
                         return (i.months = e.month() - t.month() + 12 * (e.year() - t.year())), t.clone().add(i.months, "M").isAfter(e) && --i.months, (i.milliseconds = +e - +t.clone().add(i.months, "M")), i;
                    }
                    function Ue(t, e) {
                         return function (i, n) {
                              var r;
                              return (
                                   null === n ||
                                        isNaN(+n) ||
                                        (C(e, "moment()." + e + "(period, number) is deprecated. Please use moment()." + e + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),
                                        (r = i),
                                        (i = n),
                                        (n = r)),
                                   qe(this, Be(i, n), t),
                                   this
                              );
                         };
                    }
                    function qe(t, e, i, n) {
                         var o = e._milliseconds,
                              a = Ie(e._days),
                              s = Ie(e._months);
                         t.isValid() && ((n = null == n || n), s && Lt(t, G(t, "Month") + s * i), a && Z(t, "Date", G(t, "Date") + a * i), o && t._d.setTime(t._d.valueOf() + o * i), n && r.updateOffset(t, a || s));
                    }
                    (Be.fn = Ae.prototype),
                         (Be.invalid = function () {
                              return Be(NaN);
                         });
                    var $e = Ue(1, "add"),
                         Xe = Ue(-1, "subtract");
                    function Ge(t) {
                         return "string" == typeof t || t instanceof String;
                    }
                    function Ze(t) {
                         return (
                              w(t) ||
                              h(t) ||
                              Ge(t) ||
                              u(t) ||
                              (function (t) {
                                   var e = o(t),
                                        i = !1;
                                   return (
                                        e &&
                                             (i =
                                                  0 ===
                                                  t.filter(function (e) {
                                                       return !u(e) && Ge(t);
                                                  }).length),
                                        e && i
                                   );
                              })(t) ||
                              (function (t) {
                                   var e,
                                        i,
                                        n = a(t) && !l(t),
                                        r = !1,
                                        o = [
                                             "years",
                                             "year",
                                             "y",
                                             "months",
                                             "month",
                                             "M",
                                             "days",
                                             "day",
                                             "d",
                                             "dates",
                                             "date",
                                             "D",
                                             "hours",
                                             "hour",
                                             "h",
                                             "minutes",
                                             "minute",
                                             "m",
                                             "seconds",
                                             "second",
                                             "s",
                                             "milliseconds",
                                             "millisecond",
                                             "ms",
                                        ];
                                   for (e = 0; e < o.length; e += 1) (i = o[e]), (r = r || s(t, i));
                                   return n && r;
                              })(t) ||
                              null == t
                         );
                    }
                    function Je(t) {
                         var e,
                              i = a(t) && !l(t),
                              n = !1,
                              r = ["sameDay", "nextDay", "lastDay", "nextWeek", "lastWeek", "sameElse"];
                         for (e = 0; e < r.length; e += 1) n = n || s(t, r[e]);
                         return i && n;
                    }
                    function Ke(t, e) {
                         if (t.date() < e.date()) return -Ke(e, t);
                         var i = 12 * (e.year() - t.year()) + (e.month() - t.month()),
                              n = t.clone().add(i, "months");
                         return -(i + (e - n < 0 ? (e - n) / (n - t.clone().add(i - 1, "months")) : (e - n) / (t.clone().add(i + 1, "months") - n))) || 0;
                    }
                    function Qe(t) {
                         var e;
                         return void 0 === t ? this._locale._abbr : (null != (e = le(t)) && (this._locale = e), this);
                    }
                    (r.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ"), (r.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]");
                    var ti = S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function (t) {
                         return void 0 === t ? this.localeData() : this.locale(t);
                    });
                    function ei() {
                         return this._locale;
                    }
                    function ii(t, e) {
                         return ((t % e) + e) % e;
                    }
                    function ni(t, e, i) {
                         return t < 100 && t >= 0 ? new Date(t + 400, e, i) - 126227808e5 : new Date(t, e, i).valueOf();
                    }
                    function ri(t, e, i) {
                         return t < 100 && t >= 0 ? Date.UTC(t + 400, e, i) - 126227808e5 : Date.UTC(t, e, i);
                    }
                    function oi(t, e) {
                         return e.erasAbbrRegex(t);
                    }
                    function ai() {
                         var t,
                              e,
                              i = [],
                              n = [],
                              r = [],
                              o = [],
                              a = this.eras();
                         for (t = 0, e = a.length; t < e; ++t) n.push(gt(a[t].name)), i.push(gt(a[t].abbr)), r.push(gt(a[t].narrow)), o.push(gt(a[t].name)), o.push(gt(a[t].abbr)), o.push(gt(a[t].narrow));
                         (this._erasRegex = new RegExp("^(" + o.join("|") + ")", "i")),
                              (this._erasNameRegex = new RegExp("^(" + n.join("|") + ")", "i")),
                              (this._erasAbbrRegex = new RegExp("^(" + i.join("|") + ")", "i")),
                              (this._erasNarrowRegex = new RegExp("^(" + r.join("|") + ")", "i"));
                    }
                    function si(t, e) {
                         z(0, [t, t.length], 0, e);
                    }
                    function li(t, e, i, n, r) {
                         var o;
                         return null == t ? Ft(this, n, r).year : (e > (o = Ht(t, n, r)) && (e = o), ci.call(this, t, e, i, n, r));
                    }
                    function ci(t, e, i, n, r) {
                         var o = Rt(t, e, i, n, r),
                              a = Yt(o.year, 0, o.dayOfYear);
                         return this.year(a.getUTCFullYear()), this.month(a.getUTCMonth()), this.date(a.getUTCDate()), this;
                    }
                    z("N", 0, 0, "eraAbbr"),
                         z("NN", 0, 0, "eraAbbr"),
                         z("NNN", 0, 0, "eraAbbr"),
                         z("NNNN", 0, 0, "eraName"),
                         z("NNNNN", 0, 0, "eraNarrow"),
                         z("y", ["y", 1], "yo", "eraYear"),
                         z("y", ["yy", 2], 0, "eraYear"),
                         z("y", ["yyy", 3], 0, "eraYear"),
                         z("y", ["yyyy", 4], 0, "eraYear"),
                         ft("N", oi),
                         ft("NN", oi),
                         ft("NNN", oi),
                         ft("NNNN", function (t, e) {
                              return e.erasNameRegex(t);
                         }),
                         ft("NNNNN", function (t, e) {
                              return e.erasNarrowRegex(t);
                         }),
                         bt(["N", "NN", "NNN", "NNNN", "NNNNN"], function (t, e, i, n) {
                              var r = i._locale.erasParse(t, n, i._strict);
                              r ? (m(i).era = r) : (m(i).invalidEra = t);
                         }),
                         ft("y", ct),
                         ft("yy", ct),
                         ft("yyy", ct),
                         ft("yyyy", ct),
                         ft("yo", function (t, e) {
                              return e._eraYearOrdinalRegex || ct;
                         }),
                         bt(["y", "yy", "yyy", "yyyy"], 0),
                         bt(["yo"], function (t, e, i, n) {
                              var r;
                              i._locale._eraYearOrdinalRegex && (r = t.match(i._locale._eraYearOrdinalRegex)), i._locale.eraYearOrdinalParse ? (e[0] = i._locale.eraYearOrdinalParse(t, r)) : (e[0] = parseInt(t, 10));
                         }),
                         z(0, ["gg", 2], 0, function () {
                              return this.weekYear() % 100;
                         }),
                         z(0, ["GG", 2], 0, function () {
                              return this.isoWeekYear() % 100;
                         }),
                         si("gggg", "weekYear"),
                         si("ggggg", "weekYear"),
                         si("GGGG", "isoWeekYear"),
                         si("GGGGG", "isoWeekYear"),
                         j("weekYear", "gg"),
                         j("isoWeekYear", "GG"),
                         V("weekYear", 1),
                         V("isoWeekYear", 1),
                         ft("G", ut),
                         ft("g", ut),
                         ft("GG", nt, Q),
                         ft("gg", nt, Q),
                         ft("GGGG", st, et),
                         ft("gggg", st, et),
                         ft("GGGGG", lt, it),
                         ft("ggggg", lt, it),
                         _t(["gggg", "ggggg", "GGGG", "GGGGG"], function (t, e, i, n) {
                              e[n.substr(0, 2)] = $(t);
                         }),
                         _t(["gg", "GG"], function (t, e, i, n) {
                              e[n] = r.parseTwoDigitYear(t);
                         }),
                         z("Q", 0, "Qo", "quarter"),
                         j("quarter", "Q"),
                         V("quarter", 7),
                         ft("Q", K),
                         bt("Q", function (t, e) {
                              e[1] = 3 * ($(t) - 1);
                         }),
                         z("D", ["DD", 2], "Do", "date"),
                         j("date", "D"),
                         V("date", 9),
                         ft("D", nt),
                         ft("DD", nt, Q),
                         ft("Do", function (t, e) {
                              return t ? e._dayOfMonthOrdinalParse || e._ordinalParse : e._dayOfMonthOrdinalParseLenient;
                         }),
                         bt(["D", "DD"], 2),
                         bt("Do", function (t, e) {
                              e[2] = $(t.match(nt)[0]);
                         });
                    var ui = X("Date", !0);
                    z("DDD", ["DDDD", 3], "DDDo", "dayOfYear"),
                         j("dayOfYear", "DDD"),
                         V("dayOfYear", 4),
                         ft("DDD", at),
                         ft("DDDD", tt),
                         bt(["DDD", "DDDD"], function (t, e, i) {
                              i._dayOfYear = $(t);
                         }),
                         z("m", ["mm", 2], 0, "minute"),
                         j("minute", "m"),
                         V("minute", 14),
                         ft("m", nt),
                         ft("mm", nt, Q),
                         bt(["m", "mm"], 4);
                    var hi = X("Minutes", !1);
                    z("s", ["ss", 2], 0, "second"), j("second", "s"), V("second", 15), ft("s", nt), ft("ss", nt, Q), bt(["s", "ss"], 5);
                    var di,
                         pi,
                         fi = X("Seconds", !1);
                    for (
                         z("S", 0, 0, function () {
                              return ~~(this.millisecond() / 100);
                         }),
                              z(0, ["SS", 2], 0, function () {
                                   return ~~(this.millisecond() / 10);
                              }),
                              z(0, ["SSS", 3], 0, "millisecond"),
                              z(0, ["SSSS", 4], 0, function () {
                                   return 10 * this.millisecond();
                              }),
                              z(0, ["SSSSS", 5], 0, function () {
                                   return 100 * this.millisecond();
                              }),
                              z(0, ["SSSSSS", 6], 0, function () {
                                   return 1e3 * this.millisecond();
                              }),
                              z(0, ["SSSSSSS", 7], 0, function () {
                                   return 1e4 * this.millisecond();
                              }),
                              z(0, ["SSSSSSSS", 8], 0, function () {
                                   return 1e5 * this.millisecond();
                              }),
                              z(0, ["SSSSSSSSS", 9], 0, function () {
                                   return 1e6 * this.millisecond();
                              }),
                              j("millisecond", "ms"),
                              V("millisecond", 16),
                              ft("S", at, K),
                              ft("SS", at, Q),
                              ft("SSS", at, tt),
                              di = "SSSS";
                         di.length <= 9;
                         di += "S"
                    )
                         ft(di, ct);
                    function mi(t, e) {
                         e[6] = $(1e3 * ("0." + t));
                    }
                    for (di = "S"; di.length <= 9; di += "S") bt(di, mi);
                    (pi = X("Milliseconds", !1)), z("z", 0, 0, "zoneAbbr"), z("zz", 0, 0, "zoneName");
                    var gi = x.prototype;
                    function vi(t) {
                         return t;
                    }
                    (gi.add = $e),
                         (gi.calendar = function (t, e) {
                              1 === arguments.length && (Ze(arguments[0]) ? ((t = arguments[0]), (e = void 0)) : Je(arguments[0]) && ((e = arguments[0]), (t = void 0)));
                              var i = t || Te(),
                                   n = Re(i, this).startOf("day"),
                                   o = r.calendarFormat(this, n) || "sameElse",
                                   a = e && (D(e[o]) ? e[o].call(this, i) : e[o]);
                              return this.format(a || this.localeData().calendar(o, this, Te(i)));
                         }),
                         (gi.clone = function () {
                              return new x(this);
                         }),
                         (gi.diff = function (t, e, i) {
                              var n, r, o;
                              if (!this.isValid()) return NaN;
                              if (!(n = Re(t, this)).isValid()) return NaN;
                              switch (((r = 6e4 * (n.utcOffset() - this.utcOffset())), (e = N(e)))) {
                                   case "year":
                                        o = Ke(this, n) / 12;
                                        break;
                                   case "month":
                                        o = Ke(this, n);
                                        break;
                                   case "quarter":
                                        o = Ke(this, n) / 3;
                                        break;
                                   case "second":
                                        o = (this - n) / 1e3;
                                        break;
                                   case "minute":
                                        o = (this - n) / 6e4;
                                        break;
                                   case "hour":
                                        o = (this - n) / 36e5;
                                        break;
                                   case "day":
                                        o = (this - n - r) / 864e5;
                                        break;
                                   case "week":
                                        o = (this - n - r) / 6048e5;
                                        break;
                                   default:
                                        o = this - n;
                              }
                              return i ? o : q(o);
                         }),
                         (gi.endOf = function (t) {
                              var e, i;
                              if (void 0 === (t = N(t)) || "millisecond" === t || !this.isValid()) return this;
                              switch (((i = this._isUTC ? ri : ni), t)) {
                                   case "year":
                                        e = i(this.year() + 1, 0, 1) - 1;
                                        break;
                                   case "quarter":
                                        e = i(this.year(), this.month() - (this.month() % 3) + 3, 1) - 1;
                                        break;
                                   case "month":
                                        e = i(this.year(), this.month() + 1, 1) - 1;
                                        break;
                                   case "week":
                                        e = i(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;
                                        break;
                                   case "isoWeek":
                                        e = i(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;
                                        break;
                                   case "day":
                                   case "date":
                                        e = i(this.year(), this.month(), this.date() + 1) - 1;
                                        break;
                                   case "hour":
                                        (e = this._d.valueOf()), (e += 36e5 - ii(e + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5) - 1);
                                        break;
                                   case "minute":
                                        (e = this._d.valueOf()), (e += 6e4 - ii(e, 6e4) - 1);
                                        break;
                                   case "second":
                                        (e = this._d.valueOf()), (e += 1e3 - ii(e, 1e3) - 1);
                              }
                              return this._d.setTime(e), r.updateOffset(this, !0), this;
                         }),
                         (gi.format = function (t) {
                              t || (t = this.isUtc() ? r.defaultFormatUtc : r.defaultFormat);
                              var e = R(this, t);
                              return this.localeData().postformat(e);
                         }),
                         (gi.from = function (t, e) {
                              return this.isValid() && ((w(t) && t.isValid()) || Te(t).isValid()) ? Be({ to: this, from: t }).locale(this.locale()).humanize(!e) : this.localeData().invalidDate();
                         }),
                         (gi.fromNow = function (t) {
                              return this.from(Te(), t);
                         }),
                         (gi.to = function (t, e) {
                              return this.isValid() && ((w(t) && t.isValid()) || Te(t).isValid()) ? Be({ from: this, to: t }).locale(this.locale()).humanize(!e) : this.localeData().invalidDate();
                         }),
                         (gi.toNow = function (t) {
                              return this.to(Te(), t);
                         }),
                         (gi.get = function (t) {
                              return D(this[(t = N(t))]) ? this[t]() : this;
                         }),
                         (gi.invalidAt = function () {
                              return m(this).overflow;
                         }),
                         (gi.isAfter = function (t, e) {
                              var i = w(t) ? t : Te(t);
                              return !(!this.isValid() || !i.isValid()) && ("millisecond" === (e = N(e) || "millisecond") ? this.valueOf() > i.valueOf() : i.valueOf() < this.clone().startOf(e).valueOf());
                         }),
                         (gi.isBefore = function (t, e) {
                              var i = w(t) ? t : Te(t);
                              return !(!this.isValid() || !i.isValid()) && ("millisecond" === (e = N(e) || "millisecond") ? this.valueOf() < i.valueOf() : this.clone().endOf(e).valueOf() < i.valueOf());
                         }),
                         (gi.isBetween = function (t, e, i, n) {
                              var r = w(t) ? t : Te(t),
                                   o = w(e) ? e : Te(e);
                              return !!(this.isValid() && r.isValid() && o.isValid()) && ("(" === (n = n || "()")[0] ? this.isAfter(r, i) : !this.isBefore(r, i)) && (")" === n[1] ? this.isBefore(o, i) : !this.isAfter(o, i));
                         }),
                         (gi.isSame = function (t, e) {
                              var i,
                                   n = w(t) ? t : Te(t);
                              return (
                                   !(!this.isValid() || !n.isValid()) &&
                                   ("millisecond" === (e = N(e) || "millisecond") ? this.valueOf() === n.valueOf() : ((i = n.valueOf()), this.clone().startOf(e).valueOf() <= i && i <= this.clone().endOf(e).valueOf()))
                              );
                         }),
                         (gi.isSameOrAfter = function (t, e) {
                              return this.isSame(t, e) || this.isAfter(t, e);
                         }),
                         (gi.isSameOrBefore = function (t, e) {
                              return this.isSame(t, e) || this.isBefore(t, e);
                         }),
                         (gi.isValid = function () {
                              return g(this);
                         }),
                         (gi.lang = ti),
                         (gi.locale = Qe),
                         (gi.localeData = ei),
                         (gi.max = De),
                         (gi.min = Ce),
                         (gi.parsingFlags = function () {
                              return p({}, m(this));
                         }),
                         (gi.set = function (t, e) {
                              if ("object" == typeof t) {
                                   var i,
                                        n = (function (t) {
                                             var e,
                                                  i = [];
                                             for (e in t) s(t, e) && i.push({ unit: e, priority: W[e] });
                                             return (
                                                  i.sort(function (t, e) {
                                                       return t.priority - e.priority;
                                                  }),
                                                  i
                                             );
                                        })((t = B(t)));
                                   for (i = 0; i < n.length; i++) this[n[i].unit](t[n[i].unit]);
                              } else if (D(this[(t = N(t))])) return this[t](e);
                              return this;
                         }),
                         (gi.startOf = function (t) {
                              var e, i;
                              if (void 0 === (t = N(t)) || "millisecond" === t || !this.isValid()) return this;
                              switch (((i = this._isUTC ? ri : ni), t)) {
                                   case "year":
                                        e = i(this.year(), 0, 1);
                                        break;
                                   case "quarter":
                                        e = i(this.year(), this.month() - (this.month() % 3), 1);
                                        break;
                                   case "month":
                                        e = i(this.year(), this.month(), 1);
                                        break;
                                   case "week":
                                        e = i(this.year(), this.month(), this.date() - this.weekday());
                                        break;
                                   case "isoWeek":
                                        e = i(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));
                                        break;
                                   case "day":
                                   case "date":
                                        e = i(this.year(), this.month(), this.date());
                                        break;
                                   case "hour":
                                        (e = this._d.valueOf()), (e -= ii(e + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5));
                                        break;
                                   case "minute":
                                        (e = this._d.valueOf()), (e -= ii(e, 6e4));
                                        break;
                                   case "second":
                                        (e = this._d.valueOf()), (e -= ii(e, 1e3));
                              }
                              return this._d.setTime(e), r.updateOffset(this, !0), this;
                         }),
                         (gi.subtract = Xe),
                         (gi.toArray = function () {
                              var t = this;
                              return [t.year(), t.month(), t.date(), t.hour(), t.minute(), t.second(), t.millisecond()];
                         }),
                         (gi.toObject = function () {
                              var t = this;
                              return { years: t.year(), months: t.month(), date: t.date(), hours: t.hours(), minutes: t.minutes(), seconds: t.seconds(), milliseconds: t.milliseconds() };
                         }),
                         (gi.toDate = function () {
                              return new Date(this.valueOf());
                         }),
                         (gi.toISOString = function (t) {
                              if (!this.isValid()) return null;
                              var e = !0 !== t,
                                   i = e ? this.clone().utc() : this;
                              return i.year() < 0 || i.year() > 9999
                                   ? R(i, e ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ")
                                   : D(Date.prototype.toISOString)
                                   ? e
                                        ? this.toDate().toISOString()
                                        : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3).toISOString().replace("Z", R(i, "Z"))
                                   : R(i, e ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ");
                         }),
                         (gi.inspect = function () {
                              if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)";
                              var t,
                                   e,
                                   i,
                                   n = "moment",
                                   r = "";
                              return (
                                   this.isLocal() || ((n = 0 === this.utcOffset() ? "moment.utc" : "moment.parseZone"), (r = "Z")),
                                   (t = "[" + n + '("]'),
                                   (e = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY"),
                                   (i = r + '[")]'),
                                   this.format(t + e + "-MM-DD[T]HH:mm:ss.SSS" + i)
                              );
                         }),
                         "undefined" != typeof Symbol &&
                              null != Symbol.for &&
                              (gi[Symbol.for("nodejs.util.inspect.custom")] = function () {
                                   return "Moment<" + this.format() + ">";
                              }),
                         (gi.toJSON = function () {
                              return this.isValid() ? this.toISOString() : null;
                         }),
                         (gi.toString = function () {
                              return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
                         }),
                         (gi.unix = function () {
                              return Math.floor(this.valueOf() / 1e3);
                         }),
                         (gi.valueOf = function () {
                              return this._d.valueOf() - 6e4 * (this._offset || 0);
                         }),
                         (gi.creationData = function () {
                              return { input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict };
                         }),
                         (gi.eraName = function () {
                              var t,
                                   e,
                                   i,
                                   n = this.localeData().eras();
                              for (t = 0, e = n.length; t < e; ++t) {
                                   if (((i = this.startOf("day").valueOf()), n[t].since <= i && i <= n[t].until)) return n[t].name;
                                   if (n[t].until <= i && i <= n[t].since) return n[t].name;
                              }
                              return "";
                         }),
                         (gi.eraNarrow = function () {
                              var t,
                                   e,
                                   i,
                                   n = this.localeData().eras();
                              for (t = 0, e = n.length; t < e; ++t) {
                                   if (((i = this.startOf("day").valueOf()), n[t].since <= i && i <= n[t].until)) return n[t].narrow;
                                   if (n[t].until <= i && i <= n[t].since) return n[t].narrow;
                              }
                              return "";
                         }),
                         (gi.eraAbbr = function () {
                              var t,
                                   e,
                                   i,
                                   n = this.localeData().eras();
                              for (t = 0, e = n.length; t < e; ++t) {
                                   if (((i = this.startOf("day").valueOf()), n[t].since <= i && i <= n[t].until)) return n[t].abbr;
                                   if (n[t].until <= i && i <= n[t].since) return n[t].abbr;
                              }
                              return "";
                         }),
                         (gi.eraYear = function () {
                              var t,
                                   e,
                                   i,
                                   n,
                                   o = this.localeData().eras();
                              for (t = 0, e = o.length; t < e; ++t)
                                   if (((i = o[t].since <= o[t].until ? 1 : -1), (n = this.startOf("day").valueOf()), (o[t].since <= n && n <= o[t].until) || (o[t].until <= n && n <= o[t].since)))
                                        return (this.year() - r(o[t].since).year()) * i + o[t].offset;
                              return this.year();
                         }),
                         (gi.year = It),
                         (gi.isLeapYear = function () {
                              return U(this.year());
                         }),
                         (gi.weekYear = function (t) {
                              return li.call(this, t, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);
                         }),
                         (gi.isoWeekYear = function (t) {
                              return li.call(this, t, this.isoWeek(), this.isoWeekday(), 1, 4);
                         }),
                         (gi.quarter = gi.quarters = function (t) {
                              return null == t ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (t - 1) + (this.month() % 3));
                         }),
                         (gi.month = Et),
                         (gi.daysInMonth = function () {
                              return wt(this.year(), this.month());
                         }),
                         (gi.week = gi.weeks = function (t) {
                              var e = this.localeData().week(this);
                              return null == t ? e : this.add(7 * (t - e), "d");
                         }),
                         (gi.isoWeek = gi.isoWeeks = function (t) {
                              var e = Ft(this, 1, 4).week;
                              return null == t ? e : this.add(7 * (t - e), "d");
                         }),
                         (gi.weeksInYear = function () {
                              var t = this.localeData()._week;
                              return Ht(this.year(), t.dow, t.doy);
                         }),
                         (gi.weeksInWeekYear = function () {
                              var t = this.localeData()._week;
                              return Ht(this.weekYear(), t.dow, t.doy);
                         }),
                         (gi.isoWeeksInYear = function () {
                              return Ht(this.year(), 1, 4);
                         }),
                         (gi.isoWeeksInISOWeekYear = function () {
                              return Ht(this.isoWeekYear(), 1, 4);
                         }),
                         (gi.date = ui),
                         (gi.day = gi.days = function (t) {
                              if (!this.isValid()) return null != t ? this : NaN;
                              var e = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
                              return null != t
                                   ? ((t = (function (t, e) {
                                          return "string" != typeof t ? t : isNaN(t) ? ("number" == typeof (t = e.weekdaysParse(t)) ? t : null) : parseInt(t, 10);
                                     })(t, this.localeData())),
                                     this.add(t - e, "d"))
                                   : e;
                         }),
                         (gi.weekday = function (t) {
                              if (!this.isValid()) return null != t ? this : NaN;
                              var e = (this.day() + 7 - this.localeData()._week.dow) % 7;
                              return null == t ? e : this.add(t - e, "d");
                         }),
                         (gi.isoWeekday = function (t) {
                              if (!this.isValid()) return null != t ? this : NaN;
                              if (null != t) {
                                   var e = (function (t, e) {
                                        return "string" == typeof t ? e.weekdaysParse(t) % 7 || 7 : isNaN(t) ? null : t;
                                   })(t, this.localeData());
                                   return this.day(this.day() % 7 ? e : e - 7);
                              }
                              return this.day() || 7;
                         }),
                         (gi.dayOfYear = function (t) {
                              var e = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1;
                              return null == t ? e : this.add(t - e, "d");
                         }),
                         (gi.hour = gi.hours = Qt),
                         (gi.minute = gi.minutes = hi),
                         (gi.second = gi.seconds = fi),
                         (gi.millisecond = gi.milliseconds = pi),
                         (gi.utcOffset = function (t, e, i) {
                              var n,
                                   o = this._offset || 0;
                              if (!this.isValid()) return null != t ? this : NaN;
                              if (null != t) {
                                   if ("string" == typeof t) {
                                        if (null === (t = ze(dt, t))) return this;
                                   } else Math.abs(t) < 16 && !i && (t *= 60);
                                   return (
                                        !this._isUTC && e && (n = Fe(this)),
                                        (this._offset = t),
                                        (this._isUTC = !0),
                                        null != n && this.add(n, "m"),
                                        o !== t && (!e || this._changeInProgress ? qe(this, Be(t - o, "m"), 1, !1) : this._changeInProgress || ((this._changeInProgress = !0), r.updateOffset(this, !0), (this._changeInProgress = null))),
                                        this
                                   );
                              }
                              return this._isUTC ? o : Fe(this);
                         }),
                         (gi.utc = function (t) {
                              return this.utcOffset(0, t);
                         }),
                         (gi.local = function (t) {
                              return this._isUTC && (this.utcOffset(0, t), (this._isUTC = !1), t && this.subtract(Fe(this), "m")), this;
                         }),
                         (gi.parseZone = function () {
                              if (null != this._tzm) this.utcOffset(this._tzm, !1, !0);
                              else if ("string" == typeof this._i) {
                                   var t = ze(ht, this._i);
                                   null != t ? this.utcOffset(t) : this.utcOffset(0, !0);
                              }
                              return this;
                         }),
                         (gi.hasAlignedHourOffset = function (t) {
                              return !!this.isValid() && ((t = t ? Te(t).utcOffset() : 0), (this.utcOffset() - t) % 60 == 0);
                         }),
                         (gi.isDST = function () {
                              return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
                         }),
                         (gi.isLocal = function () {
                              return !!this.isValid() && !this._isUTC;
                         }),
                         (gi.isUtcOffset = function () {
                              return !!this.isValid() && this._isUTC;
                         }),
                         (gi.isUtc = He),
                         (gi.isUTC = He),
                         (gi.zoneAbbr = function () {
                              return this._isUTC ? "UTC" : "";
                         }),
                         (gi.zoneName = function () {
                              return this._isUTC ? "Coordinated Universal Time" : "";
                         }),
                         (gi.dates = S("dates accessor is deprecated. Use date instead.", ui)),
                         (gi.months = S("months accessor is deprecated. Use month instead", Et)),
                         (gi.years = S("years accessor is deprecated. Use year instead", It)),
                         (gi.zone = S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", function (t, e) {
                              return null != t ? ("string" != typeof t && (t = -t), this.utcOffset(t, e), this) : -this.utcOffset();
                         })),
                         (gi.isDSTShifted = S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", function () {
                              if (!c(this._isDSTShifted)) return this._isDSTShifted;
                              var t,
                                   e = {};
                              return (
                                   _(e, this),
                                   (e = Se(e))._a
                                        ? ((t = e._isUTC ? f(e._a) : Te(e._a)),
                                          (this._isDSTShifted =
                                               this.isValid() &&
                                               (function (t, e, i) {
                                                    var n,
                                                         r = Math.min(t.length, e.length),
                                                         o = Math.abs(t.length - e.length),
                                                         a = 0;
                                                    for (n = 0; n < r; n++) ((i && t[n] !== e[n]) || (!i && $(t[n]) !== $(e[n]))) && a++;
                                                    return a + o;
                                               })(e._a, t.toArray()) > 0))
                                        : (this._isDSTShifted = !1),
                                   this._isDSTShifted
                              );
                         }));
                    var yi = E.prototype;
                    function bi(t, e, i, n) {
                         var r = le(),
                              o = f().set(n, e);
                         return r[i](o, t);
                    }
                    function _i(t, e, i) {
                         if ((u(t) && ((e = t), (t = void 0)), (t = t || ""), null != e)) return bi(t, e, i, "month");
                         var n,
                              r = [];
                         for (n = 0; n < 12; n++) r[n] = bi(t, n, i, "month");
                         return r;
                    }
                    function xi(t, e, i, n) {
                         "boolean" == typeof t ? (u(e) && ((i = e), (e = void 0)), (e = e || "")) : ((i = e = t), (t = !1), u(e) && ((i = e), (e = void 0)), (e = e || ""));
                         var r,
                              o = le(),
                              a = t ? o._week.dow : 0,
                              s = [];
                         if (null != i) return bi(e, (i + a) % 7, n, "day");
                         for (r = 0; r < 7; r++) s[r] = bi(e, (r + a) % 7, n, "day");
                         return s;
                    }
                    (yi.calendar = function (t, e, i) {
                         var n = this._calendar[t] || this._calendar.sameElse;
                         return D(n) ? n.call(e, i) : n;
                    }),
                         (yi.longDateFormat = function (t) {
                              var e = this._longDateFormat[t],
                                   i = this._longDateFormat[t.toUpperCase()];
                              return e || !i
                                   ? e
                                   : ((this._longDateFormat[t] = i
                                          .match(P)
                                          .map(function (t) {
                                               return "MMMM" === t || "MM" === t || "DD" === t || "dddd" === t ? t.slice(1) : t;
                                          })
                                          .join("")),
                                     this._longDateFormat[t]);
                         }),
                         (yi.invalidDate = function () {
                              return this._invalidDate;
                         }),
                         (yi.ordinal = function (t) {
                              return this._ordinal.replace("%d", t);
                         }),
                         (yi.preparse = vi),
                         (yi.postformat = vi),
                         (yi.relativeTime = function (t, e, i, n) {
                              var r = this._relativeTime[i];
                              return D(r) ? r(t, e, i, n) : r.replace(/%d/i, t);
                         }),
                         (yi.pastFuture = function (t, e) {
                              var i = this._relativeTime[t > 0 ? "future" : "past"];
                              return D(i) ? i(e) : i.replace(/%s/i, e);
                         }),
                         (yi.set = function (t) {
                              var e, i;
                              for (i in t) s(t, i) && (D((e = t[i])) ? (this[i] = e) : (this["_" + i] = e));
                              (this._config = t), (this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source));
                         }),
                         (yi.eras = function (t, e) {
                              var i,
                                   n,
                                   o,
                                   a = this._eras || le("en")._eras;
                              for (i = 0, n = a.length; i < n; ++i) {
                                   switch (typeof a[i].since) {
                                        case "string":
                                             (o = r(a[i].since).startOf("day")), (a[i].since = o.valueOf());
                                   }
                                   switch (typeof a[i].until) {
                                        case "undefined":
                                             a[i].until = 1 / 0;
                                             break;
                                        case "string":
                                             (o = r(a[i].until).startOf("day").valueOf()), (a[i].until = o.valueOf());
                                   }
                              }
                              return a;
                         }),
                         (yi.erasParse = function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l = this.eras();
                              for (t = t.toUpperCase(), n = 0, r = l.length; n < r; ++n)
                                   if (((o = l[n].name.toUpperCase()), (a = l[n].abbr.toUpperCase()), (s = l[n].narrow.toUpperCase()), i))
                                        switch (e) {
                                             case "N":
                                             case "NN":
                                             case "NNN":
                                                  if (a === t) return l[n];
                                                  break;
                                             case "NNNN":
                                                  if (o === t) return l[n];
                                                  break;
                                             case "NNNNN":
                                                  if (s === t) return l[n];
                                        }
                                   else if ([o, a, s].indexOf(t) >= 0) return l[n];
                         }),
                         (yi.erasConvertYear = function (t, e) {
                              var i = t.since <= t.until ? 1 : -1;
                              return void 0 === e ? r(t.since).year() : r(t.since).year() + (e - t.offset) * i;
                         }),
                         (yi.erasAbbrRegex = function (t) {
                              return s(this, "_erasAbbrRegex") || ai.call(this), t ? this._erasAbbrRegex : this._erasRegex;
                         }),
                         (yi.erasNameRegex = function (t) {
                              return s(this, "_erasNameRegex") || ai.call(this), t ? this._erasNameRegex : this._erasRegex;
                         }),
                         (yi.erasNarrowRegex = function (t) {
                              return s(this, "_erasNarrowRegex") || ai.call(this), t ? this._erasNarrowRegex : this._erasRegex;
                         }),
                         (yi.months = function (t, e) {
                              return t ? (o(this._months) ? this._months[t.month()] : this._months[(this._months.isFormat || Mt).test(e) ? "format" : "standalone"][t.month()]) : o(this._months) ? this._months : this._months.standalone;
                         }),
                         (yi.monthsShort = function (t, e) {
                              return t ? (o(this._monthsShort) ? this._monthsShort[t.month()] : this._monthsShort[Mt.test(e) ? "format" : "standalone"][t.month()]) : o(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone;
                         }),
                         (yi.monthsParse = function (t, e, i) {
                              var n, r, o;
                              if (this._monthsParseExact) return Dt.call(this, t, e, i);
                              for (this._monthsParse || ((this._monthsParse = []), (this._longMonthsParse = []), (this._shortMonthsParse = [])), n = 0; n < 12; n++) {
                                   if (
                                        ((r = f([2e3, n])),
                                        i &&
                                             !this._longMonthsParse[n] &&
                                             ((this._longMonthsParse[n] = new RegExp("^" + this.months(r, "").replace(".", "") + "$", "i")),
                                             (this._shortMonthsParse[n] = new RegExp("^" + this.monthsShort(r, "").replace(".", "") + "$", "i"))),
                                        i || this._monthsParse[n] || ((o = "^" + this.months(r, "") + "|^" + this.monthsShort(r, "")), (this._monthsParse[n] = new RegExp(o.replace(".", ""), "i"))),
                                        i && "MMMM" === e && this._longMonthsParse[n].test(t))
                                   )
                                        return n;
                                   if (i && "MMM" === e && this._shortMonthsParse[n].test(t)) return n;
                                   if (!i && this._monthsParse[n].test(t)) return n;
                              }
                         }),
                         (yi.monthsRegex = function (t) {
                              return this._monthsParseExact
                                   ? (s(this, "_monthsRegex") || At.call(this), t ? this._monthsStrictRegex : this._monthsRegex)
                                   : (s(this, "_monthsRegex") || (this._monthsRegex = Ct), this._monthsStrictRegex && t ? this._monthsStrictRegex : this._monthsRegex);
                         }),
                         (yi.monthsShortRegex = function (t) {
                              return this._monthsParseExact
                                   ? (s(this, "_monthsRegex") || At.call(this), t ? this._monthsShortStrictRegex : this._monthsShortRegex)
                                   : (s(this, "_monthsShortRegex") || (this._monthsShortRegex = Tt), this._monthsShortStrictRegex && t ? this._monthsShortStrictRegex : this._monthsShortRegex);
                         }),
                         (yi.week = function (t) {
                              return Ft(t, this._week.dow, this._week.doy).week;
                         }),
                         (yi.firstDayOfYear = function () {
                              return this._week.doy;
                         }),
                         (yi.firstDayOfWeek = function () {
                              return this._week.dow;
                         }),
                         (yi.weekdays = function (t, e) {
                              var i = o(this._weekdays) ? this._weekdays : this._weekdays[t && !0 !== t && this._weekdays.isFormat.test(e) ? "format" : "standalone"];
                              return !0 === t ? jt(i, this._week.dow) : t ? i[t.day()] : i;
                         }),
                         (yi.weekdaysMin = function (t) {
                              return !0 === t ? jt(this._weekdaysMin, this._week.dow) : t ? this._weekdaysMin[t.day()] : this._weekdaysMin;
                         }),
                         (yi.weekdaysShort = function (t) {
                              return !0 === t ? jt(this._weekdaysShort, this._week.dow) : t ? this._weekdaysShort[t.day()] : this._weekdaysShort;
                         }),
                         (yi.weekdaysParse = function (t, e, i) {
                              var n, r, o;
                              if (this._weekdaysParseExact) return $t.call(this, t, e, i);
                              for (this._weekdaysParse || ((this._weekdaysParse = []), (this._minWeekdaysParse = []), (this._shortWeekdaysParse = []), (this._fullWeekdaysParse = [])), n = 0; n < 7; n++) {
                                   if (
                                        ((r = f([2e3, 1]).day(n)),
                                        i &&
                                             !this._fullWeekdaysParse[n] &&
                                             ((this._fullWeekdaysParse[n] = new RegExp("^" + this.weekdays(r, "").replace(".", "\\.?") + "$", "i")),
                                             (this._shortWeekdaysParse[n] = new RegExp("^" + this.weekdaysShort(r, "").replace(".", "\\.?") + "$", "i")),
                                             (this._minWeekdaysParse[n] = new RegExp("^" + this.weekdaysMin(r, "").replace(".", "\\.?") + "$", "i"))),
                                        this._weekdaysParse[n] || ((o = "^" + this.weekdays(r, "") + "|^" + this.weekdaysShort(r, "") + "|^" + this.weekdaysMin(r, "")), (this._weekdaysParse[n] = new RegExp(o.replace(".", ""), "i"))),
                                        i && "dddd" === e && this._fullWeekdaysParse[n].test(t))
                                   )
                                        return n;
                                   if (i && "ddd" === e && this._shortWeekdaysParse[n].test(t)) return n;
                                   if (i && "dd" === e && this._minWeekdaysParse[n].test(t)) return n;
                                   if (!i && this._weekdaysParse[n].test(t)) return n;
                              }
                         }),
                         (yi.weekdaysRegex = function (t) {
                              return this._weekdaysParseExact
                                   ? (s(this, "_weekdaysRegex") || Xt.call(this), t ? this._weekdaysStrictRegex : this._weekdaysRegex)
                                   : (s(this, "_weekdaysRegex") || (this._weekdaysRegex = Vt), this._weekdaysStrictRegex && t ? this._weekdaysStrictRegex : this._weekdaysRegex);
                         }),
                         (yi.weekdaysShortRegex = function (t) {
                              return this._weekdaysParseExact
                                   ? (s(this, "_weekdaysRegex") || Xt.call(this), t ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex)
                                   : (s(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = Ut), this._weekdaysShortStrictRegex && t ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex);
                         }),
                         (yi.weekdaysMinRegex = function (t) {
                              return this._weekdaysParseExact
                                   ? (s(this, "_weekdaysRegex") || Xt.call(this), t ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex)
                                   : (s(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = qt), this._weekdaysMinStrictRegex && t ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex);
                         }),
                         (yi.isPM = function (t) {
                              return "p" === (t + "").toLowerCase().charAt(0);
                         }),
                         (yi.meridiem = function (t, e, i) {
                              return t > 11 ? (i ? "pm" : "PM") : i ? "am" : "AM";
                         }),
                         ae("en", {
                              eras: [
                                   { since: "0001-01-01", until: 1 / 0, offset: 1, name: "Anno Domini", narrow: "AD", abbr: "AD" },
                                   { since: "0000-12-31", until: -1 / 0, offset: 1, name: "Before Christ", narrow: "BC", abbr: "BC" },
                              ],
                              dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
                              ordinal: function (t) {
                                   var e = t % 10;
                                   return t + (1 === $((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                              },
                         }),
                         (r.lang = S("moment.lang is deprecated. Use moment.locale instead.", ae)),
                         (r.langData = S("moment.langData is deprecated. Use moment.localeData instead.", le));
                    var wi = Math.abs;
                    function ki(t, e, i, n) {
                         var r = Be(e, i);
                         return (t._milliseconds += n * r._milliseconds), (t._days += n * r._days), (t._months += n * r._months), t._bubble();
                    }
                    function Si(t) {
                         return t < 0 ? Math.floor(t) : Math.ceil(t);
                    }
                    function Mi(t) {
                         return (4800 * t) / 146097;
                    }
                    function Ti(t) {
                         return (146097 * t) / 4800;
                    }
                    function Ci(t) {
                         return function () {
                              return this.as(t);
                         };
                    }
                    var Di = Ci("ms"),
                         Li = Ci("s"),
                         Ei = Ci("m"),
                         Ai = Ci("h"),
                         Pi = Ci("d"),
                         Ii = Ci("w"),
                         Oi = Ci("M"),
                         Yi = Ci("Q"),
                         zi = Ci("y");
                    function Ri(t) {
                         return function () {
                              return this.isValid() ? this._data[t] : NaN;
                         };
                    }
                    var Fi = Ri("milliseconds"),
                         Hi = Ri("seconds"),
                         ji = Ri("minutes"),
                         Ni = Ri("hours"),
                         Bi = Ri("days"),
                         Wi = Ri("months"),
                         Vi = Ri("years"),
                         Ui = Math.round,
                         qi = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 };
                    function $i(t, e, i, n, r) {
                         return r.relativeTime(e || 1, !!i, t, n);
                    }
                    var Xi = Math.abs;
                    function Gi(t) {
                         return (t > 0) - (t < 0) || +t;
                    }
                    function Zi() {
                         if (!this.isValid()) return this.localeData().invalidDate();
                         var t,
                              e,
                              i,
                              n,
                              r,
                              o,
                              a,
                              s,
                              l = Xi(this._milliseconds) / 1e3,
                              c = Xi(this._days),
                              u = Xi(this._months),
                              h = this.asSeconds();
                         return h
                              ? ((t = q(l / 60)),
                                (e = q(t / 60)),
                                (l %= 60),
                                (t %= 60),
                                (i = q(u / 12)),
                                (u %= 12),
                                (n = l ? l.toFixed(3).replace(/\.?0+$/, "") : ""),
                                (r = h < 0 ? "-" : ""),
                                (o = Gi(this._months) !== Gi(h) ? "-" : ""),
                                (a = Gi(this._days) !== Gi(h) ? "-" : ""),
                                (s = Gi(this._milliseconds) !== Gi(h) ? "-" : ""),
                                r + "P" + (i ? o + i + "Y" : "") + (u ? o + u + "M" : "") + (c ? a + c + "D" : "") + (e || t || l ? "T" : "") + (e ? s + e + "H" : "") + (t ? s + t + "M" : "") + (l ? s + n + "S" : ""))
                              : "P0D";
                    }
                    var Ji = Ae.prototype;
                    return (
                         (Ji.isValid = function () {
                              return this._isValid;
                         }),
                         (Ji.abs = function () {
                              var t = this._data;
                              return (
                                   (this._milliseconds = wi(this._milliseconds)),
                                   (this._days = wi(this._days)),
                                   (this._months = wi(this._months)),
                                   (t.milliseconds = wi(t.milliseconds)),
                                   (t.seconds = wi(t.seconds)),
                                   (t.minutes = wi(t.minutes)),
                                   (t.hours = wi(t.hours)),
                                   (t.months = wi(t.months)),
                                   (t.years = wi(t.years)),
                                   this
                              );
                         }),
                         (Ji.add = function (t, e) {
                              return ki(this, t, e, 1);
                         }),
                         (Ji.subtract = function (t, e) {
                              return ki(this, t, e, -1);
                         }),
                         (Ji.as = function (t) {
                              if (!this.isValid()) return NaN;
                              var e,
                                   i,
                                   n = this._milliseconds;
                              if ("month" === (t = N(t)) || "quarter" === t || "year" === t)
                                   switch (((e = this._days + n / 864e5), (i = this._months + Mi(e)), t)) {
                                        case "month":
                                             return i;
                                        case "quarter":
                                             return i / 3;
                                        case "year":
                                             return i / 12;
                                   }
                              else
                                   switch (((e = this._days + Math.round(Ti(this._months))), t)) {
                                        case "week":
                                             return e / 7 + n / 6048e5;
                                        case "day":
                                             return e + n / 864e5;
                                        case "hour":
                                             return 24 * e + n / 36e5;
                                        case "minute":
                                             return 1440 * e + n / 6e4;
                                        case "second":
                                             return 86400 * e + n / 1e3;
                                        case "millisecond":
                                             return Math.floor(864e5 * e) + n;
                                        default:
                                             throw new Error("Unknown unit " + t);
                                   }
                         }),
                         (Ji.asMilliseconds = Di),
                         (Ji.asSeconds = Li),
                         (Ji.asMinutes = Ei),
                         (Ji.asHours = Ai),
                         (Ji.asDays = Pi),
                         (Ji.asWeeks = Ii),
                         (Ji.asMonths = Oi),
                         (Ji.asQuarters = Yi),
                         (Ji.asYears = zi),
                         (Ji.valueOf = function () {
                              return this.isValid() ? this._milliseconds + 864e5 * this._days + (this._months % 12) * 2592e6 + 31536e6 * $(this._months / 12) : NaN;
                         }),
                         (Ji._bubble = function () {
                              var t,
                                   e,
                                   i,
                                   n,
                                   r,
                                   o = this._milliseconds,
                                   a = this._days,
                                   s = this._months,
                                   l = this._data;
                              return (
                                   (o >= 0 && a >= 0 && s >= 0) || (o <= 0 && a <= 0 && s <= 0) || ((o += 864e5 * Si(Ti(s) + a)), (a = 0), (s = 0)),
                                   (l.milliseconds = o % 1e3),
                                   (t = q(o / 1e3)),
                                   (l.seconds = t % 60),
                                   (e = q(t / 60)),
                                   (l.minutes = e % 60),
                                   (i = q(e / 60)),
                                   (l.hours = i % 24),
                                   (a += q(i / 24)),
                                   (r = q(Mi(a))),
                                   (s += r),
                                   (a -= Si(Ti(r))),
                                   (n = q(s / 12)),
                                   (s %= 12),
                                   (l.days = a),
                                   (l.months = s),
                                   (l.years = n),
                                   this
                              );
                         }),
                         (Ji.clone = function () {
                              return Be(this);
                         }),
                         (Ji.get = function (t) {
                              return (t = N(t)), this.isValid() ? this[t + "s"]() : NaN;
                         }),
                         (Ji.milliseconds = Fi),
                         (Ji.seconds = Hi),
                         (Ji.minutes = ji),
                         (Ji.hours = Ni),
                         (Ji.days = Bi),
                         (Ji.weeks = function () {
                              return q(this.days() / 7);
                         }),
                         (Ji.months = Wi),
                         (Ji.years = Vi),
                         (Ji.humanize = function (t, e) {
                              if (!this.isValid()) return this.localeData().invalidDate();
                              var i,
                                   n,
                                   r = !1,
                                   o = qi;
                              return (
                                   "object" == typeof t && ((e = t), (t = !1)),
                                   "boolean" == typeof t && (r = t),
                                   "object" == typeof e && ((o = Object.assign({}, qi, e)), null != e.s && null == e.ss && (o.ss = e.s - 1)),
                                   (i = this.localeData()),
                                   (n = (function (t, e, i, n) {
                                        var r = Be(t).abs(),
                                             o = Ui(r.as("s")),
                                             a = Ui(r.as("m")),
                                             s = Ui(r.as("h")),
                                             l = Ui(r.as("d")),
                                             c = Ui(r.as("M")),
                                             u = Ui(r.as("w")),
                                             h = Ui(r.as("y")),
                                             d = (o <= i.ss && ["s", o]) || (o < i.s && ["ss", o]) || (a <= 1 && ["m"]) || (a < i.m && ["mm", a]) || (s <= 1 && ["h"]) || (s < i.h && ["hh", s]) || (l <= 1 && ["d"]) || (l < i.d && ["dd", l]);
                                        return (
                                             null != i.w && (d = d || (u <= 1 && ["w"]) || (u < i.w && ["ww", u])),
                                             ((d = d || (c <= 1 && ["M"]) || (c < i.M && ["MM", c]) || (h <= 1 && ["y"]) || ["yy", h])[2] = e),
                                             (d[3] = +t > 0),
                                             (d[4] = n),
                                             $i.apply(null, d)
                                        );
                                   })(this, !r, o, i)),
                                   r && (n = i.pastFuture(+this, n)),
                                   i.postformat(n)
                              );
                         }),
                         (Ji.toISOString = Zi),
                         (Ji.toString = Zi),
                         (Ji.toJSON = Zi),
                         (Ji.locale = Qe),
                         (Ji.localeData = ei),
                         (Ji.toIsoString = S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", Zi)),
                         (Ji.lang = ti),
                         z("X", 0, 0, "unix"),
                         z("x", 0, 0, "valueOf"),
                         ft("x", ut),
                         ft("X", /[+-]?\d+(\.\d{1,3})?/),
                         bt("X", function (t, e, i) {
                              i._d = new Date(1e3 * parseFloat(t));
                         }),
                         bt("x", function (t, e, i) {
                              i._d = new Date($(t));
                         }),
                         (r.version = "2.26.0"),
                         (e = Te),
                         (r.fn = gi),
                         (r.min = function () {
                              var t = [].slice.call(arguments, 0);
                              return Le("isBefore", t);
                         }),
                         (r.max = function () {
                              var t = [].slice.call(arguments, 0);
                              return Le("isAfter", t);
                         }),
                         (r.now = function () {
                              return Date.now ? Date.now() : +new Date();
                         }),
                         (r.utc = f),
                         (r.unix = function (t) {
                              return Te(1e3 * t);
                         }),
                         (r.months = function (t, e) {
                              return _i(t, e, "months");
                         }),
                         (r.isDate = h),
                         (r.locale = ae),
                         (r.invalid = v),
                         (r.duration = Be),
                         (r.isMoment = w),
                         (r.weekdays = function (t, e, i) {
                              return xi(t, e, i, "weekdays");
                         }),
                         (r.parseZone = function () {
                              return Te.apply(null, arguments).parseZone();
                         }),
                         (r.localeData = le),
                         (r.isDuration = Pe),
                         (r.monthsShort = function (t, e) {
                              return _i(t, e, "monthsShort");
                         }),
                         (r.weekdaysMin = function (t, e, i) {
                              return xi(t, e, i, "weekdaysMin");
                         }),
                         (r.defineLocale = se),
                         (r.updateLocale = function (t, e) {
                              if (null != e) {
                                   var i,
                                        n,
                                        r = te;
                                   null != ee[t] && null != ee[t].parentLocale
                                        ? ee[t].set(L(ee[t]._config, e))
                                        : (null != (n = oe(t)) && (r = n._config), (e = L(r, e)), null == n && (e.abbr = t), ((i = new E(e)).parentLocale = ee[t]), (ee[t] = i)),
                                        ae(t);
                              } else null != ee[t] && (null != ee[t].parentLocale ? ((ee[t] = ee[t].parentLocale), t === ae() && ae(t)) : null != ee[t] && delete ee[t]);
                              return ee[t];
                         }),
                         (r.locales = function () {
                              return M(ee);
                         }),
                         (r.weekdaysShort = function (t, e, i) {
                              return xi(t, e, i, "weekdaysShort");
                         }),
                         (r.normalizeUnits = N),
                         (r.relativeTimeRounding = function (t) {
                              return void 0 === t ? Ui : "function" == typeof t && ((Ui = t), !0);
                         }),
                         (r.relativeTimeThreshold = function (t, e) {
                              return void 0 !== qi[t] && (void 0 === e ? qi[t] : ((qi[t] = e), "s" === t && (qi.ss = e - 1), !0));
                         }),
                         (r.calendarFormat = function (t, e) {
                              var i = t.diff(e, "days", !0);
                              return i < -6 ? "sameElse" : i < -1 ? "lastWeek" : i < 0 ? "lastDay" : i < 1 ? "sameDay" : i < 2 ? "nextDay" : i < 7 ? "nextWeek" : "sameElse";
                         }),
                         (r.prototype = gi),
                         (r.HTML5_FMT = {
                              DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
                              DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
                              DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
                              DATE: "YYYY-MM-DD",
                              TIME: "HH:mm",
                              TIME_SECONDS: "HH:mm:ss",
                              TIME_MS: "HH:mm:ss.SSS",
                              WEEK: "GGGG-[W]WW",
                              MONTH: "YYYY-MM",
                         }),
                         r
                    );
               })();
          }.call(this, i(173)(t)));
     },
     function (t, e, i) {
          var n;
          /*!
           * jQuery JavaScript Library v3.5.1
           * https://jquery.com/
           *
           * Includes Sizzle.js
           * https://sizzlejs.com/
           *
           * Copyright JS Foundation and other contributors
           * Released under the MIT license
           * https://jquery.org/license
           *
           * Date: 2020-05-04T22:49Z
           */ !(function (e, i) {
               "use strict";
               "object" == typeof t.exports
                    ? (t.exports = e.document
                           ? i(e, !0)
                           : function (t) {
                                  if (!t.document) throw new Error("jQuery requires a window with a document");
                                  return i(t);
                             })
                    : i(e);
          })("undefined" != typeof window ? window : this, function (i, r) {
               "use strict";
               var o = [],
                    a = Object.getPrototypeOf,
                    s = o.slice,
                    l = o.flat
                         ? function (t) {
                                return o.flat.call(t);
                           }
                         : function (t) {
                                return o.concat.apply([], t);
                           },
                    c = o.push,
                    u = o.indexOf,
                    h = {},
                    d = h.toString,
                    p = h.hasOwnProperty,
                    f = p.toString,
                    m = f.call(Object),
                    g = {},
                    v = function (t) {
                         return "function" == typeof t && "number" != typeof t.nodeType;
                    },
                    y = function (t) {
                         return null != t && t === t.window;
                    },
                    b = i.document,
                    _ = { type: !0, src: !0, nonce: !0, noModule: !0 };
               function x(t, e, i) {
                    var n,
                         r,
                         o = (i = i || b).createElement("script");
                    if (((o.text = t), e)) for (n in _) (r = e[n] || (e.getAttribute && e.getAttribute(n))) && o.setAttribute(n, r);
                    i.head.appendChild(o).parentNode.removeChild(o);
               }
               function w(t) {
                    return null == t ? t + "" : "object" == typeof t || "function" == typeof t ? h[d.call(t)] || "object" : typeof t;
               }
               var k = function (t, e) {
                    return new k.fn.init(t, e);
               };
               function S(t) {
                    var e = !!t && "length" in t && t.length,
                         i = w(t);
                    return !v(t) && !y(t) && ("array" === i || 0 === e || ("number" == typeof e && e > 0 && e - 1 in t));
               }
               (k.fn = k.prototype = {
                    jquery: "3.5.1",
                    constructor: k,
                    length: 0,
                    toArray: function () {
                         return s.call(this);
                    },
                    get: function (t) {
                         return null == t ? s.call(this) : t < 0 ? this[t + this.length] : this[t];
                    },
                    pushStack: function (t) {
                         var e = k.merge(this.constructor(), t);
                         return (e.prevObject = this), e;
                    },
                    each: function (t) {
                         return k.each(this, t);
                    },
                    map: function (t) {
                         return this.pushStack(
                              k.map(this, function (e, i) {
                                   return t.call(e, i, e);
                              })
                         );
                    },
                    slice: function () {
                         return this.pushStack(s.apply(this, arguments));
                    },
                    first: function () {
                         return this.eq(0);
                    },
                    last: function () {
                         return this.eq(-1);
                    },
                    even: function () {
                         return this.pushStack(
                              k.grep(this, function (t, e) {
                                   return (e + 1) % 2;
                              })
                         );
                    },
                    odd: function () {
                         return this.pushStack(
                              k.grep(this, function (t, e) {
                                   return e % 2;
                              })
                         );
                    },
                    eq: function (t) {
                         var e = this.length,
                              i = +t + (t < 0 ? e : 0);
                         return this.pushStack(i >= 0 && i < e ? [this[i]] : []);
                    },
                    end: function () {
                         return this.prevObject || this.constructor();
                    },
                    push: c,
                    sort: o.sort,
                    splice: o.splice,
               }),
                    (k.extend = k.fn.extend = function () {
                         var t,
                              e,
                              i,
                              n,
                              r,
                              o,
                              a = arguments[0] || {},
                              s = 1,
                              l = arguments.length,
                              c = !1;
                         for ("boolean" == typeof a && ((c = a), (a = arguments[s] || {}), s++), "object" == typeof a || v(a) || (a = {}), s === l && ((a = this), s--); s < l; s++)
                              if (null != (t = arguments[s]))
                                   for (e in t)
                                        (n = t[e]),
                                             "__proto__" !== e &&
                                                  a !== n &&
                                                  (c && n && (k.isPlainObject(n) || (r = Array.isArray(n)))
                                                       ? ((i = a[e]), (o = r && !Array.isArray(i) ? [] : r || k.isPlainObject(i) ? i : {}), (r = !1), (a[e] = k.extend(c, o, n)))
                                                       : void 0 !== n && (a[e] = n));
                         return a;
                    }),
                    k.extend({
                         expando: "jQuery" + ("3.5.1" + Math.random()).replace(/\D/g, ""),
                         isReady: !0,
                         error: function (t) {
                              throw new Error(t);
                         },
                         noop: function () {},
                         isPlainObject: function (t) {
                              var e, i;
                              return !(!t || "[object Object]" !== d.call(t)) && (!(e = a(t)) || ("function" == typeof (i = p.call(e, "constructor") && e.constructor) && f.call(i) === m));
                         },
                         isEmptyObject: function (t) {
                              var e;
                              for (e in t) return !1;
                              return !0;
                         },
                         globalEval: function (t, e, i) {
                              x(t, { nonce: e && e.nonce }, i);
                         },
                         each: function (t, e) {
                              var i,
                                   n = 0;
                              if (S(t)) for (i = t.length; n < i && !1 !== e.call(t[n], n, t[n]); n++);
                              else for (n in t) if (!1 === e.call(t[n], n, t[n])) break;
                              return t;
                         },
                         makeArray: function (t, e) {
                              var i = e || [];
                              return null != t && (S(Object(t)) ? k.merge(i, "string" == typeof t ? [t] : t) : c.call(i, t)), i;
                         },
                         inArray: function (t, e, i) {
                              return null == e ? -1 : u.call(e, t, i);
                         },
                         merge: function (t, e) {
                              for (var i = +e.length, n = 0, r = t.length; n < i; n++) t[r++] = e[n];
                              return (t.length = r), t;
                         },
                         grep: function (t, e, i) {
                              for (var n = [], r = 0, o = t.length, a = !i; r < o; r++) !e(t[r], r) !== a && n.push(t[r]);
                              return n;
                         },
                         map: function (t, e, i) {
                              var n,
                                   r,
                                   o = 0,
                                   a = [];
                              if (S(t)) for (n = t.length; o < n; o++) null != (r = e(t[o], o, i)) && a.push(r);
                              else for (o in t) null != (r = e(t[o], o, i)) && a.push(r);
                              return l(a);
                         },
                         guid: 1,
                         support: g,
                    }),
                    "function" == typeof Symbol && (k.fn[Symbol.iterator] = o[Symbol.iterator]),
                    k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (t, e) {
                         h["[object " + e + "]"] = e.toLowerCase();
                    });
               var M = /*!
                * Sizzle CSS Selector Engine v2.3.5
                * https://sizzlejs.com/
                *
                * Copyright JS Foundation and other contributors
                * Released under the MIT license
                * https://js.foundation/
                *
                * Date: 2020-03-14
                */ (function (t) {
                    var e,
                         i,
                         n,
                         r,
                         o,
                         a,
                         s,
                         l,
                         c,
                         u,
                         h,
                         d,
                         p,
                         f,
                         m,
                         g,
                         v,
                         y,
                         b,
                         _ = "sizzle" + 1 * new Date(),
                         x = t.document,
                         w = 0,
                         k = 0,
                         S = lt(),
                         M = lt(),
                         T = lt(),
                         C = lt(),
                         D = function (t, e) {
                              return t === e && (h = !0), 0;
                         },
                         L = {}.hasOwnProperty,
                         E = [],
                         A = E.pop,
                         P = E.push,
                         I = E.push,
                         O = E.slice,
                         Y = function (t, e) {
                              for (var i = 0, n = t.length; i < n; i++) if (t[i] === e) return i;
                              return -1;
                         },
                         z = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
                         R = "[\\x20\\t\\r\\n\\f]",
                         F = "(?:\\\\[\\da-fA-F]{1,6}" + R + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
                         H = "\\[" + R + "*(" + F + ")(?:" + R + "*([*^$|!~]?=)" + R + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + F + "))|)" + R + "*\\]",
                         j = ":(" + F + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + H + ")*)|.*)\\)|)",
                         N = new RegExp(R + "+", "g"),
                         B = new RegExp("^" + R + "+|((?:^|[^\\\\])(?:\\\\.)*)" + R + "+$", "g"),
                         W = new RegExp("^" + R + "*," + R + "*"),
                         V = new RegExp("^" + R + "*([>+~]|" + R + ")" + R + "*"),
                         U = new RegExp(R + "|>"),
                         q = new RegExp(j),
                         $ = new RegExp("^" + F + "$"),
                         X = {
                              ID: new RegExp("^#(" + F + ")"),
                              CLASS: new RegExp("^\\.(" + F + ")"),
                              TAG: new RegExp("^(" + F + "|[*])"),
                              ATTR: new RegExp("^" + H),
                              PSEUDO: new RegExp("^" + j),
                              CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + R + "*(even|odd|(([+-]|)(\\d*)n|)" + R + "*(?:([+-]|)" + R + "*(\\d+)|))" + R + "*\\)|)", "i"),
                              bool: new RegExp("^(?:" + z + ")$", "i"),
                              needsContext: new RegExp("^" + R + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + R + "*((?:-\\d)?\\d*)" + R + "*\\)|)(?=[^-]|$)", "i"),
                         },
                         G = /HTML$/i,
                         Z = /^(?:input|select|textarea|button)$/i,
                         J = /^h\d$/i,
                         K = /^[^{]+\{\s*\[native \w/,
                         Q = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
                         tt = /[+~]/,
                         et = new RegExp("\\\\[\\da-fA-F]{1,6}" + R + "?|\\\\([^\\r\\n\\f])", "g"),
                         it = function (t, e) {
                              var i = "0x" + t.slice(1) - 65536;
                              return e || (i < 0 ? String.fromCharCode(i + 65536) : String.fromCharCode((i >> 10) | 55296, (1023 & i) | 56320));
                         },
                         nt = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
                         rt = function (t, e) {
                              return e ? ("\0" === t ? " " : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " ") : "\\" + t;
                         },
                         ot = function () {
                              d();
                         },
                         at = _t(
                              function (t) {
                                   return !0 === t.disabled && "fieldset" === t.nodeName.toLowerCase();
                              },
                              { dir: "parentNode", next: "legend" }
                         );
                    try {
                         I.apply((E = O.call(x.childNodes)), x.childNodes), E[x.childNodes.length].nodeType;
                    } catch (t) {
                         I = {
                              apply: E.length
                                   ? function (t, e) {
                                          P.apply(t, O.call(e));
                                     }
                                   : function (t, e) {
                                          for (var i = t.length, n = 0; (t[i++] = e[n++]); );
                                          t.length = i - 1;
                                     },
                         };
                    }
                    function st(t, e, n, r) {
                         var o,
                              s,
                              c,
                              u,
                              h,
                              f,
                              v,
                              y = e && e.ownerDocument,
                              x = e ? e.nodeType : 9;
                         if (((n = n || []), "string" != typeof t || !t || (1 !== x && 9 !== x && 11 !== x))) return n;
                         if (!r && (d(e), (e = e || p), m)) {
                              if (11 !== x && (h = Q.exec(t)))
                                   if ((o = h[1])) {
                                        if (9 === x) {
                                             if (!(c = e.getElementById(o))) return n;
                                             if (c.id === o) return n.push(c), n;
                                        } else if (y && (c = y.getElementById(o)) && b(e, c) && c.id === o) return n.push(c), n;
                                   } else {
                                        if (h[2]) return I.apply(n, e.getElementsByTagName(t)), n;
                                        if ((o = h[3]) && i.getElementsByClassName && e.getElementsByClassName) return I.apply(n, e.getElementsByClassName(o)), n;
                                   }
                              if (i.qsa && !C[t + " "] && (!g || !g.test(t)) && (1 !== x || "object" !== e.nodeName.toLowerCase())) {
                                   if (((v = t), (y = e), 1 === x && (U.test(t) || V.test(t)))) {
                                        for (((y = (tt.test(t) && vt(e.parentNode)) || e) === e && i.scope) || ((u = e.getAttribute("id")) ? (u = u.replace(nt, rt)) : e.setAttribute("id", (u = _))), s = (f = a(t)).length; s--; )
                                             f[s] = (u ? "#" + u : ":scope") + " " + bt(f[s]);
                                        v = f.join(",");
                                   }
                                   try {
                                        return I.apply(n, y.querySelectorAll(v)), n;
                                   } catch (e) {
                                        C(t, !0);
                                   } finally {
                                        u === _ && e.removeAttribute("id");
                                   }
                              }
                         }
                         return l(t.replace(B, "$1"), e, n, r);
                    }
                    function lt() {
                         var t = [];
                         return function e(i, r) {
                              return t.push(i + " ") > n.cacheLength && delete e[t.shift()], (e[i + " "] = r);
                         };
                    }
                    function ct(t) {
                         return (t[_] = !0), t;
                    }
                    function ut(t) {
                         var e = p.createElement("fieldset");
                         try {
                              return !!t(e);
                         } catch (t) {
                              return !1;
                         } finally {
                              e.parentNode && e.parentNode.removeChild(e), (e = null);
                         }
                    }
                    function ht(t, e) {
                         for (var i = t.split("|"), r = i.length; r--; ) n.attrHandle[i[r]] = e;
                    }
                    function dt(t, e) {
                         var i = e && t,
                              n = i && 1 === t.nodeType && 1 === e.nodeType && t.sourceIndex - e.sourceIndex;
                         if (n) return n;
                         if (i) for (; (i = i.nextSibling); ) if (i === e) return -1;
                         return t ? 1 : -1;
                    }
                    function pt(t) {
                         return function (e) {
                              return "input" === e.nodeName.toLowerCase() && e.type === t;
                         };
                    }
                    function ft(t) {
                         return function (e) {
                              var i = e.nodeName.toLowerCase();
                              return ("input" === i || "button" === i) && e.type === t;
                         };
                    }
                    function mt(t) {
                         return function (e) {
                              return "form" in e
                                   ? e.parentNode && !1 === e.disabled
                                        ? "label" in e
                                             ? "label" in e.parentNode
                                                  ? e.parentNode.disabled === t
                                                  : e.disabled === t
                                             : e.isDisabled === t || (e.isDisabled !== !t && at(e) === t)
                                        : e.disabled === t
                                   : "label" in e && e.disabled === t;
                         };
                    }
                    function gt(t) {
                         return ct(function (e) {
                              return (
                                   (e = +e),
                                   ct(function (i, n) {
                                        for (var r, o = t([], i.length, e), a = o.length; a--; ) i[(r = o[a])] && (i[r] = !(n[r] = i[r]));
                                   })
                              );
                         });
                    }
                    function vt(t) {
                         return t && void 0 !== t.getElementsByTagName && t;
                    }
                    for (e in ((i = st.support = {}),
                    (o = st.isXML = function (t) {
                         var e = t.namespaceURI,
                              i = (t.ownerDocument || t).documentElement;
                         return !G.test(e || (i && i.nodeName) || "HTML");
                    }),
                    (d = st.setDocument = function (t) {
                         var e,
                              r,
                              a = t ? t.ownerDocument || t : x;
                         return a != p && 9 === a.nodeType && a.documentElement
                              ? ((f = (p = a).documentElement),
                                (m = !o(p)),
                                x != p && (r = p.defaultView) && r.top !== r && (r.addEventListener ? r.addEventListener("unload", ot, !1) : r.attachEvent && r.attachEvent("onunload", ot)),
                                (i.scope = ut(function (t) {
                                     return f.appendChild(t).appendChild(p.createElement("div")), void 0 !== t.querySelectorAll && !t.querySelectorAll(":scope fieldset div").length;
                                })),
                                (i.attributes = ut(function (t) {
                                     return (t.className = "i"), !t.getAttribute("className");
                                })),
                                (i.getElementsByTagName = ut(function (t) {
                                     return t.appendChild(p.createComment("")), !t.getElementsByTagName("*").length;
                                })),
                                (i.getElementsByClassName = K.test(p.getElementsByClassName)),
                                (i.getById = ut(function (t) {
                                     return (f.appendChild(t).id = _), !p.getElementsByName || !p.getElementsByName(_).length;
                                })),
                                i.getById
                                     ? ((n.filter.ID = function (t) {
                                            var e = t.replace(et, it);
                                            return function (t) {
                                                 return t.getAttribute("id") === e;
                                            };
                                       }),
                                       (n.find.ID = function (t, e) {
                                            if (void 0 !== e.getElementById && m) {
                                                 var i = e.getElementById(t);
                                                 return i ? [i] : [];
                                            }
                                       }))
                                     : ((n.filter.ID = function (t) {
                                            var e = t.replace(et, it);
                                            return function (t) {
                                                 var i = void 0 !== t.getAttributeNode && t.getAttributeNode("id");
                                                 return i && i.value === e;
                                            };
                                       }),
                                       (n.find.ID = function (t, e) {
                                            if (void 0 !== e.getElementById && m) {
                                                 var i,
                                                      n,
                                                      r,
                                                      o = e.getElementById(t);
                                                 if (o) {
                                                      if ((i = o.getAttributeNode("id")) && i.value === t) return [o];
                                                      for (r = e.getElementsByName(t), n = 0; (o = r[n++]); ) if ((i = o.getAttributeNode("id")) && i.value === t) return [o];
                                                 }
                                                 return [];
                                            }
                                       })),
                                (n.find.TAG = i.getElementsByTagName
                                     ? function (t, e) {
                                            return void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t) : i.qsa ? e.querySelectorAll(t) : void 0;
                                       }
                                     : function (t, e) {
                                            var i,
                                                 n = [],
                                                 r = 0,
                                                 o = e.getElementsByTagName(t);
                                            if ("*" === t) {
                                                 for (; (i = o[r++]); ) 1 === i.nodeType && n.push(i);
                                                 return n;
                                            }
                                            return o;
                                       }),
                                (n.find.CLASS =
                                     i.getElementsByClassName &&
                                     function (t, e) {
                                          if (void 0 !== e.getElementsByClassName && m) return e.getElementsByClassName(t);
                                     }),
                                (v = []),
                                (g = []),
                                (i.qsa = K.test(p.querySelectorAll)) &&
                                     (ut(function (t) {
                                          var e;
                                          (f.appendChild(t).innerHTML = "<a id='" + _ + "'></a><select id='" + _ + "-\r\\' msallowcapture=''><option selected=''></option></select>"),
                                               t.querySelectorAll("[msallowcapture^='']").length && g.push("[*^$]=" + R + "*(?:''|\"\")"),
                                               t.querySelectorAll("[selected]").length || g.push("\\[" + R + "*(?:value|" + z + ")"),
                                               t.querySelectorAll("[id~=" + _ + "-]").length || g.push("~="),
                                               (e = p.createElement("input")).setAttribute("name", ""),
                                               t.appendChild(e),
                                               t.querySelectorAll("[name='']").length || g.push("\\[" + R + "*name" + R + "*=" + R + "*(?:''|\"\")"),
                                               t.querySelectorAll(":checked").length || g.push(":checked"),
                                               t.querySelectorAll("a#" + _ + "+*").length || g.push(".#.+[+~]"),
                                               t.querySelectorAll("\\\f"),
                                               g.push("[\\r\\n\\f]");
                                     }),
                                     ut(function (t) {
                                          t.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
                                          var e = p.createElement("input");
                                          e.setAttribute("type", "hidden"),
                                               t.appendChild(e).setAttribute("name", "D"),
                                               t.querySelectorAll("[name=d]").length && g.push("name" + R + "*[*^$|!~]?="),
                                               2 !== t.querySelectorAll(":enabled").length && g.push(":enabled", ":disabled"),
                                               (f.appendChild(t).disabled = !0),
                                               2 !== t.querySelectorAll(":disabled").length && g.push(":enabled", ":disabled"),
                                               t.querySelectorAll("*,:x"),
                                               g.push(",.*:");
                                     })),
                                (i.matchesSelector = K.test((y = f.matches || f.webkitMatchesSelector || f.mozMatchesSelector || f.oMatchesSelector || f.msMatchesSelector))) &&
                                     ut(function (t) {
                                          (i.disconnectedMatch = y.call(t, "*")), y.call(t, "[s!='']:x"), v.push("!=", j);
                                     }),
                                (g = g.length && new RegExp(g.join("|"))),
                                (v = v.length && new RegExp(v.join("|"))),
                                (e = K.test(f.compareDocumentPosition)),
                                (b =
                                     e || K.test(f.contains)
                                          ? function (t, e) {
                                                 var i = 9 === t.nodeType ? t.documentElement : t,
                                                      n = e && e.parentNode;
                                                 return t === n || !(!n || 1 !== n.nodeType || !(i.contains ? i.contains(n) : t.compareDocumentPosition && 16 & t.compareDocumentPosition(n)));
                                            }
                                          : function (t, e) {
                                                 if (e) for (; (e = e.parentNode); ) if (e === t) return !0;
                                                 return !1;
                                            }),
                                (D = e
                                     ? function (t, e) {
                                            if (t === e) return (h = !0), 0;
                                            var n = !t.compareDocumentPosition - !e.compareDocumentPosition;
                                            return (
                                                 n ||
                                                 (1 & (n = (t.ownerDocument || t) == (e.ownerDocument || e) ? t.compareDocumentPosition(e) : 1) || (!i.sortDetached && e.compareDocumentPosition(t) === n)
                                                      ? t == p || (t.ownerDocument == x && b(x, t))
                                                           ? -1
                                                           : e == p || (e.ownerDocument == x && b(x, e))
                                                           ? 1
                                                           : u
                                                           ? Y(u, t) - Y(u, e)
                                                           : 0
                                                      : 4 & n
                                                      ? -1
                                                      : 1)
                                            );
                                       }
                                     : function (t, e) {
                                            if (t === e) return (h = !0), 0;
                                            var i,
                                                 n = 0,
                                                 r = t.parentNode,
                                                 o = e.parentNode,
                                                 a = [t],
                                                 s = [e];
                                            if (!r || !o) return t == p ? -1 : e == p ? 1 : r ? -1 : o ? 1 : u ? Y(u, t) - Y(u, e) : 0;
                                            if (r === o) return dt(t, e);
                                            for (i = t; (i = i.parentNode); ) a.unshift(i);
                                            for (i = e; (i = i.parentNode); ) s.unshift(i);
                                            for (; a[n] === s[n]; ) n++;
                                            return n ? dt(a[n], s[n]) : a[n] == x ? -1 : s[n] == x ? 1 : 0;
                                       }),
                                p)
                              : p;
                    }),
                    (st.matches = function (t, e) {
                         return st(t, null, null, e);
                    }),
                    (st.matchesSelector = function (t, e) {
                         if ((d(t), i.matchesSelector && m && !C[e + " "] && (!v || !v.test(e)) && (!g || !g.test(e))))
                              try {
                                   var n = y.call(t, e);
                                   if (n || i.disconnectedMatch || (t.document && 11 !== t.document.nodeType)) return n;
                              } catch (t) {
                                   C(e, !0);
                              }
                         return st(e, p, null, [t]).length > 0;
                    }),
                    (st.contains = function (t, e) {
                         return (t.ownerDocument || t) != p && d(t), b(t, e);
                    }),
                    (st.attr = function (t, e) {
                         (t.ownerDocument || t) != p && d(t);
                         var r = n.attrHandle[e.toLowerCase()],
                              o = r && L.call(n.attrHandle, e.toLowerCase()) ? r(t, e, !m) : void 0;
                         return void 0 !== o ? o : i.attributes || !m ? t.getAttribute(e) : (o = t.getAttributeNode(e)) && o.specified ? o.value : null;
                    }),
                    (st.escape = function (t) {
                         return (t + "").replace(nt, rt);
                    }),
                    (st.error = function (t) {
                         throw new Error("Syntax error, unrecognized expression: " + t);
                    }),
                    (st.uniqueSort = function (t) {
                         var e,
                              n = [],
                              r = 0,
                              o = 0;
                         if (((h = !i.detectDuplicates), (u = !i.sortStable && t.slice(0)), t.sort(D), h)) {
                              for (; (e = t[o++]); ) e === t[o] && (r = n.push(o));
                              for (; r--; ) t.splice(n[r], 1);
                         }
                         return (u = null), t;
                    }),
                    (r = st.getText = function (t) {
                         var e,
                              i = "",
                              n = 0,
                              o = t.nodeType;
                         if (o) {
                              if (1 === o || 9 === o || 11 === o) {
                                   if ("string" == typeof t.textContent) return t.textContent;
                                   for (t = t.firstChild; t; t = t.nextSibling) i += r(t);
                              } else if (3 === o || 4 === o) return t.nodeValue;
                         } else for (; (e = t[n++]); ) i += r(e);
                         return i;
                    }),
                    ((n = st.selectors = {
                         cacheLength: 50,
                         createPseudo: ct,
                         match: X,
                         attrHandle: {},
                         find: {},
                         relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } },
                         preFilter: {
                              ATTR: function (t) {
                                   return (t[1] = t[1].replace(et, it)), (t[3] = (t[3] || t[4] || t[5] || "").replace(et, it)), "~=" === t[2] && (t[3] = " " + t[3] + " "), t.slice(0, 4);
                              },
                              CHILD: function (t) {
                                   return (
                                        (t[1] = t[1].toLowerCase()),
                                        "nth" === t[1].slice(0, 3)
                                             ? (t[3] || st.error(t[0]), (t[4] = +(t[4] ? t[5] + (t[6] || 1) : 2 * ("even" === t[3] || "odd" === t[3]))), (t[5] = +(t[7] + t[8] || "odd" === t[3])))
                                             : t[3] && st.error(t[0]),
                                        t
                                   );
                              },
                              PSEUDO: function (t) {
                                   var e,
                                        i = !t[6] && t[2];
                                   return X.CHILD.test(t[0])
                                        ? null
                                        : (t[3] ? (t[2] = t[4] || t[5] || "") : i && q.test(i) && (e = a(i, !0)) && (e = i.indexOf(")", i.length - e) - i.length) && ((t[0] = t[0].slice(0, e)), (t[2] = i.slice(0, e))), t.slice(0, 3));
                              },
                         },
                         filter: {
                              TAG: function (t) {
                                   var e = t.replace(et, it).toLowerCase();
                                   return "*" === t
                                        ? function () {
                                               return !0;
                                          }
                                        : function (t) {
                                               return t.nodeName && t.nodeName.toLowerCase() === e;
                                          };
                              },
                              CLASS: function (t) {
                                   var e = S[t + " "];
                                   return (
                                        e ||
                                        ((e = new RegExp("(^|" + R + ")" + t + "(" + R + "|$)")) &&
                                             S(t, function (t) {
                                                  return e.test(("string" == typeof t.className && t.className) || (void 0 !== t.getAttribute && t.getAttribute("class")) || "");
                                             }))
                                   );
                              },
                              ATTR: function (t, e, i) {
                                   return function (n) {
                                        var r = st.attr(n, t);
                                        return null == r
                                             ? "!=" === e
                                             : !e ||
                                                    ((r += ""),
                                                    "=" === e
                                                         ? r === i
                                                         : "!=" === e
                                                         ? r !== i
                                                         : "^=" === e
                                                         ? i && 0 === r.indexOf(i)
                                                         : "*=" === e
                                                         ? i && r.indexOf(i) > -1
                                                         : "$=" === e
                                                         ? i && r.slice(-i.length) === i
                                                         : "~=" === e
                                                         ? (" " + r.replace(N, " ") + " ").indexOf(i) > -1
                                                         : "|=" === e && (r === i || r.slice(0, i.length + 1) === i + "-"));
                                   };
                              },
                              CHILD: function (t, e, i, n, r) {
                                   var o = "nth" !== t.slice(0, 3),
                                        a = "last" !== t.slice(-4),
                                        s = "of-type" === e;
                                   return 1 === n && 0 === r
                                        ? function (t) {
                                               return !!t.parentNode;
                                          }
                                        : function (e, i, l) {
                                               var c,
                                                    u,
                                                    h,
                                                    d,
                                                    p,
                                                    f,
                                                    m = o !== a ? "nextSibling" : "previousSibling",
                                                    g = e.parentNode,
                                                    v = s && e.nodeName.toLowerCase(),
                                                    y = !l && !s,
                                                    b = !1;
                                               if (g) {
                                                    if (o) {
                                                         for (; m; ) {
                                                              for (d = e; (d = d[m]); ) if (s ? d.nodeName.toLowerCase() === v : 1 === d.nodeType) return !1;
                                                              f = m = "only" === t && !f && "nextSibling";
                                                         }
                                                         return !0;
                                                    }
                                                    if (((f = [a ? g.firstChild : g.lastChild]), a && y)) {
                                                         for (
                                                              b = (p = (c = (u = (h = (d = g)[_] || (d[_] = {}))[d.uniqueID] || (h[d.uniqueID] = {}))[t] || [])[0] === w && c[1]) && c[2], d = p && g.childNodes[p];
                                                              (d = (++p && d && d[m]) || (b = p = 0) || f.pop());

                                                         )
                                                              if (1 === d.nodeType && ++b && d === e) {
                                                                   u[t] = [w, p, b];
                                                                   break;
                                                              }
                                                    } else if ((y && (b = p = (c = (u = (h = (d = e)[_] || (d[_] = {}))[d.uniqueID] || (h[d.uniqueID] = {}))[t] || [])[0] === w && c[1]), !1 === b))
                                                         for (
                                                              ;
                                                              (d = (++p && d && d[m]) || (b = p = 0) || f.pop()) &&
                                                              ((s ? d.nodeName.toLowerCase() !== v : 1 !== d.nodeType) || !++b || (y && ((u = (h = d[_] || (d[_] = {}))[d.uniqueID] || (h[d.uniqueID] = {}))[t] = [w, b]), d !== e));

                                                         );
                                                    return (b -= r) === n || (b % n == 0 && b / n >= 0);
                                               }
                                          };
                              },
                              PSEUDO: function (t, e) {
                                   var i,
                                        r = n.pseudos[t] || n.setFilters[t.toLowerCase()] || st.error("unsupported pseudo: " + t);
                                   return r[_]
                                        ? r(e)
                                        : r.length > 1
                                        ? ((i = [t, t, "", e]),
                                          n.setFilters.hasOwnProperty(t.toLowerCase())
                                               ? ct(function (t, i) {
                                                      for (var n, o = r(t, e), a = o.length; a--; ) t[(n = Y(t, o[a]))] = !(i[n] = o[a]);
                                                 })
                                               : function (t) {
                                                      return r(t, 0, i);
                                                 })
                                        : r;
                              },
                         },
                         pseudos: {
                              not: ct(function (t) {
                                   var e = [],
                                        i = [],
                                        n = s(t.replace(B, "$1"));
                                   return n[_]
                                        ? ct(function (t, e, i, r) {
                                               for (var o, a = n(t, null, r, []), s = t.length; s--; ) (o = a[s]) && (t[s] = !(e[s] = o));
                                          })
                                        : function (t, r, o) {
                                               return (e[0] = t), n(e, null, o, i), (e[0] = null), !i.pop();
                                          };
                              }),
                              has: ct(function (t) {
                                   return function (e) {
                                        return st(t, e).length > 0;
                                   };
                              }),
                              contains: ct(function (t) {
                                   return (
                                        (t = t.replace(et, it)),
                                        function (e) {
                                             return (e.textContent || r(e)).indexOf(t) > -1;
                                        }
                                   );
                              }),
                              lang: ct(function (t) {
                                   return (
                                        $.test(t || "") || st.error("unsupported lang: " + t),
                                        (t = t.replace(et, it).toLowerCase()),
                                        function (e) {
                                             var i;
                                             do {
                                                  if ((i = m ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang"))) return (i = i.toLowerCase()) === t || 0 === i.indexOf(t + "-");
                                             } while ((e = e.parentNode) && 1 === e.nodeType);
                                             return !1;
                                        }
                                   );
                              }),
                              target: function (e) {
                                   var i = t.location && t.location.hash;
                                   return i && i.slice(1) === e.id;
                              },
                              root: function (t) {
                                   return t === f;
                              },
                              focus: function (t) {
                                   return t === p.activeElement && (!p.hasFocus || p.hasFocus()) && !!(t.type || t.href || ~t.tabIndex);
                              },
                              enabled: mt(!1),
                              disabled: mt(!0),
                              checked: function (t) {
                                   var e = t.nodeName.toLowerCase();
                                   return ("input" === e && !!t.checked) || ("option" === e && !!t.selected);
                              },
                              selected: function (t) {
                                   return t.parentNode && t.parentNode.selectedIndex, !0 === t.selected;
                              },
                              empty: function (t) {
                                   for (t = t.firstChild; t; t = t.nextSibling) if (t.nodeType < 6) return !1;
                                   return !0;
                              },
                              parent: function (t) {
                                   return !n.pseudos.empty(t);
                              },
                              header: function (t) {
                                   return J.test(t.nodeName);
                              },
                              input: function (t) {
                                   return Z.test(t.nodeName);
                              },
                              button: function (t) {
                                   var e = t.nodeName.toLowerCase();
                                   return ("input" === e && "button" === t.type) || "button" === e;
                              },
                              text: function (t) {
                                   var e;
                                   return "input" === t.nodeName.toLowerCase() && "text" === t.type && (null == (e = t.getAttribute("type")) || "text" === e.toLowerCase());
                              },
                              first: gt(function () {
                                   return [0];
                              }),
                              last: gt(function (t, e) {
                                   return [e - 1];
                              }),
                              eq: gt(function (t, e, i) {
                                   return [i < 0 ? i + e : i];
                              }),
                              even: gt(function (t, e) {
                                   for (var i = 0; i < e; i += 2) t.push(i);
                                   return t;
                              }),
                              odd: gt(function (t, e) {
                                   for (var i = 1; i < e; i += 2) t.push(i);
                                   return t;
                              }),
                              lt: gt(function (t, e, i) {
                                   for (var n = i < 0 ? i + e : i > e ? e : i; --n >= 0; ) t.push(n);
                                   return t;
                              }),
                              gt: gt(function (t, e, i) {
                                   for (var n = i < 0 ? i + e : i; ++n < e; ) t.push(n);
                                   return t;
                              }),
                         },
                    }).pseudos.nth = n.pseudos.eq),
                    { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }))
                         n.pseudos[e] = pt(e);
                    for (e in { submit: !0, reset: !0 }) n.pseudos[e] = ft(e);
                    function yt() {}
                    function bt(t) {
                         for (var e = 0, i = t.length, n = ""; e < i; e++) n += t[e].value;
                         return n;
                    }
                    function _t(t, e, i) {
                         var n = e.dir,
                              r = e.next,
                              o = r || n,
                              a = i && "parentNode" === o,
                              s = k++;
                         return e.first
                              ? function (e, i, r) {
                                     for (; (e = e[n]); ) if (1 === e.nodeType || a) return t(e, i, r);
                                     return !1;
                                }
                              : function (e, i, l) {
                                     var c,
                                          u,
                                          h,
                                          d = [w, s];
                                     if (l) {
                                          for (; (e = e[n]); ) if ((1 === e.nodeType || a) && t(e, i, l)) return !0;
                                     } else
                                          for (; (e = e[n]); )
                                               if (1 === e.nodeType || a)
                                                    if (((u = (h = e[_] || (e[_] = {}))[e.uniqueID] || (h[e.uniqueID] = {})), r && r === e.nodeName.toLowerCase())) e = e[n] || e;
                                                    else {
                                                         if ((c = u[o]) && c[0] === w && c[1] === s) return (d[2] = c[2]);
                                                         if (((u[o] = d), (d[2] = t(e, i, l)))) return !0;
                                                    }
                                     return !1;
                                };
                    }
                    function xt(t) {
                         return t.length > 1
                              ? function (e, i, n) {
                                     for (var r = t.length; r--; ) if (!t[r](e, i, n)) return !1;
                                     return !0;
                                }
                              : t[0];
                    }
                    function wt(t, e, i, n, r) {
                         for (var o, a = [], s = 0, l = t.length, c = null != e; s < l; s++) (o = t[s]) && ((i && !i(o, n, r)) || (a.push(o), c && e.push(s)));
                         return a;
                    }
                    function kt(t, e, i, n, r, o) {
                         return (
                              n && !n[_] && (n = kt(n)),
                              r && !r[_] && (r = kt(r, o)),
                              ct(function (o, a, s, l) {
                                   var c,
                                        u,
                                        h,
                                        d = [],
                                        p = [],
                                        f = a.length,
                                        m =
                                             o ||
                                             (function (t, e, i) {
                                                  for (var n = 0, r = e.length; n < r; n++) st(t, e[n], i);
                                                  return i;
                                             })(e || "*", s.nodeType ? [s] : s, []),
                                        g = !t || (!o && e) ? m : wt(m, d, t, s, l),
                                        v = i ? (r || (o ? t : f || n) ? [] : a) : g;
                                   if ((i && i(g, v, s, l), n)) for (c = wt(v, p), n(c, [], s, l), u = c.length; u--; ) (h = c[u]) && (v[p[u]] = !(g[p[u]] = h));
                                   if (o) {
                                        if (r || t) {
                                             if (r) {
                                                  for (c = [], u = v.length; u--; ) (h = v[u]) && c.push((g[u] = h));
                                                  r(null, (v = []), c, l);
                                             }
                                             for (u = v.length; u--; ) (h = v[u]) && (c = r ? Y(o, h) : d[u]) > -1 && (o[c] = !(a[c] = h));
                                        }
                                   } else (v = wt(v === a ? v.splice(f, v.length) : v)), r ? r(null, a, v, l) : I.apply(a, v);
                              })
                         );
                    }
                    function St(t) {
                         for (
                              var e,
                                   i,
                                   r,
                                   o = t.length,
                                   a = n.relative[t[0].type],
                                   s = a || n.relative[" "],
                                   l = a ? 1 : 0,
                                   u = _t(
                                        function (t) {
                                             return t === e;
                                        },
                                        s,
                                        !0
                                   ),
                                   h = _t(
                                        function (t) {
                                             return Y(e, t) > -1;
                                        },
                                        s,
                                        !0
                                   ),
                                   d = [
                                        function (t, i, n) {
                                             var r = (!a && (n || i !== c)) || ((e = i).nodeType ? u(t, i, n) : h(t, i, n));
                                             return (e = null), r;
                                        },
                                   ];
                              l < o;
                              l++
                         )
                              if ((i = n.relative[t[l].type])) d = [_t(xt(d), i)];
                              else {
                                   if ((i = n.filter[t[l].type].apply(null, t[l].matches))[_]) {
                                        for (r = ++l; r < o && !n.relative[t[r].type]; r++);
                                        return kt(
                                             l > 1 && xt(d),
                                             l > 1 && bt(t.slice(0, l - 1).concat({ value: " " === t[l - 2].type ? "*" : "" })).replace(B, "$1"),
                                             i,
                                             l < r && St(t.slice(l, r)),
                                             r < o && St((t = t.slice(r))),
                                             r < o && bt(t)
                                        );
                                   }
                                   d.push(i);
                              }
                         return xt(d);
                    }
                    return (
                         (yt.prototype = n.filters = n.pseudos),
                         (n.setFilters = new yt()),
                         (a = st.tokenize = function (t, e) {
                              var i,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c,
                                   u = M[t + " "];
                              if (u) return e ? 0 : u.slice(0);
                              for (s = t, l = [], c = n.preFilter; s; ) {
                                   for (a in ((i && !(r = W.exec(s))) || (r && (s = s.slice(r[0].length) || s), l.push((o = []))),
                                   (i = !1),
                                   (r = V.exec(s)) && ((i = r.shift()), o.push({ value: i, type: r[0].replace(B, " ") }), (s = s.slice(i.length))),
                                   n.filter))
                                        !(r = X[a].exec(s)) || (c[a] && !(r = c[a](r))) || ((i = r.shift()), o.push({ value: i, type: a, matches: r }), (s = s.slice(i.length)));
                                   if (!i) break;
                              }
                              return e ? s.length : s ? st.error(t) : M(t, l).slice(0);
                         }),
                         (s = st.compile = function (t, e) {
                              var i,
                                   r = [],
                                   o = [],
                                   s = T[t + " "];
                              if (!s) {
                                   for (e || (e = a(t)), i = e.length; i--; ) (s = St(e[i]))[_] ? r.push(s) : o.push(s);
                                   (s = T(
                                        t,
                                        (function (t, e) {
                                             var i = e.length > 0,
                                                  r = t.length > 0,
                                                  o = function (o, a, s, l, u) {
                                                       var h,
                                                            f,
                                                            g,
                                                            v = 0,
                                                            y = "0",
                                                            b = o && [],
                                                            _ = [],
                                                            x = c,
                                                            k = o || (r && n.find.TAG("*", u)),
                                                            S = (w += null == x ? 1 : Math.random() || 0.1),
                                                            M = k.length;
                                                       for (u && (c = a == p || a || u); y !== M && null != (h = k[y]); y++) {
                                                            if (r && h) {
                                                                 for (f = 0, a || h.ownerDocument == p || (d(h), (s = !m)); (g = t[f++]); )
                                                                      if (g(h, a || p, s)) {
                                                                           l.push(h);
                                                                           break;
                                                                      }
                                                                 u && (w = S);
                                                            }
                                                            i && ((h = !g && h) && v--, o && b.push(h));
                                                       }
                                                       if (((v += y), i && y !== v)) {
                                                            for (f = 0; (g = e[f++]); ) g(b, _, a, s);
                                                            if (o) {
                                                                 if (v > 0) for (; y--; ) b[y] || _[y] || (_[y] = A.call(l));
                                                                 _ = wt(_);
                                                            }
                                                            I.apply(l, _), u && !o && _.length > 0 && v + e.length > 1 && st.uniqueSort(l);
                                                       }
                                                       return u && ((w = S), (c = x)), b;
                                                  };
                                             return i ? ct(o) : o;
                                        })(o, r)
                                   )).selector = t;
                              }
                              return s;
                         }),
                         (l = st.select = function (t, e, i, r) {
                              var o,
                                   l,
                                   c,
                                   u,
                                   h,
                                   d = "function" == typeof t && t,
                                   p = !r && a((t = d.selector || t));
                              if (((i = i || []), 1 === p.length)) {
                                   if ((l = p[0] = p[0].slice(0)).length > 2 && "ID" === (c = l[0]).type && 9 === e.nodeType && m && n.relative[l[1].type]) {
                                        if (!(e = (n.find.ID(c.matches[0].replace(et, it), e) || [])[0])) return i;
                                        d && (e = e.parentNode), (t = t.slice(l.shift().value.length));
                                   }
                                   for (o = X.needsContext.test(t) ? 0 : l.length; o-- && ((c = l[o]), !n.relative[(u = c.type)]); )
                                        if ((h = n.find[u]) && (r = h(c.matches[0].replace(et, it), (tt.test(l[0].type) && vt(e.parentNode)) || e))) {
                                             if ((l.splice(o, 1), !(t = r.length && bt(l)))) return I.apply(i, r), i;
                                             break;
                                        }
                              }
                              return (d || s(t, p))(r, e, !m, i, !e || (tt.test(t) && vt(e.parentNode)) || e), i;
                         }),
                         (i.sortStable = _.split("").sort(D).join("") === _),
                         (i.detectDuplicates = !!h),
                         d(),
                         (i.sortDetached = ut(function (t) {
                              return 1 & t.compareDocumentPosition(p.createElement("fieldset"));
                         })),
                         ut(function (t) {
                              return (t.innerHTML = "<a href='#'></a>"), "#" === t.firstChild.getAttribute("href");
                         }) ||
                              ht("type|href|height|width", function (t, e, i) {
                                   if (!i) return t.getAttribute(e, "type" === e.toLowerCase() ? 1 : 2);
                              }),
                         (i.attributes &&
                              ut(function (t) {
                                   return (t.innerHTML = "<input/>"), t.firstChild.setAttribute("value", ""), "" === t.firstChild.getAttribute("value");
                              })) ||
                              ht("value", function (t, e, i) {
                                   if (!i && "input" === t.nodeName.toLowerCase()) return t.defaultValue;
                              }),
                         ut(function (t) {
                              return null == t.getAttribute("disabled");
                         }) ||
                              ht(z, function (t, e, i) {
                                   var n;
                                   if (!i) return !0 === t[e] ? e.toLowerCase() : (n = t.getAttributeNode(e)) && n.specified ? n.value : null;
                              }),
                         st
                    );
               })(i);
               (k.find = M), (k.expr = M.selectors), (k.expr[":"] = k.expr.pseudos), (k.uniqueSort = k.unique = M.uniqueSort), (k.text = M.getText), (k.isXMLDoc = M.isXML), (k.contains = M.contains), (k.escapeSelector = M.escape);
               var T = function (t, e, i) {
                         for (var n = [], r = void 0 !== i; (t = t[e]) && 9 !== t.nodeType; )
                              if (1 === t.nodeType) {
                                   if (r && k(t).is(i)) break;
                                   n.push(t);
                              }
                         return n;
                    },
                    C = function (t, e) {
                         for (var i = []; t; t = t.nextSibling) 1 === t.nodeType && t !== e && i.push(t);
                         return i;
                    },
                    D = k.expr.match.needsContext;
               function L(t, e) {
                    return t.nodeName && t.nodeName.toLowerCase() === e.toLowerCase();
               }
               var E = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
               function A(t, e, i) {
                    return v(e)
                         ? k.grep(t, function (t, n) {
                                return !!e.call(t, n, t) !== i;
                           })
                         : e.nodeType
                         ? k.grep(t, function (t) {
                                return (t === e) !== i;
                           })
                         : "string" != typeof e
                         ? k.grep(t, function (t) {
                                return u.call(e, t) > -1 !== i;
                           })
                         : k.filter(e, t, i);
               }
               (k.filter = function (t, e, i) {
                    var n = e[0];
                    return (
                         i && (t = ":not(" + t + ")"),
                         1 === e.length && 1 === n.nodeType
                              ? k.find.matchesSelector(n, t)
                                   ? [n]
                                   : []
                              : k.find.matches(
                                     t,
                                     k.grep(e, function (t) {
                                          return 1 === t.nodeType;
                                     })
                                )
                    );
               }),
                    k.fn.extend({
                         find: function (t) {
                              var e,
                                   i,
                                   n = this.length,
                                   r = this;
                              if ("string" != typeof t)
                                   return this.pushStack(
                                        k(t).filter(function () {
                                             for (e = 0; e < n; e++) if (k.contains(r[e], this)) return !0;
                                        })
                                   );
                              for (i = this.pushStack([]), e = 0; e < n; e++) k.find(t, r[e], i);
                              return n > 1 ? k.uniqueSort(i) : i;
                         },
                         filter: function (t) {
                              return this.pushStack(A(this, t || [], !1));
                         },
                         not: function (t) {
                              return this.pushStack(A(this, t || [], !0));
                         },
                         is: function (t) {
                              return !!A(this, "string" == typeof t && D.test(t) ? k(t) : t || [], !1).length;
                         },
                    });
               var P,
                    I = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
               ((k.fn.init = function (t, e, i) {
                    var n, r;
                    if (!t) return this;
                    if (((i = i || P), "string" == typeof t)) {
                         if (!(n = "<" === t[0] && ">" === t[t.length - 1] && t.length >= 3 ? [null, t, null] : I.exec(t)) || (!n[1] && e)) return !e || e.jquery ? (e || i).find(t) : this.constructor(e).find(t);
                         if (n[1]) {
                              if (((e = e instanceof k ? e[0] : e), k.merge(this, k.parseHTML(n[1], e && e.nodeType ? e.ownerDocument || e : b, !0)), E.test(n[1]) && k.isPlainObject(e)))
                                   for (n in e) v(this[n]) ? this[n](e[n]) : this.attr(n, e[n]);
                              return this;
                         }
                         return (r = b.getElementById(n[2])) && ((this[0] = r), (this.length = 1)), this;
                    }
                    return t.nodeType ? ((this[0] = t), (this.length = 1), this) : v(t) ? (void 0 !== i.ready ? i.ready(t) : t(k)) : k.makeArray(t, this);
               }).prototype = k.fn),
                    (P = k(b));
               var O = /^(?:parents|prev(?:Until|All))/,
                    Y = { children: !0, contents: !0, next: !0, prev: !0 };
               function z(t, e) {
                    for (; (t = t[e]) && 1 !== t.nodeType; );
                    return t;
               }
               k.fn.extend({
                    has: function (t) {
                         var e = k(t, this),
                              i = e.length;
                         return this.filter(function () {
                              for (var t = 0; t < i; t++) if (k.contains(this, e[t])) return !0;
                         });
                    },
                    closest: function (t, e) {
                         var i,
                              n = 0,
                              r = this.length,
                              o = [],
                              a = "string" != typeof t && k(t);
                         if (!D.test(t))
                              for (; n < r; n++)
                                   for (i = this[n]; i && i !== e; i = i.parentNode)
                                        if (i.nodeType < 11 && (a ? a.index(i) > -1 : 1 === i.nodeType && k.find.matchesSelector(i, t))) {
                                             o.push(i);
                                             break;
                                        }
                         return this.pushStack(o.length > 1 ? k.uniqueSort(o) : o);
                    },
                    index: function (t) {
                         return t ? ("string" == typeof t ? u.call(k(t), this[0]) : u.call(this, t.jquery ? t[0] : t)) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1;
                    },
                    add: function (t, e) {
                         return this.pushStack(k.uniqueSort(k.merge(this.get(), k(t, e))));
                    },
                    addBack: function (t) {
                         return this.add(null == t ? this.prevObject : this.prevObject.filter(t));
                    },
               }),
                    k.each(
                         {
                              parent: function (t) {
                                   var e = t.parentNode;
                                   return e && 11 !== e.nodeType ? e : null;
                              },
                              parents: function (t) {
                                   return T(t, "parentNode");
                              },
                              parentsUntil: function (t, e, i) {
                                   return T(t, "parentNode", i);
                              },
                              next: function (t) {
                                   return z(t, "nextSibling");
                              },
                              prev: function (t) {
                                   return z(t, "previousSibling");
                              },
                              nextAll: function (t) {
                                   return T(t, "nextSibling");
                              },
                              prevAll: function (t) {
                                   return T(t, "previousSibling");
                              },
                              nextUntil: function (t, e, i) {
                                   return T(t, "nextSibling", i);
                              },
                              prevUntil: function (t, e, i) {
                                   return T(t, "previousSibling", i);
                              },
                              siblings: function (t) {
                                   return C((t.parentNode || {}).firstChild, t);
                              },
                              children: function (t) {
                                   return C(t.firstChild);
                              },
                              contents: function (t) {
                                   return null != t.contentDocument && a(t.contentDocument) ? t.contentDocument : (L(t, "template") && (t = t.content || t), k.merge([], t.childNodes));
                              },
                         },
                         function (t, e) {
                              k.fn[t] = function (i, n) {
                                   var r = k.map(this, e, i);
                                   return "Until" !== t.slice(-5) && (n = i), n && "string" == typeof n && (r = k.filter(n, r)), this.length > 1 && (Y[t] || k.uniqueSort(r), O.test(t) && r.reverse()), this.pushStack(r);
                              };
                         }
                    );
               var R = /[^\x20\t\r\n\f]+/g;
               function F(t) {
                    return t;
               }
               function H(t) {
                    throw t;
               }
               function j(t, e, i, n) {
                    var r;
                    try {
                         t && v((r = t.promise)) ? r.call(t).done(e).fail(i) : t && v((r = t.then)) ? r.call(t, e, i) : e.apply(void 0, [t].slice(n));
                    } catch (t) {
                         i.apply(void 0, [t]);
                    }
               }
               (k.Callbacks = function (t) {
                    t =
                         "string" == typeof t
                              ? (function (t) {
                                     var e = {};
                                     return (
                                          k.each(t.match(R) || [], function (t, i) {
                                               e[i] = !0;
                                          }),
                                          e
                                     );
                                })(t)
                              : k.extend({}, t);
                    var e,
                         i,
                         n,
                         r,
                         o = [],
                         a = [],
                         s = -1,
                         l = function () {
                              for (r = r || t.once, n = e = !0; a.length; s = -1) for (i = a.shift(); ++s < o.length; ) !1 === o[s].apply(i[0], i[1]) && t.stopOnFalse && ((s = o.length), (i = !1));
                              t.memory || (i = !1), (e = !1), r && (o = i ? [] : "");
                         },
                         c = {
                              add: function () {
                                   return (
                                        o &&
                                             (i && !e && ((s = o.length - 1), a.push(i)),
                                             (function e(i) {
                                                  k.each(i, function (i, n) {
                                                       v(n) ? (t.unique && c.has(n)) || o.push(n) : n && n.length && "string" !== w(n) && e(n);
                                                  });
                                             })(arguments),
                                             i && !e && l()),
                                        this
                                   );
                              },
                              remove: function () {
                                   return (
                                        k.each(arguments, function (t, e) {
                                             for (var i; (i = k.inArray(e, o, i)) > -1; ) o.splice(i, 1), i <= s && s--;
                                        }),
                                        this
                                   );
                              },
                              has: function (t) {
                                   return t ? k.inArray(t, o) > -1 : o.length > 0;
                              },
                              empty: function () {
                                   return o && (o = []), this;
                              },
                              disable: function () {
                                   return (r = a = []), (o = i = ""), this;
                              },
                              disabled: function () {
                                   return !o;
                              },
                              lock: function () {
                                   return (r = a = []), i || e || (o = i = ""), this;
                              },
                              locked: function () {
                                   return !!r;
                              },
                              fireWith: function (t, i) {
                                   return r || ((i = [t, (i = i || []).slice ? i.slice() : i]), a.push(i), e || l()), this;
                              },
                              fire: function () {
                                   return c.fireWith(this, arguments), this;
                              },
                              fired: function () {
                                   return !!n;
                              },
                         };
                    return c;
               }),
                    k.extend({
                         Deferred: function (t) {
                              var e = [
                                        ["notify", "progress", k.Callbacks("memory"), k.Callbacks("memory"), 2],
                                        ["resolve", "done", k.Callbacks("once memory"), k.Callbacks("once memory"), 0, "resolved"],
                                        ["reject", "fail", k.Callbacks("once memory"), k.Callbacks("once memory"), 1, "rejected"],
                                   ],
                                   n = "pending",
                                   r = {
                                        state: function () {
                                             return n;
                                        },
                                        always: function () {
                                             return o.done(arguments).fail(arguments), this;
                                        },
                                        catch: function (t) {
                                             return r.then(null, t);
                                        },
                                        pipe: function () {
                                             var t = arguments;
                                             return k
                                                  .Deferred(function (i) {
                                                       k.each(e, function (e, n) {
                                                            var r = v(t[n[4]]) && t[n[4]];
                                                            o[n[1]](function () {
                                                                 var t = r && r.apply(this, arguments);
                                                                 t && v(t.promise) ? t.promise().progress(i.notify).done(i.resolve).fail(i.reject) : i[n[0] + "With"](this, r ? [t] : arguments);
                                                            });
                                                       }),
                                                            (t = null);
                                                  })
                                                  .promise();
                                        },
                                        then: function (t, n, r) {
                                             var o = 0;
                                             function a(t, e, n, r) {
                                                  return function () {
                                                       var s = this,
                                                            l = arguments,
                                                            c = function () {
                                                                 var i, c;
                                                                 if (!(t < o)) {
                                                                      if ((i = n.apply(s, l)) === e.promise()) throw new TypeError("Thenable self-resolution");
                                                                      (c = i && ("object" == typeof i || "function" == typeof i) && i.then),
                                                                           v(c)
                                                                                ? r
                                                                                     ? c.call(i, a(o, e, F, r), a(o, e, H, r))
                                                                                     : (o++, c.call(i, a(o, e, F, r), a(o, e, H, r), a(o, e, F, e.notifyWith)))
                                                                                : (n !== F && ((s = void 0), (l = [i])), (r || e.resolveWith)(s, l));
                                                                 }
                                                            },
                                                            u = r
                                                                 ? c
                                                                 : function () {
                                                                        try {
                                                                             c();
                                                                        } catch (i) {
                                                                             k.Deferred.exceptionHook && k.Deferred.exceptionHook(i, u.stackTrace), t + 1 >= o && (n !== H && ((s = void 0), (l = [i])), e.rejectWith(s, l));
                                                                        }
                                                                   };
                                                       t ? u() : (k.Deferred.getStackHook && (u.stackTrace = k.Deferred.getStackHook()), i.setTimeout(u));
                                                  };
                                             }
                                             return k
                                                  .Deferred(function (i) {
                                                       e[0][3].add(a(0, i, v(r) ? r : F, i.notifyWith)), e[1][3].add(a(0, i, v(t) ? t : F)), e[2][3].add(a(0, i, v(n) ? n : H));
                                                  })
                                                  .promise();
                                        },
                                        promise: function (t) {
                                             return null != t ? k.extend(t, r) : r;
                                        },
                                   },
                                   o = {};
                              return (
                                   k.each(e, function (t, i) {
                                        var a = i[2],
                                             s = i[5];
                                        (r[i[1]] = a.add),
                                             s &&
                                                  a.add(
                                                       function () {
                                                            n = s;
                                                       },
                                                       e[3 - t][2].disable,
                                                       e[3 - t][3].disable,
                                                       e[0][2].lock,
                                                       e[0][3].lock
                                                  ),
                                             a.add(i[3].fire),
                                             (o[i[0]] = function () {
                                                  return o[i[0] + "With"](this === o ? void 0 : this, arguments), this;
                                             }),
                                             (o[i[0] + "With"] = a.fireWith);
                                   }),
                                   r.promise(o),
                                   t && t.call(o, o),
                                   o
                              );
                         },
                         when: function (t) {
                              var e = arguments.length,
                                   i = e,
                                   n = Array(i),
                                   r = s.call(arguments),
                                   o = k.Deferred(),
                                   a = function (t) {
                                        return function (i) {
                                             (n[t] = this), (r[t] = arguments.length > 1 ? s.call(arguments) : i), --e || o.resolveWith(n, r);
                                        };
                                   };
                              if (e <= 1 && (j(t, o.done(a(i)).resolve, o.reject, !e), "pending" === o.state() || v(r[i] && r[i].then))) return o.then();
                              for (; i--; ) j(r[i], a(i), o.reject);
                              return o.promise();
                         },
                    });
               var N = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
               (k.Deferred.exceptionHook = function (t, e) {
                    i.console && i.console.warn && t && N.test(t.name) && i.console.warn("jQuery.Deferred exception: " + t.message, t.stack, e);
               }),
                    (k.readyException = function (t) {
                         i.setTimeout(function () {
                              throw t;
                         });
                    });
               var B = k.Deferred();
               function W() {
                    b.removeEventListener("DOMContentLoaded", W), i.removeEventListener("load", W), k.ready();
               }
               (k.fn.ready = function (t) {
                    return (
                         B.then(t).catch(function (t) {
                              k.readyException(t);
                         }),
                         this
                    );
               }),
                    k.extend({
                         isReady: !1,
                         readyWait: 1,
                         ready: function (t) {
                              (!0 === t ? --k.readyWait : k.isReady) || ((k.isReady = !0), (!0 !== t && --k.readyWait > 0) || B.resolveWith(b, [k]));
                         },
                    }),
                    (k.ready.then = B.then),
                    "complete" === b.readyState || ("loading" !== b.readyState && !b.documentElement.doScroll) ? i.setTimeout(k.ready) : (b.addEventListener("DOMContentLoaded", W), i.addEventListener("load", W));
               var V = function (t, e, i, n, r, o, a) {
                         var s = 0,
                              l = t.length,
                              c = null == i;
                         if ("object" === w(i)) for (s in ((r = !0), i)) V(t, e, s, i[s], !0, o, a);
                         else if (
                              void 0 !== n &&
                              ((r = !0),
                              v(n) || (a = !0),
                              c &&
                                   (a
                                        ? (e.call(t, n), (e = null))
                                        : ((c = e),
                                          (e = function (t, e, i) {
                                               return c.call(k(t), i);
                                          }))),
                              e)
                         )
                              for (; s < l; s++) e(t[s], i, a ? n : n.call(t[s], s, e(t[s], i)));
                         return r ? t : c ? e.call(t) : l ? e(t[0], i) : o;
                    },
                    U = /^-ms-/,
                    q = /-([a-z])/g;
               function $(t, e) {
                    return e.toUpperCase();
               }
               function X(t) {
                    return t.replace(U, "ms-").replace(q, $);
               }
               var G = function (t) {
                    return 1 === t.nodeType || 9 === t.nodeType || !+t.nodeType;
               };
               function Z() {
                    this.expando = k.expando + Z.uid++;
               }
               (Z.uid = 1),
                    (Z.prototype = {
                         cache: function (t) {
                              var e = t[this.expando];
                              return e || ((e = {}), G(t) && (t.nodeType ? (t[this.expando] = e) : Object.defineProperty(t, this.expando, { value: e, configurable: !0 }))), e;
                         },
                         set: function (t, e, i) {
                              var n,
                                   r = this.cache(t);
                              if ("string" == typeof e) r[X(e)] = i;
                              else for (n in e) r[X(n)] = e[n];
                              return r;
                         },
                         get: function (t, e) {
                              return void 0 === e ? this.cache(t) : t[this.expando] && t[this.expando][X(e)];
                         },
                         access: function (t, e, i) {
                              return void 0 === e || (e && "string" == typeof e && void 0 === i) ? this.get(t, e) : (this.set(t, e, i), void 0 !== i ? i : e);
                         },
                         remove: function (t, e) {
                              var i,
                                   n = t[this.expando];
                              if (void 0 !== n) {
                                   if (void 0 !== e) {
                                        i = (e = Array.isArray(e) ? e.map(X) : (e = X(e)) in n ? [e] : e.match(R) || []).length;
                                        for (; i--; ) delete n[e[i]];
                                   }
                                   (void 0 === e || k.isEmptyObject(n)) && (t.nodeType ? (t[this.expando] = void 0) : delete t[this.expando]);
                              }
                         },
                         hasData: function (t) {
                              var e = t[this.expando];
                              return void 0 !== e && !k.isEmptyObject(e);
                         },
                    });
               var J = new Z(),
                    K = new Z(),
                    Q = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
                    tt = /[A-Z]/g;
               function et(t, e, i) {
                    var n;
                    if (void 0 === i && 1 === t.nodeType)
                         if (((n = "data-" + e.replace(tt, "-$&").toLowerCase()), "string" == typeof (i = t.getAttribute(n)))) {
                              try {
                                   i = (function (t) {
                                        return "true" === t || ("false" !== t && ("null" === t ? null : t === +t + "" ? +t : Q.test(t) ? JSON.parse(t) : t));
                                   })(i);
                              } catch (t) {}
                              K.set(t, e, i);
                         } else i = void 0;
                    return i;
               }
               k.extend({
                    hasData: function (t) {
                         return K.hasData(t) || J.hasData(t);
                    },
                    data: function (t, e, i) {
                         return K.access(t, e, i);
                    },
                    removeData: function (t, e) {
                         K.remove(t, e);
                    },
                    _data: function (t, e, i) {
                         return J.access(t, e, i);
                    },
                    _removeData: function (t, e) {
                         J.remove(t, e);
                    },
               }),
                    k.fn.extend({
                         data: function (t, e) {
                              var i,
                                   n,
                                   r,
                                   o = this[0],
                                   a = o && o.attributes;
                              if (void 0 === t) {
                                   if (this.length && ((r = K.get(o)), 1 === o.nodeType && !J.get(o, "hasDataAttrs"))) {
                                        for (i = a.length; i--; ) a[i] && 0 === (n = a[i].name).indexOf("data-") && ((n = X(n.slice(5))), et(o, n, r[n]));
                                        J.set(o, "hasDataAttrs", !0);
                                   }
                                   return r;
                              }
                              return "object" == typeof t
                                   ? this.each(function () {
                                          K.set(this, t);
                                     })
                                   : V(
                                          this,
                                          function (e) {
                                               var i;
                                               if (o && void 0 === e) return void 0 !== (i = K.get(o, t)) || void 0 !== (i = et(o, t)) ? i : void 0;
                                               this.each(function () {
                                                    K.set(this, t, e);
                                               });
                                          },
                                          null,
                                          e,
                                          arguments.length > 1,
                                          null,
                                          !0
                                     );
                         },
                         removeData: function (t) {
                              return this.each(function () {
                                   K.remove(this, t);
                              });
                         },
                    }),
                    k.extend({
                         queue: function (t, e, i) {
                              var n;
                              if (t) return (e = (e || "fx") + "queue"), (n = J.get(t, e)), i && (!n || Array.isArray(i) ? (n = J.access(t, e, k.makeArray(i))) : n.push(i)), n || [];
                         },
                         dequeue: function (t, e) {
                              e = e || "fx";
                              var i = k.queue(t, e),
                                   n = i.length,
                                   r = i.shift(),
                                   o = k._queueHooks(t, e);
                              "inprogress" === r && ((r = i.shift()), n--),
                                   r &&
                                        ("fx" === e && i.unshift("inprogress"),
                                        delete o.stop,
                                        r.call(
                                             t,
                                             function () {
                                                  k.dequeue(t, e);
                                             },
                                             o
                                        )),
                                   !n && o && o.empty.fire();
                         },
                         _queueHooks: function (t, e) {
                              var i = e + "queueHooks";
                              return (
                                   J.get(t, i) ||
                                   J.access(t, i, {
                                        empty: k.Callbacks("once memory").add(function () {
                                             J.remove(t, [e + "queue", i]);
                                        }),
                                   })
                              );
                         },
                    }),
                    k.fn.extend({
                         queue: function (t, e) {
                              var i = 2;
                              return (
                                   "string" != typeof t && ((e = t), (t = "fx"), i--),
                                   arguments.length < i
                                        ? k.queue(this[0], t)
                                        : void 0 === e
                                        ? this
                                        : this.each(function () {
                                               var i = k.queue(this, t, e);
                                               k._queueHooks(this, t), "fx" === t && "inprogress" !== i[0] && k.dequeue(this, t);
                                          })
                              );
                         },
                         dequeue: function (t) {
                              return this.each(function () {
                                   k.dequeue(this, t);
                              });
                         },
                         clearQueue: function (t) {
                              return this.queue(t || "fx", []);
                         },
                         promise: function (t, e) {
                              var i,
                                   n = 1,
                                   r = k.Deferred(),
                                   o = this,
                                   a = this.length,
                                   s = function () {
                                        --n || r.resolveWith(o, [o]);
                                   };
                              for ("string" != typeof t && ((e = t), (t = void 0)), t = t || "fx"; a--; ) (i = J.get(o[a], t + "queueHooks")) && i.empty && (n++, i.empty.add(s));
                              return s(), r.promise(e);
                         },
                    });
               var it = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
                    nt = new RegExp("^(?:([+-])=|)(" + it + ")([a-z%]*)$", "i"),
                    rt = ["Top", "Right", "Bottom", "Left"],
                    ot = b.documentElement,
                    at = function (t) {
                         return k.contains(t.ownerDocument, t);
                    },
                    st = { composed: !0 };
               ot.getRootNode &&
                    (at = function (t) {
                         return k.contains(t.ownerDocument, t) || t.getRootNode(st) === t.ownerDocument;
                    });
               var lt = function (t, e) {
                    return "none" === (t = e || t).style.display || ("" === t.style.display && at(t) && "none" === k.css(t, "display"));
               };
               function ct(t, e, i, n) {
                    var r,
                         o,
                         a = 20,
                         s = n
                              ? function () {
                                     return n.cur();
                                }
                              : function () {
                                     return k.css(t, e, "");
                                },
                         l = s(),
                         c = (i && i[3]) || (k.cssNumber[e] ? "" : "px"),
                         u = t.nodeType && (k.cssNumber[e] || ("px" !== c && +l)) && nt.exec(k.css(t, e));
                    if (u && u[3] !== c) {
                         for (l /= 2, c = c || u[3], u = +l || 1; a--; ) k.style(t, e, u + c), (1 - o) * (1 - (o = s() / l || 0.5)) <= 0 && (a = 0), (u /= o);
                         (u *= 2), k.style(t, e, u + c), (i = i || []);
                    }
                    return i && ((u = +u || +l || 0), (r = i[1] ? u + (i[1] + 1) * i[2] : +i[2]), n && ((n.unit = c), (n.start = u), (n.end = r))), r;
               }
               var ut = {};
               function ht(t) {
                    var e,
                         i = t.ownerDocument,
                         n = t.nodeName,
                         r = ut[n];
                    return r || ((e = i.body.appendChild(i.createElement(n))), (r = k.css(e, "display")), e.parentNode.removeChild(e), "none" === r && (r = "block"), (ut[n] = r), r);
               }
               function dt(t, e) {
                    for (var i, n, r = [], o = 0, a = t.length; o < a; o++)
                         (n = t[o]).style &&
                              ((i = n.style.display),
                              e ? ("none" === i && ((r[o] = J.get(n, "display") || null), r[o] || (n.style.display = "")), "" === n.style.display && lt(n) && (r[o] = ht(n))) : "none" !== i && ((r[o] = "none"), J.set(n, "display", i)));
                    for (o = 0; o < a; o++) null != r[o] && (t[o].style.display = r[o]);
                    return t;
               }
               k.fn.extend({
                    show: function () {
                         return dt(this, !0);
                    },
                    hide: function () {
                         return dt(this);
                    },
                    toggle: function (t) {
                         return "boolean" == typeof t
                              ? t
                                   ? this.show()
                                   : this.hide()
                              : this.each(function () {
                                     lt(this) ? k(this).show() : k(this).hide();
                                });
                    },
               });
               var pt,
                    ft,
                    mt = /^(?:checkbox|radio)$/i,
                    gt = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
                    vt = /^$|^module$|\/(?:java|ecma)script/i;
               (pt = b.createDocumentFragment().appendChild(b.createElement("div"))),
                    (ft = b.createElement("input")).setAttribute("type", "radio"),
                    ft.setAttribute("checked", "checked"),
                    ft.setAttribute("name", "t"),
                    pt.appendChild(ft),
                    (g.checkClone = pt.cloneNode(!0).cloneNode(!0).lastChild.checked),
                    (pt.innerHTML = "<textarea>x</textarea>"),
                    (g.noCloneChecked = !!pt.cloneNode(!0).lastChild.defaultValue),
                    (pt.innerHTML = "<option></option>"),
                    (g.option = !!pt.lastChild);
               var yt = {
                    thead: [1, "<table>", "</table>"],
                    col: [2, "<table><colgroup>", "</colgroup></table>"],
                    tr: [2, "<table><tbody>", "</tbody></table>"],
                    td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
                    _default: [0, "", ""],
               };
               function bt(t, e) {
                    var i;
                    return (i = void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e || "*") : void 0 !== t.querySelectorAll ? t.querySelectorAll(e || "*") : []), void 0 === e || (e && L(t, e)) ? k.merge([t], i) : i;
               }
               function _t(t, e) {
                    for (var i = 0, n = t.length; i < n; i++) J.set(t[i], "globalEval", !e || J.get(e[i], "globalEval"));
               }
               (yt.tbody = yt.tfoot = yt.colgroup = yt.caption = yt.thead), (yt.th = yt.td), g.option || (yt.optgroup = yt.option = [1, "<select multiple='multiple'>", "</select>"]);
               var xt = /<|&#?\w+;/;
               function wt(t, e, i, n, r) {
                    for (var o, a, s, l, c, u, h = e.createDocumentFragment(), d = [], p = 0, f = t.length; p < f; p++)
                         if ((o = t[p]) || 0 === o)
                              if ("object" === w(o)) k.merge(d, o.nodeType ? [o] : o);
                              else if (xt.test(o)) {
                                   for (a = a || h.appendChild(e.createElement("div")), s = (gt.exec(o) || ["", ""])[1].toLowerCase(), l = yt[s] || yt._default, a.innerHTML = l[1] + k.htmlPrefilter(o) + l[2], u = l[0]; u--; )
                                        a = a.lastChild;
                                   k.merge(d, a.childNodes), ((a = h.firstChild).textContent = "");
                              } else d.push(e.createTextNode(o));
                    for (h.textContent = "", p = 0; (o = d[p++]); )
                         if (n && k.inArray(o, n) > -1) r && r.push(o);
                         else if (((c = at(o)), (a = bt(h.appendChild(o), "script")), c && _t(a), i)) for (u = 0; (o = a[u++]); ) vt.test(o.type || "") && i.push(o);
                    return h;
               }
               var kt = /^key/,
                    St = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
                    Mt = /^([^.]*)(?:\.(.+)|)/;
               function Tt() {
                    return !0;
               }
               function Ct() {
                    return !1;
               }
               function Dt(t, e) {
                    return (
                         (t ===
                              (function () {
                                   try {
                                        return b.activeElement;
                                   } catch (t) {}
                              })()) ==
                         ("focus" === e)
                    );
               }
               function Lt(t, e, i, n, r, o) {
                    var a, s;
                    if ("object" == typeof e) {
                         for (s in ("string" != typeof i && ((n = n || i), (i = void 0)), e)) Lt(t, s, i, n, e[s], o);
                         return t;
                    }
                    if ((null == n && null == r ? ((r = i), (n = i = void 0)) : null == r && ("string" == typeof i ? ((r = n), (n = void 0)) : ((r = n), (n = i), (i = void 0))), !1 === r)) r = Ct;
                    else if (!r) return t;
                    return (
                         1 === o &&
                              ((a = r),
                              ((r = function (t) {
                                   return k().off(t), a.apply(this, arguments);
                              }).guid = a.guid || (a.guid = k.guid++))),
                         t.each(function () {
                              k.event.add(this, e, r, n, i);
                         })
                    );
               }
               function Et(t, e, i) {
                    i
                         ? (J.set(t, e, !1),
                           k.event.add(t, e, {
                                namespace: !1,
                                handler: function (t) {
                                     var n,
                                          r,
                                          o = J.get(this, e);
                                     if (1 & t.isTrigger && this[e]) {
                                          if (o.length) (k.event.special[e] || {}).delegateType && t.stopPropagation();
                                          else if (((o = s.call(arguments)), J.set(this, e, o), (n = i(this, e)), this[e](), o !== (r = J.get(this, e)) || n ? J.set(this, e, !1) : (r = {}), o !== r))
                                               return t.stopImmediatePropagation(), t.preventDefault(), r.value;
                                     } else o.length && (J.set(this, e, { value: k.event.trigger(k.extend(o[0], k.Event.prototype), o.slice(1), this) }), t.stopImmediatePropagation());
                                },
                           }))
                         : void 0 === J.get(t, e) && k.event.add(t, e, Tt);
               }
               (k.event = {
                    global: {},
                    add: function (t, e, i, n, r) {
                         var o,
                              a,
                              s,
                              l,
                              c,
                              u,
                              h,
                              d,
                              p,
                              f,
                              m,
                              g = J.get(t);
                         if (G(t))
                              for (
                                   i.handler && ((i = (o = i).handler), (r = o.selector)),
                                        r && k.find.matchesSelector(ot, r),
                                        i.guid || (i.guid = k.guid++),
                                        (l = g.events) || (l = g.events = Object.create(null)),
                                        (a = g.handle) ||
                                             (a = g.handle = function (e) {
                                                  return void 0 !== k && k.event.triggered !== e.type ? k.event.dispatch.apply(t, arguments) : void 0;
                                             }),
                                        c = (e = (e || "").match(R) || [""]).length;
                                   c--;

                              )
                                   (p = m = (s = Mt.exec(e[c]) || [])[1]),
                                        (f = (s[2] || "").split(".").sort()),
                                        p &&
                                             ((h = k.event.special[p] || {}),
                                             (p = (r ? h.delegateType : h.bindType) || p),
                                             (h = k.event.special[p] || {}),
                                             (u = k.extend({ type: p, origType: m, data: n, handler: i, guid: i.guid, selector: r, needsContext: r && k.expr.match.needsContext.test(r), namespace: f.join(".") }, o)),
                                             (d = l[p]) || (((d = l[p] = []).delegateCount = 0), (h.setup && !1 !== h.setup.call(t, n, f, a)) || (t.addEventListener && t.addEventListener(p, a))),
                                             h.add && (h.add.call(t, u), u.handler.guid || (u.handler.guid = i.guid)),
                                             r ? d.splice(d.delegateCount++, 0, u) : d.push(u),
                                             (k.event.global[p] = !0));
                    },
                    remove: function (t, e, i, n, r) {
                         var o,
                              a,
                              s,
                              l,
                              c,
                              u,
                              h,
                              d,
                              p,
                              f,
                              m,
                              g = J.hasData(t) && J.get(t);
                         if (g && (l = g.events)) {
                              for (c = (e = (e || "").match(R) || [""]).length; c--; )
                                   if (((p = m = (s = Mt.exec(e[c]) || [])[1]), (f = (s[2] || "").split(".").sort()), p)) {
                                        for (h = k.event.special[p] || {}, d = l[(p = (n ? h.delegateType : h.bindType) || p)] || [], s = s[2] && new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = d.length; o--; )
                                             (u = d[o]),
                                                  (!r && m !== u.origType) ||
                                                       (i && i.guid !== u.guid) ||
                                                       (s && !s.test(u.namespace)) ||
                                                       (n && n !== u.selector && ("**" !== n || !u.selector)) ||
                                                       (d.splice(o, 1), u.selector && d.delegateCount--, h.remove && h.remove.call(t, u));
                                        a && !d.length && ((h.teardown && !1 !== h.teardown.call(t, f, g.handle)) || k.removeEvent(t, p, g.handle), delete l[p]);
                                   } else for (p in l) k.event.remove(t, p + e[c], i, n, !0);
                              k.isEmptyObject(l) && J.remove(t, "handle events");
                         }
                    },
                    dispatch: function (t) {
                         var e,
                              i,
                              n,
                              r,
                              o,
                              a,
                              s = new Array(arguments.length),
                              l = k.event.fix(t),
                              c = (J.get(this, "events") || Object.create(null))[l.type] || [],
                              u = k.event.special[l.type] || {};
                         for (s[0] = l, e = 1; e < arguments.length; e++) s[e] = arguments[e];
                         if (((l.delegateTarget = this), !u.preDispatch || !1 !== u.preDispatch.call(this, l))) {
                              for (a = k.event.handlers.call(this, l, c), e = 0; (r = a[e++]) && !l.isPropagationStopped(); )
                                   for (l.currentTarget = r.elem, i = 0; (o = r.handlers[i++]) && !l.isImmediatePropagationStopped(); )
                                        (l.rnamespace && !1 !== o.namespace && !l.rnamespace.test(o.namespace)) ||
                                             ((l.handleObj = o),
                                             (l.data = o.data),
                                             void 0 !== (n = ((k.event.special[o.origType] || {}).handle || o.handler).apply(r.elem, s)) && !1 === (l.result = n) && (l.preventDefault(), l.stopPropagation()));
                              return u.postDispatch && u.postDispatch.call(this, l), l.result;
                         }
                    },
                    handlers: function (t, e) {
                         var i,
                              n,
                              r,
                              o,
                              a,
                              s = [],
                              l = e.delegateCount,
                              c = t.target;
                         if (l && c.nodeType && !("click" === t.type && t.button >= 1))
                              for (; c !== this; c = c.parentNode || this)
                                   if (1 === c.nodeType && ("click" !== t.type || !0 !== c.disabled)) {
                                        for (o = [], a = {}, i = 0; i < l; i++) void 0 === a[(r = (n = e[i]).selector + " ")] && (a[r] = n.needsContext ? k(r, this).index(c) > -1 : k.find(r, this, null, [c]).length), a[r] && o.push(n);
                                        o.length && s.push({ elem: c, handlers: o });
                                   }
                         return (c = this), l < e.length && s.push({ elem: c, handlers: e.slice(l) }), s;
                    },
                    addProp: function (t, e) {
                         Object.defineProperty(k.Event.prototype, t, {
                              enumerable: !0,
                              configurable: !0,
                              get: v(e)
                                   ? function () {
                                          if (this.originalEvent) return e(this.originalEvent);
                                     }
                                   : function () {
                                          if (this.originalEvent) return this.originalEvent[t];
                                     },
                              set: function (e) {
                                   Object.defineProperty(this, t, { enumerable: !0, configurable: !0, writable: !0, value: e });
                              },
                         });
                    },
                    fix: function (t) {
                         return t[k.expando] ? t : new k.Event(t);
                    },
                    special: {
                         load: { noBubble: !0 },
                         click: {
                              setup: function (t) {
                                   var e = this || t;
                                   return mt.test(e.type) && e.click && L(e, "input") && Et(e, "click", Tt), !1;
                              },
                              trigger: function (t) {
                                   var e = this || t;
                                   return mt.test(e.type) && e.click && L(e, "input") && Et(e, "click"), !0;
                              },
                              _default: function (t) {
                                   var e = t.target;
                                   return (mt.test(e.type) && e.click && L(e, "input") && J.get(e, "click")) || L(e, "a");
                              },
                         },
                         beforeunload: {
                              postDispatch: function (t) {
                                   void 0 !== t.result && t.originalEvent && (t.originalEvent.returnValue = t.result);
                              },
                         },
                    },
               }),
                    (k.removeEvent = function (t, e, i) {
                         t.removeEventListener && t.removeEventListener(e, i);
                    }),
                    (k.Event = function (t, e) {
                         if (!(this instanceof k.Event)) return new k.Event(t, e);
                         t && t.type
                              ? ((this.originalEvent = t),
                                (this.type = t.type),
                                (this.isDefaultPrevented = t.defaultPrevented || (void 0 === t.defaultPrevented && !1 === t.returnValue) ? Tt : Ct),
                                (this.target = t.target && 3 === t.target.nodeType ? t.target.parentNode : t.target),
                                (this.currentTarget = t.currentTarget),
                                (this.relatedTarget = t.relatedTarget))
                              : (this.type = t),
                              e && k.extend(this, e),
                              (this.timeStamp = (t && t.timeStamp) || Date.now()),
                              (this[k.expando] = !0);
                    }),
                    (k.Event.prototype = {
                         constructor: k.Event,
                         isDefaultPrevented: Ct,
                         isPropagationStopped: Ct,
                         isImmediatePropagationStopped: Ct,
                         isSimulated: !1,
                         preventDefault: function () {
                              var t = this.originalEvent;
                              (this.isDefaultPrevented = Tt), t && !this.isSimulated && t.preventDefault();
                         },
                         stopPropagation: function () {
                              var t = this.originalEvent;
                              (this.isPropagationStopped = Tt), t && !this.isSimulated && t.stopPropagation();
                         },
                         stopImmediatePropagation: function () {
                              var t = this.originalEvent;
                              (this.isImmediatePropagationStopped = Tt), t && !this.isSimulated && t.stopImmediatePropagation(), this.stopPropagation();
                         },
                    }),
                    k.each(
                         {
                              altKey: !0,
                              bubbles: !0,
                              cancelable: !0,
                              changedTouches: !0,
                              ctrlKey: !0,
                              detail: !0,
                              eventPhase: !0,
                              metaKey: !0,
                              pageX: !0,
                              pageY: !0,
                              shiftKey: !0,
                              view: !0,
                              char: !0,
                              code: !0,
                              charCode: !0,
                              key: !0,
                              keyCode: !0,
                              button: !0,
                              buttons: !0,
                              clientX: !0,
                              clientY: !0,
                              offsetX: !0,
                              offsetY: !0,
                              pointerId: !0,
                              pointerType: !0,
                              screenX: !0,
                              screenY: !0,
                              targetTouches: !0,
                              toElement: !0,
                              touches: !0,
                              which: function (t) {
                                   var e = t.button;
                                   return null == t.which && kt.test(t.type) ? (null != t.charCode ? t.charCode : t.keyCode) : !t.which && void 0 !== e && St.test(t.type) ? (1 & e ? 1 : 2 & e ? 3 : 4 & e ? 2 : 0) : t.which;
                              },
                         },
                         k.event.addProp
                    ),
                    k.each({ focus: "focusin", blur: "focusout" }, function (t, e) {
                         k.event.special[t] = {
                              setup: function () {
                                   return Et(this, t, Dt), !1;
                              },
                              trigger: function () {
                                   return Et(this, t), !0;
                              },
                              delegateType: e,
                         };
                    }),
                    k.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (t, e) {
                         k.event.special[t] = {
                              delegateType: e,
                              bindType: e,
                              handle: function (t) {
                                   var i,
                                        n = this,
                                        r = t.relatedTarget,
                                        o = t.handleObj;
                                   return (r && (r === n || k.contains(n, r))) || ((t.type = o.origType), (i = o.handler.apply(this, arguments)), (t.type = e)), i;
                              },
                         };
                    }),
                    k.fn.extend({
                         on: function (t, e, i, n) {
                              return Lt(this, t, e, i, n);
                         },
                         one: function (t, e, i, n) {
                              return Lt(this, t, e, i, n, 1);
                         },
                         off: function (t, e, i) {
                              var n, r;
                              if (t && t.preventDefault && t.handleObj) return (n = t.handleObj), k(t.delegateTarget).off(n.namespace ? n.origType + "." + n.namespace : n.origType, n.selector, n.handler), this;
                              if ("object" == typeof t) {
                                   for (r in t) this.off(r, e, t[r]);
                                   return this;
                              }
                              return (
                                   (!1 !== e && "function" != typeof e) || ((i = e), (e = void 0)),
                                   !1 === i && (i = Ct),
                                   this.each(function () {
                                        k.event.remove(this, t, i, e);
                                   })
                              );
                         },
                    });
               var At = /<script|<style|<link/i,
                    Pt = /checked\s*(?:[^=]|=\s*.checked.)/i,
                    It = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
               function Ot(t, e) {
                    return (L(t, "table") && L(11 !== e.nodeType ? e : e.firstChild, "tr") && k(t).children("tbody")[0]) || t;
               }
               function Yt(t) {
                    return (t.type = (null !== t.getAttribute("type")) + "/" + t.type), t;
               }
               function zt(t) {
                    return "true/" === (t.type || "").slice(0, 5) ? (t.type = t.type.slice(5)) : t.removeAttribute("type"), t;
               }
               function Rt(t, e) {
                    var i, n, r, o, a, s;
                    if (1 === e.nodeType) {
                         if (J.hasData(t) && (s = J.get(t).events)) for (r in (J.remove(e, "handle events"), s)) for (i = 0, n = s[r].length; i < n; i++) k.event.add(e, r, s[r][i]);
                         K.hasData(t) && ((o = K.access(t)), (a = k.extend({}, o)), K.set(e, a));
                    }
               }
               function Ft(t, e) {
                    var i = e.nodeName.toLowerCase();
                    "input" === i && mt.test(t.type) ? (e.checked = t.checked) : ("input" !== i && "textarea" !== i) || (e.defaultValue = t.defaultValue);
               }
               function Ht(t, e, i, n) {
                    e = l(e);
                    var r,
                         o,
                         a,
                         s,
                         c,
                         u,
                         h = 0,
                         d = t.length,
                         p = d - 1,
                         f = e[0],
                         m = v(f);
                    if (m || (d > 1 && "string" == typeof f && !g.checkClone && Pt.test(f)))
                         return t.each(function (r) {
                              var o = t.eq(r);
                              m && (e[0] = f.call(this, r, o.html())), Ht(o, e, i, n);
                         });
                    if (d && ((o = (r = wt(e, t[0].ownerDocument, !1, t, n)).firstChild), 1 === r.childNodes.length && (r = o), o || n)) {
                         for (s = (a = k.map(bt(r, "script"), Yt)).length; h < d; h++) (c = r), h !== p && ((c = k.clone(c, !0, !0)), s && k.merge(a, bt(c, "script"))), i.call(t[h], c, h);
                         if (s)
                              for (u = a[a.length - 1].ownerDocument, k.map(a, zt), h = 0; h < s; h++)
                                   (c = a[h]),
                                        vt.test(c.type || "") &&
                                             !J.access(c, "globalEval") &&
                                             k.contains(u, c) &&
                                             (c.src && "module" !== (c.type || "").toLowerCase() ? k._evalUrl && !c.noModule && k._evalUrl(c.src, { nonce: c.nonce || c.getAttribute("nonce") }, u) : x(c.textContent.replace(It, ""), c, u));
                    }
                    return t;
               }
               function jt(t, e, i) {
                    for (var n, r = e ? k.filter(e, t) : t, o = 0; null != (n = r[o]); o++) i || 1 !== n.nodeType || k.cleanData(bt(n)), n.parentNode && (i && at(n) && _t(bt(n, "script")), n.parentNode.removeChild(n));
                    return t;
               }
               k.extend({
                    htmlPrefilter: function (t) {
                         return t;
                    },
                    clone: function (t, e, i) {
                         var n,
                              r,
                              o,
                              a,
                              s = t.cloneNode(!0),
                              l = at(t);
                         if (!(g.noCloneChecked || (1 !== t.nodeType && 11 !== t.nodeType) || k.isXMLDoc(t))) for (a = bt(s), n = 0, r = (o = bt(t)).length; n < r; n++) Ft(o[n], a[n]);
                         if (e)
                              if (i) for (o = o || bt(t), a = a || bt(s), n = 0, r = o.length; n < r; n++) Rt(o[n], a[n]);
                              else Rt(t, s);
                         return (a = bt(s, "script")).length > 0 && _t(a, !l && bt(t, "script")), s;
                    },
                    cleanData: function (t) {
                         for (var e, i, n, r = k.event.special, o = 0; void 0 !== (i = t[o]); o++)
                              if (G(i)) {
                                   if ((e = i[J.expando])) {
                                        if (e.events) for (n in e.events) r[n] ? k.event.remove(i, n) : k.removeEvent(i, n, e.handle);
                                        i[J.expando] = void 0;
                                   }
                                   i[K.expando] && (i[K.expando] = void 0);
                              }
                    },
               }),
                    k.fn.extend({
                         detach: function (t) {
                              return jt(this, t, !0);
                         },
                         remove: function (t) {
                              return jt(this, t);
                         },
                         text: function (t) {
                              return V(
                                   this,
                                   function (t) {
                                        return void 0 === t
                                             ? k.text(this)
                                             : this.empty().each(function () {
                                                    (1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType) || (this.textContent = t);
                                               });
                                   },
                                   null,
                                   t,
                                   arguments.length
                              );
                         },
                         append: function () {
                              return Ht(this, arguments, function (t) {
                                   (1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType) || Ot(this, t).appendChild(t);
                              });
                         },
                         prepend: function () {
                              return Ht(this, arguments, function (t) {
                                   if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                                        var e = Ot(this, t);
                                        e.insertBefore(t, e.firstChild);
                                   }
                              });
                         },
                         before: function () {
                              return Ht(this, arguments, function (t) {
                                   this.parentNode && this.parentNode.insertBefore(t, this);
                              });
                         },
                         after: function () {
                              return Ht(this, arguments, function (t) {
                                   this.parentNode && this.parentNode.insertBefore(t, this.nextSibling);
                              });
                         },
                         empty: function () {
                              for (var t, e = 0; null != (t = this[e]); e++) 1 === t.nodeType && (k.cleanData(bt(t, !1)), (t.textContent = ""));
                              return this;
                         },
                         clone: function (t, e) {
                              return (
                                   (t = null != t && t),
                                   (e = null == e ? t : e),
                                   this.map(function () {
                                        return k.clone(this, t, e);
                                   })
                              );
                         },
                         html: function (t) {
                              return V(
                                   this,
                                   function (t) {
                                        var e = this[0] || {},
                                             i = 0,
                                             n = this.length;
                                        if (void 0 === t && 1 === e.nodeType) return e.innerHTML;
                                        if ("string" == typeof t && !At.test(t) && !yt[(gt.exec(t) || ["", ""])[1].toLowerCase()]) {
                                             t = k.htmlPrefilter(t);
                                             try {
                                                  for (; i < n; i++) 1 === (e = this[i] || {}).nodeType && (k.cleanData(bt(e, !1)), (e.innerHTML = t));
                                                  e = 0;
                                             } catch (t) {}
                                        }
                                        e && this.empty().append(t);
                                   },
                                   null,
                                   t,
                                   arguments.length
                              );
                         },
                         replaceWith: function () {
                              var t = [];
                              return Ht(
                                   this,
                                   arguments,
                                   function (e) {
                                        var i = this.parentNode;
                                        k.inArray(this, t) < 0 && (k.cleanData(bt(this)), i && i.replaceChild(e, this));
                                   },
                                   t
                              );
                         },
                    }),
                    k.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (t, e) {
                         k.fn[t] = function (t) {
                              for (var i, n = [], r = k(t), o = r.length - 1, a = 0; a <= o; a++) (i = a === o ? this : this.clone(!0)), k(r[a])[e](i), c.apply(n, i.get());
                              return this.pushStack(n);
                         };
                    });
               var Nt = new RegExp("^(" + it + ")(?!px)[a-z%]+$", "i"),
                    Bt = function (t) {
                         var e = t.ownerDocument.defaultView;
                         return (e && e.opener) || (e = i), e.getComputedStyle(t);
                    },
                    Wt = function (t, e, i) {
                         var n,
                              r,
                              o = {};
                         for (r in e) (o[r] = t.style[r]), (t.style[r] = e[r]);
                         for (r in ((n = i.call(t)), e)) t.style[r] = o[r];
                         return n;
                    },
                    Vt = new RegExp(rt.join("|"), "i");
               function Ut(t, e, i) {
                    var n,
                         r,
                         o,
                         a,
                         s = t.style;
                    return (
                         (i = i || Bt(t)) &&
                              ("" !== (a = i.getPropertyValue(e) || i[e]) || at(t) || (a = k.style(t, e)),
                              !g.pixelBoxStyles() &&
                                   Nt.test(a) &&
                                   Vt.test(e) &&
                                   ((n = s.width), (r = s.minWidth), (o = s.maxWidth), (s.minWidth = s.maxWidth = s.width = a), (a = i.width), (s.width = n), (s.minWidth = r), (s.maxWidth = o))),
                         void 0 !== a ? a + "" : a
                    );
               }
               function qt(t, e) {
                    return {
                         get: function () {
                              if (!t()) return (this.get = e).apply(this, arguments);
                              delete this.get;
                         },
                    };
               }
               !(function () {
                    function t() {
                         if (u) {
                              (c.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0"),
                                   (u.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%"),
                                   ot.appendChild(c).appendChild(u);
                              var t = i.getComputedStyle(u);
                              (n = "1%" !== t.top),
                                   (l = 12 === e(t.marginLeft)),
                                   (u.style.right = "60%"),
                                   (a = 36 === e(t.right)),
                                   (r = 36 === e(t.width)),
                                   (u.style.position = "absolute"),
                                   (o = 12 === e(u.offsetWidth / 3)),
                                   ot.removeChild(c),
                                   (u = null);
                         }
                    }
                    function e(t) {
                         return Math.round(parseFloat(t));
                    }
                    var n,
                         r,
                         o,
                         a,
                         s,
                         l,
                         c = b.createElement("div"),
                         u = b.createElement("div");
                    u.style &&
                         ((u.style.backgroundClip = "content-box"),
                         (u.cloneNode(!0).style.backgroundClip = ""),
                         (g.clearCloneStyle = "content-box" === u.style.backgroundClip),
                         k.extend(g, {
                              boxSizingReliable: function () {
                                   return t(), r;
                              },
                              pixelBoxStyles: function () {
                                   return t(), a;
                              },
                              pixelPosition: function () {
                                   return t(), n;
                              },
                              reliableMarginLeft: function () {
                                   return t(), l;
                              },
                              scrollboxSize: function () {
                                   return t(), o;
                              },
                              reliableTrDimensions: function () {
                                   var t, e, n, r;
                                   return (
                                        null == s &&
                                             ((t = b.createElement("table")),
                                             (e = b.createElement("tr")),
                                             (n = b.createElement("div")),
                                             (t.style.cssText = "position:absolute;left:-11111px"),
                                             (e.style.height = "1px"),
                                             (n.style.height = "9px"),
                                             ot.appendChild(t).appendChild(e).appendChild(n),
                                             (r = i.getComputedStyle(e)),
                                             (s = parseInt(r.height) > 3),
                                             ot.removeChild(t)),
                                        s
                                   );
                              },
                         }));
               })();
               var $t = ["Webkit", "Moz", "ms"],
                    Xt = b.createElement("div").style,
                    Gt = {};
               function Zt(t) {
                    var e = k.cssProps[t] || Gt[t];
                    return (
                         e ||
                         (t in Xt
                              ? t
                              : (Gt[t] =
                                     (function (t) {
                                          for (var e = t[0].toUpperCase() + t.slice(1), i = $t.length; i--; ) if ((t = $t[i] + e) in Xt) return t;
                                     })(t) || t))
                    );
               }
               var Jt = /^(none|table(?!-c[ea]).+)/,
                    Kt = /^--/,
                    Qt = { position: "absolute", visibility: "hidden", display: "block" },
                    te = { letterSpacing: "0", fontWeight: "400" };
               function ee(t, e, i) {
                    var n = nt.exec(e);
                    return n ? Math.max(0, n[2] - (i || 0)) + (n[3] || "px") : e;
               }
               function ie(t, e, i, n, r, o) {
                    var a = "width" === e ? 1 : 0,
                         s = 0,
                         l = 0;
                    if (i === (n ? "border" : "content")) return 0;
                    for (; a < 4; a += 2)
                         "margin" === i && (l += k.css(t, i + rt[a], !0, r)),
                              n
                                   ? ("content" === i && (l -= k.css(t, "padding" + rt[a], !0, r)), "margin" !== i && (l -= k.css(t, "border" + rt[a] + "Width", !0, r)))
                                   : ((l += k.css(t, "padding" + rt[a], !0, r)), "padding" !== i ? (l += k.css(t, "border" + rt[a] + "Width", !0, r)) : (s += k.css(t, "border" + rt[a] + "Width", !0, r)));
                    return !n && o >= 0 && (l += Math.max(0, Math.ceil(t["offset" + e[0].toUpperCase() + e.slice(1)] - o - l - s - 0.5)) || 0), l;
               }
               function ne(t, e, i) {
                    var n = Bt(t),
                         r = (!g.boxSizingReliable() || i) && "border-box" === k.css(t, "boxSizing", !1, n),
                         o = r,
                         a = Ut(t, e, n),
                         s = "offset" + e[0].toUpperCase() + e.slice(1);
                    if (Nt.test(a)) {
                         if (!i) return a;
                         a = "auto";
                    }
                    return (
                         ((!g.boxSizingReliable() && r) || (!g.reliableTrDimensions() && L(t, "tr")) || "auto" === a || (!parseFloat(a) && "inline" === k.css(t, "display", !1, n))) &&
                              t.getClientRects().length &&
                              ((r = "border-box" === k.css(t, "boxSizing", !1, n)), (o = s in t) && (a = t[s])),
                         (a = parseFloat(a) || 0) + ie(t, e, i || (r ? "border" : "content"), o, n, a) + "px"
                    );
               }
               function re(t, e, i, n, r) {
                    return new re.prototype.init(t, e, i, n, r);
               }
               k.extend({
                    cssHooks: {
                         opacity: {
                              get: function (t, e) {
                                   if (e) {
                                        var i = Ut(t, "opacity");
                                        return "" === i ? "1" : i;
                                   }
                              },
                         },
                    },
                    cssNumber: {
                         animationIterationCount: !0,
                         columnCount: !0,
                         fillOpacity: !0,
                         flexGrow: !0,
                         flexShrink: !0,
                         fontWeight: !0,
                         gridArea: !0,
                         gridColumn: !0,
                         gridColumnEnd: !0,
                         gridColumnStart: !0,
                         gridRow: !0,
                         gridRowEnd: !0,
                         gridRowStart: !0,
                         lineHeight: !0,
                         opacity: !0,
                         order: !0,
                         orphans: !0,
                         widows: !0,
                         zIndex: !0,
                         zoom: !0,
                    },
                    cssProps: {},
                    style: function (t, e, i, n) {
                         if (t && 3 !== t.nodeType && 8 !== t.nodeType && t.style) {
                              var r,
                                   o,
                                   a,
                                   s = X(e),
                                   l = Kt.test(e),
                                   c = t.style;
                              if ((l || (e = Zt(s)), (a = k.cssHooks[e] || k.cssHooks[s]), void 0 === i)) return a && "get" in a && void 0 !== (r = a.get(t, !1, n)) ? r : c[e];
                              "string" === (o = typeof i) && (r = nt.exec(i)) && r[1] && ((i = ct(t, e, r)), (o = "number")),
                                   null != i &&
                                        i == i &&
                                        ("number" !== o || l || (i += (r && r[3]) || (k.cssNumber[s] ? "" : "px")),
                                        g.clearCloneStyle || "" !== i || 0 !== e.indexOf("background") || (c[e] = "inherit"),
                                        (a && "set" in a && void 0 === (i = a.set(t, i, n))) || (l ? c.setProperty(e, i) : (c[e] = i)));
                         }
                    },
                    css: function (t, e, i, n) {
                         var r,
                              o,
                              a,
                              s = X(e);
                         return (
                              Kt.test(e) || (e = Zt(s)),
                              (a = k.cssHooks[e] || k.cssHooks[s]) && "get" in a && (r = a.get(t, !0, i)),
                              void 0 === r && (r = Ut(t, e, n)),
                              "normal" === r && e in te && (r = te[e]),
                              "" === i || i ? ((o = parseFloat(r)), !0 === i || isFinite(o) ? o || 0 : r) : r
                         );
                    },
               }),
                    k.each(["height", "width"], function (t, e) {
                         k.cssHooks[e] = {
                              get: function (t, i, n) {
                                   if (i)
                                        return !Jt.test(k.css(t, "display")) || (t.getClientRects().length && t.getBoundingClientRect().width)
                                             ? ne(t, e, n)
                                             : Wt(t, Qt, function () {
                                                    return ne(t, e, n);
                                               });
                              },
                              set: function (t, i, n) {
                                   var r,
                                        o = Bt(t),
                                        a = !g.scrollboxSize() && "absolute" === o.position,
                                        s = (a || n) && "border-box" === k.css(t, "boxSizing", !1, o),
                                        l = n ? ie(t, e, n, s, o) : 0;
                                   return (
                                        s && a && (l -= Math.ceil(t["offset" + e[0].toUpperCase() + e.slice(1)] - parseFloat(o[e]) - ie(t, e, "border", !1, o) - 0.5)),
                                        l && (r = nt.exec(i)) && "px" !== (r[3] || "px") && ((t.style[e] = i), (i = k.css(t, e))),
                                        ee(0, i, l)
                                   );
                              },
                         };
                    }),
                    (k.cssHooks.marginLeft = qt(g.reliableMarginLeft, function (t, e) {
                         if (e)
                              return (
                                   (parseFloat(Ut(t, "marginLeft")) ||
                                        t.getBoundingClientRect().left -
                                             Wt(t, { marginLeft: 0 }, function () {
                                                  return t.getBoundingClientRect().left;
                                             })) + "px"
                              );
                    })),
                    k.each({ margin: "", padding: "", border: "Width" }, function (t, e) {
                         (k.cssHooks[t + e] = {
                              expand: function (i) {
                                   for (var n = 0, r = {}, o = "string" == typeof i ? i.split(" ") : [i]; n < 4; n++) r[t + rt[n] + e] = o[n] || o[n - 2] || o[0];
                                   return r;
                              },
                         }),
                              "margin" !== t && (k.cssHooks[t + e].set = ee);
                    }),
                    k.fn.extend({
                         css: function (t, e) {
                              return V(
                                   this,
                                   function (t, e, i) {
                                        var n,
                                             r,
                                             o = {},
                                             a = 0;
                                        if (Array.isArray(e)) {
                                             for (n = Bt(t), r = e.length; a < r; a++) o[e[a]] = k.css(t, e[a], !1, n);
                                             return o;
                                        }
                                        return void 0 !== i ? k.style(t, e, i) : k.css(t, e);
                                   },
                                   t,
                                   e,
                                   arguments.length > 1
                              );
                         },
                    }),
                    (k.Tween = re),
                    (re.prototype = {
                         constructor: re,
                         init: function (t, e, i, n, r, o) {
                              (this.elem = t), (this.prop = i), (this.easing = r || k.easing._default), (this.options = e), (this.start = this.now = this.cur()), (this.end = n), (this.unit = o || (k.cssNumber[i] ? "" : "px"));
                         },
                         cur: function () {
                              var t = re.propHooks[this.prop];
                              return t && t.get ? t.get(this) : re.propHooks._default.get(this);
                         },
                         run: function (t) {
                              var e,
                                   i = re.propHooks[this.prop];
                              return (
                                   this.options.duration ? (this.pos = e = k.easing[this.easing](t, this.options.duration * t, 0, 1, this.options.duration)) : (this.pos = e = t),
                                   (this.now = (this.end - this.start) * e + this.start),
                                   this.options.step && this.options.step.call(this.elem, this.now, this),
                                   i && i.set ? i.set(this) : re.propHooks._default.set(this),
                                   this
                              );
                         },
                    }),
                    (re.prototype.init.prototype = re.prototype),
                    (re.propHooks = {
                         _default: {
                              get: function (t) {
                                   var e;
                                   return 1 !== t.elem.nodeType || (null != t.elem[t.prop] && null == t.elem.style[t.prop]) ? t.elem[t.prop] : (e = k.css(t.elem, t.prop, "")) && "auto" !== e ? e : 0;
                              },
                              set: function (t) {
                                   k.fx.step[t.prop] ? k.fx.step[t.prop](t) : 1 !== t.elem.nodeType || (!k.cssHooks[t.prop] && null == t.elem.style[Zt(t.prop)]) ? (t.elem[t.prop] = t.now) : k.style(t.elem, t.prop, t.now + t.unit);
                              },
                         },
                    }),
                    (re.propHooks.scrollTop = re.propHooks.scrollLeft = {
                         set: function (t) {
                              t.elem.nodeType && t.elem.parentNode && (t.elem[t.prop] = t.now);
                         },
                    }),
                    (k.easing = {
                         linear: function (t) {
                              return t;
                         },
                         swing: function (t) {
                              return 0.5 - Math.cos(t * Math.PI) / 2;
                         },
                         _default: "swing",
                    }),
                    (k.fx = re.prototype.init),
                    (k.fx.step = {});
               var oe,
                    ae,
                    se = /^(?:toggle|show|hide)$/,
                    le = /queueHooks$/;
               function ce() {
                    ae && (!1 === b.hidden && i.requestAnimationFrame ? i.requestAnimationFrame(ce) : i.setTimeout(ce, k.fx.interval), k.fx.tick());
               }
               function ue() {
                    return (
                         i.setTimeout(function () {
                              oe = void 0;
                         }),
                         (oe = Date.now())
                    );
               }
               function he(t, e) {
                    var i,
                         n = 0,
                         r = { height: t };
                    for (e = e ? 1 : 0; n < 4; n += 2 - e) r["margin" + (i = rt[n])] = r["padding" + i] = t;
                    return e && (r.opacity = r.width = t), r;
               }
               function de(t, e, i) {
                    for (var n, r = (pe.tweeners[e] || []).concat(pe.tweeners["*"]), o = 0, a = r.length; o < a; o++) if ((n = r[o].call(i, e, t))) return n;
               }
               function pe(t, e, i) {
                    var n,
                         r,
                         o = 0,
                         a = pe.prefilters.length,
                         s = k.Deferred().always(function () {
                              delete l.elem;
                         }),
                         l = function () {
                              if (r) return !1;
                              for (var e = oe || ue(), i = Math.max(0, c.startTime + c.duration - e), n = 1 - (i / c.duration || 0), o = 0, a = c.tweens.length; o < a; o++) c.tweens[o].run(n);
                              return s.notifyWith(t, [c, n, i]), n < 1 && a ? i : (a || s.notifyWith(t, [c, 1, 0]), s.resolveWith(t, [c]), !1);
                         },
                         c = s.promise({
                              elem: t,
                              props: k.extend({}, e),
                              opts: k.extend(!0, { specialEasing: {}, easing: k.easing._default }, i),
                              originalProperties: e,
                              originalOptions: i,
                              startTime: oe || ue(),
                              duration: i.duration,
                              tweens: [],
                              createTween: function (e, i) {
                                   var n = k.Tween(t, c.opts, e, i, c.opts.specialEasing[e] || c.opts.easing);
                                   return c.tweens.push(n), n;
                              },
                              stop: function (e) {
                                   var i = 0,
                                        n = e ? c.tweens.length : 0;
                                   if (r) return this;
                                   for (r = !0; i < n; i++) c.tweens[i].run(1);
                                   return e ? (s.notifyWith(t, [c, 1, 0]), s.resolveWith(t, [c, e])) : s.rejectWith(t, [c, e]), this;
                              },
                         }),
                         u = c.props;
                    for (
                         !(function (t, e) {
                              var i, n, r, o, a;
                              for (i in t)
                                   if (((r = e[(n = X(i))]), (o = t[i]), Array.isArray(o) && ((r = o[1]), (o = t[i] = o[0])), i !== n && ((t[n] = o), delete t[i]), (a = k.cssHooks[n]) && ("expand" in a)))
                                        for (i in ((o = a.expand(o)), delete t[n], o)) (i in t) || ((t[i] = o[i]), (e[i] = r));
                                   else e[n] = r;
                         })(u, c.opts.specialEasing);
                         o < a;
                         o++
                    )
                         if ((n = pe.prefilters[o].call(c, t, u, c.opts))) return v(n.stop) && (k._queueHooks(c.elem, c.opts.queue).stop = n.stop.bind(n)), n;
                    return (
                         k.map(u, de, c),
                         v(c.opts.start) && c.opts.start.call(t, c),
                         c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always),
                         k.fx.timer(k.extend(l, { elem: t, anim: c, queue: c.opts.queue })),
                         c
                    );
               }
               (k.Animation = k.extend(pe, {
                    tweeners: {
                         "*": [
                              function (t, e) {
                                   var i = this.createTween(t, e);
                                   return ct(i.elem, t, nt.exec(e), i), i;
                              },
                         ],
                    },
                    tweener: function (t, e) {
                         v(t) ? ((e = t), (t = ["*"])) : (t = t.match(R));
                         for (var i, n = 0, r = t.length; n < r; n++) (i = t[n]), (pe.tweeners[i] = pe.tweeners[i] || []), pe.tweeners[i].unshift(e);
                    },
                    prefilters: [
                         function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c,
                                   u,
                                   h = "width" in e || "height" in e,
                                   d = this,
                                   p = {},
                                   f = t.style,
                                   m = t.nodeType && lt(t),
                                   g = J.get(t, "fxshow");
                              for (n in (i.queue ||
                                   (null == (a = k._queueHooks(t, "fx")).unqueued &&
                                        ((a.unqueued = 0),
                                        (s = a.empty.fire),
                                        (a.empty.fire = function () {
                                             a.unqueued || s();
                                        })),
                                   a.unqueued++,
                                   d.always(function () {
                                        d.always(function () {
                                             a.unqueued--, k.queue(t, "fx").length || a.empty.fire();
                                        });
                                   })),
                              e))
                                   if (((r = e[n]), se.test(r))) {
                                        if ((delete e[n], (o = o || "toggle" === r), r === (m ? "hide" : "show"))) {
                                             if ("show" !== r || !g || void 0 === g[n]) continue;
                                             m = !0;
                                        }
                                        p[n] = (g && g[n]) || k.style(t, n);
                                   }
                              if ((l = !k.isEmptyObject(e)) || !k.isEmptyObject(p))
                                   for (n in (h &&
                                        1 === t.nodeType &&
                                        ((i.overflow = [f.overflow, f.overflowX, f.overflowY]),
                                        null == (c = g && g.display) && (c = J.get(t, "display")),
                                        "none" === (u = k.css(t, "display")) && (c ? (u = c) : (dt([t], !0), (c = t.style.display || c), (u = k.css(t, "display")), dt([t]))),
                                        ("inline" === u || ("inline-block" === u && null != c)) &&
                                             "none" === k.css(t, "float") &&
                                             (l ||
                                                  (d.done(function () {
                                                       f.display = c;
                                                  }),
                                                  null == c && ((u = f.display), (c = "none" === u ? "" : u))),
                                             (f.display = "inline-block"))),
                                   i.overflow &&
                                        ((f.overflow = "hidden"),
                                        d.always(function () {
                                             (f.overflow = i.overflow[0]), (f.overflowX = i.overflow[1]), (f.overflowY = i.overflow[2]);
                                        })),
                                   (l = !1),
                                   p))
                                        l ||
                                             (g ? "hidden" in g && (m = g.hidden) : (g = J.access(t, "fxshow", { display: c })),
                                             o && (g.hidden = !m),
                                             m && dt([t], !0),
                                             d.done(function () {
                                                  for (n in (m || dt([t]), J.remove(t, "fxshow"), p)) k.style(t, n, p[n]);
                                             })),
                                             (l = de(m ? g[n] : 0, n, d)),
                                             n in g || ((g[n] = l.start), m && ((l.end = l.start), (l.start = 0)));
                         },
                    ],
                    prefilter: function (t, e) {
                         e ? pe.prefilters.unshift(t) : pe.prefilters.push(t);
                    },
               })),
                    (k.speed = function (t, e, i) {
                         var n = t && "object" == typeof t ? k.extend({}, t) : { complete: i || (!i && e) || (v(t) && t), duration: t, easing: (i && e) || (e && !v(e) && e) };
                         return (
                              k.fx.off ? (n.duration = 0) : "number" != typeof n.duration && (n.duration in k.fx.speeds ? (n.duration = k.fx.speeds[n.duration]) : (n.duration = k.fx.speeds._default)),
                              (null != n.queue && !0 !== n.queue) || (n.queue = "fx"),
                              (n.old = n.complete),
                              (n.complete = function () {
                                   v(n.old) && n.old.call(this), n.queue && k.dequeue(this, n.queue);
                              }),
                              n
                         );
                    }),
                    k.fn.extend({
                         fadeTo: function (t, e, i, n) {
                              return this.filter(lt).css("opacity", 0).show().end().animate({ opacity: e }, t, i, n);
                         },
                         animate: function (t, e, i, n) {
                              var r = k.isEmptyObject(t),
                                   o = k.speed(e, i, n),
                                   a = function () {
                                        var e = pe(this, k.extend({}, t), o);
                                        (r || J.get(this, "finish")) && e.stop(!0);
                                   };
                              return (a.finish = a), r || !1 === o.queue ? this.each(a) : this.queue(o.queue, a);
                         },
                         stop: function (t, e, i) {
                              var n = function (t) {
                                   var e = t.stop;
                                   delete t.stop, e(i);
                              };
                              return (
                                   "string" != typeof t && ((i = e), (e = t), (t = void 0)),
                                   e && this.queue(t || "fx", []),
                                   this.each(function () {
                                        var e = !0,
                                             r = null != t && t + "queueHooks",
                                             o = k.timers,
                                             a = J.get(this);
                                        if (r) a[r] && a[r].stop && n(a[r]);
                                        else for (r in a) a[r] && a[r].stop && le.test(r) && n(a[r]);
                                        for (r = o.length; r--; ) o[r].elem !== this || (null != t && o[r].queue !== t) || (o[r].anim.stop(i), (e = !1), o.splice(r, 1));
                                        (!e && i) || k.dequeue(this, t);
                                   })
                              );
                         },
                         finish: function (t) {
                              return (
                                   !1 !== t && (t = t || "fx"),
                                   this.each(function () {
                                        var e,
                                             i = J.get(this),
                                             n = i[t + "queue"],
                                             r = i[t + "queueHooks"],
                                             o = k.timers,
                                             a = n ? n.length : 0;
                                        for (i.finish = !0, k.queue(this, t, []), r && r.stop && r.stop.call(this, !0), e = o.length; e--; ) o[e].elem === this && o[e].queue === t && (o[e].anim.stop(!0), o.splice(e, 1));
                                        for (e = 0; e < a; e++) n[e] && n[e].finish && n[e].finish.call(this);
                                        delete i.finish;
                                   })
                              );
                         },
                    }),
                    k.each(["toggle", "show", "hide"], function (t, e) {
                         var i = k.fn[e];
                         k.fn[e] = function (t, n, r) {
                              return null == t || "boolean" == typeof t ? i.apply(this, arguments) : this.animate(he(e, !0), t, n, r);
                         };
                    }),
                    k.each({ slideDown: he("show"), slideUp: he("hide"), slideToggle: he("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (t, e) {
                         k.fn[t] = function (t, i, n) {
                              return this.animate(e, t, i, n);
                         };
                    }),
                    (k.timers = []),
                    (k.fx.tick = function () {
                         var t,
                              e = 0,
                              i = k.timers;
                         for (oe = Date.now(); e < i.length; e++) (t = i[e])() || i[e] !== t || i.splice(e--, 1);
                         i.length || k.fx.stop(), (oe = void 0);
                    }),
                    (k.fx.timer = function (t) {
                         k.timers.push(t), k.fx.start();
                    }),
                    (k.fx.interval = 13),
                    (k.fx.start = function () {
                         ae || ((ae = !0), ce());
                    }),
                    (k.fx.stop = function () {
                         ae = null;
                    }),
                    (k.fx.speeds = { slow: 600, fast: 200, _default: 400 }),
                    (k.fn.delay = function (t, e) {
                         return (
                              (t = (k.fx && k.fx.speeds[t]) || t),
                              (e = e || "fx"),
                              this.queue(e, function (e, n) {
                                   var r = i.setTimeout(e, t);
                                   n.stop = function () {
                                        i.clearTimeout(r);
                                   };
                              })
                         );
                    }),
                    (function () {
                         var t = b.createElement("input"),
                              e = b.createElement("select").appendChild(b.createElement("option"));
                         (t.type = "checkbox"), (g.checkOn = "" !== t.value), (g.optSelected = e.selected), ((t = b.createElement("input")).value = "t"), (t.type = "radio"), (g.radioValue = "t" === t.value);
                    })();
               var fe,
                    me = k.expr.attrHandle;
               k.fn.extend({
                    attr: function (t, e) {
                         return V(this, k.attr, t, e, arguments.length > 1);
                    },
                    removeAttr: function (t) {
                         return this.each(function () {
                              k.removeAttr(this, t);
                         });
                    },
               }),
                    k.extend({
                         attr: function (t, e, i) {
                              var n,
                                   r,
                                   o = t.nodeType;
                              if (3 !== o && 8 !== o && 2 !== o)
                                   return void 0 === t.getAttribute
                                        ? k.prop(t, e, i)
                                        : ((1 === o && k.isXMLDoc(t)) || (r = k.attrHooks[e.toLowerCase()] || (k.expr.match.bool.test(e) ? fe : void 0)),
                                          void 0 !== i
                                               ? null === i
                                                    ? void k.removeAttr(t, e)
                                                    : r && "set" in r && void 0 !== (n = r.set(t, i, e))
                                                    ? n
                                                    : (t.setAttribute(e, i + ""), i)
                                               : r && "get" in r && null !== (n = r.get(t, e))
                                               ? n
                                               : null == (n = k.find.attr(t, e))
                                               ? void 0
                                               : n);
                         },
                         attrHooks: {
                              type: {
                                   set: function (t, e) {
                                        if (!g.radioValue && "radio" === e && L(t, "input")) {
                                             var i = t.value;
                                             return t.setAttribute("type", e), i && (t.value = i), e;
                                        }
                                   },
                              },
                         },
                         removeAttr: function (t, e) {
                              var i,
                                   n = 0,
                                   r = e && e.match(R);
                              if (r && 1 === t.nodeType) for (; (i = r[n++]); ) t.removeAttribute(i);
                         },
                    }),
                    (fe = {
                         set: function (t, e, i) {
                              return !1 === e ? k.removeAttr(t, i) : t.setAttribute(i, i), i;
                         },
                    }),
                    k.each(k.expr.match.bool.source.match(/\w+/g), function (t, e) {
                         var i = me[e] || k.find.attr;
                         me[e] = function (t, e, n) {
                              var r,
                                   o,
                                   a = e.toLowerCase();
                              return n || ((o = me[a]), (me[a] = r), (r = null != i(t, e, n) ? a : null), (me[a] = o)), r;
                         };
                    });
               var ge = /^(?:input|select|textarea|button)$/i,
                    ve = /^(?:a|area)$/i;
               function ye(t) {
                    return (t.match(R) || []).join(" ");
               }
               function be(t) {
                    return (t.getAttribute && t.getAttribute("class")) || "";
               }
               function _e(t) {
                    return Array.isArray(t) ? t : ("string" == typeof t && t.match(R)) || [];
               }
               k.fn.extend({
                    prop: function (t, e) {
                         return V(this, k.prop, t, e, arguments.length > 1);
                    },
                    removeProp: function (t) {
                         return this.each(function () {
                              delete this[k.propFix[t] || t];
                         });
                    },
               }),
                    k.extend({
                         prop: function (t, e, i) {
                              var n,
                                   r,
                                   o = t.nodeType;
                              if (3 !== o && 8 !== o && 2 !== o)
                                   return (
                                        (1 === o && k.isXMLDoc(t)) || ((e = k.propFix[e] || e), (r = k.propHooks[e])),
                                        void 0 !== i ? (r && "set" in r && void 0 !== (n = r.set(t, i, e)) ? n : (t[e] = i)) : r && "get" in r && null !== (n = r.get(t, e)) ? n : t[e]
                                   );
                         },
                         propHooks: {
                              tabIndex: {
                                   get: function (t) {
                                        var e = k.find.attr(t, "tabindex");
                                        return e ? parseInt(e, 10) : ge.test(t.nodeName) || (ve.test(t.nodeName) && t.href) ? 0 : -1;
                                   },
                              },
                         },
                         propFix: { for: "htmlFor", class: "className" },
                    }),
                    g.optSelected ||
                         (k.propHooks.selected = {
                              get: function (t) {
                                   var e = t.parentNode;
                                   return e && e.parentNode && e.parentNode.selectedIndex, null;
                              },
                              set: function (t) {
                                   var e = t.parentNode;
                                   e && (e.selectedIndex, e.parentNode && e.parentNode.selectedIndex);
                              },
                         }),
                    k.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
                         k.propFix[this.toLowerCase()] = this;
                    }),
                    k.fn.extend({
                         addClass: function (t) {
                              var e,
                                   i,
                                   n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l = 0;
                              if (v(t))
                                   return this.each(function (e) {
                                        k(this).addClass(t.call(this, e, be(this)));
                                   });
                              if ((e = _e(t)).length)
                                   for (; (i = this[l++]); )
                                        if (((r = be(i)), (n = 1 === i.nodeType && " " + ye(r) + " "))) {
                                             for (a = 0; (o = e[a++]); ) n.indexOf(" " + o + " ") < 0 && (n += o + " ");
                                             r !== (s = ye(n)) && i.setAttribute("class", s);
                                        }
                              return this;
                         },
                         removeClass: function (t) {
                              var e,
                                   i,
                                   n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l = 0;
                              if (v(t))
                                   return this.each(function (e) {
                                        k(this).removeClass(t.call(this, e, be(this)));
                                   });
                              if (!arguments.length) return this.attr("class", "");
                              if ((e = _e(t)).length)
                                   for (; (i = this[l++]); )
                                        if (((r = be(i)), (n = 1 === i.nodeType && " " + ye(r) + " "))) {
                                             for (a = 0; (o = e[a++]); ) for (; n.indexOf(" " + o + " ") > -1; ) n = n.replace(" " + o + " ", " ");
                                             r !== (s = ye(n)) && i.setAttribute("class", s);
                                        }
                              return this;
                         },
                         toggleClass: function (t, e) {
                              var i = typeof t,
                                   n = "string" === i || Array.isArray(t);
                              return "boolean" == typeof e && n
                                   ? e
                                        ? this.addClass(t)
                                        : this.removeClass(t)
                                   : v(t)
                                   ? this.each(function (i) {
                                          k(this).toggleClass(t.call(this, i, be(this), e), e);
                                     })
                                   : this.each(function () {
                                          var e, r, o, a;
                                          if (n) for (r = 0, o = k(this), a = _e(t); (e = a[r++]); ) o.hasClass(e) ? o.removeClass(e) : o.addClass(e);
                                          else
                                               (void 0 !== t && "boolean" !== i) ||
                                                    ((e = be(this)) && J.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", e || !1 === t ? "" : J.get(this, "__className__") || ""));
                                     });
                         },
                         hasClass: function (t) {
                              var e,
                                   i,
                                   n = 0;
                              for (e = " " + t + " "; (i = this[n++]); ) if (1 === i.nodeType && (" " + ye(be(i)) + " ").indexOf(e) > -1) return !0;
                              return !1;
                         },
                    });
               var xe = /\r/g;
               k.fn.extend({
                    val: function (t) {
                         var e,
                              i,
                              n,
                              r = this[0];
                         return arguments.length
                              ? ((n = v(t)),
                                this.each(function (i) {
                                     var r;
                                     1 === this.nodeType &&
                                          (null == (r = n ? t.call(this, i, k(this).val()) : t)
                                               ? (r = "")
                                               : "number" == typeof r
                                               ? (r += "")
                                               : Array.isArray(r) &&
                                                 (r = k.map(r, function (t) {
                                                      return null == t ? "" : t + "";
                                                 })),
                                          ((e = k.valHooks[this.type] || k.valHooks[this.nodeName.toLowerCase()]) && "set" in e && void 0 !== e.set(this, r, "value")) || (this.value = r));
                                }))
                              : r
                              ? (e = k.valHooks[r.type] || k.valHooks[r.nodeName.toLowerCase()]) && "get" in e && void 0 !== (i = e.get(r, "value"))
                                   ? i
                                   : "string" == typeof (i = r.value)
                                   ? i.replace(xe, "")
                                   : null == i
                                   ? ""
                                   : i
                              : void 0;
                    },
               }),
                    k.extend({
                         valHooks: {
                              option: {
                                   get: function (t) {
                                        var e = k.find.attr(t, "value");
                                        return null != e ? e : ye(k.text(t));
                                   },
                              },
                              select: {
                                   get: function (t) {
                                        var e,
                                             i,
                                             n,
                                             r = t.options,
                                             o = t.selectedIndex,
                                             a = "select-one" === t.type,
                                             s = a ? null : [],
                                             l = a ? o + 1 : r.length;
                                        for (n = o < 0 ? l : a ? o : 0; n < l; n++)
                                             if (((i = r[n]).selected || n === o) && !i.disabled && (!i.parentNode.disabled || !L(i.parentNode, "optgroup"))) {
                                                  if (((e = k(i).val()), a)) return e;
                                                  s.push(e);
                                             }
                                        return s;
                                   },
                                   set: function (t, e) {
                                        for (var i, n, r = t.options, o = k.makeArray(e), a = r.length; a--; ) ((n = r[a]).selected = k.inArray(k.valHooks.option.get(n), o) > -1) && (i = !0);
                                        return i || (t.selectedIndex = -1), o;
                                   },
                              },
                         },
                    }),
                    k.each(["radio", "checkbox"], function () {
                         (k.valHooks[this] = {
                              set: function (t, e) {
                                   if (Array.isArray(e)) return (t.checked = k.inArray(k(t).val(), e) > -1);
                              },
                         }),
                              g.checkOn ||
                                   (k.valHooks[this].get = function (t) {
                                        return null === t.getAttribute("value") ? "on" : t.value;
                                   });
                    }),
                    (g.focusin = "onfocusin" in i);
               var we = /^(?:focusinfocus|focusoutblur)$/,
                    ke = function (t) {
                         t.stopPropagation();
                    };
               k.extend(k.event, {
                    trigger: function (t, e, n, r) {
                         var o,
                              a,
                              s,
                              l,
                              c,
                              u,
                              h,
                              d,
                              f = [n || b],
                              m = p.call(t, "type") ? t.type : t,
                              g = p.call(t, "namespace") ? t.namespace.split(".") : [];
                         if (
                              ((a = d = s = n = n || b),
                              3 !== n.nodeType &&
                                   8 !== n.nodeType &&
                                   !we.test(m + k.event.triggered) &&
                                   (m.indexOf(".") > -1 && ((g = m.split(".")), (m = g.shift()), g.sort()),
                                   (c = m.indexOf(":") < 0 && "on" + m),
                                   ((t = t[k.expando] ? t : new k.Event(m, "object" == typeof t && t)).isTrigger = r ? 2 : 3),
                                   (t.namespace = g.join(".")),
                                   (t.rnamespace = t.namespace ? new RegExp("(^|\\.)" + g.join("\\.(?:.*\\.|)") + "(\\.|$)") : null),
                                   (t.result = void 0),
                                   t.target || (t.target = n),
                                   (e = null == e ? [t] : k.makeArray(e, [t])),
                                   (h = k.event.special[m] || {}),
                                   r || !h.trigger || !1 !== h.trigger.apply(n, e)))
                         ) {
                              if (!r && !h.noBubble && !y(n)) {
                                   for (l = h.delegateType || m, we.test(l + m) || (a = a.parentNode); a; a = a.parentNode) f.push(a), (s = a);
                                   s === (n.ownerDocument || b) && f.push(s.defaultView || s.parentWindow || i);
                              }
                              for (o = 0; (a = f[o++]) && !t.isPropagationStopped(); )
                                   (d = a),
                                        (t.type = o > 1 ? l : h.bindType || m),
                                        (u = (J.get(a, "events") || Object.create(null))[t.type] && J.get(a, "handle")) && u.apply(a, e),
                                        (u = c && a[c]) && u.apply && G(a) && ((t.result = u.apply(a, e)), !1 === t.result && t.preventDefault());
                              return (
                                   (t.type = m),
                                   r ||
                                        t.isDefaultPrevented() ||
                                        (h._default && !1 !== h._default.apply(f.pop(), e)) ||
                                        !G(n) ||
                                        (c &&
                                             v(n[m]) &&
                                             !y(n) &&
                                             ((s = n[c]) && (n[c] = null),
                                             (k.event.triggered = m),
                                             t.isPropagationStopped() && d.addEventListener(m, ke),
                                             n[m](),
                                             t.isPropagationStopped() && d.removeEventListener(m, ke),
                                             (k.event.triggered = void 0),
                                             s && (n[c] = s))),
                                   t.result
                              );
                         }
                    },
                    simulate: function (t, e, i) {
                         var n = k.extend(new k.Event(), i, { type: t, isSimulated: !0 });
                         k.event.trigger(n, null, e);
                    },
               }),
                    k.fn.extend({
                         trigger: function (t, e) {
                              return this.each(function () {
                                   k.event.trigger(t, e, this);
                              });
                         },
                         triggerHandler: function (t, e) {
                              var i = this[0];
                              if (i) return k.event.trigger(t, e, i, !0);
                         },
                    }),
                    g.focusin ||
                         k.each({ focus: "focusin", blur: "focusout" }, function (t, e) {
                              var i = function (t) {
                                   k.event.simulate(e, t.target, k.event.fix(t));
                              };
                              k.event.special[e] = {
                                   setup: function () {
                                        var n = this.ownerDocument || this.document || this,
                                             r = J.access(n, e);
                                        r || n.addEventListener(t, i, !0), J.access(n, e, (r || 0) + 1);
                                   },
                                   teardown: function () {
                                        var n = this.ownerDocument || this.document || this,
                                             r = J.access(n, e) - 1;
                                        r ? J.access(n, e, r) : (n.removeEventListener(t, i, !0), J.remove(n, e));
                                   },
                              };
                         });
               var Se = i.location,
                    Me = { guid: Date.now() },
                    Te = /\?/;
               k.parseXML = function (t) {
                    var e;
                    if (!t || "string" != typeof t) return null;
                    try {
                         e = new i.DOMParser().parseFromString(t, "text/xml");
                    } catch (t) {
                         e = void 0;
                    }
                    return (e && !e.getElementsByTagName("parsererror").length) || k.error("Invalid XML: " + t), e;
               };
               var Ce = /\[\]$/,
                    De = /\r?\n/g,
                    Le = /^(?:submit|button|image|reset|file)$/i,
                    Ee = /^(?:input|select|textarea|keygen)/i;
               function Ae(t, e, i, n) {
                    var r;
                    if (Array.isArray(e))
                         k.each(e, function (e, r) {
                              i || Ce.test(t) ? n(t, r) : Ae(t + "[" + ("object" == typeof r && null != r ? e : "") + "]", r, i, n);
                         });
                    else if (i || "object" !== w(e)) n(t, e);
                    else for (r in e) Ae(t + "[" + r + "]", e[r], i, n);
               }
               (k.param = function (t, e) {
                    var i,
                         n = [],
                         r = function (t, e) {
                              var i = v(e) ? e() : e;
                              n[n.length] = encodeURIComponent(t) + "=" + encodeURIComponent(null == i ? "" : i);
                         };
                    if (null == t) return "";
                    if (Array.isArray(t) || (t.jquery && !k.isPlainObject(t)))
                         k.each(t, function () {
                              r(this.name, this.value);
                         });
                    else for (i in t) Ae(i, t[i], e, r);
                    return n.join("&");
               }),
                    k.fn.extend({
                         serialize: function () {
                              return k.param(this.serializeArray());
                         },
                         serializeArray: function () {
                              return this.map(function () {
                                   var t = k.prop(this, "elements");
                                   return t ? k.makeArray(t) : this;
                              })
                                   .filter(function () {
                                        var t = this.type;
                                        return this.name && !k(this).is(":disabled") && Ee.test(this.nodeName) && !Le.test(t) && (this.checked || !mt.test(t));
                                   })
                                   .map(function (t, e) {
                                        var i = k(this).val();
                                        return null == i
                                             ? null
                                             : Array.isArray(i)
                                             ? k.map(i, function (t) {
                                                    return { name: e.name, value: t.replace(De, "\r\n") };
                                               })
                                             : { name: e.name, value: i.replace(De, "\r\n") };
                                   })
                                   .get();
                         },
                    });
               var Pe = /%20/g,
                    Ie = /#.*$/,
                    Oe = /([?&])_=[^&]*/,
                    Ye = /^(.*?):[ \t]*([^\r\n]*)$/gm,
                    ze = /^(?:GET|HEAD)$/,
                    Re = /^\/\//,
                    Fe = {},
                    He = {},
                    je = "*/".concat("*"),
                    Ne = b.createElement("a");
               function Be(t) {
                    return function (e, i) {
                         "string" != typeof e && ((i = e), (e = "*"));
                         var n,
                              r = 0,
                              o = e.toLowerCase().match(R) || [];
                         if (v(i)) for (; (n = o[r++]); ) "+" === n[0] ? ((n = n.slice(1) || "*"), (t[n] = t[n] || []).unshift(i)) : (t[n] = t[n] || []).push(i);
                    };
               }
               function We(t, e, i, n) {
                    var r = {},
                         o = t === He;
                    function a(s) {
                         var l;
                         return (
                              (r[s] = !0),
                              k.each(t[s] || [], function (t, s) {
                                   var c = s(e, i, n);
                                   return "string" != typeof c || o || r[c] ? (o ? !(l = c) : void 0) : (e.dataTypes.unshift(c), a(c), !1);
                              }),
                              l
                         );
                    }
                    return a(e.dataTypes[0]) || (!r["*"] && a("*"));
               }
               function Ve(t, e) {
                    var i,
                         n,
                         r = k.ajaxSettings.flatOptions || {};
                    for (i in e) void 0 !== e[i] && ((r[i] ? t : n || (n = {}))[i] = e[i]);
                    return n && k.extend(!0, t, n), t;
               }
               (Ne.href = Se.href),
                    k.extend({
                         active: 0,
                         lastModified: {},
                         etag: {},
                         ajaxSettings: {
                              url: Se.href,
                              type: "GET",
                              isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Se.protocol),
                              global: !0,
                              processData: !0,
                              async: !0,
                              contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                              accepts: { "*": je, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" },
                              contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ },
                              responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" },
                              converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": k.parseXML },
                              flatOptions: { url: !0, context: !0 },
                         },
                         ajaxSetup: function (t, e) {
                              return e ? Ve(Ve(t, k.ajaxSettings), e) : Ve(k.ajaxSettings, t);
                         },
                         ajaxPrefilter: Be(Fe),
                         ajaxTransport: Be(He),
                         ajax: function (t, e) {
                              "object" == typeof t && ((e = t), (t = void 0)), (e = e || {});
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c,
                                   u,
                                   h,
                                   d,
                                   p = k.ajaxSetup({}, e),
                                   f = p.context || p,
                                   m = p.context && (f.nodeType || f.jquery) ? k(f) : k.event,
                                   g = k.Deferred(),
                                   v = k.Callbacks("once memory"),
                                   y = p.statusCode || {},
                                   _ = {},
                                   x = {},
                                   w = "canceled",
                                   S = {
                                        readyState: 0,
                                        getResponseHeader: function (t) {
                                             var e;
                                             if (c) {
                                                  if (!a) for (a = {}; (e = Ye.exec(o)); ) a[e[1].toLowerCase() + " "] = (a[e[1].toLowerCase() + " "] || []).concat(e[2]);
                                                  e = a[t.toLowerCase() + " "];
                                             }
                                             return null == e ? null : e.join(", ");
                                        },
                                        getAllResponseHeaders: function () {
                                             return c ? o : null;
                                        },
                                        setRequestHeader: function (t, e) {
                                             return null == c && ((t = x[t.toLowerCase()] = x[t.toLowerCase()] || t), (_[t] = e)), this;
                                        },
                                        overrideMimeType: function (t) {
                                             return null == c && (p.mimeType = t), this;
                                        },
                                        statusCode: function (t) {
                                             var e;
                                             if (t)
                                                  if (c) S.always(t[S.status]);
                                                  else for (e in t) y[e] = [y[e], t[e]];
                                             return this;
                                        },
                                        abort: function (t) {
                                             var e = t || w;
                                             return n && n.abort(e), M(0, e), this;
                                        },
                                   };
                              if (
                                   (g.promise(S),
                                   (p.url = ((t || p.url || Se.href) + "").replace(Re, Se.protocol + "//")),
                                   (p.type = e.method || e.type || p.method || p.type),
                                   (p.dataTypes = (p.dataType || "*").toLowerCase().match(R) || [""]),
                                   null == p.crossDomain)
                              ) {
                                   l = b.createElement("a");
                                   try {
                                        (l.href = p.url), (l.href = l.href), (p.crossDomain = Ne.protocol + "//" + Ne.host != l.protocol + "//" + l.host);
                                   } catch (t) {
                                        p.crossDomain = !0;
                                   }
                              }
                              if ((p.data && p.processData && "string" != typeof p.data && (p.data = k.param(p.data, p.traditional)), We(Fe, p, e, S), c)) return S;
                              for (h in ((u = k.event && p.global) && 0 == k.active++ && k.event.trigger("ajaxStart"),
                              (p.type = p.type.toUpperCase()),
                              (p.hasContent = !ze.test(p.type)),
                              (r = p.url.replace(Ie, "")),
                              p.hasContent
                                   ? p.data && p.processData && 0 === (p.contentType || "").indexOf("application/x-www-form-urlencoded") && (p.data = p.data.replace(Pe, "+"))
                                   : ((d = p.url.slice(r.length)),
                                     p.data && (p.processData || "string" == typeof p.data) && ((r += (Te.test(r) ? "&" : "?") + p.data), delete p.data),
                                     !1 === p.cache && ((r = r.replace(Oe, "$1")), (d = (Te.test(r) ? "&" : "?") + "_=" + Me.guid++ + d)),
                                     (p.url = r + d)),
                              p.ifModified && (k.lastModified[r] && S.setRequestHeader("If-Modified-Since", k.lastModified[r]), k.etag[r] && S.setRequestHeader("If-None-Match", k.etag[r])),
                              ((p.data && p.hasContent && !1 !== p.contentType) || e.contentType) && S.setRequestHeader("Content-Type", p.contentType),
                              S.setRequestHeader("Accept", p.dataTypes[0] && p.accepts[p.dataTypes[0]] ? p.accepts[p.dataTypes[0]] + ("*" !== p.dataTypes[0] ? ", " + je + "; q=0.01" : "") : p.accepts["*"]),
                              p.headers))
                                   S.setRequestHeader(h, p.headers[h]);
                              if (p.beforeSend && (!1 === p.beforeSend.call(f, S, p) || c)) return S.abort();
                              if (((w = "abort"), v.add(p.complete), S.done(p.success), S.fail(p.error), (n = We(He, p, e, S)))) {
                                   if (((S.readyState = 1), u && m.trigger("ajaxSend", [S, p]), c)) return S;
                                   p.async &&
                                        p.timeout > 0 &&
                                        (s = i.setTimeout(function () {
                                             S.abort("timeout");
                                        }, p.timeout));
                                   try {
                                        (c = !1), n.send(_, M);
                                   } catch (t) {
                                        if (c) throw t;
                                        M(-1, t);
                                   }
                              } else M(-1, "No Transport");
                              function M(t, e, a, l) {
                                   var h,
                                        d,
                                        b,
                                        _,
                                        x,
                                        w = e;
                                   c ||
                                        ((c = !0),
                                        s && i.clearTimeout(s),
                                        (n = void 0),
                                        (o = l || ""),
                                        (S.readyState = t > 0 ? 4 : 0),
                                        (h = (t >= 200 && t < 300) || 304 === t),
                                        a &&
                                             (_ = (function (t, e, i) {
                                                  for (var n, r, o, a, s = t.contents, l = t.dataTypes; "*" === l[0]; ) l.shift(), void 0 === n && (n = t.mimeType || e.getResponseHeader("Content-Type"));
                                                  if (n)
                                                       for (r in s)
                                                            if (s[r] && s[r].test(n)) {
                                                                 l.unshift(r);
                                                                 break;
                                                            }
                                                  if (l[0] in i) o = l[0];
                                                  else {
                                                       for (r in i) {
                                                            if (!l[0] || t.converters[r + " " + l[0]]) {
                                                                 o = r;
                                                                 break;
                                                            }
                                                            a || (a = r);
                                                       }
                                                       o = o || a;
                                                  }
                                                  if (o) return o !== l[0] && l.unshift(o), i[o];
                                             })(p, S, a)),
                                        !h && k.inArray("script", p.dataTypes) > -1 && (p.converters["text script"] = function () {}),
                                        (_ = (function (t, e, i, n) {
                                             var r,
                                                  o,
                                                  a,
                                                  s,
                                                  l,
                                                  c = {},
                                                  u = t.dataTypes.slice();
                                             if (u[1]) for (a in t.converters) c[a.toLowerCase()] = t.converters[a];
                                             for (o = u.shift(); o; )
                                                  if ((t.responseFields[o] && (i[t.responseFields[o]] = e), !l && n && t.dataFilter && (e = t.dataFilter(e, t.dataType)), (l = o), (o = u.shift())))
                                                       if ("*" === o) o = l;
                                                       else if ("*" !== l && l !== o) {
                                                            if (!(a = c[l + " " + o] || c["* " + o]))
                                                                 for (r in c)
                                                                      if ((s = r.split(" "))[1] === o && (a = c[l + " " + s[0]] || c["* " + s[0]])) {
                                                                           !0 === a ? (a = c[r]) : !0 !== c[r] && ((o = s[0]), u.unshift(s[1]));
                                                                           break;
                                                                      }
                                                            if (!0 !== a)
                                                                 if (a && t.throws) e = a(e);
                                                                 else
                                                                      try {
                                                                           e = a(e);
                                                                      } catch (t) {
                                                                           return { state: "parsererror", error: a ? t : "No conversion from " + l + " to " + o };
                                                                      }
                                                       }
                                             return { state: "success", data: e };
                                        })(p, _, S, h)),
                                        h
                                             ? (p.ifModified && ((x = S.getResponseHeader("Last-Modified")) && (k.lastModified[r] = x), (x = S.getResponseHeader("etag")) && (k.etag[r] = x)),
                                               204 === t || "HEAD" === p.type ? (w = "nocontent") : 304 === t ? (w = "notmodified") : ((w = _.state), (d = _.data), (h = !(b = _.error))))
                                             : ((b = w), (!t && w) || ((w = "error"), t < 0 && (t = 0))),
                                        (S.status = t),
                                        (S.statusText = (e || w) + ""),
                                        h ? g.resolveWith(f, [d, w, S]) : g.rejectWith(f, [S, w, b]),
                                        S.statusCode(y),
                                        (y = void 0),
                                        u && m.trigger(h ? "ajaxSuccess" : "ajaxError", [S, p, h ? d : b]),
                                        v.fireWith(f, [S, w]),
                                        u && (m.trigger("ajaxComplete", [S, p]), --k.active || k.event.trigger("ajaxStop")));
                              }
                              return S;
                         },
                         getJSON: function (t, e, i) {
                              return k.get(t, e, i, "json");
                         },
                         getScript: function (t, e) {
                              return k.get(t, void 0, e, "script");
                         },
                    }),
                    k.each(["get", "post"], function (t, e) {
                         k[e] = function (t, i, n, r) {
                              return v(i) && ((r = r || n), (n = i), (i = void 0)), k.ajax(k.extend({ url: t, type: e, dataType: r, data: i, success: n }, k.isPlainObject(t) && t));
                         };
                    }),
                    k.ajaxPrefilter(function (t) {
                         var e;
                         for (e in t.headers) "content-type" === e.toLowerCase() && (t.contentType = t.headers[e] || "");
                    }),
                    (k._evalUrl = function (t, e, i) {
                         return k.ajax({
                              url: t,
                              type: "GET",
                              dataType: "script",
                              cache: !0,
                              async: !1,
                              global: !1,
                              converters: { "text script": function () {} },
                              dataFilter: function (t) {
                                   k.globalEval(t, e, i);
                              },
                         });
                    }),
                    k.fn.extend({
                         wrapAll: function (t) {
                              var e;
                              return (
                                   this[0] &&
                                        (v(t) && (t = t.call(this[0])),
                                        (e = k(t, this[0].ownerDocument).eq(0).clone(!0)),
                                        this[0].parentNode && e.insertBefore(this[0]),
                                        e
                                             .map(function () {
                                                  for (var t = this; t.firstElementChild; ) t = t.firstElementChild;
                                                  return t;
                                             })
                                             .append(this)),
                                   this
                              );
                         },
                         wrapInner: function (t) {
                              return v(t)
                                   ? this.each(function (e) {
                                          k(this).wrapInner(t.call(this, e));
                                     })
                                   : this.each(function () {
                                          var e = k(this),
                                               i = e.contents();
                                          i.length ? i.wrapAll(t) : e.append(t);
                                     });
                         },
                         wrap: function (t) {
                              var e = v(t);
                              return this.each(function (i) {
                                   k(this).wrapAll(e ? t.call(this, i) : t);
                              });
                         },
                         unwrap: function (t) {
                              return (
                                   this.parent(t)
                                        .not("body")
                                        .each(function () {
                                             k(this).replaceWith(this.childNodes);
                                        }),
                                   this
                              );
                         },
                    }),
                    (k.expr.pseudos.hidden = function (t) {
                         return !k.expr.pseudos.visible(t);
                    }),
                    (k.expr.pseudos.visible = function (t) {
                         return !!(t.offsetWidth || t.offsetHeight || t.getClientRects().length);
                    }),
                    (k.ajaxSettings.xhr = function () {
                         try {
                              return new i.XMLHttpRequest();
                         } catch (t) {}
                    });
               var Ue = { 0: 200, 1223: 204 },
                    qe = k.ajaxSettings.xhr();
               (g.cors = !!qe && "withCredentials" in qe),
                    (g.ajax = qe = !!qe),
                    k.ajaxTransport(function (t) {
                         var e, n;
                         if (g.cors || (qe && !t.crossDomain))
                              return {
                                   send: function (r, o) {
                                        var a,
                                             s = t.xhr();
                                        if ((s.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields)) for (a in t.xhrFields) s[a] = t.xhrFields[a];
                                        for (a in (t.mimeType && s.overrideMimeType && s.overrideMimeType(t.mimeType), t.crossDomain || r["X-Requested-With"] || (r["X-Requested-With"] = "XMLHttpRequest"), r)) s.setRequestHeader(a, r[a]);
                                        (e = function (t) {
                                             return function () {
                                                  e &&
                                                       ((e = n = s.onload = s.onerror = s.onabort = s.ontimeout = s.onreadystatechange = null),
                                                       "abort" === t
                                                            ? s.abort()
                                                            : "error" === t
                                                            ? "number" != typeof s.status
                                                                 ? o(0, "error")
                                                                 : o(s.status, s.statusText)
                                                            : o(
                                                                   Ue[s.status] || s.status,
                                                                   s.statusText,
                                                                   "text" !== (s.responseType || "text") || "string" != typeof s.responseText ? { binary: s.response } : { text: s.responseText },
                                                                   s.getAllResponseHeaders()
                                                              ));
                                             };
                                        }),
                                             (s.onload = e()),
                                             (n = s.onerror = s.ontimeout = e("error")),
                                             void 0 !== s.onabort
                                                  ? (s.onabort = n)
                                                  : (s.onreadystatechange = function () {
                                                         4 === s.readyState &&
                                                              i.setTimeout(function () {
                                                                   e && n();
                                                              });
                                                    }),
                                             (e = e("abort"));
                                        try {
                                             s.send((t.hasContent && t.data) || null);
                                        } catch (t) {
                                             if (e) throw t;
                                        }
                                   },
                                   abort: function () {
                                        e && e();
                                   },
                              };
                    }),
                    k.ajaxPrefilter(function (t) {
                         t.crossDomain && (t.contents.script = !1);
                    }),
                    k.ajaxSetup({
                         accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" },
                         contents: { script: /\b(?:java|ecma)script\b/ },
                         converters: {
                              "text script": function (t) {
                                   return k.globalEval(t), t;
                              },
                         },
                    }),
                    k.ajaxPrefilter("script", function (t) {
                         void 0 === t.cache && (t.cache = !1), t.crossDomain && (t.type = "GET");
                    }),
                    k.ajaxTransport("script", function (t) {
                         var e, i;
                         if (t.crossDomain || t.scriptAttrs)
                              return {
                                   send: function (n, r) {
                                        (e = k("<script>")
                                             .attr(t.scriptAttrs || {})
                                             .prop({ charset: t.scriptCharset, src: t.url })
                                             .on(
                                                  "load error",
                                                  (i = function (t) {
                                                       e.remove(), (i = null), t && r("error" === t.type ? 404 : 200, t.type);
                                                  })
                                             )),
                                             b.head.appendChild(e[0]);
                                   },
                                   abort: function () {
                                        i && i();
                                   },
                              };
                    });
               var $e,
                    Xe = [],
                    Ge = /(=)\?(?=&|$)|\?\?/;
               k.ajaxSetup({
                    jsonp: "callback",
                    jsonpCallback: function () {
                         var t = Xe.pop() || k.expando + "_" + Me.guid++;
                         return (this[t] = !0), t;
                    },
               }),
                    k.ajaxPrefilter("json jsonp", function (t, e, n) {
                         var r,
                              o,
                              a,
                              s = !1 !== t.jsonp && (Ge.test(t.url) ? "url" : "string" == typeof t.data && 0 === (t.contentType || "").indexOf("application/x-www-form-urlencoded") && Ge.test(t.data) && "data");
                         if (s || "jsonp" === t.dataTypes[0])
                              return (
                                   (r = t.jsonpCallback = v(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback),
                                   s ? (t[s] = t[s].replace(Ge, "$1" + r)) : !1 !== t.jsonp && (t.url += (Te.test(t.url) ? "&" : "?") + t.jsonp + "=" + r),
                                   (t.converters["script json"] = function () {
                                        return a || k.error(r + " was not called"), a[0];
                                   }),
                                   (t.dataTypes[0] = "json"),
                                   (o = i[r]),
                                   (i[r] = function () {
                                        a = arguments;
                                   }),
                                   n.always(function () {
                                        void 0 === o ? k(i).removeProp(r) : (i[r] = o), t[r] && ((t.jsonpCallback = e.jsonpCallback), Xe.push(r)), a && v(o) && o(a[0]), (a = o = void 0);
                                   }),
                                   "script"
                              );
                    }),
                    (g.createHTMLDocument = ((($e = b.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>"), 2 === $e.childNodes.length)),
                    (k.parseHTML = function (t, e, i) {
                         return "string" != typeof t
                              ? []
                              : ("boolean" == typeof e && ((i = e), (e = !1)),
                                e || (g.createHTMLDocument ? (((n = (e = b.implementation.createHTMLDocument("")).createElement("base")).href = b.location.href), e.head.appendChild(n)) : (e = b)),
                                (o = !i && []),
                                (r = E.exec(t)) ? [e.createElement(r[1])] : ((r = wt([t], e, o)), o && o.length && k(o).remove(), k.merge([], r.childNodes)));
                         var n, r, o;
                    }),
                    (k.fn.load = function (t, e, i) {
                         var n,
                              r,
                              o,
                              a = this,
                              s = t.indexOf(" ");
                         return (
                              s > -1 && ((n = ye(t.slice(s))), (t = t.slice(0, s))),
                              v(e) ? ((i = e), (e = void 0)) : e && "object" == typeof e && (r = "POST"),
                              a.length > 0 &&
                                   k
                                        .ajax({ url: t, type: r || "GET", dataType: "html", data: e })
                                        .done(function (t) {
                                             (o = arguments), a.html(n ? k("<div>").append(k.parseHTML(t)).find(n) : t);
                                        })
                                        .always(
                                             i &&
                                                  function (t, e) {
                                                       a.each(function () {
                                                            i.apply(this, o || [t.responseText, e, t]);
                                                       });
                                                  }
                                        ),
                              this
                         );
                    }),
                    (k.expr.pseudos.animated = function (t) {
                         return k.grep(k.timers, function (e) {
                              return t === e.elem;
                         }).length;
                    }),
                    (k.offset = {
                         setOffset: function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c = k.css(t, "position"),
                                   u = k(t),
                                   h = {};
                              "static" === c && (t.style.position = "relative"),
                                   (s = u.offset()),
                                   (o = k.css(t, "top")),
                                   (l = k.css(t, "left")),
                                   ("absolute" === c || "fixed" === c) && (o + l).indexOf("auto") > -1 ? ((a = (n = u.position()).top), (r = n.left)) : ((a = parseFloat(o) || 0), (r = parseFloat(l) || 0)),
                                   v(e) && (e = e.call(t, i, k.extend({}, s))),
                                   null != e.top && (h.top = e.top - s.top + a),
                                   null != e.left && (h.left = e.left - s.left + r),
                                   "using" in e ? e.using.call(t, h) : ("number" == typeof h.top && (h.top += "px"), "number" == typeof h.left && (h.left += "px"), u.css(h));
                         },
                    }),
                    k.fn.extend({
                         offset: function (t) {
                              if (arguments.length)
                                   return void 0 === t
                                        ? this
                                        : this.each(function (e) {
                                               k.offset.setOffset(this, t, e);
                                          });
                              var e,
                                   i,
                                   n = this[0];
                              return n ? (n.getClientRects().length ? ((e = n.getBoundingClientRect()), (i = n.ownerDocument.defaultView), { top: e.top + i.pageYOffset, left: e.left + i.pageXOffset }) : { top: 0, left: 0 }) : void 0;
                         },
                         position: function () {
                              if (this[0]) {
                                   var t,
                                        e,
                                        i,
                                        n = this[0],
                                        r = { top: 0, left: 0 };
                                   if ("fixed" === k.css(n, "position")) e = n.getBoundingClientRect();
                                   else {
                                        for (e = this.offset(), i = n.ownerDocument, t = n.offsetParent || i.documentElement; t && (t === i.body || t === i.documentElement) && "static" === k.css(t, "position"); ) t = t.parentNode;
                                        t && t !== n && 1 === t.nodeType && (((r = k(t).offset()).top += k.css(t, "borderTopWidth", !0)), (r.left += k.css(t, "borderLeftWidth", !0)));
                                   }
                                   return { top: e.top - r.top - k.css(n, "marginTop", !0), left: e.left - r.left - k.css(n, "marginLeft", !0) };
                              }
                         },
                         offsetParent: function () {
                              return this.map(function () {
                                   for (var t = this.offsetParent; t && "static" === k.css(t, "position"); ) t = t.offsetParent;
                                   return t || ot;
                              });
                         },
                    }),
                    k.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (t, e) {
                         var i = "pageYOffset" === e;
                         k.fn[t] = function (n) {
                              return V(
                                   this,
                                   function (t, n, r) {
                                        var o;
                                        if ((y(t) ? (o = t) : 9 === t.nodeType && (o = t.defaultView), void 0 === r)) return o ? o[e] : t[n];
                                        o ? o.scrollTo(i ? o.pageXOffset : r, i ? r : o.pageYOffset) : (t[n] = r);
                                   },
                                   t,
                                   n,
                                   arguments.length
                              );
                         };
                    }),
                    k.each(["top", "left"], function (t, e) {
                         k.cssHooks[e] = qt(g.pixelPosition, function (t, i) {
                              if (i) return (i = Ut(t, e)), Nt.test(i) ? k(t).position()[e] + "px" : i;
                         });
                    }),
                    k.each({ Height: "height", Width: "width" }, function (t, e) {
                         k.each({ padding: "inner" + t, content: e, "": "outer" + t }, function (i, n) {
                              k.fn[n] = function (r, o) {
                                   var a = arguments.length && (i || "boolean" != typeof r),
                                        s = i || (!0 === r || !0 === o ? "margin" : "border");
                                   return V(
                                        this,
                                        function (e, i, r) {
                                             var o;
                                             return y(e)
                                                  ? 0 === n.indexOf("outer")
                                                       ? e["inner" + t]
                                                       : e.document.documentElement["client" + t]
                                                  : 9 === e.nodeType
                                                  ? ((o = e.documentElement), Math.max(e.body["scroll" + t], o["scroll" + t], e.body["offset" + t], o["offset" + t], o["client" + t]))
                                                  : void 0 === r
                                                  ? k.css(e, i, s)
                                                  : k.style(e, i, r, s);
                                        },
                                        e,
                                        a ? r : void 0,
                                        a
                                   );
                              };
                         });
                    }),
                    k.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (t, e) {
                         k.fn[e] = function (t) {
                              return this.on(e, t);
                         };
                    }),
                    k.fn.extend({
                         bind: function (t, e, i) {
                              return this.on(t, null, e, i);
                         },
                         unbind: function (t, e) {
                              return this.off(t, null, e);
                         },
                         delegate: function (t, e, i, n) {
                              return this.on(e, t, i, n);
                         },
                         undelegate: function (t, e, i) {
                              return 1 === arguments.length ? this.off(t, "**") : this.off(e, t || "**", i);
                         },
                         hover: function (t, e) {
                              return this.mouseenter(t).mouseleave(e || t);
                         },
                    }),
                    k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (t, e) {
                         k.fn[e] = function (t, i) {
                              return arguments.length > 0 ? this.on(e, null, t, i) : this.trigger(e);
                         };
                    });
               var Ze = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
               (k.proxy = function (t, e) {
                    var i, n, r;
                    if (("string" == typeof e && ((i = t[e]), (e = t), (t = i)), v(t)))
                         return (
                              (n = s.call(arguments, 2)),
                              ((r = function () {
                                   return t.apply(e || this, n.concat(s.call(arguments)));
                              }).guid = t.guid = t.guid || k.guid++),
                              r
                         );
               }),
                    (k.holdReady = function (t) {
                         t ? k.readyWait++ : k.ready(!0);
                    }),
                    (k.isArray = Array.isArray),
                    (k.parseJSON = JSON.parse),
                    (k.nodeName = L),
                    (k.isFunction = v),
                    (k.isWindow = y),
                    (k.camelCase = X),
                    (k.type = w),
                    (k.now = Date.now),
                    (k.isNumeric = function (t) {
                         var e = k.type(t);
                         return ("number" === e || "string" === e) && !isNaN(t - parseFloat(t));
                    }),
                    (k.trim = function (t) {
                         return null == t ? "" : (t + "").replace(Ze, "");
                    }),
                    void 0 ===
                         (n = function () {
                              return k;
                         }.apply(e, [])) || (t.exports = n);
               var Je = i.jQuery,
                    Ke = i.$;
               return (
                    (k.noConflict = function (t) {
                         return i.$ === k && (i.$ = Ke), t && i.jQuery === k && (i.jQuery = Je), k;
                    }),
                    void 0 === r && (i.jQuery = i.$ = k),
                    k
               );
          });
     },
     function (t, e, i) {
          t.exports = (function (t) {
               var e = {};
               function i(n) {
                    if (e[n]) return e[n].exports;
                    var r = (e[n] = { i: n, l: !1, exports: {} });
                    return t[n].call(r.exports, r, r.exports, i), (r.l = !0), r.exports;
               }
               return (
                    (i.m = t),
                    (i.c = e),
                    (i.i = function (t) {
                         return t;
                    }),
                    (i.d = function (t, e, n) {
                         i.o(t, e) || Object.defineProperty(t, e, { configurable: !1, enumerable: !0, get: n });
                    }),
                    (i.n = function (t) {
                         var e =
                              t && t.__esModule
                                   ? function () {
                                          return t.default;
                                     }
                                   : function () {
                                          return t;
                                     };
                         return i.d(e, "a", e), e;
                    }),
                    (i.o = function (t, e) {
                         return Object.prototype.hasOwnProperty.call(t, e);
                    }),
                    (i.p = ""),
                    i((i.s = 169))
               );
          })([
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n =
                              Object.assign ||
                              function (t) {
                                   for (var e = 1; e < arguments.length; e++) {
                                        var i = arguments[e];
                                        for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n]);
                                   }
                                   return t;
                              },
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = l(i(1)),
                         a = l(i(5)),
                         s = l(i(26));
                    function l(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var c = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w);
                         }
                         return (
                              r(
                                   t,
                                   [
                                        {
                                             key: "drawLine",
                                             value: function (t, e, i, n) {
                                                  var r = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : "#a8a8a8",
                                                       o = 5 < arguments.length && void 0 !== arguments[5] ? arguments[5] : 0,
                                                       a = 6 < arguments.length && void 0 !== arguments[6] ? arguments[6] : null;
                                                  return this.w.globals.dom.Paper.line().attr({ x1: t, y1: e, x2: i, y2: n, stroke: r, "stroke-dasharray": o, "stroke-width": a });
                                             },
                                        },
                                        {
                                             key: "drawRect",
                                             value: function () {
                                                  var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 0,
                                                       e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 0,
                                                       i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 0,
                                                       n = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : 0,
                                                       r = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 0,
                                                       o = 5 < arguments.length && void 0 !== arguments[5] ? arguments[5] : "#fefefe",
                                                       a = 6 < arguments.length && void 0 !== arguments[6] ? arguments[6] : 1,
                                                       s = 7 < arguments.length && void 0 !== arguments[7] ? arguments[7] : null,
                                                       l = 8 < arguments.length && void 0 !== arguments[8] ? arguments[8] : null,
                                                       c = 9 < arguments.length && void 0 !== arguments[9] ? arguments[9] : 0,
                                                       u = this.w.globals.dom.Paper.rect();
                                                  return (
                                                       u.attr({
                                                            x: t,
                                                            y: e,
                                                            width: 0 < i ? i : 0,
                                                            height: 0 < n ? n : 0,
                                                            rx: r,
                                                            ry: r,
                                                            fill: o,
                                                            opacity: a,
                                                            "stroke-width": null !== s ? s : 0,
                                                            stroke: null !== l ? l : "none",
                                                            "stroke-dasharray": c,
                                                       }),
                                                       u
                                                  );
                                             },
                                        },
                                        {
                                             key: "drawPolygon",
                                             value: function (t) {
                                                  var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : "#e1e1e1",
                                                       i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : "none";
                                                  return this.w.globals.dom.Paper.polygon(t).attr({ fill: i, stroke: e });
                                             },
                                        },
                                        {
                                             key: "drawCircle",
                                             value: function (t) {
                                                  var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : null,
                                                       i = this.w.globals.dom.Paper.circle(2 * t);
                                                  return null !== e && i.attr(e), i;
                                             },
                                        },
                                        {
                                             key: "drawPath",
                                             value: function (t) {
                                                  var e = t.d,
                                                       i = void 0 === e ? "" : e,
                                                       n = t.stroke,
                                                       r = void 0 === n ? "#a8a8a8" : n,
                                                       o = t.strokeWidth,
                                                       a = void 0 === o ? 1 : o,
                                                       s = t.fill,
                                                       l = t.fillOpacity,
                                                       c = void 0 === l ? 1 : l,
                                                       u = t.strokeOpacity,
                                                       h = void 0 === u ? 1 : u,
                                                       d = t.classes,
                                                       p = t.strokeLinecap,
                                                       f = void 0 === p ? null : p,
                                                       m = t.strokeDashArray,
                                                       g = void 0 === m ? 0 : m,
                                                       v = this.w;
                                                  return (
                                                       null === f && (f = v.config.stroke.lineCap),
                                                       (-1 < i.indexOf("undefined") || -1 < i.indexOf("NaN")) && (i = "M 0 " + v.globals.gridHeight),
                                                       v.globals.dom.Paper.path(i).attr({ fill: s, "fill-opacity": c, stroke: r, "stroke-opacity": h, "stroke-linecap": f, "stroke-width": a, "stroke-dasharray": g, class: d })
                                                  );
                                             },
                                        },
                                        {
                                             key: "group",
                                             value: function () {
                                                  var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : null,
                                                       e = this.w.globals.dom.Paper.group();
                                                  return null !== t && e.attr(t), e;
                                             },
                                        },
                                        {
                                             key: "move",
                                             value: function (t, e) {
                                                  return ["M", t, e].join(" ");
                                             },
                                        },
                                        {
                                             key: "line",
                                             value: function (t, e) {
                                                  var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null,
                                                       n = null;
                                                  return null === i ? (n = ["L", t, e].join(" ")) : "H" === i ? (n = ["H", t].join(" ")) : "V" === i && (n = ["V", e].join(" ")), n;
                                             },
                                        },
                                        {
                                             key: "curve",
                                             value: function (t, e, i, n, r, o) {
                                                  return ["C", t, e, i, n, r, o].join(" ");
                                             },
                                        },
                                        {
                                             key: "quadraticCurve",
                                             value: function (t, e, i, n) {
                                                  return ["Q", t, e, i, n].join(" ");
                                             },
                                        },
                                        {
                                             key: "arc",
                                             value: function (t, e, i, n, r, o, a) {
                                                  var s = "A";
                                                  7 < arguments.length && void 0 !== arguments[7] && arguments[7] && (s = "a");
                                                  var l = [s, t, e, i, n, r, o, a].join(" ");
                                                  return l;
                                             },
                                        },
                                        {
                                             key: "renderPaths",
                                             value: function (t) {
                                                  var e,
                                                       i = t.i,
                                                       r = t.j,
                                                       o = t.realIndex,
                                                       l = t.pathFrom,
                                                       c = t.pathTo,
                                                       u = t.stroke,
                                                       h = t.strokeWidth,
                                                       d = t.strokeLinecap,
                                                       p = t.fill,
                                                       f = t.animationDelay,
                                                       m = t.initialSpeed,
                                                       g = t.dataChangeSpeed,
                                                       v = t.className,
                                                       y = t.id,
                                                       b = t.shouldClipToGrid,
                                                       _ = void 0 === b || b,
                                                       x = t.bindEventsOnPaths,
                                                       w = void 0 === x || x,
                                                       k = this.w,
                                                       S = new a.default(this.ctx),
                                                       M = new s.default(this.ctx),
                                                       T = this.w.config.chart.animations.enabled,
                                                       C = T && this.w.config.chart.animations.dynamicAnimation.enabled,
                                                       D = !!((T && !k.globals.resized) || (C && k.globals.dataChanged && k.globals.shouldAnimate));
                                                  e = D ? l : c;
                                                  var L,
                                                       E = k.config.stroke.dashArray;
                                                  L = Array.isArray(E) ? E[o] : k.config.stroke.dashArray;
                                                  var A = this.drawPath({ d: e, stroke: u, strokeWidth: h, fill: p, fillOpacity: 1, classes: v, strokeLinecap: d, strokeDashArray: L });
                                                  if ((A.attr("id", y + "-" + i), A.attr("index", o), _ && A.attr({ "clip-path": "url(#gridRectMask" + k.globals.cuid + ")" }), "none" !== k.config.states.normal.filter.type))
                                                       S.getDefaultFilter(A, k.config.states.normal.filter.type, k.config.states.normal.filter.value);
                                                  else if (
                                                       k.config.chart.dropShadow.enabled &&
                                                       (!k.config.chart.dropShadow.enabledSeries || (k.config.chart.dropShadow.enabledSeries && -1 !== k.config.chart.dropShadow.enabledSeries.indexOf(o)))
                                                  ) {
                                                       var P = k.config.chart.dropShadow;
                                                       S.dropShadow(A, P);
                                                  }
                                                  w &&
                                                       (A.node.addEventListener("mouseenter", this.pathMouseEnter.bind(this, A)),
                                                       A.node.addEventListener("mouseleave", this.pathMouseLeave.bind(this, A)),
                                                       A.node.addEventListener("mousedown", this.pathMouseDown.bind(this, A))),
                                                       A.attr({ pathTo: c, pathFrom: l });
                                                  var I = { el: A, j: r, pathFrom: l, pathTo: c, strokeWidth: h };
                                                  return (
                                                       !T || k.globals.resized || k.globals.dataChanged ? (!k.globals.resized && k.globals.dataChanged) || M.showDelayedElements() : M.animatePathsGradually(n({}, I, { speed: m, delay: f })),
                                                       k.globals.dataChanged && C && D && M.animatePathsGradually(n({}, I, { speed: g })),
                                                       A
                                                  );
                                             },
                                        },
                                        {
                                             key: "drawPattern",
                                             value: function (t, e, i) {
                                                  var n = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : "#a8a8a8",
                                                       r = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 0;
                                                  return this.w.globals.dom.Paper.pattern(e, i, function (o) {
                                                       "horizontalLines" === t
                                                            ? o.line(0, 0, i, 0).stroke({ color: n, width: r + 1 })
                                                            : "verticalLines" === t
                                                            ? o.line(0, 0, 0, e).stroke({ color: n, width: r + 1 })
                                                            : "slantedLines" === t
                                                            ? o.line(0, 0, e, i).stroke({ color: n, width: r })
                                                            : "squares" === t
                                                            ? o.rect(e, i).fill("none").stroke({ color: n, width: r })
                                                            : "circles" === t && o.circle(e).fill("none").stroke({ color: n, width: r });
                                                  });
                                             },
                                        },
                                        {
                                             key: "drawGradient",
                                             value: function (t, e, i, n, r) {
                                                  var a = 5 < arguments.length && void 0 !== arguments[5] ? arguments[5] : null,
                                                       s = 6 < arguments.length && void 0 !== arguments[6] ? arguments[6] : null,
                                                       l = this.w;
                                                  (e = o.default.hexToRgba(e, n)), (i = o.default.hexToRgba(i, r));
                                                  var c = 0,
                                                       u = 1,
                                                       h = 1,
                                                       d = null;
                                                  null !== s && ((c = void 0 !== s[0] ? s[0] / 100 : 0), (u = void 0 !== s[1] ? s[1] / 100 : 1), (h = void 0 !== s[2] ? s[2] / 100 : 1), (d = void 0 !== s[3] ? s[3] / 100 : null));
                                                  var p = !("donut" !== l.config.chart.type && "pie" !== l.config.chart.type && "bubble" !== l.config.chart.type),
                                                       f = l.globals.dom.Paper.gradient(p ? "radial" : "linear", function (t) {
                                                            t.at(c, e, n), t.at(u, i, r), t.at(h, i, r), null !== d && t.at(d, e, n);
                                                       });
                                                  if (p) {
                                                       var m = l.globals.gridWidth / 2,
                                                            g = l.globals.gridHeight / 2;
                                                       "bubble" !== l.config.chart.type ? f.attr({ gradientUnits: "userSpaceOnUse", cx: m, cy: g, r: a }) : f.attr({ cx: 0.5, cy: 0.5, r: 0.8, fx: 0.2, fy: 0.2 });
                                                  } else "vertical" === t ? f.from(0, 0).to(0, 1) : "diagonal" === t ? f.from(0, 0).to(1, 1) : "horizontal" === t ? f.from(0, 1).to(1, 1) : "diagonal2" === t && f.from(0, 1).to(2, 2);
                                                  return f;
                                             },
                                        },
                                        {
                                             key: "drawText",
                                             value: function (t) {
                                                  var e = this.w,
                                                       i = t.x,
                                                       n = t.y,
                                                       r = t.text,
                                                       o = t.textAnchor,
                                                       a = t.fontSize,
                                                       s = t.fontFamily,
                                                       l = t.foreColor,
                                                       c = t.opacity;
                                                  o || (o = "start"), l || (l = e.config.chart.foreColor), (s = s || e.config.chart.fontFamily);
                                                  var u = void 0;
                                                  return (
                                                       (u = Array.isArray(r)
                                                            ? e.globals.dom.Paper.text(function (t) {
                                                                   for (var e = 0; e < r.length; e++) t.tspan(r[e]);
                                                              })
                                                            : e.globals.dom.Paper.plain(r)).attr({ x: i, y: n, "text-anchor": o, "dominate-baseline": "central", "font-size": a, "font-family": s, fill: l, class: t.cssClass }),
                                                       (u.node.style.fontFamily = s),
                                                       (u.node.style.opacity = c),
                                                       u
                                                  );
                                             },
                                        },
                                        {
                                             key: "addTspan",
                                             value: function (t, e, i) {
                                                  var n = t.tspan(e);
                                                  i || (i = this.w.config.chart.fontFamily), (n.node.style.fontFamily = i);
                                             },
                                        },
                                        {
                                             key: "drawMarker",
                                             value: function (t, e, i) {
                                                  t = t || 0;
                                                  var n = i.pSize || 0,
                                                       r = null;
                                                  if ("square" === i.shape) {
                                                       var a = void 0 === i.pRadius ? n / 2 : i.pRadius;
                                                       null === e && (a = n = 0);
                                                       var s = 1.2 * n + a,
                                                            l = this.drawRect(s, s, s, s, a);
                                                       l.attr({
                                                            x: t - s / 2,
                                                            y: e - s / 2,
                                                            cx: t,
                                                            cy: e,
                                                            class: i.class ? i.class : "",
                                                            fill: i.pointFillColor,
                                                            "fill-opacity": i.pointFillOpacity ? i.pointFillOpacity : 1,
                                                            stroke: i.pointStrokeColor,
                                                            "stroke-width": i.pWidth ? i.pWidth : 0,
                                                            "stroke-opacity": i.pointStrokeOpacity ? i.pointStrokeOpacity : 1,
                                                       }),
                                                            (r = l);
                                                  } else
                                                       "circle" === i.shape &&
                                                            (o.default.isNumber(e) || (e = n = 0),
                                                            (r = this.drawCircle(n, {
                                                                 cx: t,
                                                                 cy: e,
                                                                 class: i.class ? i.class : "",
                                                                 stroke: i.pointStrokeColor,
                                                                 fill: i.pointFillColor,
                                                                 "fill-opacity": i.pointFillOpacity ? i.pointFillOpacity : 1,
                                                                 "stroke-width": i.pWidth ? i.pWidth : 0,
                                                                 "stroke-opacity": i.pointStrokeOpacity ? i.pointStrokeOpacity : 1,
                                                            })));
                                                  return r;
                                             },
                                        },
                                        {
                                             key: "pathMouseEnter",
                                             value: function (t, e) {
                                                  var i = this.w,
                                                       n = new a.default(this.ctx),
                                                       r = parseInt(t.node.getAttribute("index")),
                                                       o = parseInt(t.node.getAttribute("j"));
                                                  if (
                                                       ("function" == typeof i.config.chart.events.dataPointMouseEnter && i.config.chart.events.dataPointMouseEnter(e, this.ctx, { seriesIndex: r, dataPointIndex: o, w: i }),
                                                       this.ctx.fireEvent("dataPointMouseEnter", [e, this.ctx, { seriesIndex: r, dataPointIndex: o, w: i }]),
                                                       ("none" === i.config.states.active.filter.type || "true" !== t.node.getAttribute("selected")) &&
                                                            "none" !== i.config.states.hover.filter.type &&
                                                            "none" !== i.config.states.active.filter.type &&
                                                            !i.globals.isTouchDevice)
                                                  ) {
                                                       var s = i.config.states.hover.filter;
                                                       n.applyFilter(t, s.type, s.value);
                                                  }
                                             },
                                        },
                                        {
                                             key: "pathMouseLeave",
                                             value: function (t, e) {
                                                  var i = this.w,
                                                       n = new a.default(this.ctx),
                                                       r = parseInt(t.node.getAttribute("index")),
                                                       o = parseInt(t.node.getAttribute("j"));
                                                  "function" == typeof i.config.chart.events.dataPointMouseLeave && i.config.chart.events.dataPointMouseLeave(e, this.ctx, { seriesIndex: r, dataPointIndex: o, w: i }),
                                                       this.ctx.fireEvent("dataPointMouseLeave", [e, this.ctx, { seriesIndex: r, dataPointIndex: o, w: i }]),
                                                       ("none" !== i.config.states.active.filter.type && "true" === t.node.getAttribute("selected")) || ("none" !== i.config.states.hover.filter.type && n.getDefaultFilter(t));
                                             },
                                        },
                                        {
                                             key: "pathMouseDown",
                                             value: function (t, e) {
                                                  var i = this.w,
                                                       n = new a.default(this.ctx),
                                                       r = parseInt(t.node.getAttribute("index")),
                                                       o = parseInt(t.node.getAttribute("j")),
                                                       s = "false";
                                                  if ("true" === t.node.getAttribute("selected")) {
                                                       if ((t.node.setAttribute("selected", "false"), -1 < i.globals.selectedDataPoints[r].indexOf(o))) {
                                                            var l = i.globals.selectedDataPoints[r].indexOf(o);
                                                            i.globals.selectedDataPoints[r].splice(l, 1);
                                                       }
                                                  } else {
                                                       if (!i.config.states.active.allowMultipleDataPointsSelection && 0 < i.globals.selectedDataPoints.length) {
                                                            i.globals.selectedDataPoints = [];
                                                            var c = i.globals.dom.Paper.select(".apexcharts-series path").members,
                                                                 u = i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,
                                                                 h = !0,
                                                                 d = !1,
                                                                 p = void 0;
                                                            try {
                                                                 for (var f, m = c[Symbol.iterator](); !(h = (f = m.next()).done); h = !0) {
                                                                      var g = f.value;
                                                                      g.node.setAttribute("selected", "false"), n.getDefaultFilter(g);
                                                                 }
                                                            } catch (t) {
                                                                 (d = !0), (p = t);
                                                            } finally {
                                                                 try {
                                                                      !h && m.return && m.return();
                                                                 } finally {
                                                                      if (d) throw p;
                                                                 }
                                                            }
                                                            var v = !0,
                                                                 y = !1,
                                                                 b = void 0;
                                                            try {
                                                                 for (var _, x = u[Symbol.iterator](); !(v = (_ = x.next()).done); v = !0) {
                                                                      var w = _.value;
                                                                      w.node.setAttribute("selected", "false"), n.getDefaultFilter(w);
                                                                 }
                                                            } catch (t) {
                                                                 (y = !0), (b = t);
                                                            } finally {
                                                                 try {
                                                                      !v && x.return && x.return();
                                                                 } finally {
                                                                      if (y) throw b;
                                                                 }
                                                            }
                                                       }
                                                       t.node.setAttribute("selected", "true"), (s = "true"), void 0 === i.globals.selectedDataPoints[r] && (i.globals.selectedDataPoints[r] = []), i.globals.selectedDataPoints[r].push(o);
                                                  }
                                                  if ("true" === s) {
                                                       var k = i.config.states.active.filter;
                                                       "none" !== k && n.applyFilter(t, k.type, k.value);
                                                  } else "none" !== i.config.states.active.filter.type && n.getDefaultFilter(t);
                                                  "function" == typeof i.config.chart.events.dataPointSelection &&
                                                       i.config.chart.events.dataPointSelection(e, this.ctx, { selectedDataPoints: i.globals.selectedDataPoints, seriesIndex: r, dataPointIndex: o, w: i }),
                                                       this.ctx.fireEvent("dataPointSelection", [e, this.ctx, { selectedDataPoints: i.globals.selectedDataPoints, seriesIndex: r, dataPointIndex: o, w: i }]);
                                             },
                                        },
                                        {
                                             key: "rotateAroundCenter",
                                             value: function (t) {
                                                  var e = t.getBBox();
                                                  return { x: e.x + e.width / 2, y: e.y + e.height / 2 };
                                             },
                                        },
                                        {
                                             key: "getTextRects",
                                             value: function (t, e, i, n) {
                                                  var r = !(4 < arguments.length && void 0 !== arguments[4]) || arguments[4],
                                                       o = this.w,
                                                       a = this.drawText({ x: -200, y: -200, text: t, textAnchor: "start", fontSize: e, fontFamily: i, foreColor: "#fff", opacity: 0 });
                                                  n && a.attr("transform", n), o.globals.dom.Paper.add(a);
                                                  var s = a.bbox();
                                                  return r || (s = a.node.getBoundingClientRect()), a.remove(), { width: s.width, height: s.height };
                                             },
                                        },
                                        {
                                             key: "placeTextWithEllipsis",
                                             value: function (t, e, i) {
                                                  if (0 < (t.textContent = e).length && t.getSubStringLength(0, e.length) >= i) {
                                                       for (var n = e.length - 3; 0 < n; n -= 3) if (t.getSubStringLength(0, n) <= i) return void (t.textContent = e.substring(0, n) + "...");
                                                       t.textContent = "...";
                                                  }
                                             },
                                        },
                                   ],
                                   [
                                        {
                                             key: "setAttrs",
                                             value: function (t, e) {
                                                  for (var i in e) e.hasOwnProperty(i) && t.setAttribute(i, e[i]);
                                             },
                                        },
                                   ]
                              ),
                              t
                         );
                    })();
                    e.default = c;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n =
                              "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                   ? function (t) {
                                          return typeof t;
                                     }
                                   : function (t) {
                                          return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                     },
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (function () {
                              function t() {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t);
                              }
                              return (
                                   r(
                                        t,
                                        [
                                             {
                                                  key: "shadeColor",
                                                  value: function (t, e) {
                                                       var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : void 0;
                                                       if (
                                                            (("#" === e[0] && "r" === e[0]) || (e = this.getHexColorFromName(e)),
                                                            "number" != typeof t || t < -1 || 1 < t || "string" != typeof e || ("r" !== e[0] && "#" !== e[0]) || ("string" != typeof i && void 0 !== i))
                                                       )
                                                            return null;
                                                       parseInt;
                                                       var n = Math.round,
                                                            r = 9 < e.length,
                                                            o = ((r = "string" == typeof i ? 9 < i.length || ("c" === i && !r) : r), t < 0),
                                                            a = ((t = o ? -1 * t : t), (i = i && "c" !== i ? i : o ? "#000000" : "#FFFFFF"), this.sbcRip(e)),
                                                            s = this.sbcRip(i);
                                                       return a && s
                                                            ? r
                                                                 ? "rgb(" +
                                                                   n((s[0] - a[0]) * t + a[0]) +
                                                                   "," +
                                                                   n((s[1] - a[1]) * t + a[1]) +
                                                                   "," +
                                                                   n((s[2] - a[2]) * t + a[2]) +
                                                                   (a[3] < 0 && s[3] < 0 ? ")" : "," + (-1 < a[3] && -1 < s[3] ? n(1e4 * ((s[3] - a[3]) * t + a[3])) / 1e4 : s[3] < 0 ? a[3] : s[3]) + ")")
                                                                 : "#" +
                                                                   (
                                                                        4294967296 +
                                                                        16777216 * (-1 < a[3] && -1 < s[3] ? n(255 * ((s[3] - a[3]) * t + a[3])) : -1 < s[3] ? n(255 * s[3]) : -1 < a[3] ? n(255 * a[3]) : 255) +
                                                                        65536 * n((s[0] - a[0]) * t + a[0]) +
                                                                        256 * n((s[1] - a[1]) * t + a[1]) +
                                                                        n((s[2] - a[2]) * t + a[2])
                                                                   )
                                                                        .toString(16)
                                                                        .slice(-1 < a[3] || -1 < s[3] ? 1 : 3)
                                                            : null;
                                                  },
                                             },
                                             {
                                                  key: "sbcRip",
                                                  value: function (t) {
                                                       var e = t.length,
                                                            i = new Object(),
                                                            n = parseInt,
                                                            r = Math.round;
                                                       if (9 < e) {
                                                            if ((t = t.split(",")).length < 3 || 4 < t.length) return null;
                                                            (i[0] = n(t[0].slice(4))), (i[1] = n(t[1])), (i[2] = n(t[2])), (i[3] = t[3] ? parseFloat(t[3]) : -1);
                                                       } else {
                                                            if (8 === e || 6 === e || e < 4) return null;
                                                            e < 6 && (t = "#" + t[1] + t[1] + t[2] + t[2] + t[3] + t[3] + (4 < e ? t[4] + "" + t[4] : "")),
                                                                 (t = n(t.slice(1), 16)),
                                                                 (i[0] = (t >> 16) & 255),
                                                                 (i[1] = (t >> 8) & 255),
                                                                 (i[2] = 255 & t),
                                                                 (i[3] = 9 === e || 5 === e ? r((((t >> 24) & 255) / 255) * 1e4) / 1e4 : -1);
                                                       }
                                                       return i;
                                                  },
                                             },
                                             {
                                                  key: "getHexColorFromName",
                                                  value: function (t) {
                                                       var e = document.createElement("div");
                                                       e.style.color = t;
                                                       var i = window
                                                            .getComputedStyle(document.body.appendChild(e))
                                                            .color.match(/\d+/g)
                                                            .map(function (t) {
                                                                 return parseInt(t, 10);
                                                            });
                                                       return document.body.removeChild(e), 3 <= i.length && "#" + ((1 << 24) + (i[0] << 16) + (i[1] << 8) + i[2]).toString(16).substr(1);
                                                  },
                                             },
                                        ],
                                        [
                                             {
                                                  key: "bind",
                                                  value: function (t, e) {
                                                       return function () {
                                                            return t.apply(e, arguments);
                                                       };
                                                  },
                                             },
                                             {
                                                  key: "isObject",
                                                  value: function (t) {
                                                       return t && "object" === (void 0 === t ? "undefined" : n(t)) && !Array.isArray(t) && null != t;
                                                  },
                                             },
                                             {
                                                  key: "extend",
                                                  value: function (t, e) {
                                                       var i = this;
                                                       "function" != typeof Object.assign &&
                                                            (Object.assign = function (t) {
                                                                 if (null == t) throw new TypeError("Cannot convert undefined or null to object");
                                                                 for (var e = Object(t), i = 1; i < arguments.length; i++) {
                                                                      var n = arguments[i];
                                                                      if (null != n) for (var r in n) n.hasOwnProperty(r) && (e[r] = n[r]);
                                                                 }
                                                                 return e;
                                                            });
                                                       var n = Object.assign({}, t);
                                                       return (
                                                            this.isObject(t) &&
                                                                 this.isObject(e) &&
                                                                 Object.keys(e).forEach(function (r) {
                                                                      i.isObject(e[r]) && r in t
                                                                           ? (n[r] = i.extend(t[r], e[r]))
                                                                           : Object.assign(
                                                                                  n,
                                                                                  (function (t, e, i) {
                                                                                       return e in t ? Object.defineProperty(t, e, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (t[e] = i), t;
                                                                                  })({}, r, e[r])
                                                                             );
                                                                 }),
                                                            n
                                                       );
                                                  },
                                             },
                                             {
                                                  key: "extendArray",
                                                  value: function (e, i) {
                                                       var n = [];
                                                       return (
                                                            e.map(function (e) {
                                                                 n.push(t.extend(i, e));
                                                            }),
                                                            n
                                                       );
                                                  },
                                             },
                                             {
                                                  key: "addProps",
                                                  value: function (t, e, i) {
                                                       "string" == typeof e && (e = e.split(".")), (t[e[0]] = t[e[0]] || {});
                                                       var n = t[e[0]];
                                                       return 1 < e.length ? (e.shift(), this.addProps(n, e, i)) : (t[e[0]] = i), t;
                                                  },
                                             },
                                             {
                                                  key: "clone",
                                                  value: function (t) {
                                                       if ("[object Array]" === Object.prototype.toString.call(t)) {
                                                            for (var e = [], i = 0; i < t.length; i++) e[i] = this.clone(t[i]);
                                                            return e;
                                                       }
                                                       if ("object" !== (void 0 === t ? "undefined" : n(t))) return t;
                                                       var r = {};
                                                       for (var o in t) t.hasOwnProperty(o) && (r[o] = this.clone(t[o]));
                                                       return r;
                                                  },
                                             },
                                             {
                                                  key: "log10",
                                                  value: function (t) {
                                                       return Math.log(t) / Math.LN10;
                                                  },
                                             },
                                             {
                                                  key: "roundToBase10",
                                                  value: function (t) {
                                                       return Math.pow(10, Math.floor(Math.log10(t)));
                                                  },
                                             },
                                             {
                                                  key: "roundToBase",
                                                  value: function (t, e) {
                                                       return Math.pow(e, Math.floor(Math.log(t) / Math.log(e)));
                                                  },
                                             },
                                             {
                                                  key: "getDimensions",
                                                  value: function (t) {
                                                       var e = getComputedStyle(t),
                                                            i = [],
                                                            n = t.clientHeight,
                                                            r = t.clientWidth;
                                                       return (n -= parseFloat(e.paddingTop) + parseFloat(e.paddingBottom)), (r -= parseFloat(e.paddingLeft) + parseFloat(e.paddingRight)), i.push(r), i.push(n), i;
                                                  },
                                             },
                                             {
                                                  key: "getBoundingClientRect",
                                                  value: function (t) {
                                                       var e = t.getBoundingClientRect();
                                                       return { top: e.top, right: e.right, bottom: e.bottom, left: e.left, width: e.width, height: e.height, x: e.x, y: e.y };
                                                  },
                                             },
                                             {
                                                  key: "hexToRgba",
                                                  value: function () {
                                                       var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : "#999999",
                                                            e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 0.6;
                                                       "#" !== t.substring(0, 1) && (t = "#999999");
                                                       var i = t.replace("#", "");
                                                       i = i.match(new RegExp("(.{" + i.length / 3 + "})", "g"));
                                                       for (var n = 0; n < i.length; n++) i[n] = parseInt(1 === i[n].length ? i[n] + i[n] : i[n], 16);
                                                       return void 0 !== e && i.push(e), "rgba(" + i.join(",") + ")";
                                                  },
                                             },
                                             {
                                                  key: "getOpacityFromRGBA",
                                                  value: function (t) {
                                                       return (t = t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))[3];
                                                  },
                                             },
                                             {
                                                  key: "rgb2hex",
                                                  value: function (t) {
                                                       return (t = t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i)) && 4 === t.length
                                                            ? "#" + ("0" + parseInt(t[1], 10).toString(16)).slice(-2) + ("0" + parseInt(t[2], 10).toString(16)).slice(-2) + ("0" + parseInt(t[3], 10).toString(16)).slice(-2)
                                                            : "";
                                                  },
                                             },
                                             {
                                                  key: "polarToCartesian",
                                                  value: function (t, e, i, n) {
                                                       var r = ((n - 90) * Math.PI) / 180;
                                                       return { x: t + i * Math.cos(r), y: e + i * Math.sin(r) };
                                                  },
                                             },
                                             {
                                                  key: "negToZero",
                                                  value: function (t) {
                                                       return t < 0 ? 0 : t;
                                                  },
                                             },
                                             {
                                                  key: "randomString",
                                                  value: function (t) {
                                                       for (var e = "", i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", n = 0; n < t; n++) e += i.charAt(Math.floor(Math.random() * i.length));
                                                       return e;
                                                  },
                                             },
                                             {
                                                  key: "findAncestor",
                                                  value: function (t, e) {
                                                       for (; (t = t.parentElement) && !t.classList.contains(e); );
                                                       return t;
                                                  },
                                             },
                                             {
                                                  key: "setELstyles",
                                                  value: function (t, e) {
                                                       for (var i in e) e.hasOwnProperty(i) && (t.style.key = e[i]);
                                                  },
                                             },
                                             {
                                                  key: "isNumber",
                                                  value: function (t) {
                                                       return !isNaN(t) && parseFloat(Number(t)) === t && !isNaN(parseInt(t, 10));
                                                  },
                                             },
                                             {
                                                  key: "isFloat",
                                                  value: function (t) {
                                                       return Number(t) === t && t % 1 != 0;
                                                  },
                                             },
                                             {
                                                  key: "isSafari",
                                                  value: function () {
                                                       return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
                                                  },
                                             },
                                             {
                                                  key: "isFirefox",
                                                  value: function () {
                                                       return -1 < navigator.userAgent.toLowerCase().indexOf("firefox");
                                                  },
                                             },
                                             {
                                                  key: "isIE11",
                                                  value: function () {
                                                       if (-1 !== window.navigator.userAgent.indexOf("MSIE") || -1 < window.navigator.appVersion.indexOf("Trident/")) return !0;
                                                  },
                                             },
                                             {
                                                  key: "isIE",
                                                  value: function () {
                                                       var t = window.navigator.userAgent,
                                                            e = t.indexOf("MSIE ");
                                                       if (0 < e) return parseInt(t.substring(e + 5, t.indexOf(".", e)), 10);
                                                       if (0 < t.indexOf("Trident/")) {
                                                            var i = t.indexOf("rv:");
                                                            return parseInt(t.substring(i + 3, t.indexOf(".", i)), 10);
                                                       }
                                                       var n = t.indexOf("Edge/");
                                                       return 0 < n && parseInt(t.substring(n + 5, t.indexOf(".", n)), 10);
                                                  },
                                             },
                                        ]
                                   ),
                                   t
                              );
                         })();
                    e.default = o;
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(43)("wks"),
                         r = i(25),
                         o = i(3).Symbol,
                         a = "function" == typeof o;
                    (t.exports = function (t) {
                         return n[t] || (n[t] = (a && o[t]) || (a ? o : r)("Symbol." + t));
                    }).store = n;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")());
                    "number" == typeof __g && (__g = n);
               },
               function (t, e, i) {
                    "use strict";
                    var n = (t.exports = { version: "2.5.7" });
                    "number" == typeof __e && (__e = n);
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(1)) && n.__esModule ? n : { default: n },
                         a = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.ctx = e),
                                        (this.w = e.w);
                              }
                              return (
                                   r(t, [
                                        {
                                             key: "getDefaultFilter",
                                             value: function (t) {
                                                  var e = this.w;
                                                  t.unfilter(!0),
                                                       new window.SVG.Filter().size("120%", "180%", "-5%", "-40%"),
                                                       "none" !== e.config.states.normal.filter
                                                            ? this.applyFilter(t, e.config.states.normal.filter.type, e.config.states.normal.filter.value)
                                                            : e.config.chart.dropShadow.enabled && this.dropShadow(t, e.config.chart.dropShadow);
                                             },
                                        },
                                        {
                                             key: "addNormalFilter",
                                             value: function (t) {
                                                  var e = this.w;
                                                  e.config.chart.dropShadow.enabled && this.dropShadow(t, e.config.chart.dropShadow);
                                             },
                                        },
                                        {
                                             key: "addDesaturateFilter",
                                             value: function (t) {
                                                  var e = this,
                                                       i = this.w;
                                                  t.unfilter(!0);
                                                  var n = new window.SVG.Filter();
                                                  n.size("120%", "180%", "-5%", "-40%"),
                                                       t.filter(function (t) {
                                                            var r = i.config.chart.dropShadow;
                                                            (n = r.enabled ? e.addShadow(t, r) : t).colorMatrix("matrix", [0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 1, 0]).colorMatrix("saturate", 0);
                                                       }),
                                                       t.filterer.node.setAttribute("filterUnits", "userSpaceOnUse");
                                             },
                                        },
                                        {
                                             key: "addLightenFilter",
                                             value: function (t, e) {
                                                  var i = this,
                                                       n = this.w,
                                                       r = e.intensity;
                                                  if (!o.default.isFirefox()) {
                                                       t.unfilter(!0);
                                                       var a = new window.SVG.Filter();
                                                       a.size("120%", "180%", "-5%", "-40%"),
                                                            t.filter(function (t) {
                                                                 var e = n.config.chart.dropShadow;
                                                                 (a = e.enabled ? i.addShadow(t, e) : t).componentTransfer({ rgb: { type: "linear", slope: 1.5, intercept: r } });
                                                            }),
                                                            t.filterer.node.setAttribute("filterUnits", "userSpaceOnUse");
                                                  }
                                             },
                                        },
                                        {
                                             key: "addDarkenFilter",
                                             value: function (t, e) {
                                                  var i = this,
                                                       n = this.w,
                                                       r = e.intensity;
                                                  if (!o.default.isFirefox()) {
                                                       t.unfilter(!0);
                                                       var a = new window.SVG.Filter();
                                                       a.size("120%", "180%", "-5%", "-40%"),
                                                            t.filter(function (t) {
                                                                 var e = n.config.chart.dropShadow;
                                                                 (a = e.enabled ? i.addShadow(t, e) : t).componentTransfer({ rgb: { type: "linear", slope: r } });
                                                            }),
                                                            t.filterer.node.setAttribute("filterUnits", "userSpaceOnUse");
                                                  }
                                             },
                                        },
                                        {
                                             key: "applyFilter",
                                             value: function (t, e) {
                                                  var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 0.5;
                                                  switch (e) {
                                                       case "none":
                                                            this.addNormalFilter(t);
                                                            break;
                                                       case "lighten":
                                                            this.addLightenFilter(t, { intensity: i });
                                                            break;
                                                       case "darken":
                                                            this.addDarkenFilter(t, { intensity: i });
                                                            break;
                                                       case "desaturate":
                                                            this.addDesaturateFilter(t);
                                                  }
                                             },
                                        },
                                        {
                                             key: "addShadow",
                                             value: function (t, e) {
                                                  var i = e.blur,
                                                       n = e.top,
                                                       r = e.left,
                                                       o = e.opacity,
                                                       a = t.flood("black", o).composite(t.sourceAlpha, "in").offset(r, n).gaussianBlur(i).merge(t.source);
                                                  return t.blend(t.source, a);
                                             },
                                        },
                                        {
                                             key: "dropShadow",
                                             value: function (t, e) {
                                                  var i = e.top,
                                                       n = e.left,
                                                       r = e.blur,
                                                       a = e.opacity,
                                                       s = e.noUserSpaceOnUse;
                                                  return (
                                                       t.unfilter(!0),
                                                       new window.SVG.Filter().size("120%", "180%", "-5%", "-40%"),
                                                       t.filter(function (t) {
                                                            var e;
                                                            (e =
                                                                 o.default.isSafari() || o.default.isFirefox() || o.default.isIE()
                                                                      ? t.flood("black", a).composite(t.sourceAlpha, "in").offset(n, i).gaussianBlur(r)
                                                                      : t.flood("black", a).composite(t.sourceAlpha, "in").offset(n, i).gaussianBlur(r).merge(t.source)),
                                                                 t.blend(t.source, e);
                                                       }),
                                                       s || t.filterer.node.setAttribute("filterUnits", "userSpaceOnUse"),
                                                       t
                                                  );
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    e.default = a;
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(3),
                         r = i(4),
                         o = i(14),
                         a = i(16),
                         s = i(15),
                         l = "prototype",
                         c = function t(e, i, c) {
                              var u,
                                   h,
                                   d,
                                   p,
                                   f = e & t.F,
                                   m = e & t.G,
                                   g = e & t.P,
                                   v = e & t.B,
                                   y = m ? n : e & t.S ? n[i] || (n[i] = {}) : (n[i] || {})[l],
                                   b = m ? r : r[i] || (r[i] = {}),
                                   _ = b[l] || (b[l] = {});
                              for (u in (m && (c = i), c))
                                   (d = ((h = !f && y && void 0 !== y[u]) ? y : c)[u]),
                                        (p = v && h ? s(d, n) : g && "function" == typeof d ? s(Function.call, d) : d),
                                        y && a(y, u, d, e & t.U),
                                        b[u] != d && o(b, u, p),
                                        g && _[u] != d && (_[u] = d);
                         };
                    (n.core = r), (c.F = 1), (c.G = 2), (c.S = 4), (c.P = 8), (c.B = 16), (c.W = 32), (c.U = 64), (c.R = 128), (t.exports = c);
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.ctx = e),
                                        (this.w = e.w);
                              }
                              return (
                                   n(
                                        t,
                                        [
                                             {
                                                  key: "checkComboSeries",
                                                  value: function () {
                                                       var t = this.w;
                                                       t.config.series.length &&
                                                            void 0 !== t.config.series[0].type &&
                                                            ((t.globals.comboCharts = !0),
                                                            t.config.series.forEach(function (e) {
                                                                 ("bar" !== e.type && "column" !== e.type) || (t.globals.comboChartsHasBars = !0);
                                                            }));
                                                  },
                                             },
                                             {
                                                  key: "getStackedSeriesTotals",
                                                  value: function () {
                                                       for (var t = this.w, e = [], i = 0; i < t.globals.series[t.globals.maxValsInArrayIndex].length; i++) {
                                                            for (var n = 0, r = 0; r < t.globals.series.length; r++) n += t.globals.series[r][i];
                                                            e.push(n);
                                                       }
                                                       return (t.globals.stackedSeriesTotals = e);
                                                  },
                                             },
                                             {
                                                  key: "getSeriesTotalByIndex",
                                                  value: function () {
                                                       var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : null;
                                                       return null === t
                                                            ? this.w.config.series.reduce(function (t, e) {
                                                                   return t + e;
                                                              }, 0)
                                                            : this.w.config.series[t].data.reduce(function (t, e) {
                                                                   return t + e;
                                                              }, 0);
                                                  },
                                             },
                                             {
                                                  key: "seriesHaveSameValues",
                                                  value: function (t) {
                                                       return this.w.globals.series[t].every(function (t, e, i) {
                                                            return t === i[0];
                                                       });
                                                  },
                                             },
                                             {
                                                  key: "getLargestSeries",
                                                  value: function () {
                                                       var t = this.w;
                                                       t.globals.maxValsInArrayIndex = t.globals.series
                                                            .map(function (t) {
                                                                 return t.length;
                                                            })
                                                            .indexOf(
                                                                 Math.max.apply(
                                                                      Math,
                                                                      t.globals.series.map(function (t) {
                                                                           return t.length;
                                                                      })
                                                                 )
                                                            );
                                                  },
                                             },
                                             {
                                                  key: "getLargestMarkerSize",
                                                  value: function () {
                                                       var t = this.w,
                                                            e = 0;
                                                       return (
                                                            t.globals.markers.size.forEach(function (t) {
                                                                 e = Math.max(e, t);
                                                            }),
                                                            (t.globals.markers.largestSize = e)
                                                       );
                                                  },
                                             },
                                             {
                                                  key: "getSeriesTotals",
                                                  value: function () {
                                                       var t = this.w;
                                                       t.globals.seriesTotals = t.globals.series.map(function (t, e) {
                                                            var i = 0;
                                                            if (Array.isArray(t)) for (var n = 0; n < t.length; n++) i += t[n];
                                                            else i += t;
                                                            return i;
                                                       });
                                                  },
                                             },
                                             {
                                                  key: "getSeriesTotalsXRange",
                                                  value: function (t, e) {
                                                       var i = this.w;
                                                       return i.globals.series.map(function (n, r) {
                                                            for (var o = 0, a = 0; a < n.length; a++) i.globals.seriesX[r][a] > t && i.globals.seriesX[r][a] < e && (o += n[a]);
                                                            return o;
                                                       });
                                                  },
                                             },
                                             {
                                                  key: "getPercentSeries",
                                                  value: function () {
                                                       var t = this.w;
                                                       t.globals.seriesPercent = t.globals.series.map(function (e, i) {
                                                            var n = [];
                                                            if (Array.isArray(e))
                                                                 for (var r = 0; r < e.length; r++) {
                                                                      var o = t.globals.stackedSeriesTotals[r],
                                                                           a = (100 * e[r]) / o;
                                                                      n.push(a);
                                                                 }
                                                            else {
                                                                 var s =
                                                                      (100 * e) /
                                                                      t.globals.seriesTotals.reduce(function (t, e) {
                                                                           return t + e;
                                                                      }, 0);
                                                                 n.push(s);
                                                            }
                                                            return n;
                                                       });
                                                  },
                                             },
                                             {
                                                  key: "getCalculatedRatios",
                                                  value: function () {
                                                       var t,
                                                            e,
                                                            i,
                                                            n,
                                                            r,
                                                            o = this.w.globals,
                                                            a = [],
                                                            s = [],
                                                            l = 0.1,
                                                            c = 0;
                                                       if (((o.yRange = []), o.isMultipleYAxis)) for (var u = 0; u < o.minYArr.length; u++) o.yRange.push(Math.abs(o.minYArr[u] - o.maxYArr[u])), s.push(0);
                                                       else o.yRange.push(Math.abs(o.minY - o.maxY));
                                                       (o.xRange = Math.abs(o.maxX - o.minX)), (o.zRange = Math.abs(o.maxZ - o.minZ));
                                                       for (var h = 0; h < o.yRange.length; h++) a.push(o.yRange[h] / o.gridHeight);
                                                       if (
                                                            ((e = o.xRange / o.gridWidth),
                                                            (i = Math.abs(o.initialmaxX - o.initialminX) / o.gridWidth),
                                                            (t = o.yRange / o.gridWidth),
                                                            (n = o.xRange / o.gridHeight),
                                                            (r = (o.zRange / o.gridHeight) * 16),
                                                            o.minY !== Number.MIN_VALUE && 0 !== Math.abs(o.minY))
                                                       ) {
                                                            if (((o.hasNegs = !0), (s = []), o.isMultipleYAxis)) for (var d = 0; d < a.length; d++) s.push(-o.minYArr[d] / a[d]);
                                                            else s.push(-o.minY / a[0]);
                                                            (l = -o.minY / t), (c = o.minX / e);
                                                       } else s.push(0);
                                                       return { yRatio: a, invertedYRatio: t, zRatio: r, xRatio: e, initialXRatio: i, invertedXRatio: n, baseLineInvertedY: l, baseLineY: s, baseLineX: c };
                                                  },
                                             },
                                             {
                                                  key: "getLogSeries",
                                                  value: function (t) {
                                                       var e = this.w;
                                                       return (
                                                            (e.globals.seriesLog = t.map(function (t, i) {
                                                                 return e.config.yaxis[i] && e.config.yaxis[i].logarithmic
                                                                      ? t.map(function (t) {
                                                                             return null === t ? null : (Math.log(t) - Math.log(e.globals.minYArr[i])) / (Math.log(e.globals.maxYArr[i]) - Math.log(e.globals.minYArr[i]));
                                                                        })
                                                                      : t;
                                                            })),
                                                            e.globals.seriesLog
                                                       );
                                                  },
                                             },
                                             {
                                                  key: "getLogYRatios",
                                                  value: function (t) {
                                                       var e = this,
                                                            i = this.w,
                                                            n = this.w.globals;
                                                       return (
                                                            (n.yLogRatio = t.slice()),
                                                            (n.logYRange = n.yRange.map(function (t, r) {
                                                                 if (i.config.yaxis[r] && e.w.config.yaxis[r].logarithmic) {
                                                                      var o,
                                                                           a = Number.MIN_SAFE_INTEGER,
                                                                           s = Number.MAX_SAFE_INTEGER;
                                                                      return (
                                                                           n.seriesLog.forEach(function (t, e) {
                                                                                t.forEach(function (t) {
                                                                                     i.config.yaxis[e] && i.config.yaxis[e].logarithmic && ((a = Math.max(t, a)), (s = Math.min(t, s)));
                                                                                });
                                                                           }),
                                                                           (o = Math.pow(n.yRange[r], Math.abs(s - a) / n.yRange[r])),
                                                                           (n.yLogRatio[r] = o / n.gridHeight),
                                                                           o
                                                                      );
                                                                 }
                                                            })),
                                                            n.yLogRatio
                                                       );
                                                  },
                                             },
                                        ],
                                        [
                                             {
                                                  key: "extendArrayProps",
                                                  value: function (t, e) {
                                                       return (
                                                            e.yaxis && (e = t.extendYAxis(e)),
                                                            e.annotations &&
                                                                 (e.annotations.yaxis && (e = t.extendYAxisAnnotations(e)),
                                                                 e.annotations.xaxis && (e = t.extendXAxisAnnotations(e)),
                                                                 e.annotations.points && (e = t.extendPointAnnotations(e))),
                                                            e
                                                       );
                                                  },
                                             },
                                        ]
                                   ),
                                   t
                              );
                         })();
                    e.default = r;
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(9);
                    t.exports = function (t) {
                         if (!n(t)) throw TypeError(t + " is not an object!");
                         return t;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n =
                         "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                              ? function (t) {
                                     return typeof t;
                                }
                              : function (t) {
                                     return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                };
                    t.exports = function (t) {
                         return "object" === (void 0 === t ? "undefined" : n(t)) ? null !== t : "function" == typeof t;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(8),
                         r = i(56),
                         o = i(45),
                         a = Object.defineProperty;
                    e.f = i(12)
                         ? Object.defineProperty
                         : function (t, e, i) {
                                if ((n(t), (e = o(e, !0)), n(i), r))
                                     try {
                                          return a(t, e, i);
                                     } catch (t) {}
                                if ("get" in i || "set" in i) throw TypeError("Accessors not supported!");
                                return "value" in i && (t[e] = i.value), t;
                           };
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = a(i(0)),
                         o = a(i(1));
                    function a(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var s = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.opts = null),
                                   (this.seriesIndex = 0);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "clippedImgArea",
                                        value: function (t) {
                                             var e,
                                                  i = this.w,
                                                  n = i.config,
                                                  o = parseInt(i.globals.gridWidth),
                                                  a = parseInt(i.globals.gridHeight),
                                                  s = a < o ? o : a,
                                                  l = t.image,
                                                  c = 0;
                                             e =
                                                  void 0 === t.width && void 0 === t.height
                                                       ? void 0 !== n.fill.image.width && void 0 !== n.fill.image.height
                                                            ? ((c = n.fill.image.width + 1), n.fill.image.height)
                                                            : ((c = s + 1), s)
                                                       : ((c = t.width), t.height);
                                             var u = document.createElementNS(i.globals.svgNS, "pattern");
                                             r.default.setAttrs(u, { id: t.patternID, patternUnits: "userSpaceOnUse", width: c + "px", height: e + "px" });
                                             var h = document.createElementNS(i.globals.svgNS, "image");
                                             u.appendChild(h),
                                                  h.setAttributeNS("http://www.w3.org/1999/xlink", "href", l),
                                                  r.default.setAttrs(h, { x: 0, y: 0, preserveAspectRatio: "none", width: c + "px", height: e + "px" }),
                                                  (h.style.opacity = t.opacity),
                                                  i.globals.dom.elDefs.node.appendChild(u);
                                        },
                                   },
                                   {
                                        key: "getSeriesIndex",
                                        value: function (t) {
                                             var e = this.w;
                                             return (
                                                  ("bar" === e.config.chart.type && e.config.plotOptions.bar.distributed) || "heatmap" === e.config.chart.type
                                                       ? (this.seriesIndex = t.seriesNumber)
                                                       : (this.seriesIndex = t.seriesNumber % e.globals.series.length),
                                                  this.seriesIndex
                                             );
                                        },
                                   },
                                   {
                                        key: "fillPath",
                                        value: function (t, e) {
                                             var i = this.w;
                                             this.opts = e;
                                             var n = this.w.config,
                                                  r = void 0,
                                                  a = void 0,
                                                  s = void 0;
                                             this.seriesIndex = this.getSeriesIndex(e);
                                             var l = this.getFillColors(),
                                                  c = l[this.seriesIndex],
                                                  u = Array.isArray(n.fill.opacity) ? n.fill.opacity[this.seriesIndex] : n.fill.opacity,
                                                  h = c;
                                             return (
                                                  e.color && (c = e.color),
                                                  -1 === c.indexOf("rgb") ? (h = o.default.hexToRgba(c, u)) : -1 < c.indexOf("rgba") && (u = "0." + o.default.getOpacityFromRGBA(l[this.seriesIndex])),
                                                  "pattern" === n.fill.type && (a = this.handlePatternFill(a, c, u, h)),
                                                  "gradient" === n.fill.type && (s = this.handleGradientFill(s, c, u, this.seriesIndex)),
                                                  (r =
                                                       0 < n.fill.image.src.length && "image" === n.fill.type
                                                            ? e.seriesNumber < n.fill.image.src.length
                                                                 ? (this.clippedImgArea({ opacity: u, image: n.fill.image.src[e.seriesNumber], patternID: "pattern" + i.globals.cuid + (e.seriesNumber + 1) }),
                                                                   "url(#pattern" + i.globals.cuid + (e.seriesNumber + 1) + ")")
                                                                 : h
                                                            : "gradient" === n.fill.type
                                                            ? s
                                                            : "pattern" === n.fill.type
                                                            ? a
                                                            : h),
                                                  e.solid && (r = h),
                                                  r
                                             );
                                        },
                                   },
                                   {
                                        key: "getFillColors",
                                        value: function () {
                                             var t = this.w,
                                                  e = t.config,
                                                  i = this.opts,
                                                  n = [];
                                             return (
                                                  t.globals.comboCharts
                                                       ? "line" === t.config.series[this.seriesIndex].type
                                                            ? t.globals.stroke.colors instanceof Array
                                                                 ? (n = t.globals.stroke.colors)
                                                                 : n.push(t.globals.stroke.colors)
                                                            : t.globals.fill.colors instanceof Array
                                                            ? (n = t.globals.fill.colors)
                                                            : n.push(t.globals.fill.colors)
                                                       : "line" === e.chart.type
                                                       ? t.globals.stroke.colors instanceof Array
                                                            ? (n = t.globals.stroke.colors)
                                                            : n.push(t.globals.stroke.colors)
                                                       : t.globals.fill.colors instanceof Array
                                                       ? (n = t.globals.fill.colors)
                                                       : n.push(t.globals.fill.colors),
                                                  void 0 !== i.fillColors && ((n = []), i.fillColors instanceof Array ? (n = i.fillColors.slice()) : n.push(i.fillColors)),
                                                  n
                                             );
                                        },
                                   },
                                   {
                                        key: "handlePatternFill",
                                        value: function (t, e, i, n) {
                                             var o = this.w.config,
                                                  a = this.opts,
                                                  s = new r.default(this.ctx),
                                                  l =
                                                       void 0 === o.fill.pattern.strokeWidth
                                                            ? Array.isArray(o.stroke.width)
                                                                 ? o.stroke.width[this.seriesIndex]
                                                                 : o.stroke.width
                                                            : Array.isArray(o.fill.pattern.strokeWidth)
                                                            ? o.fill.pattern.strokeWidth[this.seriesIndex]
                                                            : o.fill.pattern.strokeWidth,
                                                  c = e;
                                             return o.fill.pattern.style instanceof Array
                                                  ? void 0 !== o.fill.pattern.style[a.seriesNumber]
                                                       ? s.drawPattern(o.fill.pattern.style[a.seriesNumber], o.fill.pattern.width, o.fill.pattern.height, c, l, i)
                                                       : n
                                                  : s.drawPattern(o.fill.pattern.style, o.fill.pattern.width, o.fill.pattern.height, c, l, i);
                                        },
                                   },
                                   {
                                        key: "handleGradientFill",
                                        value: function (t, e, i, n) {
                                             var a = this.w.config,
                                                  s = this.opts,
                                                  l = new r.default(this.ctx),
                                                  c = new o.default(),
                                                  u = a.fill.gradient.type,
                                                  h = void 0,
                                                  d = void 0,
                                                  p = void 0 === a.fill.gradient.opacityFrom ? i : Array.isArray(a.fill.gradient.opacityFrom) ? a.fill.gradient.opacityFrom[n] : a.fill.gradient.opacityFrom,
                                                  f = void 0 === a.fill.gradient.opacityTo ? i : Array.isArray(a.fill.gradient.opacityTo) ? a.fill.gradient.opacityTo[n] : a.fill.gradient.opacityTo;
                                             if (
                                                  ((h = e),
                                                  (d =
                                                       void 0 === a.fill.gradient.gradientToColors || 0 === a.fill.gradient.gradientToColors.length
                                                            ? "dark" === a.fill.gradient.shade
                                                                 ? c.shadeColor(-1 * parseFloat(a.fill.gradient.shadeIntensity), e)
                                                                 : c.shadeColor(parseFloat(a.fill.gradient.shadeIntensity), e)
                                                            : a.fill.gradient.gradientToColors[s.seriesNumber]),
                                                  a.fill.gradient.inverseColors)
                                             ) {
                                                  var m = h;
                                                  (h = d), (d = m);
                                             }
                                             return l.drawGradient(u, h, d, p, f, s.size, a.fill.gradient.stops);
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = s;
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = !i(20)(function () {
                         return (
                              7 !=
                              Object.defineProperty({}, "a", {
                                   get: function () {
                                        return 7;
                                   },
                              }).a
                         );
                    });
               },
               function (t, e, i) {
                    "use strict";
                    var n = {}.hasOwnProperty;
                    t.exports = function (t, e) {
                         return n.call(t, e);
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(10),
                         r = i(23);
                    t.exports = i(12)
                         ? function (t, e, i) {
                                return n.f(t, e, r(1, i));
                           }
                         : function (t, e, i) {
                                return (t[e] = i), t;
                           };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(18);
                    t.exports = function (t, e, i) {
                         if ((n(t), void 0 === e)) return t;
                         switch (i) {
                              case 1:
                                   return function (i) {
                                        return t.call(e, i);
                                   };
                              case 2:
                                   return function (i, n) {
                                        return t.call(e, i, n);
                                   };
                              case 3:
                                   return function (i, n, r) {
                                        return t.call(e, i, n, r);
                                   };
                         }
                         return function () {
                              return t.apply(e, arguments);
                         };
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(3),
                         r = i(14),
                         o = i(13),
                         a = i(25)("src"),
                         s = "toString",
                         l = Function[s],
                         c = ("" + l).split(s);
                    (i(4).inspectSource = function (t) {
                         return l.call(t);
                    }),
                         (t.exports = function (t, e, i, s) {
                              var l = "function" == typeof i;
                              l && (o(i, "name") || r(i, "name", e)), t[e] !== i && (l && (o(i, a) || r(i, a, t[e] ? "" + t[e] : c.join(String(e)))), t === n ? (t[e] = i) : s ? (t[e] ? (t[e] = i) : r(t, e, i)) : (delete t[e], r(t, e, i)));
                         })(Function.prototype, s, function () {
                              return ("function" == typeof this && this[a]) || l.call(this);
                         });
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(39),
                         r = i(36);
                    t.exports = function (t) {
                         return n(r(t));
                    };
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = function (t) {
                         if ("function" != typeof t) throw TypeError(t + " is not a function!");
                         return t;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = {}.toString;
                    t.exports = function (t) {
                         return n.call(t).slice(8, -1);
                    };
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = function (t) {
                         try {
                              return !!t();
                         } catch (t) {
                              return !0;
                         }
                    };
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = {};
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = !1;
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = function (t, e) {
                         return { enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: e };
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(44),
                         r = Math.min;
                    t.exports = function (t) {
                         return 0 < t ? r(n(t), 9007199254740991) : 0;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = 0,
                         r = Math.random();
                    t.exports = function (t) {
                         return "Symbol(".concat(void 0 === t ? "" : t, ")_", (++n + r).toString(36));
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(1)) && n.__esModule ? n : { default: n },
                         a = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.ctx = e),
                                        (this.w = e.w),
                                        this.setEasingFunctions();
                              }
                              return (
                                   r(t, [
                                        {
                                             key: "setEasingFunctions",
                                             value: function () {
                                                  var t = void 0;
                                                  switch (this.w.config.chart.animations.easing) {
                                                       case "linear":
                                                            t = "-";
                                                            break;
                                                       case "easein":
                                                            t = "<";
                                                            break;
                                                       case "easeout":
                                                            t = ">";
                                                            break;
                                                       case "easeinout":
                                                            t = "<>";
                                                            break;
                                                       case "swing":
                                                            t = function (t) {
                                                                 return (t -= 1) * t * (2.70158 * t + 1.70158) + 1;
                                                            };
                                                            break;
                                                       case "bounce":
                                                            t = function (t) {
                                                                 return t < 1 / 2.75
                                                                      ? 7.5625 * t * t
                                                                      : t < 2 / 2.75
                                                                      ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75
                                                                      : t < 2.5 / 2.75
                                                                      ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375
                                                                      : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375;
                                                            };
                                                            break;
                                                       case "elastic":
                                                            t = function (t) {
                                                                 return t === !!t ? t : Math.pow(2, -10 * t) * Math.sin(((t - 0.075) * (2 * Math.PI)) / 0.3) + 1;
                                                            };
                                                            break;
                                                       default:
                                                            t = "<>";
                                                  }
                                                  this.w.globals.easing = t;
                                             },
                                        },
                                        {
                                             key: "animateLine",
                                             value: function (t, e, i, n) {
                                                  t.attr(e).animate(n).attr(i);
                                             },
                                        },
                                        {
                                             key: "animateCircleRadius",
                                             value: function (t, e, i, n, r) {
                                                  e || (e = 0), t.attr({ r: e }).animate(n, r).attr({ r: i });
                                             },
                                        },
                                        {
                                             key: "animateCircle",
                                             value: function (t, e, i, n, r) {
                                                  t.attr({ r: e.r, cx: e.cx, cy: e.cy }).animate(n, r).attr({ r: i.r, cx: i.cx, cy: i.cy });
                                             },
                                        },
                                        {
                                             key: "animateRect",
                                             value: function (t, e, i, n) {
                                                  t.attr(e).animate(n).attr(i);
                                             },
                                        },
                                        {
                                             key: "animatePathsGradually",
                                             value: function (t) {
                                                  var e = t.el,
                                                       i = t.j,
                                                       n = t.pathFrom,
                                                       r = t.pathTo,
                                                       o = t.speed,
                                                       a = t.delay,
                                                       s = t.strokeWidth,
                                                       l = this.w,
                                                       c = 0;
                                                  l.config.chart.animations.animateGradually.enabled && (c = l.config.chart.animations.animateGradually.delay),
                                                       l.config.chart.animations.dynamicAnimation.enabled && l.globals.dataChanged && (c = 0),
                                                       this.morphSVG(e, i, n, r, o, s, a * c);
                                             },
                                        },
                                        {
                                             key: "showDelayedElements",
                                             value: function () {
                                                  this.w.globals.delayedElements.forEach(function (t) {
                                                       t.el.classList.remove("hidden");
                                                  });
                                             },
                                        },
                                        {
                                             key: "morphSVG",
                                             value: function (t, e, i, n, r, a, s) {
                                                  var l = this,
                                                       c = this.w;
                                                  i || (i = t.attr("pathFrom")),
                                                       n || (n = t.attr("pathTo")),
                                                       (-1 < i.indexOf("undefined") || -1 < i.indexOf("NaN")) && ((i = "M 0 " + c.globals.gridHeight), (r = 1)),
                                                       (-1 < n.indexOf("undefined") || -1 < n.indexOf("NaN")) && ((n = "M 0 " + c.globals.gridHeight), (r = 1)),
                                                       c.globals.shouldAnimate || (r = 1),
                                                       t
                                                            .plot(i)
                                                            .animate(1, c.globals.easing, s)
                                                            .plot(i)
                                                            .animate(r, c.globals.easing, s)
                                                            .plot(n)
                                                            .afterAll(function () {
                                                                 o.default.isNumber(e)
                                                                      ? e === c.globals.series[c.globals.maxValsInArrayIndex].length - 2 && c.globals.shouldAnimate && (c.globals.animationEnded = !0)
                                                                      : c.globals.shouldAnimate && ((c.globals.animationEnded = !0), "function" == typeof c.config.chart.events.animationEnd && c.config.chart.events.animationEnd(l.ctx, c)),
                                                                      l.showDelayedElements();
                                                            });
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    t.exports = a;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = s(i(5)),
                         o = s(i(0)),
                         a = s(i(1));
                    function s(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var l = (function () {
                         function t(e, i) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "setGlobalMarkerSize",
                                        value: function () {
                                             var t = this.w;
                                             if (((t.globals.markers.size = Array.isArray(t.config.markers.size) ? t.config.markers.size : [t.config.markers.size]), 0 < t.globals.markers.size.length)) {
                                                  if (t.globals.markers.size.length < t.globals.series.length + 1)
                                                       for (var e = 0; e <= t.globals.series.length; e++) void 0 === t.globals.markers.size[e] && t.globals.markers.size.push(t.globals.markers.size[0]);
                                             } else
                                                  t.globals.markers.size = t.config.series.map(function (e) {
                                                       return t.config.markers.size;
                                                  });
                                        },
                                   },
                                   {
                                        key: "plotChartMarkers",
                                        value: function (t, e, i) {
                                             var n = this,
                                                  r = this.w,
                                                  s = t,
                                                  l = null,
                                                  c = new o.default(this.ctx),
                                                  u = void 0;
                                             if ((0 < r.globals.markers.size[e] && (l = c.group({ class: "apexcharts-series-markers" })).attr("clip-path", "url(#gridRectMarkerMask" + r.globals.cuid + ")"), s.x instanceof Array))
                                                  for (
                                                       var h = function (t) {
                                                                 var o = i,
                                                                      h = "apexcharts-marker";
                                                                 if (
                                                                      (("line" !== r.config.chart.type && "area" !== r.config.chart.type) || r.globals.comboCharts || r.config.tooltip.intersect || (h += " no-pointer-events"),
                                                                      Array.isArray(r.config.markers.size) ? 0 < r.globals.markers.size[e] : 0 < r.config.markers.size)
                                                                 ) {
                                                                      a.default.isNumber(s.y[t]) ? (h += " w" + (Math.random() + 1).toString(36).substring(4)) : (h = "apexcharts-nullpoint");
                                                                      var d = n.getMarkerConfig(h, e);
                                                                      r.config.markers.discrete.map(function (t) {
                                                                           t.seriesIndex === e && t.dataPointIndex === o && ((d.pointStrokeColor = t.strokeColor), (d.pointFillColor = t.fillColor), (d.pSize = t.size));
                                                                      }),
                                                                           (u = c.drawMarker(s.x[t], s.y[t], d)),
                                                                           1 === i && 0 === t && (o = 0),
                                                                           1 === i && 1 === t && (o = 1),
                                                                           u.attr("rel", o),
                                                                           u.attr("j", o),
                                                                           u.attr("index", e),
                                                                           u.node.setAttribute("default-marker-size", d.pSize),
                                                                           n.setSelectedPointFilter(u, e, o),
                                                                           n.addEvents(u),
                                                                           l && l.add(u);
                                                                 } else void 0 === r.globals.pointsArray[e] && (r.globals.pointsArray[e] = []), r.globals.pointsArray[e].push([s.x[t], s.y[t]]);
                                                            },
                                                            d = 0;
                                                       d < s.x.length;
                                                       d++
                                                  )
                                                       h(d);
                                             return l;
                                        },
                                   },
                                   {
                                        key: "getMarkerConfig",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = this.getMarkerStyle(e);
                                             return {
                                                  pSize: i.globals.markers.size[e],
                                                  pRadius: i.config.markers.radius,
                                                  pWidth: i.config.markers.strokeWidth,
                                                  pointStrokeColor: n.pointStrokeColor,
                                                  pointFillColor: n.pointFillColor,
                                                  shape: i.config.markers.shape instanceof Array ? i.config.markers.shape[e] : i.config.markers.shape,
                                                  class: t,
                                                  pointStrokeOpacity: i.config.markers.strokeOpacity,
                                                  pointFillOpacity: i.config.markers.fillOpacity,
                                                  seriesIndex: e,
                                             };
                                        },
                                   },
                                   {
                                        key: "addEvents",
                                        value: function (t) {
                                             var e = new o.default(this.ctx);
                                             t.node.addEventListener("mouseenter", e.pathMouseEnter.bind(this.ctx, t)),
                                                  t.node.addEventListener("mouseleave", e.pathMouseLeave.bind(this.ctx, t)),
                                                  t.node.addEventListener("mousedown", e.pathMouseDown.bind(this.ctx, t)),
                                                  t.node.addEventListener("touchstart", e.pathMouseDown.bind(this.ctx, t), { passive: !0 });
                                        },
                                   },
                                   {
                                        key: "setSelectedPointFilter",
                                        value: function (t, e, i) {
                                             var n = this.w;
                                             if (void 0 !== n.globals.selectedDataPoints[e] && -1 < n.globals.selectedDataPoints[e].indexOf(i)) {
                                                  t.node.setAttribute("selected", !0);
                                                  var o = n.config.states.active.filter;
                                                  "none" !== o && new r.default(this.ctx).applyFilter(t, o.type, o.value);
                                             }
                                        },
                                   },
                                   {
                                        key: "getMarkerStyle",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = e.globals.markers.colors;
                                             return { pointStrokeColor: e.config.markers.strokeColor, pointFillColor: i instanceof Array ? i[t] : i };
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = l;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 }), (e.default = void 0);
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(0)) && n.__esModule ? n : { default: n },
                         a = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.ctx = e),
                                        (this.w = e.w);
                              }
                              return (
                                   r(t, [
                                        {
                                             key: "getAllSeriesEls",
                                             value: function () {
                                                  return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series");
                                             },
                                        },
                                        {
                                             key: "getSeriesByName",
                                             value: function (t) {
                                                  return this.w.globals.dom.baseEl.querySelector(".apexcharts-series." + t.toString().replace(/ /g, "-"));
                                             },
                                        },
                                        {
                                             key: "addCollapsedClassToSeries",
                                             value: function (t, e) {
                                                  for (var i = this.w, n = 0; n < i.globals.collapsedSeries.length; n++) i.globals.collapsedSeries[n].index === e && t.node.classList.add("apexcharts-series-collapsed");
                                             },
                                        },
                                        {
                                             key: "toggleSeriesOnHover",
                                             value: function (t, e) {
                                                  var i = this.w,
                                                       n = i.globals.dom.baseEl.querySelectorAll(".apexcharts-series");
                                                  if ("mousemove" === t.type) {
                                                       var r = parseInt(e.getAttribute("rel")) - 1,
                                                            o = null;
                                                       o =
                                                            i.globals.axisCharts || "radialBar" === i.config.chart.type
                                                                 ? i.globals.axisCharts
                                                                      ? i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='" + r + "']")
                                                                      : i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='" + (r + 1) + "']")
                                                                 : i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='" + (r + 1) + "'] path");
                                                       for (var a = 0; a < n.length; a++) n[a].classList.add("legend-mouseover-inactive");
                                                       null !== o && (i.globals.axisCharts || o.parentNode.classList.remove("legend-mouseover-inactive"), o.classList.remove("legend-mouseover-inactive"));
                                                  } else if ("mouseout" === t.type) for (var s = 0; s < n.length; s++) n[s].classList.remove("legend-mouseover-inactive");
                                             },
                                        },
                                        {
                                             key: "highlightRangeInSeries",
                                             value: function (t, e) {
                                                  var i = this.w,
                                                       n = i.globals.dom.baseEl.querySelectorAll(".apexcharts-heatmap-rect"),
                                                       r = function () {
                                                            for (var t = 0; t < n.length; t++) n[t].classList.remove("legend-mouseover-inactive");
                                                       };
                                                  if ("mousemove" === t.type) {
                                                       var o = parseInt(e.getAttribute("rel")) - 1;
                                                       r(),
                                                            (function () {
                                                                 for (var t = 0; t < n.length; t++) n[t].classList.add("legend-mouseover-inactive");
                                                            })(),
                                                            (function (t) {
                                                                 for (var e = 0; e < n.length; e++) {
                                                                      var i = parseInt(n[e].getAttribute("val"));
                                                                      i >= t.from && i <= t.to && n[e].classList.remove("legend-mouseover-inactive");
                                                                 }
                                                            })(i.config.plotOptions.heatmap.colorScale.ranges[o]);
                                                  } else "mouseout" === t.type && r();
                                             },
                                        },
                                        {
                                             key: "getActiveSeriesIndex",
                                             value: function () {
                                                  var t = this.w,
                                                       e = 0;
                                                  if (1 < t.globals.series.length)
                                                       for (
                                                            var i = t.globals.series.map(function (e, i) {
                                                                      return 0 < e.length && "bar" !== t.config.series[i].type && "column" !== t.config.series[i].type ? i : -1;
                                                                 }),
                                                                 n = 0;
                                                            n < i.length;
                                                            n++
                                                       )
                                                            if (-1 !== i[n]) {
                                                                 e = i[n];
                                                                 break;
                                                            }
                                                  return e;
                                             },
                                        },
                                        {
                                             key: "getActiveConfigSeriesIndex",
                                             value: function () {
                                                  var t = this.w,
                                                       e = 0;
                                                  if (1 < t.config.series.length)
                                                       for (
                                                            var i = t.config.series.map(function (t, e) {
                                                                      return t.data && 0 < t.data.length ? e : -1;
                                                                 }),
                                                                 n = 0;
                                                            n < i.length;
                                                            n++
                                                       )
                                                            if (-1 !== i[n]) {
                                                                 e = i[n];
                                                                 break;
                                                            }
                                                  return e;
                                             },
                                        },
                                        {
                                             key: "getPreviousPaths",
                                             value: function () {
                                                  var t = this.w;
                                                  function e(e, i, n) {
                                                       for (var r = e[i].childNodes, o = { type: n, paths: [], realIndex: e[i].getAttribute("data:realIndex") }, a = 0; a < r.length; a++)
                                                            if (r[a].hasAttribute("pathTo")) {
                                                                 var s = r[a].getAttribute("pathTo");
                                                                 o.paths.push({ d: s });
                                                            }
                                                       t.globals.previousPaths.push(o);
                                                  }
                                                  t.globals.previousPaths = [];
                                                  var i = t.globals.dom.baseEl.querySelectorAll(".apexcharts-line-series .apexcharts-series");
                                                  if (0 < i.length) for (var n = i.length - 1; 0 <= n; n--) e(i, n, "line");
                                                  var r = t.globals.dom.baseEl.querySelectorAll(".apexcharts-area-series .apexcharts-series");
                                                  if (0 < r.length) for (var o = r.length - 1; 0 <= o; o--) e(r, o, "area");
                                                  var a = t.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series .apexcharts-series");
                                                  if (0 < a.length) for (var s = 0; s < a.length; s++) e(a, s, "bar");
                                                  var l = t.globals.dom.baseEl.querySelectorAll(".apexcharts-candlestick-series .apexcharts-series");
                                                  if (0 < l.length) for (var c = 0; c < l.length; c++) e(l, c, "candlestick");
                                                  var u = t.globals.dom.baseEl.querySelectorAll(".apexcharts-radar-series .apexcharts-series");
                                                  if (0 < u.length) for (var h = 0; h < u.length; h++) e(u, h, "radar");
                                                  var d = t.globals.dom.baseEl.querySelectorAll(".apexcharts-bubble-series .apexcharts-series");
                                                  if (0 < d.length)
                                                       for (var p = 0; p < d.length; p++) {
                                                            for (var f = t.globals.dom.baseEl.querySelectorAll(".apexcharts-bubble-series .apexcharts-series[data\\:realIndex='" + p + "'] circle"), m = [], g = 0; g < f.length; g++)
                                                                 m.push({ x: f[g].getAttribute("cx"), y: f[g].getAttribute("cy"), r: f[g].getAttribute("r") });
                                                            t.globals.previousPaths.push(m);
                                                       }
                                                  var v = t.globals.dom.baseEl.querySelectorAll(".apexcharts-scatter-series .apexcharts-series");
                                                  if (0 < v.length)
                                                       for (var y = 0; y < v.length; y++) {
                                                            for (var b = t.globals.dom.baseEl.querySelectorAll(".apexcharts-scatter-series .apexcharts-series[data\\:realIndex='" + y + "'] circle"), _ = [], x = 0; x < b.length; x++)
                                                                 _.push({ x: b[x].getAttribute("cx"), y: b[x].getAttribute("cy"), r: b[x].getAttribute("r") });
                                                            t.globals.previousPaths.push(_);
                                                       }
                                                  var w = t.globals.dom.baseEl.querySelectorAll(".apexcharts-heatmap .apexcharts-series");
                                                  if (0 < w.length)
                                                       for (var k = 0; k < w.length; k++) {
                                                            for (var S = t.globals.dom.baseEl.querySelectorAll(".apexcharts-heatmap .apexcharts-series[data\\:realIndex='" + k + "'] rect"), M = [], T = 0; T < S.length; T++)
                                                                 M.push({ color: S[T].getAttribute("color") });
                                                            t.globals.previousPaths.push(M);
                                                       }
                                                  t.globals.axisCharts || (t.globals.previousPaths = t.globals.series);
                                             },
                                        },
                                        {
                                             key: "handleNoData",
                                             value: function () {
                                                  var t = this.w,
                                                       e = t.config.noData,
                                                       i = new o.default(this.ctx),
                                                       n = t.globals.svgWidth / 2,
                                                       r = t.globals.svgHeight / 2,
                                                       a = "middle";
                                                  if (
                                                       ((t.globals.noData = !0),
                                                       "left" === e.align ? ((n = 10), (a = "start")) : "right" === e.align && ((n = t.globals.svgWidth - 10), (a = "end")),
                                                       "top" === e.verticalAlign ? (r = 50) : "bottom" === e.verticalAlign && (r = t.globals.svgHeight - 50),
                                                       (n += e.offsetX),
                                                       (r = r + parseInt(e.style.fontSize) + 2),
                                                       void 0 !== e.text && "" !== e.text)
                                                  ) {
                                                       var s = i.drawText({
                                                            x: n,
                                                            y: r,
                                                            text: e.text,
                                                            textAnchor: a,
                                                            fontSize: e.style.fontSize,
                                                            fontFamily: e.style.fontFamily,
                                                            foreColor: e.style.color,
                                                            opacity: 1,
                                                            class: "apexcharts-text-nodata",
                                                       });
                                                       s.node.setAttribute("class", "apexcharts-title-text"), t.globals.dom.Paper.add(s);
                                                  }
                                             },
                                        },
                                        {
                                             key: "setNullSeriesToZeroValues",
                                             value: function (t) {
                                                  for (var e = this.w, i = 0; i < t.length; i++) if (0 === t[i].length) for (var n = 0; n < t[e.globals.maxValsInArrayIndex].length; n++) t[i].push(0);
                                                  return t;
                                             },
                                        },
                                        {
                                             key: "hasAllSeriesEqualX",
                                             value: function () {
                                                  for (var t = !0, e = this.w, i = this.filteredSeriesX(), n = 0; n < i.length - 1; n++)
                                                       if (i[n][0] !== i[n + 1][0]) {
                                                            t = !1;
                                                            break;
                                                       }
                                                  return (e.globals.allSeriesHasEqualX = t);
                                             },
                                        },
                                        {
                                             key: "filteredSeriesX",
                                             value: function () {
                                                  return this.w.globals.seriesX.map(function (t, e) {
                                                       return 0 < t.length ? t : [];
                                                  });
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    e.default = a;
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(65),
                         r = i(38);
                    t.exports =
                         Object.keys ||
                         function (t) {
                              return n(t, r);
                         };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(10).f,
                         r = i(13),
                         o = i(2)("toStringTag");
                    t.exports = function (t, e, i) {
                         t && !r((t = i ? t : t.prototype), o) && n(t, o, { configurable: !0, value: e });
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(36);
                    t.exports = function (t) {
                         return Object(n(t));
                    };
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = s(i(75)),
                         o = s(i(0)),
                         a = s(i(5));
                    function s(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var l = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "dataLabelsCorrection",
                                        value: function (t, e, i, n, r, a, s) {
                                             var l = this.w,
                                                  c = !1,
                                                  u = new o.default(this.ctx).getTextRects(i, s),
                                                  h = u.width,
                                                  d = u.height;
                                             void 0 === l.globals.dataLabelsRects[n] && (l.globals.dataLabelsRects[n] = []), l.globals.dataLabelsRects[n].push({ x: t, y: e, width: h, height: d });
                                             var p = l.globals.dataLabelsRects[n].length - 2,
                                                  f = void 0 !== l.globals.lastDrawnDataLabelsIndexes[n] ? l.globals.lastDrawnDataLabelsIndexes[n][l.globals.lastDrawnDataLabelsIndexes[n].length - 1] : 0;
                                             if (void 0 !== l.globals.dataLabelsRects[n][p]) {
                                                  var m = l.globals.dataLabelsRects[n][f];
                                                  (t > m.x + m.width + 2 || e > m.y + m.height + 2 || t + h < m.x) && (c = !0);
                                             }
                                             return (0 === r || a) && (c = !0), { x: t, y: e, drawnextLabel: c };
                                        },
                                   },
                                   {
                                        key: "drawDataLabel",
                                        value: function (t, e, i) {
                                             var n = this.w,
                                                  a = new o.default(this.ctx),
                                                  s = n.config.dataLabels,
                                                  l = 0,
                                                  c = 0,
                                                  u = i,
                                                  h = null;
                                             if (!s.enabled || t.x instanceof Array != 1) return h;
                                             h = a.group({ class: "apexcharts-data-labels" });
                                             for (var d = 0; d < t.x.length; d++)
                                                  if (((l = t.x[d] + s.offsetX), (c = t.y[d] + s.offsetY - n.globals.markers.size[e] - 5), !isNaN(l))) {
                                                       1 === i && 0 === d && (u = 0), 1 === i && 1 === d && (u = 1);
                                                       var p = n.globals.series[e][u],
                                                            f = "";
                                                       "bubble" === n.config.chart.type
                                                            ? ((f = n.globals.seriesZ[e][u]), (c = t.y[d] + n.config.dataLabels.offsetY), (c = new r.default(this.ctx).centerTextInBubble(c, e, u).y))
                                                            : void 0 !== p && (f = n.config.dataLabels.formatter(p, { seriesIndex: e, dataPointIndex: u, w: n })),
                                                            this.plotDataLabelsText({ x: l, y: c, text: f, i: e, j: u, parent: h, offsetCorrection: !0, dataLabelsConfig: n.config.dataLabels });
                                                  }
                                             return h;
                                        },
                                   },
                                   {
                                        key: "plotDataLabelsText",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = new o.default(this.ctx),
                                                  n = t.x,
                                                  r = t.y,
                                                  s = t.i,
                                                  l = t.j,
                                                  c = t.text,
                                                  u = t.textAnchor,
                                                  h = t.parent,
                                                  d = t.dataLabelsConfig,
                                                  p = t.alwaysDrawDataLabel,
                                                  f = t.offsetCorrection,
                                                  m = { x: n, y: r, drawnextLabel: !0 };
                                             if ((f && (m = this.dataLabelsCorrection(n, r, c, s, l, p, parseInt(d.style.fontSize))), e.globals.zoomed || ((n = m.x), (r = m.y)), m.drawnextLabel)) {
                                                  var g = i.drawText({
                                                       width: 100,
                                                       height: parseInt(d.style.fontSize),
                                                       x: n,
                                                       y: r,
                                                       foreColor: e.globals.dataLabels.style.colors[s],
                                                       textAnchor: u || d.textAnchor,
                                                       text: c,
                                                       fontSize: d.style.fontSize,
                                                       fontFamily: d.style.fontFamily,
                                                  });
                                                  if ((g.attr({ class: "apexcharts-datalabel", cx: n, cy: r }), f && g.attr({ "clip-path": "url(#gridRectMask" + e.globals.cuid + ")" }), d.dropShadow.enabled)) {
                                                       var v = d.dropShadow;
                                                       new a.default(this.ctx).dropShadow(g, v);
                                                  }
                                                  h.add(g), void 0 === e.globals.lastDrawnDataLabelsIndexes[s] && (e.globals.lastDrawnDataLabelsIndexes[s] = []), e.globals.lastDrawnDataLabelsIndexes[s].push(l);
                                             }
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = l;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = a(i(53)),
                         o = a(i(1));
                    function a(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var s = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.tooltipKeyFormat = "dd MMM");
                         }
                         return (
                              n(t, [
                                   {
                                        key: "xLabelFormat",
                                        value: function (t, e) {
                                             var i = this.w;
                                             return "datetime" === i.config.xaxis.type && void 0 === i.config.tooltip.x.formatter ? new r.default(this.ctx).formatDate(new Date(e), i.config.tooltip.x.format, !0, !0) : t(e);
                                        },
                                   },
                                   {
                                        key: "setLabelFormatters",
                                        value: function () {
                                             var t = this.w;
                                             return (
                                                  (t.globals.xLabelFormatter = function (t) {
                                                       return t;
                                                  }),
                                                  (t.globals.xaxisTooltipFormatter = function (t) {
                                                       return t;
                                                  }),
                                                  (t.globals.ttKeyFormatter = function (t) {
                                                       return t;
                                                  }),
                                                  (t.globals.ttZFormatter = function (t) {
                                                       return t;
                                                  }),
                                                  (t.globals.legendFormatter = function (t) {
                                                       return t;
                                                  }),
                                                  "function" == typeof t.config.tooltip.x.formatter && (t.globals.ttKeyFormatter = t.config.tooltip.x.formatter),
                                                  "function" == typeof t.config.xaxis.tooltip.formatter && (t.globals.xaxisTooltipFormatter = t.config.xaxis.tooltip.formatter),
                                                  (Array.isArray(t.config.tooltip.y) || void 0 !== t.config.tooltip.y.formatter) && (t.globals.ttVal = t.config.tooltip.y),
                                                  void 0 !== t.config.tooltip.z.formatter && (t.globals.ttZFormatter = t.config.tooltip.z.formatter),
                                                  void 0 !== t.config.legend.formatter && (t.globals.legendFormatter = t.config.legend.formatter),
                                                  void 0 !== t.config.xaxis.labels.formatter
                                                       ? (t.globals.xLabelFormatter = t.config.xaxis.labels.formatter)
                                                       : (t.globals.xLabelFormatter = function (e) {
                                                              return o.default.isNumber(e) ? ("numeric" === t.config.xaxis.type && t.globals.dataPoints < 50 ? e.toFixed(1) : e.toFixed(0)) : e;
                                                         }),
                                                  t.config.yaxis.forEach(function (e, i) {
                                                       void 0 !== e.labels.formatter
                                                            ? (t.globals.yLabelFormatters[i] = e.labels.formatter)
                                                            : (t.globals.yLabelFormatters[i] = function (i) {
                                                                   return o.default.isNumber(i) ? (0 !== t.globals.yValueDecimal ? i.toFixed(e.decimalsInFloat) : i.toFixed(0)) : i;
                                                              });
                                                  }),
                                                  t.globals
                                             );
                                        },
                                   },
                                   {
                                        key: "heatmapLabelFormatters",
                                        value: function () {
                                             var t = this.w;
                                             if ("heatmap" === t.config.chart.type) {
                                                  t.globals.yAxisScale[0].result = t.globals.seriesNames.slice();
                                                  var e = t.globals.seriesNames.reduce(function (t, e) {
                                                       return t.length > e.length ? t : e;
                                                  }, 0);
                                                  (t.globals.yAxisScale[0].niceMax = e), (t.globals.yAxisScale[0].niceMin = e);
                                             }
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = s;
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(2)("unscopables"),
                         r = Array.prototype;
                    null == r[n] && i(14)(r, n, {}),
                         (t.exports = function (t) {
                              r[n][t] = !0;
                         });
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(19),
                         r = i(2)("toStringTag"),
                         o =
                              "Arguments" ==
                              n(
                                   (function () {
                                        return arguments;
                                   })()
                              );
                    t.exports = function (t) {
                         var e, i, a;
                         return void 0 === t
                              ? "Undefined"
                              : null === t
                              ? "Null"
                              : "string" ==
                                typeof (i = (function (t, e) {
                                     try {
                                          return t[e];
                                     } catch (t) {}
                                })((e = Object(t)), r))
                              ? i
                              : o
                              ? n(e)
                              : "Object" == (a = n(e)) && "function" == typeof e.callee
                              ? "Arguments"
                              : a;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = function (t) {
                         if (null == t) throw TypeError("Can't call method on  " + t);
                         return t;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(9),
                         r = i(3).document,
                         o = n(r) && n(r.createElement);
                    t.exports = function (t) {
                         return o ? r.createElement(t) : {};
                    };
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(19);
                    t.exports = Object("z").propertyIsEnumerable(0)
                         ? Object
                         : function (t) {
                                return "String" == n(t) ? t.split("") : Object(t);
                           };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(18);
                    function r(t) {
                         var e, i;
                         (this.promise = new t(function (t, n) {
                              if (void 0 !== e || void 0 !== i) throw TypeError("Bad Promise constructor");
                              (e = t), (i = n);
                         })),
                              (this.resolve = n(e)),
                              (this.reject = n(i));
                    }
                    t.exports.f = function (t) {
                         return new r(t);
                    };
               },
               function (t, e, i) {
                    "use strict";
                    e.f = {}.propertyIsEnumerable;
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(43)("keys"),
                         r = i(25);
                    t.exports = function (t) {
                         return n[t] || (n[t] = r(t));
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(4),
                         r = i(3),
                         o = "__core-js_shared__",
                         a = r[o] || (r[o] = {});
                    (t.exports = function (t, e) {
                         return a[t] || (a[t] = void 0 !== e ? e : {});
                    })("versions", []).push({ version: n.version, mode: i(22) ? "pure" : "global", copyright: "© 2018 Denis Pushkarev (zloirock.ru)" });
               },
               function (t, e, i) {
                    "use strict";
                    var n = Math.ceil,
                         r = Math.floor;
                    t.exports = function (t) {
                         return isNaN((t = +t)) ? 0 : (0 < t ? r : n)(t);
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(9);
                    t.exports = function (t, e) {
                         if (!n(t)) return t;
                         var i, r;
                         if (e && "function" == typeof (i = t.toString) && !n((r = i.call(t)))) return r;
                         if ("function" == typeof (i = t.valueOf) && !n((r = i.call(t)))) return r;
                         if (!e && "function" == typeof (i = t.toString) && !n((r = i.call(t)))) return r;
                         throw TypeError("Can't convert object to primitive value");
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(3),
                         r = i(4),
                         o = i(22),
                         a = i(70),
                         s = i(10).f;
                    t.exports = function (t) {
                         var e = r.Symbol || (r.Symbol = o ? {} : n.Symbol || {});
                         "_" == t.charAt(0) || t in e || s(e, t, { value: a.f(t) });
                    };
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = c(i(7)),
                         o = c(i(11)),
                         a = c(i(5)),
                         s = c(i(0)),
                         l = c(i(32));
                    function c(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var u = (function () {
                         function t(e, i) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w);
                              var n = this.w;
                              (this.barOptions = n.config.plotOptions.bar),
                                   (this.isHorizontal = this.barOptions.horizontal),
                                   (this.strokeWidth = n.config.stroke.width),
                                   (this.isNullValue = !1),
                                   (this.xyRatios = i),
                                   null !== this.xyRatios &&
                                        ((this.xRatio = i.xRatio),
                                        (this.yRatio = i.yRatio),
                                        (this.invertedXRatio = i.invertedXRatio),
                                        (this.invertedYRatio = i.invertedYRatio),
                                        (this.baseLineY = i.baseLineY),
                                        (this.baseLineInvertedY = i.baseLineInvertedY)),
                                   (this.minXDiff = Number.MAX_SAFE_INTEGER),
                                   (this.yaxisIndex = 0),
                                   (this.seriesLen = 0);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "draw",
                                        value: function (t, e) {
                                             var i = this,
                                                  n = this.w,
                                                  a = new s.default(this.ctx),
                                                  l = new o.default(this.ctx),
                                                  c = new r.default(this.ctx, n);
                                             (this.series = c.getLogSeries(t)), (t = this.series), (this.yRatio = c.getLogYRatios(this.yRatio)), this.initVariables(t);
                                             var u = a.group({ class: "apexcharts-bar-series apexcharts-plot-series" });
                                             u.attr("clip-path", "url(#gridRectMask" + n.globals.cuid + ")");
                                             for (
                                                  var h = function (r, o) {
                                                            var s,
                                                                 c,
                                                                 h,
                                                                 d,
                                                                 p = void 0,
                                                                 f = void 0,
                                                                 m = void 0,
                                                                 g = void 0,
                                                                 v = [],
                                                                 y = [],
                                                                 b = n.globals.comboCharts ? e[r] : r,
                                                                 _ = a.group({ class: "apexcharts-series " + n.globals.seriesNames[b].toString().replace(/ /g, "-"), rel: r + 1, "data:realIndex": b });
                                                            i.ctx.series.addCollapsedClassToSeries(_, b), 0 < t[r].length && (i.visibleI = i.visibleI + 1);
                                                            var x,
                                                                 w,
                                                                 k = 0;
                                                            1 < i.yRatio.length && (i.yaxisIndex = b);
                                                            var S = i.initialPositions();
                                                            (g = S.y), (x = S.barHeight), (c = S.yDivision), (d = S.zeroW), (m = S.x), (w = S.barWidth), (s = S.xDivision), (h = S.zeroH), i.horizontal || y.push(m + w / 2);
                                                            for (
                                                                 var M = a.group({ class: "apexcharts-datalabels" }),
                                                                      T = function (e, a) {
                                                                           var u;
                                                                           void 0 === i.series[r][e] || null === t[r][e] ? (i.isNullValue = !0) : (i.isNullValue = !1),
                                                                                n.config.stroke.show && (k = i.isNullValue ? 0 : Array.isArray(i.strokeWidth) ? i.strokeWidth[b] : i.strokeWidth),
                                                                                (u = i.isHorizontal
                                                                                     ? i.drawBarPaths({
                                                                                            indexes: { i: r, j: e, realIndex: b, bc: o },
                                                                                            barHeight: x,
                                                                                            strokeWidth: k,
                                                                                            pathTo: p,
                                                                                            pathFrom: f,
                                                                                            zeroW: d,
                                                                                            x: m,
                                                                                            y: g,
                                                                                            yDivision: c,
                                                                                            elSeries: _,
                                                                                       })
                                                                                     : i.drawColumnPaths({
                                                                                            indexes: { i: r, j: e, realIndex: b, bc: o },
                                                                                            x: m,
                                                                                            y: g,
                                                                                            xDivision: s,
                                                                                            pathTo: p,
                                                                                            pathFrom: f,
                                                                                            barWidth: w,
                                                                                            zeroH: h,
                                                                                            strokeWidth: k,
                                                                                            elSeries: _,
                                                                                       })),
                                                                                (p = u.pathTo),
                                                                                (f = u.pathFrom),
                                                                                (g = u.y),
                                                                                (m = u.x),
                                                                                0 < e && y.push(m + w / 2),
                                                                                v.push(g);
                                                                           var S = i.barOptions.distributed ? e : r,
                                                                                T = null;
                                                                           0 < i.barOptions.colors.ranges.length &&
                                                                                i.barOptions.colors.ranges.map(function (i) {
                                                                                     t[r][e] >= i.from && t[r][e] <= i.to && (T = i.color);
                                                                                });
                                                                           var C = l.fillPath(_, { seriesNumber: i.barOptions.distributed ? S : b, color: T });
                                                                           _ = i.renderSeries({
                                                                                realIndex: b,
                                                                                pathFill: C,
                                                                                j: e,
                                                                                i: r,
                                                                                pathFrom: f,
                                                                                pathTo: p,
                                                                                strokeWidth: k,
                                                                                elSeries: _,
                                                                                x: m,
                                                                                y: g,
                                                                                series: t,
                                                                                barHeight: x,
                                                                                barWidth: w,
                                                                                elDataLabelsWrap: M,
                                                                                visibleSeries: i.visibleI,
                                                                                type: "bar",
                                                                           });
                                                                      },
                                                                      C = 0,
                                                                      D = n.globals.dataPoints;
                                                                 C < n.globals.dataPoints;
                                                                 C++, D--
                                                            )
                                                                 T(C);
                                                            (n.globals.seriesXvalues[b] = y), (n.globals.seriesYvalues[b] = v), u.add(_);
                                                       },
                                                       d = 0,
                                                       p = 0;
                                                  d < t.length;
                                                  d++, p++
                                             )
                                                  h(d, p);
                                             return u;
                                        },
                                   },
                                   {
                                        key: "renderSeries",
                                        value: function (t) {
                                             var e = t.realIndex,
                                                  i = t.pathFill,
                                                  n = t.lineFill,
                                                  r = t.j,
                                                  o = t.i,
                                                  a = t.pathFrom,
                                                  l = t.pathTo,
                                                  c = t.strokeWidth,
                                                  u = t.elSeries,
                                                  h = t.x,
                                                  d = t.y,
                                                  p = t.series,
                                                  f = t.barHeight,
                                                  m = t.barWidth,
                                                  g = t.elDataLabelsWrap,
                                                  v = t.visibleSeries,
                                                  y = t.type,
                                                  b = this.w,
                                                  _ = new s.default(this.ctx);
                                             n || (n = b.globals.stroke.colors[e]), this.isNullValue && (i = "none");
                                             var x = ((r / b.config.chart.animations.animateGradually.delay) * (b.config.chart.animations.speed / b.globals.dataPoints)) / 2.4,
                                                  w = _.renderPaths({
                                                       i: o,
                                                       j: r,
                                                       realIndex: e,
                                                       pathFrom: a,
                                                       pathTo: l,
                                                       stroke: n,
                                                       strokeWidth: c,
                                                       strokeLineCap: b.config.stroke.lineCap,
                                                       fill: i,
                                                       animationDelay: x,
                                                       initialSpeed: b.config.chart.animations.speed,
                                                       dataChangeSpeed: b.config.chart.animations.dynamicAnimation.speed,
                                                       className: "apexcharts-" + y + "-area",
                                                       id: "apexcharts-" + y + "-area",
                                                  });
                                             this.setSelectedBarFilter(w, e, r), u.add(w);
                                             var k = this.calculateDataLabelsPos({ x: h, y: d, i: o, j: r, series: p, realIndex: e, barHeight: f, barWidth: m, renderedPath: w, visibleSeries: v });
                                             return null !== k && g.add(k), u.add(g), u;
                                        },
                                   },
                                   {
                                        key: "initVariables",
                                        value: function (t) {
                                             var e = this,
                                                  i = this.w;
                                             (this.series = t), (this.totalItems = 0), (this.seriesLen = 0), (this.visibleI = -1), (this.visibleItems = 1);
                                             for (var n = 0; n < t.length; n++)
                                                  if ((0 < t[n].length && ((this.seriesLen = this.seriesLen + 1), (this.totalItems += t[n].length)), i.globals.isXNumeric)) {
                                                       i.globals.seriesX.forEach(function (t, n) {
                                                            t.forEach(function (t, r) {
                                                                 if (0 < r) {
                                                                      var o = t - i.globals.seriesX[n][r - 1];
                                                                      e.minXDiff = Math.min(o, e.minXDiff);
                                                                 }
                                                            });
                                                       });
                                                       for (var r = 0; r < t[n].length; r++) i.globals.seriesX[n][r] > i.globals.minX && i.globals.seriesX[n][r] < i.globals.maxX && this.visibleItems++;
                                                  } else this.visibleItems = i.globals.dataPoints;
                                             0 === this.seriesLen && (this.seriesLen = 1);
                                        },
                                   },
                                   {
                                        key: "initialPositions",
                                        value: function () {
                                             var t = this.w,
                                                  e = void 0,
                                                  i = void 0,
                                                  n = void 0,
                                                  r = void 0,
                                                  o = void 0,
                                                  a = void 0,
                                                  s = void 0,
                                                  l = void 0;
                                             return (
                                                  this.isHorizontal
                                                       ? ((o = (n = t.globals.gridHeight / t.globals.dataPoints) / this.seriesLen),
                                                         t.globals.isXNumeric && (o = (n = t.globals.gridHeight / this.totalItems) / this.seriesLen),
                                                         (o = (o * parseInt(this.barOptions.barHeight)) / 100),
                                                         (l = this.baseLineInvertedY + t.globals.padHorizontal),
                                                         (i = (n - o * this.seriesLen) / 2))
                                                       : ((a = (((r = t.globals.gridWidth / this.visibleItems) / this.seriesLen) * parseInt(this.barOptions.columnWidth)) / 100),
                                                         t.globals.isXNumeric && (a = (((r = this.minXDiff / this.xRatio) / this.seriesLen) * parseInt(this.barOptions.columnWidth)) / 100),
                                                         (s = t.globals.gridHeight - this.baseLineY[this.yaxisIndex]),
                                                         (e = t.globals.padHorizontal + (r - a * this.seriesLen) / 2)),
                                                  { x: e, y: i, yDivision: n, xDivision: r, barHeight: o, barWidth: a, zeroH: s, zeroW: l }
                                             );
                                        },
                                   },
                                   {
                                        key: "drawBarPaths",
                                        value: function (t) {
                                             var e = t.indexes,
                                                  i = t.barHeight,
                                                  n = t.strokeWidth,
                                                  r = t.pathTo,
                                                  o = t.pathFrom,
                                                  a = t.zeroW,
                                                  l = t.x,
                                                  c = t.y,
                                                  u = t.yDivision,
                                                  h = t.elSeries,
                                                  d = this.w,
                                                  p = new s.default(this.ctx),
                                                  f = e.i,
                                                  m = e.j,
                                                  g = e.realIndex,
                                                  v = e.bc;
                                             d.globals.isXNumeric && (c = (d.globals.seriesX[f][m] - d.globals.minX) / this.invertedXRatio - i);
                                             var y = c + i * this.visibleI;
                                             (r = p.move(a, y)), (o = p.move(a, y)), 0 < d.globals.previousPaths.length && (o = this.getPathFrom(g, m, !0));
                                             var b = { barHeight: i, strokeWidth: n, barYPosition: y, x: (l = void 0 === this.series[f][m] || null === this.series[f][m] ? a : a + this.series[f][m] / this.invertedYRatio), zeroW: a },
                                                  _ = this.barEndingShape(d, b, this.series, f, m);
                                             if (
                                                  ((r = r + p.line(_.newX, y) + _.path + p.line(a, y + i - n) + p.line(a, y)),
                                                  (o = o + p.line(a, y) + _.ending_p_from + p.line(a, y + i - n) + p.line(a, y + i - n) + p.line(a, y)),
                                                  d.globals.isXNumeric || (c += u),
                                                  0 < this.barOptions.colors.backgroundBarColors.length && 0 === f)
                                             ) {
                                                  v >= this.barOptions.colors.backgroundBarColors.length && (v = 0);
                                                  var x = this.barOptions.colors.backgroundBarColors[v],
                                                       w = p.drawRect(0, y - i * this.visibleI, d.globals.gridWidth, i * this.seriesLen, 0, x, this.barOptions.colors.backgroundBarOpacity);
                                                  h.add(w), w.node.classList.add("apexcharts-backgroundBar");
                                             }
                                             return { pathTo: r, pathFrom: o, x: l, y: c, barYPosition: y };
                                        },
                                   },
                                   {
                                        key: "drawColumnPaths",
                                        value: function (t) {
                                             var e = t.indexes,
                                                  i = t.x,
                                                  n = t.y,
                                                  r = t.xDivision,
                                                  o = t.pathTo,
                                                  a = t.pathFrom,
                                                  l = t.barWidth,
                                                  c = t.zeroH,
                                                  u = t.strokeWidth,
                                                  h = t.elSeries,
                                                  d = this.w,
                                                  p = new s.default(this.ctx),
                                                  f = e.i,
                                                  m = e.j,
                                                  g = e.realIndex,
                                                  v = e.bc;
                                             d.globals.isXNumeric && (i = (d.globals.seriesX[f][m] - d.globals.minX) / this.xRatio - l / 2);
                                             var y = i + l * this.visibleI;
                                             (o = p.move(y, c)), (a = p.move(y, c)), 0 < d.globals.previousPaths.length && (a = this.getPathFrom(g, m, !0));
                                             var b = { barWidth: l, strokeWidth: u, barXPosition: y, y: (n = void 0 === this.series[f][m] || null === this.series[f][m] ? c : c - this.series[f][m] / this.yRatio[this.yaxisIndex]), zeroH: c },
                                                  _ = this.barEndingShape(d, b, this.series, f, m);
                                             if (
                                                  ((o = o + p.line(y, _.newY) + _.path + p.line(y + l - u, c) + p.line(y, c)),
                                                  (a = a + p.line(y, c) + _.ending_p_from + p.line(y + l - u, c) + p.line(y + l - u, c) + p.line(y, c)),
                                                  d.globals.isXNumeric || (i += r),
                                                  0 < this.barOptions.colors.backgroundBarColors.length && 0 === f)
                                             ) {
                                                  v >= this.barOptions.colors.backgroundBarColors.length && (v = 0);
                                                  var x = this.barOptions.colors.backgroundBarColors[v],
                                                       w = p.drawRect(y - l * this.visibleI, 0, l * this.seriesLen, d.globals.gridHeight, 0, x, this.barOptions.colors.backgroundBarOpacity);
                                                  h.add(w), w.node.classList.add("apexcharts-backgroundBar");
                                             }
                                             return { pathTo: o, pathFrom: a, x: i, y: n, barXPosition: y };
                                        },
                                   },
                                   {
                                        key: "getPathFrom",
                                        value: function (t, e) {
                                             for (var i = this.w, n = void 0, r = 0; r < i.globals.previousPaths.length; r++) {
                                                  var o = i.globals.previousPaths[r];
                                                  0 < o.paths.length && parseInt(o.realIndex) === parseInt(t) && void 0 !== i.globals.previousPaths[r].paths[e] && (n = i.globals.previousPaths[r].paths[e].d);
                                             }
                                             return n;
                                        },
                                   },
                                   {
                                        key: "calculateDataLabelsPos",
                                        value: function (t) {
                                             var e = t.x,
                                                  i = t.y,
                                                  n = t.i,
                                                  r = t.j,
                                                  o = t.realIndex,
                                                  a = t.series,
                                                  l = t.barHeight,
                                                  c = t.barWidth,
                                                  u = t.visibleSeries,
                                                  h = t.renderedPath,
                                                  d = this.w,
                                                  p = new s.default(this.ctx),
                                                  f = Array.isArray(this.strokeWidth) ? this.strokeWidth[o] : this.strokeWidth,
                                                  m = e + parseFloat(c * u),
                                                  g = i + parseFloat(l * u);
                                             d.globals.isXNumeric && ((m = e + parseFloat(c * (u + 1)) - f), (g = i + parseFloat(l * (u + 1)) - f));
                                             var v,
                                                  y = e,
                                                  b = i,
                                                  _ = d.config.dataLabels,
                                                  x = this.barOptions.dataLabels,
                                                  w = _.offsetX,
                                                  k = _.offsetY,
                                                  S = p.getTextRects(d.globals.yLabelFormatters[0](d.globals.maxY), parseInt(_.style.fontSize));
                                             return (
                                                  (v = this.isHorizontal
                                                       ? this.calculateBarsDataLabelsPosition({
                                                              x: e,
                                                              y: i,
                                                              i: n,
                                                              j: r,
                                                              bcy: g,
                                                              barHeight: l,
                                                              textRects: S,
                                                              strokeWidth: f,
                                                              dataLabelsX: y,
                                                              dataLabelsY: b,
                                                              barDataLabelsConfig: x,
                                                              offX: w,
                                                              offY: k,
                                                         })
                                                       : this.calculateColumnsDataLabelsPosition({
                                                              x: e,
                                                              y: i,
                                                              i: n,
                                                              j: r,
                                                              realIndex: o,
                                                              bcx: m,
                                                              bcy: g,
                                                              barHeight: l,
                                                              barWidth: c,
                                                              textRects: S,
                                                              strokeWidth: f,
                                                              dataLabelsY: b,
                                                              barDataLabelsConfig: x,
                                                              offX: w,
                                                              offY: k,
                                                         })),
                                                  h.attr({ cy: v.bcy, cx: v.bcx, j: r, val: a[n][r], barHeight: l, barWidth: c }),
                                                  this.drawCalculatedDataLabels({ x: v.dataLabelsX, y: v.dataLabelsY, val: a[n][r], i: o, j: r, dataLabelsConfig: _ })
                                             );
                                        },
                                   },
                                   {
                                        key: "calculateColumnsDataLabelsPosition",
                                        value: function (t) {
                                             var e,
                                                  i = this.w,
                                                  n = t.i,
                                                  r = t.j,
                                                  o = t.realIndex,
                                                  a = t.y,
                                                  s = t.bcx,
                                                  l = t.barWidth,
                                                  c = t.textRects,
                                                  u = t.dataLabelsY,
                                                  h = t.barDataLabelsConfig,
                                                  d = t.strokeWidth,
                                                  p = t.offX,
                                                  f = t.offY,
                                                  m = this.series[n][r] / this.yRatio[this.yaxisIndex],
                                                  g = i.globals.gridWidth / i.globals.dataPoints;
                                             (s -= d / 2), (e = i.globals.isXNumeric ? s - l / 2 + p : s - g + l / 2 + p);
                                             var v = !!(i.globals.gridHeight - this.baseLineY[this.yaxisIndex] < a && 0 !== Math.abs(this.baseLineY[this.yaxisIndex])),
                                                  y = 0 !== Math.abs(i.globals.minYArr[o]);
                                             switch (h.position) {
                                                  case "center":
                                                       (u = a + m / 2 + c.height / 2 - f), y && (u = v ? a + m / 2 + c.height / 2 + f : a + m / 2 + c.height / 2 - f);
                                                       break;
                                                  case "bottom":
                                                       u = y ? (v ? a + m + c.height + d + f : a + m - c.height / 2 + d - f) : i.globals.gridHeight - c.height / 2 - f;
                                                       break;
                                                  case "top":
                                                       u = y && v ? a - c.height / 2 - f : a + c.height + f;
                                             }
                                             return { bcx: s, bcy: a, dataLabelsX: e, dataLabelsY: u };
                                        },
                                   },
                                   {
                                        key: "calculateBarsDataLabelsPosition",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = t.x,
                                                  n = t.i,
                                                  r = t.j,
                                                  o = t.bcy,
                                                  a = t.barHeight,
                                                  s = t.textRects,
                                                  l = t.dataLabelsX,
                                                  c = t.strokeWidth,
                                                  u = t.barDataLabelsConfig,
                                                  h = t.offX,
                                                  d = t.offY,
                                                  p = o - e.globals.gridHeight / e.globals.dataPoints + a / 2 + s.height / 2 + d - 3,
                                                  f = this.series[n][r] / this.invertedYRatio,
                                                  m = this.series[n][r] <= 0,
                                                  g = 0 !== Math.abs(e.globals.minY);
                                             switch (u.position) {
                                                  case "center":
                                                       (l = i - f / 2 + h), g && (l = m ? i - f / 2 - h : i - f / 2 + h);
                                                       break;
                                                  case "bottom":
                                                       l = g && m ? i - f - c - Math.round(s.width / 2) - h : i - f + c + Math.round(s.width / 2) + h;
                                                       break;
                                                  case "top":
                                                       l = g ? (m ? i - c + Math.round(s.width / 2) - h : i - c - Math.round(s.width / 2) + h) : i + c - Math.round(s.width / 2) + h;
                                             }
                                             return l < 0 ? (l = s.width + c) : l + s.width / 2 > e.globals.gridWidth && (l = l - s.width - c), { bcx: i, bcy: o, dataLabelsX: l, dataLabelsY: p };
                                        },
                                   },
                                   {
                                        key: "drawCalculatedDataLabels",
                                        value: function (t) {
                                             var e = t.x,
                                                  i = t.y,
                                                  n = t.val,
                                                  r = t.i,
                                                  o = t.j,
                                                  a = t.dataLabelsConfig,
                                                  c = this.w,
                                                  u = new l.default(this.ctx),
                                                  h = new s.default(this.ctx),
                                                  d = a.formatter,
                                                  p = null,
                                                  f = -1 < c.globals.collapsedSeriesIndices.indexOf(r);
                                             if (a.enabled && !f) {
                                                  p = h.group({ class: "apexcharts-data-labels" });
                                                  var m = "";
                                                  null != n && (m = d(n, { seriesIndex: r, dataPointIndex: o, w: c })),
                                                       u.plotDataLabelsText({ x: e, y: i, text: m, i: r, j: o, parent: p, dataLabelsConfig: a, alwaysDrawDataLabel: !0, offsetCorrection: !0 });
                                             }
                                             return p;
                                        },
                                   },
                                   {
                                        key: "barEndingShape",
                                        value: function (t, e, i, n, r) {
                                             var o = new s.default(this.ctx);
                                             if (this.isHorizontal) {
                                                  var a = null,
                                                       l = "",
                                                       c = e.x;
                                                  if (void 0 !== i[n][r] || null !== i[n][r]) {
                                                       var u = i[n][r] < 0,
                                                            h = e.barHeight / 2 - e.strokeWidth;
                                                       switch (
                                                            (u && (h = -e.barHeight / 2 - e.strokeWidth),
                                                            t.config.chart.stacked || ("arrow" === this.barOptions.endingShape ? (c = e.x - h) : "rounded" === this.barOptions.endingShape && (c = e.x - h / 2)),
                                                            this.barOptions.endingShape)
                                                       ) {
                                                            case "flat":
                                                                 a = o.line(c, e.barYPosition + e.barHeight - e.strokeWidth);
                                                                 break;
                                                            case "arrow":
                                                                 (a = o.line(c + h, e.barYPosition + (e.barHeight - e.strokeWidth) / 2) + o.line(c, e.barYPosition + e.barHeight - e.strokeWidth)),
                                                                      (l = o.line(e.zeroW, e.barYPosition + e.barHeight - e.strokeWidth));
                                                                 break;
                                                            case "rounded":
                                                                 a = o.quadraticCurve(c + h, e.barYPosition + (e.barHeight - e.strokeWidth) / 2, c, e.barYPosition + e.barHeight - e.strokeWidth);
                                                       }
                                                  }
                                                  return { path: a, ending_p_from: l, newX: c };
                                             }
                                             var d = null,
                                                  p = "",
                                                  f = e.y;
                                             if (void 0 !== i[n][r] || null !== i[n][r]) {
                                                  var m = i[n][r] < 0,
                                                       g = e.barWidth / 2 - e.strokeWidth;
                                                  switch (
                                                       (m && (g = -e.barWidth / 2 - e.strokeWidth),
                                                       t.config.chart.stacked || ("arrow" === this.barOptions.endingShape ? (f += g) : "rounded" === this.barOptions.endingShape && (f += g / 2)),
                                                       this.barOptions.endingShape)
                                                  ) {
                                                       case "flat":
                                                            d = o.line(e.barXPosition + e.barWidth - e.strokeWidth, f);
                                                            break;
                                                       case "arrow":
                                                            (d = o.line(e.barXPosition + (e.barWidth - e.strokeWidth) / 2, f - g) + o.line(e.barXPosition + e.barWidth - e.strokeWidth, f)),
                                                                 (p = o.line(e.barXPosition + e.barWidth - e.strokeWidth, e.zeroH));
                                                            break;
                                                       case "rounded":
                                                            d = o.quadraticCurve(e.barXPosition + (e.barWidth - e.strokeWidth) / 2, f - g, e.barXPosition + e.barWidth - e.strokeWidth, f);
                                                  }
                                             }
                                             return { path: d, ending_p_from: p, newY: f };
                                        },
                                   },
                                   {
                                        key: "setSelectedBarFilter",
                                        value: function (t, e, i) {
                                             var n = this.w;
                                             if (void 0 !== n.globals.selectedDataPoints[e] && -1 < n.globals.selectedDataPoints[e].indexOf(i)) {
                                                  t.node.setAttribute("selected", !0);
                                                  var r = n.config.states.active.filter;
                                                  "none" !== r && new a.default(this.ctx).applyFilter(t, r.type, r.value);
                                             }
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = u;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = l(i(0)),
                         o = l(i(33)),
                         a = l(i(1)),
                         s = l(i(50));
                    function l(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var c = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.lgRect = {}),
                                   (this.yAxisWidth = 0),
                                   (this.xAxisHeight = 0),
                                   (this.isSparkline = this.w.config.chart.sparkline.enabled),
                                   (this.isBarHorizontal = !("bar" !== this.w.config.chart.type || !this.w.config.plotOptions.bar.horizontal));
                         }
                         return (
                              n(t, [
                                   {
                                        key: "plotCoords",
                                        value: function () {
                                             var t = this.w,
                                                  e = t.globals,
                                                  i = this.getLegendsRect();
                                             e.axisCharts ? this.setGridCoordsForAxisCharts(i) : this.setGridCoordsForNonAxisCharts(i),
                                                  this.titleSubtitleOffset(),
                                                  (e.gridHeight = e.gridHeight - t.config.grid.padding.top - t.config.grid.padding.bottom),
                                                  (e.gridWidth = e.gridWidth - t.config.grid.padding.left - t.config.grid.padding.right),
                                                  (e.translateX = e.translateX + t.config.grid.padding.left),
                                                  (e.translateY = e.translateY + t.config.grid.padding.top);
                                        },
                                   },
                                   {
                                        key: "conditionalChecksForAxisCoords",
                                        value: function (t, e) {
                                             var i = this.w;
                                             (this.xAxisHeight = (t.height + e.height) * i.globals.lineHeightRatio + 15),
                                                  (this.xAxisWidth = t.width),
                                                  this.xAxisHeight - e.height > i.config.xaxis.labels.maxHeight && (this.xAxisHeight = i.config.xaxis.labels.maxHeight),
                                                  i.config.xaxis.labels.minHeight && this.xAxisHeight < i.config.xaxis.labels.minHeight && (this.xAxisHeight = i.config.xaxis.labels.minHeight),
                                                  i.config.xaxis.floating && (this.xAxisHeight = 0),
                                                  this.isBarHorizontal ? (this.yAxisWidth = i.globals.yLabelsCoords[0].width + i.globals.yTitleCoords[0].width + 15) : (this.yAxisWidth = this.getTotalYAxisWidth()),
                                                  i.globals.isMultipleYAxis ||
                                                       (this.yAxisWidth < i.config.yaxis[0].labels.minWidth && (this.yAxisWidth = i.config.yaxis[0].labels.minWidth),
                                                       this.yAxisWidth > i.config.yaxis[0].labels.maxWidth && (this.yAxisWidth = i.config.yaxis[0].labels.maxWidth));
                                        },
                                   },
                                   {
                                        key: "setGridCoordsForAxisCharts",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = e.globals,
                                                  n = this.getyAxisLabelsCoords(),
                                                  r = this.getxAxisLabelsCoords(),
                                                  o = this.getyAxisTitleCoords(),
                                                  a = this.getxAxisTitleCoords();
                                             (e.globals.yLabelsCoords = []),
                                                  (e.globals.yTitleCoords = []),
                                                  e.config.yaxis.map(function (t, i) {
                                                       e.globals.yLabelsCoords.push({ width: n[i].width, index: i }), e.globals.yTitleCoords.push({ width: o[i].width, index: i });
                                                  }),
                                                  this.conditionalChecksForAxisCoords(r, a),
                                                  (i.translateXAxisY = e.globals.rotateXLabels ? this.xAxisHeight / 8 : -4),
                                                  (i.translateXAxisX = e.globals.rotateXLabels && e.globals.isXNumeric && e.config.xaxis.labels.rotate <= -45 ? -this.xAxisWidth / 4 : 0),
                                                  this.isBarHorizontal && ((i.rotateXLabels = !1), (i.translateXAxisY = (parseInt(e.config.xaxis.labels.style.fontSize) / 1.5) * -1)),
                                                  (i.translateXAxisY = i.translateXAxisY + e.config.xaxis.labels.offsetY),
                                                  (i.translateXAxisX = i.translateXAxisX + e.config.xaxis.labels.offsetX);
                                             var l = this.yAxisWidth,
                                                  c = this.xAxisHeight;
                                             (i.xAxisLabelsHeight = this.xAxisHeight), (i.xAxisHeight = this.xAxisHeight);
                                             var u = 10;
                                             switch (((e.config.grid.show && "radar" !== e.config.chart.type) || ((l = 0), (c = 35)), this.isSparkline && ((t = { height: 0, width: 0 }), (u = l = c = 0)), e.config.legend.position)) {
                                                  case "bottom":
                                                       (i.translateY = u), (i.translateX = l), (i.gridHeight = i.svgHeight - t.height - c - (this.isSparkline ? 0 : e.globals.rotateXLabels ? 10 : 15)), (i.gridWidth = i.svgWidth - l);
                                                       break;
                                                  case "top":
                                                       (i.translateY = t.height + u),
                                                            (i.translateX = l),
                                                            (i.gridHeight = i.svgHeight - t.height - c - (this.isSparkline ? 0 : e.globals.rotateXLabels ? 10 : 15)),
                                                            (i.gridWidth = i.svgWidth - l);
                                                       break;
                                                  case "left":
                                                       (i.translateY = u), (i.translateX = t.width + l), (i.gridHeight = i.svgHeight - c - 12), (i.gridWidth = i.svgWidth - t.width - l);
                                                       break;
                                                  case "right":
                                                       (i.translateY = u), (i.translateX = l), (i.gridHeight = i.svgHeight - c - 12), (i.gridWidth = i.svgWidth - t.width - l - 5);
                                                       break;
                                                  default:
                                                       throw new Error("Legend position not supported");
                                             }
                                             this.isBarHorizontal || this.setGridXPosForDualYAxis(o, n), new s.default(this.ctx).setYAxisXPosition(n, o);
                                        },
                                   },
                                   {
                                        key: "setGridCoordsForNonAxisCharts",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = e.globals,
                                                  n = 0;
                                             e.config.legend.show && !e.config.legend.floating && (n = 20);
                                             var r = 10,
                                                  o = 0;
                                             if (
                                                  ("pie" === e.config.chart.type || "donut" === e.config.chart.type
                                                       ? ((r += e.config.plotOptions.pie.offsetY), (o += e.config.plotOptions.pie.offsetX))
                                                       : "radialBar" === e.config.chart.type && ((r += e.config.plotOptions.radialBar.offsetY), (o += e.config.plotOptions.radialBar.offsetX)),
                                                  !e.config.legend.show)
                                             )
                                                  return (i.gridHeight = i.svgHeight - 35), (i.gridWidth = i.gridHeight), (i.translateY = r - 10), void (i.translateX = o + (i.svgWidth - i.gridWidth) / 2);
                                             switch (e.config.legend.position) {
                                                  case "bottom":
                                                       (i.gridHeight = i.svgHeight - t.height - 35), (i.gridWidth = i.gridHeight), (i.translateY = r - 20), (i.translateX = o + (i.svgWidth - i.gridWidth) / 2);
                                                       break;
                                                  case "top":
                                                       (i.gridHeight = i.svgHeight - t.height - 35), (i.gridWidth = i.gridHeight), (i.translateY = t.height + r), (i.translateX = o + (i.svgWidth - i.gridWidth) / 2);
                                                       break;
                                                  case "left":
                                                       (i.gridWidth = i.svgWidth - t.width - n), (i.gridHeight = i.gridWidth), (i.translateY = r), (i.translateX = o + t.width + n);
                                                       break;
                                                  case "right":
                                                       (i.gridWidth = i.svgWidth - t.width - n - 5), (i.gridHeight = i.gridWidth), (i.translateY = r), (i.translateX = o + 10);
                                                       break;
                                                  default:
                                                       throw new Error("Legend position not supported");
                                             }
                                        },
                                   },
                                   {
                                        key: "setGridXPosForDualYAxis",
                                        value: function (t, e) {
                                             var i = this.w;
                                             i.config.yaxis.map(function (n, r) {
                                                  -1 === i.globals.ignoreYAxisIndexes.indexOf(r) &&
                                                       !i.config.yaxis[r].floating &&
                                                       i.config.yaxis[r].show &&
                                                       n.opposite &&
                                                       (i.globals.translateX = i.globals.translateX - (e[r].width + t[r].width) - parseInt(i.config.yaxis[r].labels.style.fontSize) / 1.2 - 12);
                                             });
                                        },
                                   },
                                   {
                                        key: "titleSubtitleOffset",
                                        value: function () {
                                             var t = this.w,
                                                  e = t.globals,
                                                  i = this.isSparkline ? 0 : 10;
                                             void 0 !== t.config.title.text ? (i += t.config.title.margin) : (i += this.isSparkline ? 0 : 5),
                                                  void 0 !== t.config.subtitle.text ? (i += t.config.subtitle.margin) : (i += this.isSparkline ? 0 : 5),
                                                  t.config.legend.show && "bottom" === t.config.legend.position && !t.config.legend.floating && 1 < t.config.series.length && (i += 10);
                                             var n = this.getTitleSubtitleCoords("title"),
                                                  r = this.getTitleSubtitleCoords("subtitle");
                                             (e.gridHeight = e.gridHeight - n.height - r.height - i), (e.translateY = e.translateY + n.height + r.height + i);
                                        },
                                   },
                                   {
                                        key: "getTotalYAxisWidth",
                                        value: function () {
                                             var t = this.w,
                                                  e = 0,
                                                  i = 10,
                                                  n = function (e) {
                                                       return -1 < t.globals.ignoreYAxisIndexes.indexOf(e);
                                                  };
                                             return (
                                                  t.globals.yLabelsCoords.map(function (r, o) {
                                                       var a = t.config.yaxis[o].floating;
                                                       0 < r.width && !a ? ((e = e + r.width + i), n(o) && (e = e - r.width - i)) : (e += a || !t.config.yaxis[o].show ? 0 : 5);
                                                  }),
                                                  t.globals.yTitleCoords.map(function (r, o) {
                                                       var a = t.config.yaxis[o].floating;
                                                       (i = parseInt(t.config.yaxis[o].title.style.fontSize)), 0 < r.width && !a ? ((e = e + r.width + i), n(o) && (e = e - r.width - i)) : (e += a || !t.config.yaxis[o].show ? 0 : 5);
                                                  }),
                                                  e
                                             );
                                        },
                                   },
                                   {
                                        key: "getxAxisTimeScaleLabelsCoords",
                                        value: function () {
                                             var t,
                                                  e = this.w,
                                                  i = e.globals.timelineLabels.slice().map(function (t) {
                                                       return t.value;
                                                  }),
                                                  n = i.reduce(function (t, e) {
                                                       return void 0 === t ? (console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"), 0) : t.length > e.length ? t : e;
                                                  }, 0);
                                             return (
                                                  1.05 * (t = new r.default(this.ctx).getTextRects(n, e.config.xaxis.labels.style.fontSize)).width * i.length > e.globals.gridWidth &&
                                                       0 !== e.config.xaxis.labels.rotate &&
                                                       (e.globals.overlappingXLabels = !0),
                                                  t
                                             );
                                        },
                                   },
                                   {
                                        key: "getxAxisLabelsCoords",
                                        value: function () {
                                             var t = this.w,
                                                  e = t.globals.labels.slice(),
                                                  i = { width: 0, height: 0 };
                                             if (0 < t.globals.timelineLabels.length) {
                                                  var n = this.getxAxisTimeScaleLabelsCoords();
                                                  i = { width: n.width, height: n.height };
                                             } else {
                                                  var a = "left" !== t.config.legend.position || "right" !== t.config.legend.position || t.config.legend.floating ? 0 : this.lgRect.width,
                                                       s = e.reduce(function (t, e) {
                                                            return t.length > e.length ? t : e;
                                                       }, 0),
                                                       l = t.globals.xLabelFormatter;
                                                  s = new o.default(this.ctx).xLabelFormat(l, s);
                                                  var c = new r.default(this.ctx),
                                                       u = c.getTextRects(s, t.config.xaxis.labels.style.fontSize);
                                                  (i = { width: u.width, height: u.height }).width * e.length > t.globals.svgWidth - a - this.yAxisWidth && 0 !== t.config.xaxis.labels.rotate
                                                       ? this.isBarHorizontal ||
                                                         ((t.globals.rotateXLabels = !0),
                                                         (u = c.getTextRects(s, t.config.xaxis.labels.style.fontSize, t.config.xaxis.labels.style.fontFamily, "rotate(" + t.config.xaxis.labels.rotate + " 0 0)", !1)),
                                                         (i.height = u.height / 1.66))
                                                       : (t.globals.rotateXLabels = !1);
                                             }
                                             return t.config.xaxis.labels.show || (i = { width: 0, height: 0 }), { width: i.width, height: i.height };
                                        },
                                   },
                                   {
                                        key: "getyAxisLabelsCoords",
                                        value: function () {
                                             var t = this,
                                                  e = this.w,
                                                  i = [],
                                                  n = 10;
                                             return (
                                                  e.config.yaxis.map(function (o, a) {
                                                       if (o.show && o.labels.show && e.globals.yAxisScale[a].result.length) {
                                                            var s = e.globals.yLabelFormatters[a],
                                                                 l = s(e.globals.yAxisScale[a].niceMax, -1);
                                                            (void 0 !== l && 0 !== l.length) || (l = e.globals.yAxisScale[a].niceMax),
                                                                 t.isBarHorizontal &&
                                                                      ((n = 0),
                                                                      (l = s(
                                                                           (l = e.globals.labels.slice().reduce(function (t, e) {
                                                                                return t.length > e.length ? t : e;
                                                                           }, 0)),
                                                                           -1
                                                                      )));
                                                            var c = new r.default(t.ctx).getTextRects(l, o.labels.style.fontSize);
                                                            i.push({ width: c.width + n, height: c.height });
                                                       } else i.push({ width: 0, height: 0 });
                                                  }),
                                                  i
                                             );
                                        },
                                   },
                                   {
                                        key: "getxAxisTitleCoords",
                                        value: function () {
                                             var t = this.w,
                                                  e = 0,
                                                  i = 0;
                                             if (void 0 !== t.config.xaxis.title.text) {
                                                  var n = new r.default(this.ctx).getTextRects(t.config.xaxis.title.text, t.config.xaxis.title.style.fontSize);
                                                  (e = n.width), (i = n.height);
                                             }
                                             return { width: e, height: i };
                                        },
                                   },
                                   {
                                        key: "getyAxisTitleCoords",
                                        value: function () {
                                             var t = this,
                                                  e = this.w,
                                                  i = [];
                                             return (
                                                  e.config.yaxis.map(function (e, n) {
                                                       if (e.show && void 0 !== e.title.text) {
                                                            var o = new r.default(t.ctx).getTextRects(e.title.text, e.title.style.fontSize, e.title.style.fontFamily, "rotate(-90 0 0)", !1);
                                                            i.push({ width: o.width, height: o.height });
                                                       } else i.push({ width: 0, height: 0 });
                                                  }),
                                                  i
                                             );
                                        },
                                   },
                                   {
                                        key: "getTitleSubtitleCoords",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = 0,
                                                  n = 0,
                                                  r = "title" === t ? e.config.title.floating : e.config.subtitle.floating,
                                                  o = e.globals.dom.baseEl.querySelector(".apexcharts-" + t + "-text");
                                             if (null !== o && !r) {
                                                  var a = o.getBoundingClientRect();
                                                  (i = a.width), (n = e.globals.axisCharts ? a.height + 5 : a.height);
                                             }
                                             return { width: i, height: n };
                                        },
                                   },
                                   {
                                        key: "getLegendsRect",
                                        value: function () {
                                             var t = this.w,
                                                  e = t.globals.dom.baseEl.querySelector(".apexcharts-legend"),
                                                  i = Object.assign({}, a.default.getBoundingClientRect(e));
                                             return (
                                                  null !== e && !t.config.legend.floating && t.config.legend.show
                                                       ? (this.lgRect = { x: i.x, y: i.y, height: i.height, width: 0 === i.height ? 0 : i.width })
                                                       : (this.lgRect = { x: 0, y: 0, height: 0, width: 0 }),
                                                  this.lgRect
                                             );
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = c;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = s(i(0)),
                         o = s(i(50)),
                         a = s(i(33));
                    function s(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var l = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w);
                              var i = this.w;
                              (this.xaxisLabels = i.globals.labels.slice()),
                                   0 < i.globals.timelineLabels.length && (this.xaxisLabels = i.globals.timelineLabels.slice()),
                                   (this.drawnLabels = []),
                                   "top" === i.config.xaxis.position ? (this.offY = 0) : (this.offY = i.globals.gridHeight + 1),
                                   (this.offY = this.offY + i.config.xaxis.axisBorder.offsetY),
                                   (this.xaxisFontSize = i.config.xaxis.labels.style.fontSize),
                                   (this.xaxisFontFamily = i.config.xaxis.labels.style.fontFamily),
                                   (this.xaxisForeColors = i.config.xaxis.labels.style.colors),
                                   (this.xaxisBorderWidth = i.config.xaxis.axisBorder.width),
                                   -1 < this.xaxisBorderWidth.indexOf("%") ? (this.xaxisBorderWidth = (i.globals.gridWidth * parseInt(this.xaxisBorderWidth)) / 100) : (this.xaxisBorderWidth = parseInt(this.xaxisBorderWidth)),
                                   (this.xaxisBorderHeight = i.config.xaxis.axisBorder.height),
                                   (this.yaxis = i.config.yaxis[0]);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "drawXaxis",
                                        value: function () {
                                             var t = this.w,
                                                  e = new r.default(this.ctx),
                                                  i = e.group({ class: "apexcharts-xaxis", transform: "translate(" + t.config.xaxis.offsetX + ", " + t.config.xaxis.offsetY + ")" }),
                                                  n = e.group({ class: "apexcharts-xaxis-texts-g", transform: "translate(" + t.globals.translateXAxisX + ", " + t.globals.translateXAxisY + ")" });
                                             i.add(n);
                                             for (var o = void 0, s = t.globals.padHorizontal, l = [], c = 0; c < this.xaxisLabels.length; c++) l.push(this.xaxisLabels[c]);
                                             s =
                                                  "line" === t.config.chart.type || "area" === t.config.chart.type
                                                       ? t.globals.isXNumeric
                                                            ? s + (o = t.globals.gridWidth / (l.length - 1)) / 2 + t.config.xaxis.labels.offsetX
                                                            : s + (o = t.globals.noLabelsProvided ? t.globals.gridWidth / this.xaxisLabels.length : t.globals.gridWidth / l.length) + t.config.xaxis.labels.offsetX
                                                       : t.globals.isXNumeric
                                                       ? "bar" !== t.config.chart.type
                                                            ? s + (o = t.globals.gridWidth / (this.xaxisLabels.length - 1)) / 2 + t.config.xaxis.labels.offsetX
                                                            : s + (o = t.globals.gridWidth / t.globals.labels.length) / 2 + t.config.xaxis.labels.offsetX
                                                       : t.globals.noLabelsProvided && "bar" !== t.config.chart.type
                                                       ? s + (o = t.globals.gridWidth / this.xaxisLabels.length) / 2 + t.config.xaxis.labels.offsetX
                                                       : s + (o = t.globals.gridWidth / l.length) + t.config.xaxis.labels.offsetX;
                                             var u = t.globals.xLabelFormatter,
                                                  h = t.config.xaxis.labels.formatter,
                                                  d = l.length;
                                             if (t.config.xaxis.labels.show)
                                                  for (var p = 0; p <= d - 1; p++) {
                                                       var f = void 0 === l[p] ? "" : l[p],
                                                            m = void 0;
                                                       (m = new a.default(this.ctx).xLabelFormat(u, f)), void 0 !== h && (m = h(f, this.xaxisLabels[p], p));
                                                       var g = s - o / 2 + t.config.xaxis.labels.offsetX;
                                                       0 < t.globals.timelineLabels.length && ((g = t.globals.timelineLabels[p].position), (m = t.globals.timelineLabels[p].value)),
                                                            (0 === (m = m.toString()).indexOf("NaN") ||
                                                                 "undefined" === m ||
                                                                 0 === m.toLowerCase().indexOf("invalid") ||
                                                                 0 <= m.toLowerCase().indexOf("infinity") ||
                                                                 (0 <= this.drawnLabels.indexOf(m) && !t.config.xaxis.labels.showDuplicates)) &&
                                                                 (m = ""),
                                                            this.drawnLabels.push(m);
                                                       var v = 28;
                                                       t.globals.rotateXLabels && (v = 22);
                                                       var y = e.drawText({
                                                            x: g,
                                                            y: this.offY + t.config.xaxis.labels.offsetY + v,
                                                            text: "",
                                                            textAnchor: "middle",
                                                            fontSize: this.xaxisFontSize,
                                                            fontFamily: this.xaxisFontFamily,
                                                            foreColor: Array.isArray(this.xaxisForeColors) ? this.xaxisForeColors[p] : this.xaxisForeColors,
                                                            cssClass: "apexcharts-xaxis-label " + t.config.xaxis.labels.style.cssClass,
                                                       });
                                                       n.add(y), e.addTspan(y, m, this.xaxisFontFamily);
                                                       var b = document.createElementNS(t.globals.svgNS, "title");
                                                       (b.textContent = m), y.node.appendChild(b), (s += o);
                                                  }
                                             if (void 0 !== t.config.xaxis.title.text) {
                                                  var _ = e.group({ class: "apexcharts-xaxis-title" }),
                                                       x = e.drawText({
                                                            x: t.globals.gridWidth / 2 + t.config.xaxis.title.offsetX,
                                                            y: this.offY - parseInt(this.xaxisFontSize) + t.globals.xAxisLabelsHeight + t.config.xaxis.title.offsetY,
                                                            text: t.config.xaxis.title.text,
                                                            textAnchor: "middle",
                                                            fontSize: t.config.xaxis.title.style.fontSize,
                                                            fontFamily: t.config.xaxis.title.style.fontFamily,
                                                            foreColor: t.config.xaxis.title.style.color,
                                                            cssClass: "apexcharts-xaxis-title-text " + t.config.xaxis.title.style.cssClass,
                                                       });
                                                  _.add(x), i.add(_);
                                             }
                                             if (t.config.xaxis.axisBorder.show) {
                                                  var w = 0;
                                                  "bar" === t.config.chart.type && t.globals.isXNumeric && (w -= 15);
                                                  var k = e.drawLine(t.globals.padHorizontal + w + t.config.xaxis.axisBorder.offsetX, this.offY, this.xaxisBorderWidth, this.offY, t.config.xaxis.axisBorder.color, 0, this.xaxisBorderHeight);
                                                  i.add(k);
                                             }
                                             return i;
                                        },
                                   },
                                   {
                                        key: "drawXaxisInversed",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = new r.default(this.ctx),
                                                  n = i.group({ class: "apexcharts-yaxis apexcharts-xaxis-inversed", rel: t }),
                                                  a = i.group({ class: "apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g" });
                                             n.add(a);
                                             for (var s, l = void 0, c = [], u = 0; u < this.xaxisLabels.length; u++) c.push(this.xaxisLabels[u]);
                                             l = -(s = e.globals.gridHeight / c.length) / 2.2;
                                             var h = e.globals.yLabelFormatters[0],
                                                  d = e.config.yaxis[0].labels;
                                             if (d.show)
                                                  for (var p = 0; p <= c.length - 1; p++) {
                                                       var f = void 0 === c[p] ? "" : c[p];
                                                       f = h(f);
                                                       var m = i.drawText({
                                                            x: d.offsetX - 15,
                                                            y: l + s + d.offsetY,
                                                            text: f,
                                                            textAnchor: "end",
                                                            foreColor: d.style.color ? d.style.color : d.style.colors[p],
                                                            fontSize: d.style.fontSize,
                                                            fontFamily: d.style.fontFamily,
                                                            cssClass: "apexcharts-yaxis-label " + d.style.cssClass,
                                                       });
                                                       a.add(m), (l += s);
                                                  }
                                             if (void 0 !== e.config.yaxis[0].title.text) {
                                                  var g = i.group({ class: "apexcharts-yaxis-title apexcharts-xaxis-title-inversed" }),
                                                       v = i.drawText({
                                                            x: 0,
                                                            y: e.globals.gridHeight / 2,
                                                            text: e.config.yaxis[0].title.text,
                                                            textAnchor: "middle",
                                                            foreColor: e.config.yaxis[0].title.style.color,
                                                            fontSize: e.config.yaxis[0].title.style.fontSize,
                                                            fontFamily: e.config.yaxis[0].title.style.fontFamily,
                                                            cssClass: "apexcharts-yaxis-title-text " + e.config.yaxis[0].title.style.cssClass,
                                                       });
                                                  g.add(v), n.add(g);
                                             }
                                             if (e.config.xaxis.axisBorder.show) {
                                                  var y = i.drawLine(e.globals.padHorizontal + e.config.xaxis.axisBorder.offsetX, this.offY, this.xaxisBorderWidth, this.offY, this.yaxis.axisBorder.color, 0, this.xaxisBorderHeight);
                                                  n.add(y), new o.default(this.ctx).drawAxisTicks(0, c.length, e.config.yaxis[0].axisBorder, e.config.yaxis[0].axisTicks, 0, s, n);
                                             }
                                             return n;
                                        },
                                   },
                                   {
                                        key: "drawXaxisTicks",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = t;
                                             if (!(t < 0 || t > i.globals.gridWidth)) {
                                                  var o = this.offY + i.config.xaxis.axisTicks.offsetY,
                                                       a = o + i.config.xaxis.axisTicks.height;
                                                  if (i.config.xaxis.axisTicks.show) {
                                                       var s = new r.default(this.ctx).drawLine(
                                                            t + i.config.xaxis.axisTicks.offsetX,
                                                            o + i.config.xaxis.offsetY,
                                                            n + i.config.xaxis.axisTicks.offsetX,
                                                            a + i.config.xaxis.offsetY,
                                                            i.config.xaxis.axisTicks.color
                                                       );
                                                       e.add(s), s.node.classList.add("apexcharts-xaxis-tick");
                                                  }
                                             }
                                        },
                                   },
                                   {
                                        key: "getXAxisTicksPositions",
                                        value: function () {
                                             var t = this.w,
                                                  e = [],
                                                  i = this.xaxisLabels.length,
                                                  n = t.globals.padHorizontal;
                                             if (0 < t.globals.timelineLabels.length) for (var r = 0; r < i; r++) (n = this.xaxisLabels[r].position), e.push(n);
                                             else
                                                  for (var o = i, a = 0; a < o; a++) {
                                                       var s = o;
                                                       t.globals.isXNumeric && "bar" !== t.config.chart.type && (s -= 1), (n += t.globals.gridWidth / s), e.push(n);
                                                  }
                                             return e;
                                        },
                                   },
                                   {
                                        key: "xAxisLabelCorrections",
                                        value: function () {
                                             var t = this.w,
                                                  e = new r.default(this.ctx),
                                                  i = t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g"),
                                                  n = t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-texts-g text"),
                                                  o = t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-inversed text"),
                                                  a = t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-inversed-texts-g text");
                                             if (t.globals.rotateXLabels || t.config.xaxis.labels.rotateAlways)
                                                  for (var s = 0; s < n.length; s++) {
                                                       var l = e.rotateAroundCenter(n[s]);
                                                       (l.y = l.y - 1),
                                                            (l.x = l.x + 1),
                                                            n[s].setAttribute("transform", "rotate(" + t.config.xaxis.labels.rotate + " " + l.x + " " + l.y + ")"),
                                                            n[s].setAttribute("text-anchor", "end"),
                                                            i.setAttribute("transform", "translate(0, -10)");
                                                       var c = n[s].childNodes;
                                                       t.config.xaxis.labels.trim && e.placeTextWithEllipsis(c[0], c[0].textContent, t.config.xaxis.labels.maxHeight - 40);
                                                  }
                                             else
                                                  for (var u = t.globals.gridWidth / t.globals.labels.length, h = 0; h < n.length; h++) {
                                                       var d = n[h].childNodes;
                                                       t.config.xaxis.labels.trim && "bar" !== t.config.chart.type && t.config.plotOptions.bar.horizontal && e.placeTextWithEllipsis(d[0], d[0].textContent, u);
                                                  }
                                             if (0 < o.length) {
                                                  var p = o[o.length - 1].getBBox(),
                                                       f = o[0].getBBox();
                                                  p.x < -20 && o[o.length - 1].parentNode.removeChild(o[o.length - 1]), f.x + f.width > t.globals.gridWidth && o[0].parentNode.removeChild(o[0]);
                                                  for (var m = 0; m < a.length; m++) e.placeTextWithEllipsis(a[m], a[m].textContent, t.config.yaxis[0].labels.maxWidth - 2 * parseInt(t.config.yaxis[0].title.style.fontSize) - 20);
                                             }
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = l;
               },
               function (t, e, i) {
                    "use strict";
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(0)) && n.__esModule ? n : { default: n },
                         a = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.ctx = e),
                                        (this.w = e.w),
                                        (this.xaxisFontSize = this.w.config.xaxis.labels.style.fontSize),
                                        (this.axisFontFamily = this.w.config.xaxis.labels.style.fontFamily),
                                        (this.isBarHorizontal = !("bar" !== this.w.config.chart.type || !this.w.config.plotOptions.bar.horizontal)),
                                        (this.xaxisForeColors = this.w.config.xaxis.labels.style.colors),
                                        (this.xAxisoffX = 0),
                                        "bottom" === this.w.config.xaxis.position && (this.xAxisoffX = this.w.globals.gridHeight);
                              }
                              return (
                                   r(t, [
                                        {
                                             key: "drawYaxis",
                                             value: function (t, e) {
                                                  var i = this.w,
                                                       n = new o.default(this.ctx),
                                                       r = i.config.yaxis[e].labels.style.fontSize,
                                                       a = i.config.yaxis[e].labels.style.fontFamily,
                                                       s = n.group({ class: "apexcharts-yaxis", rel: e, transform: "translate(" + i.globals.translateYAxisX[e] + ", 0)" });
                                                  if (!i.config.yaxis[e].show) return s;
                                                  var l = n.group({ class: "apexcharts-yaxis-texts-g" });
                                                  s.add(l);
                                                  var c = i.globals.yAxisScale[e].result.length - 1,
                                                       u = i.globals.gridHeight / c + 0.1,
                                                       h = i.globals.translateY,
                                                       d = i.globals.yLabelFormatters[e];
                                                  if (i.config.yaxis[e].labels.show)
                                                       for (var p = c; 0 <= p; p--) {
                                                            var f = i.globals.yAxisScale[e].result[p];
                                                            f = d(f, p);
                                                            var m = 20;
                                                            i.config.yaxis[e].opposite && (m *= -1), 0 === i.config.yaxis.length && (m = 20);
                                                            var g = n.drawText({
                                                                 x: m,
                                                                 y: h + c / 10 + i.config.yaxis[e].labels.offsetY + 1,
                                                                 text: f,
                                                                 textAnchor: i.config.yaxis[e].opposite ? "start" : "end",
                                                                 fontSize: r,
                                                                 fontFamily: a,
                                                                 foreColor: i.config.yaxis[e].labels.style.color,
                                                                 cssClass: "apexcharts-yaxis-label " + i.config.yaxis[e].labels.style.cssClass,
                                                            });
                                                            l.add(g), (h += u);
                                                       }
                                                  if (void 0 !== i.config.yaxis[e].title.text) {
                                                       var v = n.group({ class: "apexcharts-yaxis-title" }),
                                                            y = 0;
                                                       i.config.yaxis[e].opposite && (y = i.globals.translateYAxisX[e]);
                                                       var b = n.drawText({
                                                            x: y,
                                                            y: i.globals.gridHeight / 2 + i.globals.translateY,
                                                            text: i.config.yaxis[e].title.text,
                                                            textAnchor: "end",
                                                            foreColor: i.config.yaxis[e].title.style.color,
                                                            fontSize: i.config.yaxis[e].title.style.fontSize,
                                                            fontFamily: i.config.yaxis[e].title.style.fontFamily,
                                                            cssClass: "apexcharts-yaxis-title-text " + i.config.yaxis[e].title.style.cssClass,
                                                       });
                                                       v.add(b), s.add(v);
                                                  }
                                                  var _ = i.config.yaxis[e].axisBorder;
                                                  if (_.show) {
                                                       var x = 31 + _.offsetX;
                                                       i.config.yaxis[e].opposite && (x = -31 - _.offsetX);
                                                       var w = n.drawLine(x, i.globals.translateY + _.offsetY - 2, x, i.globals.gridHeight + i.globals.translateY + _.offsetY + 2, _.color);
                                                       s.add(w), this.drawAxisTicks(x, c, _, i.config.yaxis[e].axisTicks, e, u, s);
                                                  }
                                                  return s;
                                             },
                                        },
                                        {
                                             key: "drawYaxisInversed",
                                             value: function (t) {
                                                  var e = this.w,
                                                       i = new o.default(this.ctx),
                                                       n = i.group({ class: "apexcharts-xaxis apexcharts-yaxis-inversed" }),
                                                       r = i.group({ class: "apexcharts-xaxis-texts-g", transform: "translate(" + e.globals.translateXAxisX + ", " + e.globals.translateXAxisY + ")" });
                                                  n.add(r);
                                                  var a = e.globals.yAxisScale[t].result.length - 1,
                                                       s = e.globals.gridWidth / a + 0.1,
                                                       l = s + e.config.xaxis.labels.offsetX,
                                                       c = e.globals.xLabelFormatter;
                                                  if (e.config.xaxis.labels.show)
                                                       for (var u = a; 0 <= u; u--) {
                                                            var h = e.globals.yAxisScale[t].result[u];
                                                            h = c(h, u);
                                                            var d = i.drawText({
                                                                 x: e.globals.gridWidth + e.globals.padHorizontal - (l - s + e.config.xaxis.labels.offsetX),
                                                                 y: this.xAxisoffX + e.config.xaxis.labels.offsetY + 30,
                                                                 text: "",
                                                                 textAnchor: "middle",
                                                                 foreColor: Array.isArray(this.xaxisForeColors) ? this.xaxisForeColors[t] : this.xaxisForeColors,
                                                                 fontSize: this.xaxisFontSize,
                                                                 fontFamily: this.xaxisFontFamily,
                                                                 cssClass: "apexcharts-xaxis-label " + e.config.xaxis.labels.style.cssClass,
                                                            });
                                                            r.add(d), d.tspan(h);
                                                            var p = document.createElementNS(e.globals.svgNS, "title");
                                                            (p.textContent = h), d.node.appendChild(p), (l += s);
                                                       }
                                                  if (void 0 !== e.config.xaxis.title.text) {
                                                       var f = i.group({ class: "apexcharts-xaxis-title apexcharts-yaxis-title-inversed" }),
                                                            m = i.drawText({
                                                                 x: e.globals.gridWidth / 2,
                                                                 y: this.xAxisoffX + parseInt(this.xaxisFontSize) + parseInt(e.config.xaxis.title.style.fontSize) + 20,
                                                                 text: e.config.xaxis.title.text,
                                                                 textAnchor: "middle",
                                                                 fontSize: e.config.xaxis.title.style.fontSize,
                                                                 fontFamily: e.config.xaxis.title.style.fontFamily,
                                                                 cssClass: "apexcharts-xaxis-title-text " + e.config.xaxis.title.style.cssClass,
                                                            });
                                                       f.add(m), n.add(f);
                                                  }
                                                  var g = e.config.yaxis[t].axisBorder;
                                                  if (g.show) {
                                                       var v = i.drawLine(e.globals.padHorizontal + g.offsetX, 1 + g.offsetY, e.globals.padHorizontal + g.offsetX, e.globals.gridHeight + g.offsetY, g.color);
                                                       n.add(v);
                                                  }
                                                  return n;
                                             },
                                        },
                                        {
                                             key: "drawAxisTicks",
                                             value: function (t, e, i, n, r, a, s) {
                                                  var l = this.w,
                                                       c = new o.default(this.ctx),
                                                       u = l.globals.translateY;
                                                  if (n.show) {
                                                       !0 === l.config.yaxis[r].opposite && (t += n.width);
                                                       for (var h = e; 0 <= h; h--) {
                                                            var d = u + e / 10 + l.config.yaxis[r].labels.offsetY - 1;
                                                            this.isBarHorizontal && (d = a * h);
                                                            var p = c.drawLine(t + i.offsetX - n.width + n.offsetX, d + n.offsetY, t + i.offsetX + n.offsetX, d + n.offsetY, i.color);
                                                            s.add(p), (u += a);
                                                       }
                                                  }
                                             },
                                        },
                                        {
                                             key: "yAxisTitleRotate",
                                             value: function (t, e) {
                                                  var i = this.w,
                                                       n = new o.default(this.ctx),
                                                       r = { width: 0, height: 0 },
                                                       a = { width: 0, height: 0 },
                                                       s = i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='" + t + "'] .apexcharts-yaxis-texts-g");
                                                  null !== s && (r = s.getBoundingClientRect());
                                                  var l = i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='" + t + "'] .apexcharts-yaxis-title text");
                                                  if ((null !== l && (a = l.getBoundingClientRect()), null !== l)) {
                                                       var c = this.xPaddingForYAxisTitle(t, r, a, e);
                                                       l.setAttribute("x", c.xPos - (e ? 10 : 0));
                                                  }
                                                  if (null !== l) {
                                                       var u = n.rotateAroundCenter(l);
                                                       e ? l.setAttribute("transform", "rotate(90 " + u.x + " " + u.y + ")") : l.setAttribute("transform", "rotate(-90 " + u.x + " " + u.y + ")");
                                                  }
                                             },
                                        },
                                        {
                                             key: "xPaddingForYAxisTitle",
                                             value: function (t, e, i, n) {
                                                  var r = this.w,
                                                       o = 0,
                                                       a = 0,
                                                       s = 20;
                                                  return (
                                                       n
                                                            ? ((a = e.width + r.config.yaxis[t].title.offsetX + s + i.width / 2 - 15), 0 === (o += 1) && (a -= 15))
                                                            : ((a = -1 * e.width + r.config.yaxis[t].title.offsetX + s + i.width / 2 - 15), this.isBarHorizontal && ((s = 25), (a = -1 * e.width - r.config.yaxis[t].title.offsetX - s))),
                                                       { xPos: a, padd: s }
                                                  );
                                             },
                                        },
                                        {
                                             key: "setYAxisXPosition",
                                             value: function (t, e) {
                                                  var i = this,
                                                       n = this.w,
                                                       r = 0,
                                                       o = 0,
                                                       a = 0,
                                                       s = 1;
                                                  (this.multipleYs = !1),
                                                       1 < n.config.yaxis.length && (this.multipleYs = !0),
                                                       n.config.yaxis.map(function (l, c) {
                                                            var u = t[c].width + e[c].width,
                                                                 h = i.multipleYs && 0 < e[c].width ? 20 : 8,
                                                                 d = i.xPaddingForYAxisTitle(c, { width: t[c].width }, { width: e[c].width }, l.opposite);
                                                            if ((1 < n.config.yaxis.length ? (u += Math.abs(d.padd)) : void 0 === l.title.text ? (u = u + Math.abs(d.padd) + 15) : (u += Math.abs(d.padd)), l.opposite))
                                                                 (o = n.globals.gridWidth + n.globals.translateX + s + 30 + (n.globals.series.length - n.globals.collapsedSeries.length)),
                                                                      n.globals.collapsedSeries.forEach(function (t) {
                                                                           t.index === c && (s -= u);
                                                                      }),
                                                                      (s += u),
                                                                      (n.globals.translateYAxisX[c] = o - l.labels.offsetX);
                                                            else {
                                                                 var p = u + 5;
                                                                 -1 < n.globals.ignoreYAxisIndexes.indexOf(c) && (p = 0),
                                                                      (r = i.multipleYs
                                                                           ? n.globals.translateX - u - a + h + parseInt(n.config.yaxis[c].labels.style.fontSize) + l.labels.offsetX
                                                                           : n.globals.translateX - u + t[c].width + l.labels.offsetX),
                                                                      (a += p),
                                                                      (n.globals.translateYAxisX[c] = r);
                                                            }
                                                       });
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    t.exports = a;
               },
               function (t, e, i) {
                    "use strict";
                    var n =
                              "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                   ? function (t) {
                                          return typeof t;
                                     }
                                   : function (t) {
                                          return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                     },
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = l(i(143)),
                         a = l(i(1)),
                         s = l(i(52));
                    function l(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var c = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.opts = e);
                         }
                         return (
                              r(t, [
                                   {
                                        key: "init",
                                        value: function () {
                                             var t = this.opts,
                                                  e = new s.default(),
                                                  i = new o.default(t);
                                             (this.chartType = t.chart.type),
                                                  "histogram" === this.chartType && ((t.chart.type = "bar"), (t = a.default.extend({ plotOptions: { bar: { columnWidth: "99.99%" } } }, t))),
                                                  (t.series = this.checkEmptySeries(t.series)),
                                                  (t = this.extendYAxis(t)),
                                                  (t = this.extendAnnotations(t));
                                             var r = e.init(),
                                                  l = {};
                                             if (t && "object" === (void 0 === t ? "undefined" : n(t))) {
                                                  var c = {};
                                                  switch (this.chartType) {
                                                       case "line":
                                                            c = i.line();
                                                            break;
                                                       case "area":
                                                            c = i.area();
                                                            break;
                                                       case "bar":
                                                            c = i.bar();
                                                            break;
                                                       case "candlestick":
                                                            c = i.candlestick();
                                                            break;
                                                       case "histogram":
                                                            c = i.bar();
                                                            break;
                                                       case "bubble":
                                                            c = i.bubble();
                                                            break;
                                                       case "scatter":
                                                            c = i.scatter();
                                                            break;
                                                       case "heatmap":
                                                            c = i.heatmap();
                                                            break;
                                                       case "pie":
                                                            c = i.pie();
                                                            break;
                                                       case "donut":
                                                            c = i.donut();
                                                            break;
                                                       case "radar":
                                                            c = i.radar();
                                                            break;
                                                       case "radialBar":
                                                            c = i.radialBar();
                                                            break;
                                                       default:
                                                            c = i.line();
                                                  }
                                                  t.chart.brush && t.chart.brush.enabled && (c = i.brush(c)),
                                                       t.chart.stacked && "100%" === t.chart.stackType && i.stacked100(),
                                                       ((t.chart.sparkline && t.chart.sparkline.enabled) || (window.Apex.chart && window.Apex.chart.sparkline && window.Apex.chart.sparkline.enabled)) && (c = i.sparkline(c)),
                                                       (l = a.default.extend(r, c));
                                             }
                                             var u = a.default.extend(l, window.Apex);
                                             return (r = a.default.extend(u, t)), this.handleUserInputErrors(r);
                                        },
                                   },
                                   {
                                        key: "extendYAxis",
                                        value: function (t) {
                                             var e = new s.default();
                                             return (
                                                  void 0 === t.yaxis && (t.yaxis = {}),
                                                  t.yaxis.constructor !== Array && window.Apex.yaxis && window.Apex.yaxis.constructor !== Array && (t.yaxis = a.default.extend(t.yaxis, window.Apex.yaxis)),
                                                  t.yaxis.constructor !== Array ? (t.yaxis = [a.default.extend(e.yAxis, t.yaxis)]) : (t.yaxis = a.default.extendArray(t.yaxis, e.yAxis)),
                                                  t
                                             );
                                        },
                                   },
                                   {
                                        key: "extendAnnotations",
                                        value: function (t) {
                                             return (
                                                  void 0 === t.annotations && ((t.annotations = {}), (t.annotations.yaxis = []), (t.annotations.xaxis = []), (t.annotations.points = [])),
                                                  (t = this.extendYAxisAnnotations(t)),
                                                  (t = this.extendXAxisAnnotations(t)),
                                                  this.extendPointAnnotations(t)
                                             );
                                        },
                                   },
                                   {
                                        key: "extendYAxisAnnotations",
                                        value: function (t) {
                                             var e = new s.default();
                                             return (t.annotations.yaxis = a.default.extendArray(void 0 !== t.annotations.yaxis ? t.annotations.yaxis : [], e.yAxisAnnotation)), t;
                                        },
                                   },
                                   {
                                        key: "extendXAxisAnnotations",
                                        value: function (t) {
                                             var e = new s.default();
                                             return (t.annotations.xaxis = a.default.extendArray(void 0 !== t.annotations.xaxis ? t.annotations.xaxis : [], e.xAxisAnnotation)), t;
                                        },
                                   },
                                   {
                                        key: "extendPointAnnotations",
                                        value: function (t) {
                                             var e = new s.default();
                                             return (t.annotations.points = a.default.extendArray(void 0 !== t.annotations.points ? t.annotations.points : [], e.pointAnnotation)), t;
                                        },
                                   },
                                   {
                                        key: "checkEmptySeries",
                                        value: function (t) {
                                             return 0 === t.length ? [{ data: [] }] : t;
                                        },
                                   },
                                   {
                                        key: "handleUserInputErrors",
                                        value: function (t) {
                                             var e = t;
                                             if (e.tooltip.shared && e.tooltip.intersect) throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false");
                                             if ((e.chart.scroller && console.warn("Scroller has been deprecated since v2.0.0. Please remove the configuration for chart.scroller"), "bar" === e.chart.type && e.plotOptions.bar.horizontal)) {
                                                  if ("datetime" === e.xaxis.type) throw new Error("Timelines on bars are not supported yet. Switch to column chart by setting plotOptions.bar.horizontal=false");
                                                  if (1 < e.yaxis.length) throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");
                                                  (e.xaxis.tooltip.enabled = !1), (e.yaxis[0].tooltip.enabled = !1), (e.chart.zoom.enabled = !1);
                                             }
                                             return (
                                                  "bar" === e.chart.type &&
                                                       e.tooltip.shared &&
                                                       ("barWidth" === e.xaxis.crosshairs.width &&
                                                            1 < e.series.length &&
                                                            (console.warn('crosshairs.width = "barWidth" is only supported in single series, not in a multi-series barChart'), (e.xaxis.crosshairs.width = "tickWidth")),
                                                       e.plotOptions.bar.horizontal && (e.states.hover.type = "none"),
                                                       e.tooltip.followCursor || (console.warn("followCursor option in shared columns cannot be turned off"), (e.tooltip.followCursor = !0))),
                                                  Array.isArray(e.stroke.width) &&
                                                       "line" !== e.chart.type &&
                                                       "area" !== e.chart.type &&
                                                       (console.warn("stroke.width option accepts array only for line and area charts. Reverted back to Number"), (e.stroke.width = e.stroke.width[0])),
                                                  e
                                             );
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = c;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = i(83),
                         o = (function () {
                              function t() {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.yAxis = {
                                             show: !0,
                                             opposite: !1,
                                             logarithmic: !1,
                                             logBase: 10,
                                             tickAmount: void 0,
                                             max: void 0,
                                             min: void 0,
                                             decimalsInFloat: 2,
                                             floating: !1,
                                             seriesName: void 0,
                                             labels: { show: !0, minWidth: 0, maxWidth: 160, offsetX: 0, offsetY: 0, style: { colors: [], fontSize: "11px", fontFamily: void 0, cssClass: "apexcharts-yaxis-label" }, formatter: void 0 },
                                             axisBorder: { show: !1, color: "#78909C", offsetX: 0, offsetY: 0 },
                                             axisTicks: { show: !1, color: "#78909C", width: 6, offsetX: 0, offsetY: 0 },
                                             title: { text: void 0, rotate: -90, offsetY: 0, offsetX: 0, style: { color: void 0, fontSize: "11px", fontFamily: void 0, cssClass: "apexcharts-yaxis-title" } },
                                             tooltip: { enabled: !1, offsetX: 0 },
                                             crosshairs: { show: !0, position: "front", stroke: { color: "#b6b6b6", width: 1, dashArray: 0 } },
                                        }),
                                        (this.xAxisAnnotation = {
                                             x: 0,
                                             strokeDashArray: 4,
                                             borderColor: "#c2c2c2",
                                             offsetX: 0,
                                             offsetY: 0,
                                             label: {
                                                  borderColor: "#c2c2c2",
                                                  borderWidth: 1,
                                                  text: void 0,
                                                  textAnchor: "middle",
                                                  orientation: "vertical",
                                                  position: "top",
                                                  offsetX: 0,
                                                  offsetY: 0,
                                                  style: { background: "#fff", color: void 0, fontSize: "11px", fontFamily: void 0, cssClass: "apexcharts-xaxis-annotation-label", padding: { left: 5, right: 5, top: 2, bottom: 2 } },
                                             },
                                        }),
                                        (this.yAxisAnnotation = {
                                             y: 0,
                                             strokeDashArray: 4,
                                             borderColor: "#c2c2c2",
                                             offsetX: 0,
                                             offsetY: 0,
                                             yAxisIndex: 0,
                                             label: {
                                                  borderColor: "#c2c2c2",
                                                  borderWidth: 1,
                                                  text: void 0,
                                                  textAnchor: "end",
                                                  position: "right",
                                                  offsetX: 0,
                                                  offsetY: -3,
                                                  style: { background: "#fff", color: void 0, fontSize: "11px", fontFamily: void 0, cssClass: "apexcharts-yaxis-annotation-label", padding: { left: 5, right: 5, top: 0, bottom: 2 } },
                                             },
                                        }),
                                        (this.pointAnnotation = {
                                             x: 0,
                                             y: null,
                                             yAxisIndex: 0,
                                             seriesIndex: 0,
                                             marker: { size: 0, fillColor: "#fff", strokeWidth: 2, strokeColor: "#333", shape: "circle", offsetX: 0, offsetY: 0, radius: 2 },
                                             label: {
                                                  borderColor: "#c2c2c2",
                                                  borderWidth: 1,
                                                  text: void 0,
                                                  textAnchor: "middle",
                                                  offsetX: 0,
                                                  offsetY: -15,
                                                  style: { background: "#fff", color: void 0, fontSize: "11px", fontFamily: void 0, cssClass: "apexcharts-point-annotation-label", padding: { left: 5, right: 5, top: 0, bottom: 2 } },
                                             },
                                        });
                              }
                              return (
                                   n(t, [
                                        {
                                             key: "init",
                                             value: function () {
                                                  return {
                                                       annotations: { position: "front", yaxis: [this.yAxisAnnotation], xaxis: [this.xAxisAnnotation], points: [this.pointAnnotation] },
                                                       chart: {
                                                            animations: { enabled: !0, easing: "easeinout", speed: 800, animateGradually: { delay: 150, enabled: !0 }, dynamicAnimation: { enabled: !0, speed: 350 } },
                                                            background: "transparent",
                                                            locales: [r],
                                                            defaultLocale: "en",
                                                            dropShadow: { enabled: !1, enabledSeries: void 0, top: 2, left: 2, blur: 4, opacity: 0.35 },
                                                            events: {
                                                                 animationEnd: void 0,
                                                                 beforeMount: void 0,
                                                                 mounted: void 0,
                                                                 updated: void 0,
                                                                 click: void 0,
                                                                 legendClick: void 0,
                                                                 selection: void 0,
                                                                 dataPointSelection: void 0,
                                                                 dataPointMouseEnter: void 0,
                                                                 dataPointMouseLeave: void 0,
                                                                 beforeZoom: void 0,
                                                                 zoomed: void 0,
                                                                 scrolled: void 0,
                                                            },
                                                            foreColor: "#373d3f",
                                                            fontFamily: "Helvetica, Arial, sans-serif",
                                                            height: "auto",
                                                            id: void 0,
                                                            offsetX: 0,
                                                            offsetY: 0,
                                                            selection: {
                                                                 enabled: !1,
                                                                 type: "x",
                                                                 fill: { color: "#24292e", opacity: 0.1 },
                                                                 stroke: { width: 1, color: "#24292e", opacity: 0.4, dashArray: 3 },
                                                                 xaxis: { min: void 0, max: void 0 },
                                                                 yaxis: { min: void 0, max: void 0 },
                                                            },
                                                            sparkline: { enabled: !1 },
                                                            brush: { enabled: !1, autoScaleYaxis: !1, target: void 0 },
                                                            stacked: !1,
                                                            stackType: "normal",
                                                            toolbar: { show: !0, tools: { download: !0, selection: !0, zoom: !0, zoomin: !0, zoomout: !0, pan: !0, reset: !0 }, autoSelected: "zoom" },
                                                            type: "line",
                                                            updateOnElementResize: !1,
                                                            width: "100%",
                                                            zoom: { enabled: !0, type: "x", zoomedArea: { fill: { color: "#90CAF9", opacity: 0.4 }, stroke: { color: "#0D47A1", opacity: 0.4, width: 1 } } },
                                                       },
                                                       plotOptions: {
                                                            bar: {
                                                                 horizontal: !1,
                                                                 endingShape: "flat",
                                                                 columnWidth: "70%",
                                                                 barHeight: "70%",
                                                                 distributed: !1,
                                                                 colors: { ranges: [], backgroundBarColors: [], backgroundBarOpacity: 1 },
                                                                 dataLabels: { position: "top" },
                                                            },
                                                            candlestick: { colors: { upward: "#00B746", downward: "#EF403C" }, wick: { useFillColor: !0 } },
                                                            heatmap: { radius: 2, enableShades: !0, shadeIntensity: 0.5, distributed: !1, colorScale: { inverse: !1, ranges: [], min: void 0, max: void 0 } },
                                                            radialBar: {
                                                                 size: void 0,
                                                                 inverseOrder: !1,
                                                                 startAngle: 0,
                                                                 endAngle: 360,
                                                                 offsetX: 0,
                                                                 offsetY: 0,
                                                                 hollow: {
                                                                      margin: 5,
                                                                      size: "50%",
                                                                      background: "transparent",
                                                                      image: void 0,
                                                                      imageWidth: 150,
                                                                      imageHeight: 150,
                                                                      imageOffsetX: 0,
                                                                      imageOffsetY: 0,
                                                                      imageClipped: !0,
                                                                      position: "front",
                                                                      dropShadow: { enabled: !1, top: 0, left: 0, blur: 3, opacity: 0.5 },
                                                                 },
                                                                 track: {
                                                                      show: !0,
                                                                      startAngle: void 0,
                                                                      endAngle: void 0,
                                                                      background: "#f2f2f2",
                                                                      strokeWidth: "97%",
                                                                      opacity: 1,
                                                                      margin: 5,
                                                                      dropShadow: { enabled: !1, top: 0, left: 0, blur: 3, opacity: 0.5 },
                                                                 },
                                                                 dataLabels: {
                                                                      show: !0,
                                                                      name: { show: !0, fontSize: "16px", fontFamily: void 0, color: void 0, offsetY: 0 },
                                                                      value: {
                                                                           show: !0,
                                                                           fontSize: "14px",
                                                                           fontFamily: void 0,
                                                                           color: void 0,
                                                                           offsetY: 16,
                                                                           formatter: function (t) {
                                                                                return t + "%";
                                                                           },
                                                                      },
                                                                      total: {
                                                                           show: !1,
                                                                           label: "Total",
                                                                           color: "#373d3f",
                                                                           formatter: function (t) {
                                                                                return (
                                                                                     t.globals.seriesTotals.reduce(function (t, e) {
                                                                                          return t + e;
                                                                                     }, 0) /
                                                                                          t.globals.series.length +
                                                                                     "%"
                                                                                );
                                                                           },
                                                                      },
                                                                 },
                                                            },
                                                            pie: {
                                                                 size: void 0,
                                                                 customScale: 1,
                                                                 offsetX: 0,
                                                                 offsetY: 0,
                                                                 expandOnClick: !0,
                                                                 dataLabels: { offset: 0 },
                                                                 donut: {
                                                                      size: "65%",
                                                                      background: "transparent",
                                                                      labels: {
                                                                           show: !1,
                                                                           name: { show: !0, fontSize: "16px", fontFamily: void 0, color: void 0, offsetY: -10 },
                                                                           value: {
                                                                                show: !0,
                                                                                fontSize: "20px",
                                                                                fontFamily: void 0,
                                                                                color: void 0,
                                                                                offsetY: 10,
                                                                                formatter: function (t) {
                                                                                     return t;
                                                                                },
                                                                           },
                                                                           total: {
                                                                                show: !1,
                                                                                label: "Total",
                                                                                color: "#373d3f",
                                                                                formatter: function (t) {
                                                                                     return t.globals.seriesTotals.reduce(function (t, e) {
                                                                                          return t + e;
                                                                                     }, 0);
                                                                                },
                                                                           },
                                                                      },
                                                                 },
                                                            },
                                                            radar: { size: void 0, customScale: 1, offsetX: 0, offsetY: 0, polygons: { strokeColor: "#e8e8e8", fill: { colors: void 0 } } },
                                                       },
                                                       colors: void 0,
                                                       dataLabels: {
                                                            enabled: !0,
                                                            formatter: function (t) {
                                                                 return t;
                                                            },
                                                            textAnchor: "middle",
                                                            offsetX: 0,
                                                            offsetY: 0,
                                                            style: { fontSize: "12px", fontFamily: void 0, colors: void 0 },
                                                            dropShadow: { enabled: !1, top: 1, left: 1, blur: 1, opacity: 0.45 },
                                                       },
                                                       fill: {
                                                            type: "solid",
                                                            colors: void 0,
                                                            opacity: 0.85,
                                                            gradient: { shade: "dark", type: "horizontal", shadeIntensity: 0.5, gradientToColors: void 0, inverseColors: !0, opacityFrom: 1, opacityTo: 1, stops: [0, 50, 100] },
                                                            image: { src: [], width: void 0, height: void 0 },
                                                            pattern: { style: "sqaures", width: 6, height: 6, strokeWidth: 2 },
                                                       },
                                                       grid: {
                                                            show: !0,
                                                            borderColor: "#e0e0e0",
                                                            strokeDashArray: 0,
                                                            position: "back",
                                                            xaxis: { lines: { show: !1, animate: !1 } },
                                                            yaxis: { lines: { show: !0, animate: !0 } },
                                                            row: { colors: void 0, opacity: 0.5 },
                                                            column: { colors: void 0, opacity: 0.5 },
                                                            padding: { top: 0, right: 10, bottom: 0, left: 10 },
                                                       },
                                                       labels: [],
                                                       legend: {
                                                            show: !0,
                                                            showForSingleSeries: !1,
                                                            showForZeroSeries: !0,
                                                            floating: !1,
                                                            position: "bottom",
                                                            horizontalAlign: "center",
                                                            fontSize: "12px",
                                                            fontFamily: void 0,
                                                            width: void 0,
                                                            height: void 0,
                                                            formatter: void 0,
                                                            offsetX: -20,
                                                            offsetY: 0,
                                                            labels: { colors: void 0, useSeriesColors: !1 },
                                                            markers: { width: 12, height: 12, strokeWidth: 0, strokeColor: "#fff", radius: 12, customHTML: void 0, offsetX: 0, offsetY: 0 },
                                                            itemMargin: { horizontal: 0, vertical: 5 },
                                                            onItemClick: { toggleDataSeries: !0 },
                                                            onItemHover: { highlightDataSeries: !0 },
                                                       },
                                                       markers: {
                                                            discrete: [],
                                                            size: 0,
                                                            colors: void 0,
                                                            strokeColor: "#fff",
                                                            strokeWidth: 2,
                                                            strokeOpacity: 0.9,
                                                            fillOpacity: 1,
                                                            shape: "circle",
                                                            radius: 2,
                                                            offsetX: 0,
                                                            offsetY: 0,
                                                            hover: { size: void 0, sizeOffset: 3 },
                                                       },
                                                       noData: { text: void 0, align: "center", verticalAlign: "middle", offsetX: 0, offsetY: 0, style: { color: void 0, fontSize: "14px", fontFamily: void 0 } },
                                                       responsive: [],
                                                       series: void 0,
                                                       states: {
                                                            normal: { filter: { type: "none", value: 0 } },
                                                            hover: { filter: { type: "lighten", value: 0.15 } },
                                                            active: { allowMultipleDataPointsSelection: !1, filter: { type: "darken", value: 0.35 } },
                                                       },
                                                       title: { text: void 0, align: "left", margin: 10, offsetX: 0, offsetY: 0, floating: !1, style: { fontSize: "14px", fontFamily: void 0, color: void 0 } },
                                                       subtitle: { text: void 0, align: "left", margin: 10, offsetX: 0, offsetY: 30, floating: !1, style: { fontSize: "12px", fontFamily: void 0, color: void 0 } },
                                                       stroke: { show: !0, curve: "smooth", lineCap: "butt", width: 2, colors: void 0, dashArray: 0 },
                                                       tooltip: {
                                                            enabled: !0,
                                                            shared: !0,
                                                            followCursor: !1,
                                                            intersect: !1,
                                                            inverseOrder: !1,
                                                            custom: void 0,
                                                            fillSeriesColor: !1,
                                                            theme: "light",
                                                            onDatasetHover: { highlightDataSeries: !1 },
                                                            x: { show: !0, format: "dd MMM", formatter: void 0 },
                                                            y: {
                                                                 formatter: void 0,
                                                                 title: {
                                                                      formatter: function (t) {
                                                                           return t;
                                                                      },
                                                                 },
                                                            },
                                                            z: { formatter: void 0, title: "Size: " },
                                                            marker: { show: !0 },
                                                            items: { display: "flex" },
                                                            fixed: { enabled: !1, position: "topRight", offsetX: 0, offsetY: 0 },
                                                       },
                                                       xaxis: {
                                                            type: "category",
                                                            categories: [],
                                                            offsetX: 0,
                                                            offsetY: 0,
                                                            labels: {
                                                                 show: !0,
                                                                 rotate: -45,
                                                                 rotateAlways: !1,
                                                                 hideOverlappingLabels: !0,
                                                                 trim: !0,
                                                                 minHeight: void 0,
                                                                 maxHeight: 120,
                                                                 showDuplicates: !1,
                                                                 style: { colors: [], fontSize: "12px", fontFamily: void 0, cssClass: "apexcharts-xaxis-label" },
                                                                 offsetX: 0,
                                                                 offsetY: 0,
                                                                 format: void 0,
                                                                 formatter: void 0,
                                                                 datetimeFormatter: { year: "yyyy", month: "MMM 'yy", day: "dd MMM", hour: "HH:mm", minute: "HH:mm:ss" },
                                                            },
                                                            axisBorder: { show: !0, color: "#78909C", width: "100%", height: 1, offsetX: 0, offsetY: 0 },
                                                            axisTicks: { show: !0, color: "#78909C", height: 6, offsetX: 0, offsetY: 0 },
                                                            tickAmount: void 0,
                                                            min: void 0,
                                                            max: void 0,
                                                            range: void 0,
                                                            floating: !1,
                                                            position: "bottom",
                                                            title: { text: void 0, offsetX: 0, offsetY: 0, style: { color: void 0, fontSize: "12px", fontFamily: void 0, cssClass: "apexcharts-xaxis-title" } },
                                                            crosshairs: {
                                                                 show: !0,
                                                                 width: 1,
                                                                 position: "back",
                                                                 opacity: 0.9,
                                                                 stroke: { color: "#b6b6b6", width: 0, dashArray: 0 },
                                                                 fill: { type: "solid", color: "#B1B9C4", gradient: { colorFrom: "#D8E3F0", colorTo: "#BED1E6", stops: [0, 100], opacityFrom: 0.4, opacityTo: 0.5 } },
                                                                 dropShadow: { enabled: !1, left: 0, top: 0, blur: 1, opacity: 0.4 },
                                                            },
                                                            tooltip: { enabled: !0, offsetY: 0, formatter: void 0 },
                                                       },
                                                       yaxis: this.yAxis,
                                                       theme: { palette: "palette1", monochrome: { enabled: !1, color: "#008FFB", shadeTo: "light", shadeIntensity: 0.65 } },
                                                  };
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    e.default = o;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(79)) && n.__esModule ? n : { default: n };
                    function a(t) {
                         if (Array.isArray(t)) {
                              for (var e = 0, i = Array(t.length); e < t.length; e++) i[e] = t[e];
                              return i;
                         }
                         return Array.from(t);
                    }
                    var s = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.months31 = [1, 3, 5, 7, 8, 10, 12]),
                                   (this.months30 = [2, 4, 6, 9, 11]),
                                   (this.daysCntOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]);
                         }
                         return (
                              r(t, [
                                   {
                                        key: "isValidDate",
                                        value: function (t) {
                                             return !isNaN(this.parseDate(t));
                                        },
                                   },
                                   {
                                        key: "getUTCTimeStamp",
                                        value: function (t) {
                                             return new Date(new Date(t).toUTCString().substr(0, 25)).getTime();
                                        },
                                   },
                                   {
                                        key: "parseDate",
                                        value: function (t) {
                                             var e = Date.parse(t);
                                             if (!isNaN(e)) return this.getUTCTimeStamp(t);
                                             var i = Date.parse(t.replace(/-/g, "/").replace(/[a-z]+/gi, " "));
                                             return this.getUTCTimeStamp(i);
                                        },
                                   },
                                   {
                                        key: "treatAsUtc",
                                        value: function (t) {
                                             var e = new Date(t);
                                             return e.setMinutes(e.getMinutes() - e.getTimezoneOffset()), e;
                                        },
                                   },
                                   {
                                        key: "formatDate",
                                        value: function (t, e) {
                                             var i = !(2 < arguments.length && void 0 !== arguments[2]) || arguments[2],
                                                  n = !(3 < arguments.length && void 0 !== arguments[3]) || arguments[3],
                                                  r = this.w.globals.locale,
                                                  o = ["\0"].concat(a(r.months)),
                                                  s = [""].concat(a(r.shortMonths)),
                                                  l = [""].concat(a(r.days)),
                                                  c = [""].concat(a(r.shortDays));
                                             function u(t, e) {
                                                  var i = t + "";
                                                  for (e = e || 2; i.length < e; ) i = "0" + i;
                                                  return i;
                                             }
                                             n && (t = this.treatAsUtc(t));
                                             var h = i ? t.getUTCFullYear() : t.getFullYear();
                                             e = (e = (e = e.replace(/(^|[^\\])yyyy+/g, "$1" + h)).replace(/(^|[^\\])yy/g, "$1" + h.toString().substr(2, 2))).replace(/(^|[^\\])y/g, "$1" + h);
                                             var d = (i ? t.getUTCMonth() : t.getMonth()) + 1;
                                             e = (e = (e = (e = e.replace(/(^|[^\\])MMMM+/g, "$1" + o[0])).replace(/(^|[^\\])MMM/g, "$1" + s[0])).replace(/(^|[^\\])MM/g, "$1" + u(d))).replace(/(^|[^\\])M/g, "$1" + d);
                                             var p = i ? t.getUTCDate() : t.getDate();
                                             e = (e = (e = (e = e.replace(/(^|[^\\])dddd+/g, "$1" + l[0])).replace(/(^|[^\\])ddd/g, "$1" + c[0])).replace(/(^|[^\\])dd/g, "$1" + u(p))).replace(/(^|[^\\])d/g, "$1" + p);
                                             var f = i ? t.getUTCHours() : t.getHours(),
                                                  m = 12 < f ? f - 12 : 0 === f ? 12 : f;
                                             e = (e = (e = (e = e.replace(/(^|[^\\])HH+/g, "$1" + u(f))).replace(/(^|[^\\])H/g, "$1" + f)).replace(/(^|[^\\])hh+/g, "$1" + u(m))).replace(/(^|[^\\])h/g, "$1" + m);
                                             var g = i ? t.getUTCMinutes() : t.getMinutes();
                                             e = (e = e.replace(/(^|[^\\])mm+/g, "$1" + u(g))).replace(/(^|[^\\])m/g, "$1" + g);
                                             var v = i ? t.getUTCSeconds() : t.getSeconds();
                                             e = (e = e.replace(/(^|[^\\])ss+/g, "$1" + u(v))).replace(/(^|[^\\])s/g, "$1" + v);
                                             var y = i ? t.getUTCMilliseconds() : t.getMilliseconds();
                                             (e = e.replace(/(^|[^\\])fff+/g, "$1" + u(y, 3))), (y = Math.round(y / 10)), (e = e.replace(/(^|[^\\])ff/g, "$1" + u(y))), (y = Math.round(y / 10));
                                             var b = f < 12 ? "AM" : "PM";
                                             e = (e = (e = e.replace(/(^|[^\\])f/g, "$1" + y)).replace(/(^|[^\\])TT+/g, "$1" + b)).replace(/(^|[^\\])T/g, "$1" + b.charAt(0));
                                             var _ = b.toLowerCase();
                                             e = (e = e.replace(/(^|[^\\])tt+/g, "$1" + _)).replace(/(^|[^\\])t/g, "$1" + _.charAt(0));
                                             var x = -t.getTimezoneOffset(),
                                                  w = i || !x ? "Z" : 0 < x ? "+" : "-";
                                             if (!i) {
                                                  var k = (x = Math.abs(x)) % 60;
                                                  w += u(Math.floor(x / 60)) + ":" + u(k);
                                             }
                                             e = e.replace(/(^|[^\\])K/g, "$1" + w);
                                             var S = (i ? t.getUTCDay() : t.getDay()) + 1;
                                             return (e = (e = (e = (e = e.replace(new RegExp(l[0], "g"), l[S])).replace(new RegExp(c[0], "g"), c[S])).replace(new RegExp(o[0], "g"), o[d])).replace(new RegExp(s[0], "g"), s[d])).replace(
                                                  /\\(.)/g,
                                                  "$1"
                                             );
                                        },
                                   },
                                   {
                                        key: "getTimeUnitsfromTimestamp",
                                        value: function (t, e) {
                                             var i = this.w;
                                             void 0 !== i.config.xaxis.min && (t = i.config.xaxis.min), void 0 !== i.config.xaxis.max && (e = i.config.xaxis.max);
                                             var n = new Date(t).getFullYear(),
                                                  r = new Date(e).getFullYear(),
                                                  o = new Date(t).getMonth(),
                                                  a = new Date(e).getMonth(),
                                                  s = new Date(t).getDate(),
                                                  l = new Date(e).getDate(),
                                                  c = new Date(t).getHours(),
                                                  u = new Date(e).getHours();
                                             return { minMinute: new Date(t).getMinutes(), maxMinute: new Date(e).getMinutes(), minHour: c, maxHour: u, minDate: s, maxDate: l, minMonth: o, maxMonth: a, minYear: n, maxYear: r };
                                        },
                                   },
                                   {
                                        key: "isLeapYear",
                                        value: function (t) {
                                             return (t % 4 == 0 && t % 100 != 0) || t % 400 == 0;
                                        },
                                   },
                                   {
                                        key: "calculcateLastDaysOfMonth",
                                        value: function (t, e, i) {
                                             return this.determineDaysOfMonths(t, e) - i;
                                        },
                                   },
                                   {
                                        key: "determineDaysOfYear",
                                        value: function (t) {
                                             var e = 365;
                                             return this.isLeapYear(t) && (e = 366), e;
                                        },
                                   },
                                   {
                                        key: "determineRemainingDaysOfYear",
                                        value: function (t, e, i) {
                                             var n = this.daysCntOfYear[e] + i;
                                             return 1 < e && this.isLeapYear() && n++, n;
                                        },
                                   },
                                   {
                                        key: "determineDaysOfMonths",
                                        value: function (t, e) {
                                             var i = 30;
                                             switch (((t = new o.default(this.ctx).monthMod(t)), !0)) {
                                                  case this.months30.includes(t):
                                                       2 === t && (i = this.isLeapYear(e) ? 29 : 28);
                                                       break;
                                                  case this.months31.includes(t):
                                                  default:
                                                       i = 31;
                                             }
                                             return i;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = s;
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(17),
                         r = i(24),
                         o = i(112);
                    t.exports = function (t) {
                         return function (e, i, a) {
                              var s,
                                   l = n(e),
                                   c = r(l.length),
                                   u = o(a, c);
                              if (t && i != i) {
                                   for (; u < c; ) if ((s = l[u++]) != s) return !0;
                              } else for (; u < c; u++) if ((t || u in l) && l[u] === i) return t || u || 0;
                              return !t && -1;
                         };
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(3).document;
                    t.exports = n && n.documentElement;
               },
               function (t, e, i) {
                    "use strict";
                    t.exports =
                         !i(12) &&
                         !i(20)(function () {
                              return (
                                   7 !=
                                   Object.defineProperty(i(37)("div"), "a", {
                                        get: function () {
                                             return 7;
                                        },
                                   }).a
                              );
                         });
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(21),
                         r = i(2)("iterator"),
                         o = Array.prototype;
                    t.exports = function (t) {
                         return void 0 !== t && (n.Array === t || o[r] === t);
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(19);
                    t.exports =
                         Array.isArray ||
                         function (t) {
                              return "Array" == n(t);
                         };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(8);
                    t.exports = function (t, e, i, r) {
                         try {
                              return r ? e(n(i)[0], i[1]) : e(i);
                         } catch (e) {
                              var o = t.return;
                              throw (void 0 !== o && n(o.call(t)), e);
                         }
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(22),
                         r = i(6),
                         o = i(16),
                         a = i(14),
                         s = i(21),
                         l = i(100),
                         c = i(30),
                         u = i(107),
                         h = i(2)("iterator"),
                         d = !([].keys && "next" in [].keys()),
                         p = "values",
                         f = function () {
                              return this;
                         };
                    t.exports = function (t, e, i, m, g, v, y) {
                         l(i, e, m);
                         var b,
                              _,
                              x,
                              w = function (t) {
                                   if (!d && t in T) return T[t];
                                   switch (t) {
                                        case "keys":
                                        case p:
                                             return function () {
                                                  return new i(this, t);
                                             };
                                   }
                                   return function () {
                                        return new i(this, t);
                                   };
                              },
                              k = e + " Iterator",
                              S = g == p,
                              M = !1,
                              T = t.prototype,
                              C = T[h] || T["@@iterator"] || (g && T[g]),
                              D = C || w(g),
                              L = g ? (S ? w("entries") : D) : void 0,
                              E = ("Array" == e && T.entries) || C;
                         if (
                              (E && (x = u(E.call(new t()))) !== Object.prototype && x.next && (c(x, k, !0), n || "function" == typeof x[h] || a(x, h, f)),
                              S &&
                                   C &&
                                   C.name !== p &&
                                   ((M = !0),
                                   (D = function () {
                                        return C.call(this);
                                   })),
                              (n && !y) || (!d && !M && T[h]) || a(T, h, D),
                              (s[e] = D),
                              (s[k] = f),
                              g)
                         )
                              if (((b = { values: S ? D : w(p), keys: v ? D : w("keys"), entries: L }), y)) for (_ in b) _ in T || o(T, _, b[_]);
                              else r(r.P + r.F * (d || M), e, b);
                         return b;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(2)("iterator"),
                         r = !1;
                    try {
                         var o = [7][n]();
                         (o.return = function () {
                              r = !0;
                         }),
                              Array.from(o, function () {
                                   throw 2;
                              });
                    } catch (t) {}
                    t.exports = function (t, e) {
                         if (!e && !r) return !1;
                         var i = !1;
                         try {
                              var o = [7],
                                   a = o[n]();
                              (a.next = function () {
                                   return { done: (i = !0) };
                              }),
                                   (o[n] = function () {
                                        return a;
                                   }),
                                   t(o);
                         } catch (t) {}
                         return i;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(8),
                         r = i(104),
                         o = i(38),
                         a = i(42)("IE_PROTO"),
                         s = function () {},
                         l = "prototype",
                         c = function () {
                              var t,
                                   e = i(37)("iframe"),
                                   n = o.length;
                              for (e.style.display = "none", i(55).appendChild(e), e.src = "javascript:", (t = e.contentWindow.document).open(), t.write("<script>document.F=Object</script>"), t.close(), c = t.F; n--; ) delete c[l][o[n]];
                              return c();
                         };
                    t.exports =
                         Object.create ||
                         function (t, e) {
                              var i;
                              return null !== t ? ((s[l] = n(t)), (i = new s()), (s[l] = null), (i[a] = t)) : (i = c()), void 0 === e ? i : r(i, e);
                         };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(65),
                         r = i(38).concat("length", "prototype");
                    e.f =
                         Object.getOwnPropertyNames ||
                         function (t) {
                              return n(t, r);
                         };
               },
               function (t, e, i) {
                    "use strict";
                    e.f = Object.getOwnPropertySymbols;
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(13),
                         r = i(17),
                         o = i(54)(!1),
                         a = i(42)("IE_PROTO");
                    t.exports = function (t, e) {
                         var i,
                              s = r(t),
                              l = 0,
                              c = [];
                         for (i in s) i != a && n(s, i) && c.push(i);
                         for (; e.length > l; ) n(s, (i = e[l++])) && (~o(c, i) || c.push(i));
                         return c;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = function (t) {
                         try {
                              return { e: !1, v: t() };
                         } catch (t) {
                              return { e: !0, v: t };
                         }
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(8),
                         r = i(9),
                         o = i(40);
                    t.exports = function (t, e) {
                         if ((n(t), r(e) && e.constructor === t)) return e;
                         var i = o.f(t);
                         return (0, i.resolve)(e), i.promise;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(8),
                         r = i(18),
                         o = i(2)("species");
                    t.exports = function (t, e) {
                         var i,
                              a = n(t).constructor;
                         return void 0 === a || null == (i = n(a)[o]) ? e : r(i);
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n,
                         r,
                         o,
                         a = i(15),
                         s = i(99),
                         l = i(55),
                         c = i(37),
                         u = i(3),
                         h = u.process,
                         d = u.setImmediate,
                         p = u.clearImmediate,
                         f = u.MessageChannel,
                         m = u.Dispatch,
                         g = 0,
                         v = {},
                         y = "onreadystatechange",
                         b = function () {
                              var t = +this;
                              if (v.hasOwnProperty(t)) {
                                   var e = v[t];
                                   delete v[t], e();
                              }
                         },
                         _ = function (t) {
                              b.call(t.data);
                         };
                    (d && p) ||
                         ((d = function (t) {
                              for (var e = [], i = 1; arguments.length > i; ) e.push(arguments[i++]);
                              return (
                                   (v[++g] = function () {
                                        s("function" == typeof t ? t : Function(t), e);
                                   }),
                                   n(g),
                                   g
                              );
                         }),
                         (p = function (t) {
                              delete v[t];
                         }),
                         "process" == i(19)(h)
                              ? (n = function (t) {
                                     h.nextTick(a(b, t, 1));
                                })
                              : m && m.now
                              ? (n = function (t) {
                                     m.now(a(b, t, 1));
                                })
                              : f
                              ? ((o = (r = new f()).port2), (r.port1.onmessage = _), (n = a(o.postMessage, o, 1)))
                              : u.addEventListener && "function" == typeof postMessage && !u.importScripts
                              ? ((n = function (t) {
                                     u.postMessage(t + "", "*");
                                }),
                                u.addEventListener("message", _, !1))
                              : (n =
                                     y in c("script")
                                          ? function (t) {
                                                 l.appendChild(c("script"))[y] = function () {
                                                      l.removeChild(this), b.call(t);
                                                 };
                                            }
                                          : function (t) {
                                                 setTimeout(a(b, t, 1), 0);
                                            })),
                         (t.exports = { set: d, clear: p });
               },
               function (t, e, i) {
                    "use strict";
                    e.f = i(2);
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(35),
                         r = i(2)("iterator"),
                         o = i(21);
                    t.exports = i(4).getIteratorMethod = function (t) {
                         if (null != t) return t[r] || t["@@iterator"] || o[n(t)];
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(35),
                         r = {};
                    (r[i(2)("toStringTag")] = "z"),
                         r + "" != "[object z]" &&
                              i(16)(
                                   Object.prototype,
                                   "toString",
                                   function () {
                                        return "[object " + n(this) + "]";
                                   },
                                   !0
                              );
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(111)(!0);
                    i(60)(
                         String,
                         "String",
                         function (t) {
                              (this._t = String(t)), (this._i = 0);
                         },
                         function () {
                              var t,
                                   e = this._t,
                                   i = this._i;
                              return i >= e.length ? { value: void 0, done: !0 } : ((t = n(e, i)), (this._i += t.length), { value: t, done: !1 });
                         }
                    );
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = l(i(11)),
                         o = l(i(1)),
                         a = l(i(0)),
                         s = l(i(5));
                    function l(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var c = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.chartType = this.w.config.chart.type),
                                   (this.initialAnim = this.w.config.chart.animations.enabled),
                                   (this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled),
                                   (this.animBeginArr = [0]),
                                   (this.animDur = 0),
                                   (this.donutDataLabels = this.w.config.plotOptions.pie.donut.labels);
                              var i = this.w;
                              (this.lineColorArr = void 0 !== i.globals.stroke.colors ? i.globals.stroke.colors : i.globals.colors),
                                   (this.defaultSize = i.globals.svgHeight < i.globals.svgWidth ? i.globals.svgHeight - 35 : i.globals.gridWidth),
                                   (this.centerY = this.defaultSize / 2),
                                   (this.centerX = i.globals.gridWidth / 2),
                                   (this.fullAngle = 360),
                                   (this.size = 0),
                                   (this.donutSize = 0),
                                   (this.sliceLabels = []),
                                   (this.prevSectorAngleArr = []);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "draw",
                                        value: function (t) {
                                             for (var e = this.w, i = new a.default(this.ctx), n = i.group({ class: "apexcharts-pie" }), r = 0, s = 0; s < t.length; s++) r += o.default.negToZero(t[s]);
                                             var l = [],
                                                  c = i.group();
                                             0 === r && (r = 1e-5);
                                             for (var u = 0; u < t.length; u++) {
                                                  var h = (this.fullAngle * o.default.negToZero(t[u])) / r;
                                                  l.push(h);
                                             }
                                             if (e.globals.dataChanged) {
                                                  for (var d = 0, p = 0; p < e.globals.previousPaths.length; p++) d += o.default.negToZero(e.globals.previousPaths[p]);
                                                  for (var f = void 0, m = 0; m < e.globals.previousPaths.length; m++) (f = (this.fullAngle * o.default.negToZero(e.globals.previousPaths[m])) / d), this.prevSectorAngleArr.push(f);
                                             }
                                             (this.size = this.defaultSize / 2.05 - e.config.stroke.width - e.config.chart.dropShadow.blur),
                                                  void 0 !== e.config.plotOptions.pie.size && (this.size = e.config.plotOptions.pie.size),
                                                  (this.donutSize = (this.size * parseInt(e.config.plotOptions.pie.donut.size)) / 100);
                                             var g = e.config.plotOptions.pie.customScale,
                                                  v = e.globals.gridWidth / 2,
                                                  y = e.globals.gridHeight / 2,
                                                  b = v - (e.globals.gridWidth / 2) * g,
                                                  _ = y - (e.globals.gridHeight / 2) * g;
                                             if (this.donutDataLabels.show) {
                                                  var x = this.renderInnerDataLabels(this.donutDataLabels, {
                                                       hollowSize: this.donutSize,
                                                       centerX: this.centerX,
                                                       centerY: this.centerY,
                                                       opacity: this.donutDataLabels.show,
                                                       translateX: b,
                                                       translateY: _ - 25,
                                                  });
                                                  n.add(x);
                                             }
                                             if ("donut" === e.config.chart.type) {
                                                  var w = i.drawCircle(this.donutSize);
                                                  w.attr({ cx: this.centerX, cy: this.centerY, fill: e.config.plotOptions.pie.donut.background }), c.add(w);
                                             }
                                             var k = this.drawArcs(l, t);
                                             return (
                                                  this.sliceLabels.forEach(function (t) {
                                                       k.add(t);
                                                  }),
                                                  c.attr({ transform: "translate(" + b + ", " + (_ - 5) + ") scale(" + g + ")" }),
                                                  n.attr({ "data:innerTranslateX": b, "data:innerTranslateY": _ - 25 }),
                                                  c.add(k),
                                                  n.add(c),
                                                  n
                                             );
                                        },
                                   },
                                   {
                                        key: "drawArcs",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = new s.default(this.ctx),
                                                  l = new a.default(this.ctx),
                                                  c = new r.default(this.ctx),
                                                  u = l.group(),
                                                  h = 0,
                                                  d = 0,
                                                  p = 0,
                                                  f = 0;
                                             this.strokeWidth = i.config.stroke.show ? i.config.stroke.width : 0;
                                             for (var m = 0; m < t.length; m++) {
                                                  var g = l.group({ class: "apexcharts-series apexcharts-pie-series " + i.globals.seriesNames[m].toString().replace(/ /g, "-"), id: "apexcharts-series-" + m, rel: m + 1 });
                                                  u.add(g), (d = f), (p = (h = p) + t[m]), (f = d + this.prevSectorAngleArr[m]);
                                                  var v = p - h,
                                                       y = c.fillPath(g, { seriesNumber: m, size: this.size }),
                                                       b = this.getChangedPath(d, f),
                                                       _ = l.drawPath({
                                                            d: b,
                                                            stroke: this.lineColorArr instanceof Array ? this.lineColorArr[m] : this.lineColorArr,
                                                            strokeWidth: this.strokeWidth,
                                                            fill: y,
                                                            fillOpacity: i.config.fill.opacity,
                                                            classes: "apexcharts-pie-area",
                                                       });
                                                  if ((_.attr({ id: "apexcharts-pieSlice-" + m, index: 0, j: m }), i.config.chart.dropShadow.enabled)) {
                                                       var x = i.config.chart.dropShadow;
                                                       n.dropShadow(_, x);
                                                  }
                                                  this.addListeners(_, this.donutDataLabels), a.default.setAttrs(_.node, { "data:angle": v, "data:startAngle": h, "data:strokeWidth": this.strokeWidth, "data:value": e[m] });
                                                  var w = void 0;
                                                  "pie" === i.config.chart.type
                                                       ? (w = o.default.polarToCartesian(this.centerX, this.centerY, this.size / 1.25 + i.config.plotOptions.pie.dataLabels.offset, h + (p - h) / 2))
                                                       : "donut" === i.config.chart.type &&
                                                         (w = o.default.polarToCartesian(this.centerX, this.centerY, (this.size + this.donutSize) / 2 + i.config.plotOptions.pie.dataLabels.offset, h + (p - h) / 2)),
                                                       g.add(_);
                                                  var k = 0;
                                                  if (
                                                       (!this.initialAnim || i.globals.resized || i.globals.dataChanged
                                                            ? this.animBeginArr.push(0)
                                                            : ((k = ((p - h) / this.fullAngle) * i.config.chart.animations.speed), (this.animDur = k + this.animDur), this.animBeginArr.push(this.animDur)),
                                                       this.dynamicAnim && i.globals.dataChanged
                                                            ? this.animatePaths(_, {
                                                                   endAngle: p,
                                                                   startAngle: h,
                                                                   prevStartAngle: d,
                                                                   prevEndAngle: f,
                                                                   animateStartingPos: !0,
                                                                   i: m,
                                                                   animBeginArr: this.animBeginArr,
                                                                   dur: i.config.chart.animations.dynamicAnimation.speed,
                                                              })
                                                            : this.animatePaths(_, { endAngle: p, startAngle: h, i: m, totalItems: t.length - 1, animBeginArr: this.animBeginArr, dur: k }),
                                                       i.config.plotOptions.pie.expandOnClick && _.click(this.pieClicked.bind(this, m)),
                                                       i.config.dataLabels.enabled)
                                                  ) {
                                                       var S = w.x,
                                                            M = w.y,
                                                            T = (100 * (p - h)) / 360 + "%";
                                                       if (0 !== v) {
                                                            var C = i.config.dataLabels.formatter;
                                                            void 0 !== C && (T = C(i.globals.seriesPercent[m][0], { seriesIndex: m, w: i }));
                                                            var D = i.globals.dataLabels.style.colors[m],
                                                                 L = l.drawText({ x: S, y: M, text: T, textAnchor: "middle", fontSize: i.config.dataLabels.style.fontSize, fontFamily: i.config.dataLabels.style.fontFamily, foreColor: D });
                                                            if (i.config.dataLabels.dropShadow.enabled) {
                                                                 var E = i.config.dataLabels.dropShadow;
                                                                 new s.default(this.ctx).dropShadow(L, E);
                                                            }
                                                            L.node.classList.add("apexcharts-pie-label"),
                                                                 i.config.chart.animations.animate &&
                                                                      !1 === i.globals.resized &&
                                                                      (L.node.classList.add("apexcharts-pie-label-delay"), (L.node.style.animationDelay = i.config.chart.animations.speed / 940 + "s")),
                                                                 this.sliceLabels.push(L);
                                                       }
                                                  }
                                             }
                                             return u;
                                        },
                                   },
                                   {
                                        key: "addListeners",
                                        value: function (t, e) {
                                             var i = new a.default(this.ctx);
                                             t.node.addEventListener("mouseenter", i.pathMouseEnter.bind(this, t)),
                                                  t.node.addEventListener("mouseenter", this.dataLabelsMouseIn.bind(this, t.node, e)),
                                                  t.node.addEventListener("mouseleave", i.pathMouseLeave.bind(this, t)),
                                                  t.node.addEventListener("mouseleave", this.dataLabelsMouseout.bind(this, t.node, e)),
                                                  t.node.addEventListener("mousedown", i.pathMouseDown.bind(this, t));
                                        },
                                   },
                                   {
                                        key: "animatePaths",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = e.endAngle - e.startAngle,
                                                  r = n,
                                                  o = e.startAngle,
                                                  a = e.startAngle;
                                             void 0 !== e.prevStartAngle && void 0 !== e.prevEndAngle && ((o = e.prevEndAngle), (r = e.prevEndAngle - e.prevStartAngle)),
                                                  e.i === i.config.series.length - 1 && (n + a > this.fullAngle ? (e.endAngle = e.endAngle - (n + a)) : n + a < this.fullAngle && (e.endAngle = e.endAngle + (this.fullAngle - (n + a)))),
                                                  n === this.fullAngle && (n = this.fullAngle - 0.01),
                                                  this.animateArc(t, o, a, n, r, e);
                                        },
                                   },
                                   {
                                        key: "animateArc",
                                        value: function (t, e, i, n, r, o) {
                                             var a = this,
                                                  s = this.w,
                                                  l = a.size;
                                             l || (l = o.size);
                                             var c = void 0,
                                                  u = o;
                                             (isNaN(e) || isNaN(r)) && ((e = i), (r = n), (u.dur = 0));
                                             var h = n,
                                                  d = i,
                                                  p = e - i;
                                             s.globals.dataChanged && o.shouldSetPrevPaths && ((c = a.getPiePath({ me: a, startAngle: d, angle: r, size: l })), t.attr({ d: c })),
                                                  0 !== u.dur
                                                       ? t
                                                              .animate(u.dur, s.globals.easing, u.animBeginArr[u.i])
                                                              .afterAll(function () {
                                                                   ("pie" !== s.config.chart.type && "donut" !== s.config.chart.type) || this.animate(300).attr({ "stroke-width": s.config.stroke.width });
                                                              })
                                                              .during(function (s) {
                                                                   (h = p + (n - p) * s),
                                                                        o.animateStartingPos && ((h = r + (n - r) * s), (d = e - r + (i - (e - r)) * s)),
                                                                        (c = a.getPiePath({ me: a, startAngle: d, angle: h, size: l })),
                                                                        t.node.setAttribute("data:pathOrig", c),
                                                                        t.attr({ d: c });
                                                              })
                                                       : ((c = a.getPiePath({ me: a, startAngle: d, angle: n, size: l })), t.node.setAttribute("data:pathOrig", c), t.attr({ d: c }));
                                        },
                                   },
                                   {
                                        key: "pieClicked",
                                        value: function (t) {
                                             var e,
                                                  i = this.w,
                                                  n = this.size + 5,
                                                  r = i.globals.dom.Paper.select("#apexcharts-pieSlice-" + t).members[0],
                                                  o = r.attr("d");
                                             if ("true" !== r.attr("data:pieClicked")) {
                                                  var a = i.globals.dom.baseEl.querySelectorAll(".apexcharts-pie-area");
                                                  Array.prototype.forEach.call(a, function (t) {
                                                       t.setAttribute("data:pieClicked", "false");
                                                       var e = t.getAttribute("data:pathOrig");
                                                       t.setAttribute("d", e);
                                                  }),
                                                       r.attr("data:pieClicked", "true");
                                                  var s = parseInt(r.attr("data:startAngle")),
                                                       l = parseInt(r.attr("data:angle"));
                                                  (e = this.getPiePath({ me: this, startAngle: s, angle: l, size: n })), 360 !== l && r.plot(e).animate(1).plot(o).animate(100).plot(e);
                                             } else {
                                                  r.attr({ "data:pieClicked": "false" });
                                                  var c = r.attr("data:pathOrig");
                                                  r.attr({ d: c });
                                             }
                                        },
                                   },
                                   {
                                        key: "getChangedPath",
                                        value: function (t, e) {
                                             var i = "";
                                             return this.dynamicAnim && this.w.globals.dataChanged && (i = this.getPiePath({ me: this, startAngle: t, angle: e - t, size: this.size })), i;
                                        },
                                   },
                                   {
                                        key: "getPiePath",
                                        value: function (t) {
                                             var e = t.me,
                                                  i = t.startAngle,
                                                  n = t.angle,
                                                  r = t.size,
                                                  a = this.w,
                                                  s = i,
                                                  l = (Math.PI * (s - 90)) / 180,
                                                  c = n + i;
                                             360 < c && (c = 360);
                                             var u = (Math.PI * (c - 90)) / 180,
                                                  h = e.centerX + r * Math.cos(l),
                                                  d = e.centerY + r * Math.sin(l),
                                                  p = e.centerX + r * Math.cos(u),
                                                  f = e.centerY + r * Math.sin(u),
                                                  m = o.default.polarToCartesian(e.centerX, e.centerY, e.donutSize, c),
                                                  g = o.default.polarToCartesian(e.centerX, e.centerY, e.donutSize, s),
                                                  v = 180 < n ? 1 : 0;
                                             return "donut" === a.config.chart.type
                                                  ? ["M", h, d, "A", r, r, 0, v, 1, p, f, "L", m.x, m.y, "A", e.donutSize, e.donutSize, 0, v, 0, g.x, g.y, "L", h, d, "z"].join(" ")
                                                  : "pie" === a.config.chart.type
                                                  ? ["M", h, d, "A", r, r, 0, v, 1, p, f, "L", e.centerX, e.centerY, "L", h, d].join(" ")
                                                  : ["M", h, d, "A", r, r, 0, v, 1, p, f].join(" ");
                                        },
                                   },
                                   {
                                        key: "renderInnerDataLabels",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = new a.default(this.ctx),
                                                  r = n.group({ class: "apexcharts-datalabels-group", transform: "translate(" + (e.translateX ? e.translateX : 0) + ", " + (e.translateY ? e.translateY : 0) + ")" }),
                                                  o = t.total.show;
                                             r.node.style.opacity = e.opacity;
                                             var s,
                                                  l = e.centerX,
                                                  c = e.centerY,
                                                  u = void 0;
                                             (u = void 0 === t.name.color ? i.globals.colors[0] : t.name.color), (s = void 0 === t.value.color ? i.config.chart.foreColor : t.value.color);
                                             var h = t.value.formatter,
                                                  d = "",
                                                  p = "";
                                             if (
                                                  (o ? ((u = t.total.color), (p = t.total.label), (d = t.total.formatter(i))) : 1 === i.globals.series.length && ((d = h(i.globals.series[0], i)), (p = i.globals.seriesNames[0])), t.name.show)
                                             ) {
                                                  var f = n.drawText({ x: l, y: c + parseInt(t.name.offsetY), text: p, textAnchor: "middle", foreColor: u, fontSize: t.name.fontSize, fontFamily: t.name.fontFamily });
                                                  f.node.classList.add("apexcharts-datalabel-label"), r.add(f);
                                             }
                                             if (t.value.show) {
                                                  var m = t.name.show ? parseInt(t.value.offsetY) + 16 : t.value.offsetY,
                                                       g = n.drawText({ x: l, y: c + m, text: d, textAnchor: "middle", foreColor: s, fontSize: t.value.fontSize, fontFamily: t.value.fontFamily });
                                                  g.node.classList.add("apexcharts-datalabel-value"), r.add(g);
                                             }
                                             return r;
                                        },
                                   },
                                   {
                                        key: "printInnerLabels",
                                        value: function (t, e, i, n) {
                                             var r = this.w,
                                                  o = void 0;
                                             n ? (o = void 0 === t.name.color ? r.globals.colors[parseInt(n.parentNode.getAttribute("rel")) - 1] : t.name.color) : 1 < r.globals.series.length && t.total.show && (o = t.total.color);
                                             var a = r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),
                                                  s = r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");
                                             (i = (0, t.value.formatter)(i, r)),
                                                  n || "function" != typeof t.total.formatter || (i = t.total.formatter(r)),
                                                  null !== a && (a.textContent = e),
                                                  null !== s && (s.textContent = i),
                                                  null !== a && (a.style.fill = o);
                                        },
                                   },
                                   {
                                        key: "dataLabelsMouseIn",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = t.getAttribute("data:value"),
                                                  r = i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel")) - 1];
                                             1 < i.globals.series.length && this.printInnerLabels(e, r, n, t);
                                             var o = i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");
                                             null !== o && (o.style.opacity = 1);
                                        },
                                   },
                                   {
                                        key: "dataLabelsMouseout",
                                        value: function (e, i) {
                                             var n = this.w,
                                                  r = n.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");
                                             i.total.show && 1 < n.globals.series.length ? new t(this.ctx).printInnerLabels(i, i.total.label, i.total.formatter(n)) : null !== r && 1 < n.globals.series.length && (r.style.opacity = 0);
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = c;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = c(i(26)),
                         o = c(i(11)),
                         a = c(i(5)),
                         s = c(i(0)),
                         l = c(i(27));
                    function c(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var u = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.initialAnim = this.w.config.chart.animations.enabled),
                                   (this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled),
                                   (this.radiusSizes = []);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "draw",
                                        value: function (t, e, i) {
                                             var n = this.w,
                                                  c = new r.default(this.ctx),
                                                  u = new s.default(this.ctx),
                                                  h = new a.default(this.ctx),
                                                  d = new o.default(this.ctx),
                                                  p = i.realIndex,
                                                  f = i.pointsPos,
                                                  m = i.zRatio,
                                                  g = i.elParent,
                                                  v = d.fillPath(t, { seriesNumber: p }),
                                                  y = u.group({ class: "apexcharts-series-markers apexcharts-series-" + n.config.chart.type });
                                             if ((y.attr("clip-path", "url(#gridRectMarkerMask" + n.globals.cuid + ")"), f.x instanceof Array))
                                                  for (var b = 0; b < f.x.length; b++) {
                                                       var _ = e + 1;
                                                       0 === e && 0 === b && (_ = 0), 0 === e && 1 === b && (_ = 1);
                                                       var x = 0,
                                                            w = n.globals.markers.size[p];
                                                       m !== 1 / 0 && ((w = n.globals.seriesZ[p][_] / m), void 0 === this.radiusSizes[p] && this.radiusSizes.push([]), this.radiusSizes[p].push(w)),
                                                            n.config.chart.animations.enabled || (x = w);
                                                       var k = f.x[b],
                                                            S = f.y[b];
                                                       if (((S = S || 0), (x = x || 0), (0 === (k = k || 0) && 0 === S) || void 0 === n.globals.series[p][_])) return;
                                                       var M = u.drawCircle(x);
                                                       if (
                                                            (M.attr({ cx: k, cy: S, fill: v }),
                                                            n.config.chart.dropShadow.enabled && h.dropShadow(M, { top: n.config.chart.dropShadow.top, left: n.config.chart.dropShadow.left, blur: n.config.chart.dropShadow.blur }),
                                                            this.initialAnim && !n.globals.dataChanged)
                                                       ) {
                                                            var T = 1;
                                                            n.globals.resized || (T = n.config.chart.animations.speed), c.animateCircleRadius(M, 0, w, T, n.globals.easing);
                                                       }
                                                       if (n.globals.dataChanged)
                                                            if (this.dynamicAnim) {
                                                                 var C,
                                                                      D = n.config.chart.animations.dynamicAnimation.speed,
                                                                      L = void 0,
                                                                      E = void 0,
                                                                      A = void 0;
                                                                 null != (C = n.globals.previousPaths[p] && n.globals.previousPaths[p][e]) && ((L = C.x), (E = C.y), (A = void 0 !== C.r ? C.r : w));
                                                                 for (var P = 0; P < n.globals.collapsedSeries.length; P++) n.globals.collapsedSeries[P].index === p && ((D = 1), (w = 0));
                                                                 0 === k && 0 === S && (w = 0), c.animateCircle(M, { cx: L, cy: E, r: A }, { cx: k, cy: S, r: w }, D, n.globals.easing);
                                                            } else M.attr({ r: w });
                                                       M.attr({ rel: _, j: _, index: p, "default-marker-size": w });
                                                       var I = new l.default(this.ctx);
                                                       I.setSelectedPointFilter(M, p, _), I.addEvents(M), M.node.classList.add("apexcharts-marker"), y.add(M), g.add(y);
                                                  }
                                        },
                                   },
                                   {
                                        key: "centerTextInBubble",
                                        value: function (t) {
                                             var e = this.w;
                                             return { y: (t += parseInt(e.config.dataLabels.style.fontSize) / 4) };
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = u;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = a(i(0)),
                         o = a(i(5));
                    function a(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var s = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "drawXCrosshairs",
                                        value: function () {
                                             var t = this.w,
                                                  e = new r.default(this.ctx),
                                                  i = new o.default(this.ctx),
                                                  n = t.config.xaxis.crosshairs.fill.gradient,
                                                  a = t.config.xaxis.crosshairs.dropShadow,
                                                  s = t.config.xaxis.crosshairs.fill.type,
                                                  l = n.colorFrom,
                                                  c = n.colorTo,
                                                  u = n.opacityFrom,
                                                  h = n.opacityTo,
                                                  d = n.stops,
                                                  p = a.enabled,
                                                  f = a.left,
                                                  m = a.top,
                                                  g = a.blur,
                                                  v = a.opacity,
                                                  y = t.config.xaxis.crosshairs.fill.color;
                                             if (t.config.xaxis.crosshairs.show) {
                                                  "gradient" === s && (y = e.drawGradient("vertical", l, c, u, h, null, d));
                                                  var b = e.drawRect();
                                                  b.attr({
                                                       class: "apexcharts-xcrosshairs",
                                                       x: 0,
                                                       y: 0,
                                                       width: 0,
                                                       height: t.globals.gridHeight,
                                                       fill: y,
                                                       filter: "none",
                                                       "fill-opacity": t.config.xaxis.crosshairs.opacity,
                                                       stroke: t.config.xaxis.crosshairs.stroke.color,
                                                       "stroke-width": t.config.xaxis.crosshairs.stroke.width,
                                                       "stroke-dasharray": t.config.xaxis.crosshairs.stroke.dashArray,
                                                  }),
                                                       p && (b = i.dropShadow(b, { left: f, top: m, blur: g, opacity: v })),
                                                       t.globals.dom.elGraphical.add(b);
                                             }
                                        },
                                   },
                                   {
                                        key: "drawYCrosshairs",
                                        value: function () {
                                             var t = this.w,
                                                  e = new r.default(this.ctx),
                                                  i = t.config.yaxis[0].crosshairs;
                                             if (t.config.yaxis[0].crosshairs.show) {
                                                  var n = e.drawLine(0, 0, t.globals.gridWidth, 0, i.stroke.color, i.stroke.dashArray, i.stroke.width);
                                                  n.attr({ class: "apexcharts-ycrosshairs" }), t.globals.dom.elGraphical.add(n);
                                             }
                                             var o = e.drawLine(0, 0, t.globals.gridWidth, 0, i.stroke.color, 0, 0);
                                             o.attr({ class: "apexcharts-ycrosshairs-hidden" }), t.globals.dom.elGraphical.add(o);
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = s;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.ctx = e),
                                        (this.w = e.w);
                              }
                              return (
                                   n(t, [
                                        {
                                             key: "getSvgString",
                                             value: function () {
                                                  return this.w.globals.dom.Paper.svg();
                                             },
                                        },
                                        {
                                             key: "cleanup",
                                             value: function () {
                                                  var t = this.w,
                                                       e = t.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs"),
                                                       i = t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs");
                                                  e && e.setAttribute("x", -500), i && (i.setAttribute("y1", -100), i.setAttribute("y2", -100));
                                             },
                                        },
                                        {
                                             key: "svgUrl",
                                             value: function () {
                                                  this.cleanup();
                                                  var t = this.getSvgString(),
                                                       e = new Blob([t], { type: "image/svg+xml;charset=utf-8" });
                                                  return URL.createObjectURL(e);
                                             },
                                        },
                                        {
                                             key: "exportToSVG",
                                             value: function () {
                                                  this.triggerDownload(this.svgUrl(), ".svg");
                                             },
                                        },
                                        {
                                             key: "exportToPng",
                                             value: function () {
                                                  var t = this,
                                                       e = this.w;
                                                  this.cleanup();
                                                  var i = document.createElement("canvas");
                                                  (i.width = e.globals.svgWidth), (i.height = e.globals.svgHeight);
                                                  var n = "transparent" === e.config.chart.background ? "#fff" : e.config.chart.background,
                                                       r = i.getContext("2d");
                                                  (r.fillStyle = n), r.fillRect(0, 0, i.width, i.height);
                                                  var o = window.URL || window.webkitURL || window,
                                                       a = new Image();
                                                  a.crossOrigin = "anonymous";
                                                  var s = this.getSvgString(),
                                                       l = "data:image/svg+xml," + encodeURIComponent(s);
                                                  (a.onload = function () {
                                                       r.drawImage(a, 0, 0), o.revokeObjectURL(l);
                                                       var e = i.toDataURL("image/png").replace("image/png", "image/octet-stream");
                                                       t.triggerDownload(e, ".png");
                                                  }),
                                                       (a.src = l);
                                             },
                                        },
                                        {
                                             key: "triggerDownload",
                                             value: function (t, e) {
                                                  var i = document.createElement("a");
                                                  (i.href = t), (i.download = this.w.globals.chartID + e), document.body.appendChild(i), i.click(), document.body.removeChild(i);
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    e.default = r;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = a(i(1)),
                         o = a(i(138));
                    function a(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    function s(t) {
                         if (Array.isArray(t)) {
                              for (var e = 0, i = Array(t.length); e < t.length; e++) i[e] = t[e];
                              return i;
                         }
                         return Array.from(t);
                    }
                    var l = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.scales = new o.default(e));
                         }
                         return (
                              n(t, [
                                   {
                                        key: "init",
                                        value: function () {
                                             this.setYRange(), this.setXRange(), this.setZRange();
                                        },
                                   },
                                   {
                                        key: "getMinYMaxY",
                                        value: function (t) {
                                             var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : Number.MAX_VALUE,
                                                  i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : Number.MIN_SAFE_INTEGER,
                                                  n = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null,
                                                  o = this.w.globals,
                                                  a = -Number.MAX_VALUE,
                                                  l = Number.MIN_VALUE;
                                             null === n && (n = t + 1);
                                             var c = o.series,
                                                  u = c,
                                                  h = c;
                                             "candlestick" === this.w.config.chart.type && ((u = o.seriesCandleL), (h = o.seriesCandleH));
                                             for (var d = t; d < n; d++) {
                                                  (o.dataPoints = Math.max(o.dataPoints, c[d].length)), r.default.isIE11() && (l = Math.min.apply(Math, s(u[d]).concat([0])));
                                                  for (var p = 0; p < o.series[d].length; p++)
                                                       null !== c[d][p] && r.default.isNumber(c[d][p])
                                                            ? ((a = Math.max(a, h[d][p])),
                                                              (e = Math.min(e, u[d][p])),
                                                              (i = Math.max(i, u[d][p])),
                                                              r.default.isFloat(c[d][p]) && (o.yValueDecimal = Math.max(o.yValueDecimal, c[d][p].toString().split(".")[1].length)),
                                                              l > u[d][p] && u[d][p] < 0 && (l = u[d][p]))
                                                            : (o.hasNullValues = !0);
                                             }
                                             return { minY: l, maxY: a, lowestY: e, highestY: i };
                                        },
                                   },
                                   {
                                        key: "setYRange",
                                        value: function () {
                                             var t = this.w.globals,
                                                  e = this.w.config;
                                             (t.maxY = -Number.MAX_VALUE), (t.minY = Number.MIN_VALUE);
                                             var i = e.yaxis,
                                                  n = Number.MAX_VALUE;
                                             if (t.isMultipleYAxis)
                                                  for (var o = 0; o < t.series.length; o++) {
                                                       var a = this.getMinYMaxY(o, n, null, o + 1);
                                                       t.minYArr.push(a.minY), t.maxYArr.push(a.maxY), (n = a.lowestY);
                                                  }
                                             var s = this.getMinYMaxY(0, n, null, t.series.length);
                                             if (((t.minY = s.minY), (t.maxY = s.maxY), (n = s.lowestY), e.chart.stacked)) {
                                                  for (var l = [], c = [], u = 0; u < t.series[t.maxValsInArrayIndex].length; u++)
                                                       for (var h = 0, d = 0, p = 0; p < t.series.length; p++)
                                                            null !== t.series[p][u] && r.default.isNumber(t.series[p][u]) && (0 < t.series[p][u] ? (h = h + parseInt(t.series[p][u]) + 1e-4) : (d += parseInt(t.series[p][u]))),
                                                                 p === t.series.length - 1 && (l.push(h), c.push(d));
                                                  for (var f = 0; f < l.length; f++) (t.maxY = Math.max(t.maxY, l[f])), (t.minY = Math.min(t.minY, c[f]));
                                             }
                                             if (("line" === e.chart.type || "area" === e.chart.type || "candlestick" === e.chart.type) && t.minY === Number.MIN_VALUE && n !== Number.MAX_SAFE_INTEGER) {
                                                  var m = t.maxY - n;
                                                  0 <= n && n <= 10 && (m = 0), (t.minY = n - (5 * m) / 100), ((0 < n && t.maxY < 50) || (0 < n && t.minY < 0)) && (t.minY = 0), 10 < t.maxY && (t.maxY = t.maxY + (5 * m) / 100 + 0.6);
                                             }
                                             e.yaxis.map(function (e, n) {
                                                  void 0 !== e.max && "number" == typeof e.max && ((t.maxYArr[n] = e.max), (t.maxY = i[0].max)), void 0 !== e.min && "number" == typeof e.min && ((t.minYArr[n] = e.min), (t.minY = i[0].min));
                                             }),
                                                  t.isMultipleYAxis
                                                       ? (this.scales.setMultipleYScales(),
                                                         t.yAxisScale.forEach(function (e, i) {
                                                              (t.minYArr[i] = e.niceMin), (t.maxYArr[i] = e.niceMax);
                                                         }))
                                                       : (this.scales.setYScaleForIndex(0, t.minY, t.maxY),
                                                         (t.minY = t.yAxisScale[0].niceMin),
                                                         (t.maxY = t.yAxisScale[0].niceMax),
                                                         (t.minYArr[0] = t.yAxisScale[0].niceMin),
                                                         (t.maxYArr[0] = t.yAxisScale[0].niceMax));
                                        },
                                   },
                                   {
                                        key: "setXRange",
                                        value: function () {
                                             var t = this.w.globals,
                                                  e = this.w.config;
                                             if (t.isXNumeric)
                                                  for (var i = 0; i < t.series.length; i++)
                                                       if (t.labels[i])
                                                            for (var n = 0; n < t.labels[i].length; n++)
                                                                 null !== t.labels[i][n] &&
                                                                      r.default.isNumber(t.labels[i][n]) &&
                                                                      ((t.maxX = Math.max(t.maxX, t.labels[i][n])),
                                                                      (t.initialmaxX = Math.max(t.maxX, t.labels[i][n])),
                                                                      (t.minX = Math.min(t.minX, t.labels[i][n])),
                                                                      (t.initialminX = Math.min(t.minX, t.labels[i][n])));
                                             if (
                                                  (t.noLabelsProvided && 0 === e.xaxis.categories.length && ((t.maxX = t.labels[t.labels.length - 1]), (t.initialmaxX = t.labels[t.labels.length - 1]), (t.minX = 1), (t.initialminX = 1)),
                                                  (t.comboChartsHasBars || ("bar" === e.chart.type && "category" !== e.xaxis.type)) && "category" !== e.xaxis.type)
                                             ) {
                                                  var o = t.minX - ((t.svgWidth / t.dataPoints) * (Math.abs(t.maxX - t.minX) / t.svgWidth)) / 3;
                                                  (t.minX = o), (t.initialminX = o);
                                                  var a = t.maxX + ((t.svgWidth / t.dataPoints) * (Math.abs(t.maxX - t.minX) / t.svgWidth)) / 3;
                                                  (t.maxX = a), (t.initialmaxX = a);
                                             }
                                             if (t.isXNumeric || t.noLabelsProvided) {
                                                  var s = void 0;
                                                  void 0 === e.xaxis.tickAmount
                                                       ? ((s = Math.round(t.svgWidth / 150)), "numeric" === e.xaxis.type && t.dataPoints < 20 && (s = t.dataPoints - 1), s > t.dataPoints && 0 !== t.dataPoints && (s = t.dataPoints - 1))
                                                       : (s = "dataPoints" === e.xaxis.tickAmount ? t.series[t.maxValsInArrayIndex].length - 1 : e.xaxis.tickAmount),
                                                       void 0 !== e.xaxis.max && "number" == typeof e.xaxis.max && (t.maxX = e.xaxis.max),
                                                       void 0 !== e.xaxis.min && "number" == typeof e.xaxis.min && (t.minX = e.xaxis.min),
                                                       void 0 !== e.xaxis.range && (t.minX = t.maxX - e.xaxis.range),
                                                       t.minX !== Number.MAX_VALUE && t.maxX !== -Number.MAX_VALUE
                                                            ? (t.xAxisScale = this.scales.linearScale(t.minX, t.maxX, s))
                                                            : ((t.xAxisScale = this.scales.linearScale(1, s, s)),
                                                              t.noLabelsProvided && 0 < t.labels.length && ((t.xAxisScale = this.scales.linearScale(1, t.labels.length, s - 1)), (t.seriesX = t.labels.slice()))),
                                                       ("numeric" === e.xaxis.type || "datetime" === e.xaxis.type || ("category" === e.xaxis.type && !t.noLabelsProvided)) && (t.labels = t.xAxisScale.result.slice());
                                             }
                                        },
                                   },
                                   {
                                        key: "setZRange",
                                        value: function () {
                                             var t = this.w.globals;
                                             if (t.isDataXYZ)
                                                  for (var e = 0; e < t.series.length; e++)
                                                       if (void 0 !== t.seriesZ[e])
                                                            for (var i = 0; i < t.seriesZ[e].length; i++)
                                                                 null !== t.seriesZ[e][i] && r.default.isNumber(t.seriesZ[e][i]) && ((t.maxZ = Math.max(t.maxZ, t.seriesZ[e][i])), (t.minZ = Math.min(t.minZ, t.seriesZ[e][i])));
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = l;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n =
                              Object.assign ||
                              function (t) {
                                   for (var e = 1; e < arguments.length; e++) {
                                        var i = arguments[e];
                                        for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n]);
                                   }
                                   return t;
                              },
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = l(i(53)),
                         a = l(i(48)),
                         s = l(i(0));
                    function l(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var c = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.timeScaleArray = []);
                         }
                         return (
                              r(t, [
                                   {
                                        key: "calculateTimeScaleTicks",
                                        value: function (t, e) {
                                             var i = this,
                                                  r = this.w;
                                             if (r.globals.allSeriesCollapsed) return (r.globals.labels = []), (r.globals.timelineLabels = []), [];
                                             var a = new o.default(this.ctx),
                                                  s = (e - t) / 864e5;
                                             this.determineInterval(s), (r.globals.disableZoomIn = !1), (r.globals.disableZoomOut = !1), s < 0.005 ? (r.globals.disableZoomIn = !0) : 5e4 < s && (r.globals.disableZoomOut = !0);
                                             var l = a.getTimeUnitsfromTimestamp(t, e),
                                                  c = r.globals.gridWidth / s,
                                                  u = c / 24,
                                                  h = u / 60,
                                                  d = Math.floor(24 * s),
                                                  p = Math.floor(24 * s * 60),
                                                  f = Math.floor(s),
                                                  m = Math.floor(s / 30),
                                                  g = Math.floor(s / 365),
                                                  v = { minMinute: l.minMinute, minHour: l.minHour, minDate: l.minDate, minMonth: l.minMonth, minYear: l.minYear },
                                                  y = {
                                                       firstVal: v,
                                                       currentMinute: v.minMinute,
                                                       currentHour: v.minHour,
                                                       currentMonthDate: v.minDate,
                                                       currentDate: v.minDate,
                                                       currentMonth: v.minMonth,
                                                       currentYear: v.minYear,
                                                       daysWidthOnXAxis: c,
                                                       hoursWidthOnXAxis: u,
                                                       minutesWidthOnXAxis: h,
                                                       numberOfMinutes: p,
                                                       numberOfHours: d,
                                                       numberOfDays: f,
                                                       numberOfMonths: m,
                                                       numberOfYears: g,
                                                  };
                                             switch (this.tickInterval) {
                                                  case "years":
                                                       this.generateYearScale(y);
                                                       break;
                                                  case "months":
                                                  case "half_year":
                                                       this.generateMonthScale(y);
                                                       break;
                                                  case "months_days":
                                                  case "months_fortnight":
                                                  case "days":
                                                  case "week_days":
                                                       this.generateDayScale(y);
                                                       break;
                                                  case "hours":
                                                       this.generateHourScale(y);
                                                       break;
                                                  case "minutes":
                                                       this.generateMinuteScale(y);
                                             }
                                             var b = this.timeScaleArray.map(function (t) {
                                                  var e = { position: t.position, unit: t.unit, year: t.year, day: t.day ? t.day : 1, hour: t.hour ? t.hour : 0, month: t.month + 1 };
                                                  return "month" === t.unit
                                                       ? n({}, e, { value: t.value + 1 })
                                                       : "day" === t.unit || "hour" === t.unit
                                                       ? n({}, e, { value: t.value })
                                                       : "minute" === t.unit
                                                       ? n({}, e, { value: t.value, minute: t.value })
                                                       : t;
                                             });
                                             return b.filter(function (t) {
                                                  var e = 1,
                                                       n = Math.ceil(r.globals.gridWidth / 120),
                                                       o = t.value;
                                                  void 0 !== r.config.xaxis.tickAmount && (n = r.config.xaxis.tickAmount), b.length > n && (e = Math.floor(b.length / n));
                                                  var a = !1,
                                                       s = !1;
                                                  switch (i.tickInterval) {
                                                       case "half_year":
                                                            (e = 7), "year" === t.unit && (a = !0);
                                                            break;
                                                       case "months":
                                                            (e = 1), "year" === t.unit && (a = !0);
                                                            break;
                                                       case "months_fortnight":
                                                            (e = 15), ("year" !== t.unit && "month" !== t.unit) || (a = !0), 30 === o && (s = !0);
                                                            break;
                                                       case "months_days":
                                                            (e = 10), "month" === t.unit && (a = !0), 30 === o && (s = !0);
                                                            break;
                                                       case "week_days":
                                                            (e = 8), "month" === t.unit && (a = !0);
                                                            break;
                                                       case "days":
                                                            (e = 1), "month" === t.unit && (a = !0);
                                                            break;
                                                       case "hours":
                                                            "day" === t.unit && (a = !0);
                                                            break;
                                                       case "minutes":
                                                            o % 5 != 0 && (s = !0);
                                                  }
                                                  if ("minutes" === i.tickInterval || "hours" === i.tickInterval) {
                                                       if (!s) return !0;
                                                  } else if ((o % e == 0 || a) && !s) return !0;
                                             });
                                        },
                                   },
                                   {
                                        key: "recalcDimensionsBasedOnFormat",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = this.formatDates(t),
                                                  n = this.removeOverlappingTS(i);
                                             (e.globals.timelineLabels = n.slice()), new a.default(this.ctx).plotCoords();
                                        },
                                   },
                                   {
                                        key: "determineInterval",
                                        value: function (t) {
                                             switch (!0) {
                                                  case 1825 < t:
                                                       this.tickInterval = "years";
                                                       break;
                                                  case 800 < t && t <= 1825:
                                                       this.tickInterval = "half_year";
                                                       break;
                                                  case 180 < t && t <= 800:
                                                       this.tickInterval = "months";
                                                       break;
                                                  case 90 < t && t <= 180:
                                                       this.tickInterval = "months_fortnight";
                                                       break;
                                                  case 60 < t && t <= 90:
                                                       this.tickInterval = "months_days";
                                                       break;
                                                  case 30 < t && t <= 60:
                                                       this.tickInterval = "week_days";
                                                       break;
                                                  case 2 < t && t <= 30:
                                                       this.tickInterval = "days";
                                                       break;
                                                  case 0.1 < t && t <= 2:
                                                       this.tickInterval = "hours";
                                                       break;
                                                  case t < 0.1:
                                                       this.tickInterval = "minutes";
                                                       break;
                                                  default:
                                                       this.tickInterval = "days";
                                             }
                                        },
                                   },
                                   {
                                        key: "generateYearScale",
                                        value: function (t) {
                                             var e = t.firstVal,
                                                  i = t.currentMonth,
                                                  n = t.currentYear,
                                                  r = t.daysWidthOnXAxis,
                                                  a = t.numberOfYears,
                                                  s = e.minYear,
                                                  l = 0,
                                                  c = new o.default(this.ctx),
                                                  u = "year";
                                             if (1 < e.minDate && 0 < e.minMonth) {
                                                  var h = c.determineRemainingDaysOfYear(e.minYear, e.minMonth, e.minDate);
                                                  (l = (c.determineDaysOfYear(e.minYear) - h + 1) * r), (s = e.minYear + 1), this.timeScaleArray.push({ position: l, value: s, unit: u, year: s, month: this.monthMod(i + 1) });
                                             } else 1 === e.minDate && 0 === e.minMonth && this.timeScaleArray.push({ position: l, value: s, unit: u, year: n, month: this.monthMod(i + 1) });
                                             for (var d = s, p = l, f = 0; f < a; f++) d++, (p = c.determineDaysOfYear(d - 1) * r + p), this.timeScaleArray.push({ position: p, value: d, unit: u, year: d, month: 1 });
                                        },
                                   },
                                   {
                                        key: "generateMonthScale",
                                        value: function (t) {
                                             var e = t.firstVal,
                                                  i = t.currentMonthDate,
                                                  n = t.currentMonth,
                                                  r = t.currentYear,
                                                  a = t.daysWidthOnXAxis,
                                                  s = t.numberOfMonths,
                                                  l = n,
                                                  c = 0,
                                                  u = new o.default(this.ctx),
                                                  h = "month",
                                                  d = 0;
                                             if (1 < e.minDate) {
                                                  (c = (u.determineDaysOfMonths(n + 1, e.minYear) - i + 1) * a), (l = this.monthMod(n + 1));
                                                  var p = r + d,
                                                       f = this.monthMod(l),
                                                       m = l;
                                                  0 === l && ((h = "year"), (m = p), (p += d += f = 1)), this.timeScaleArray.push({ position: c, value: m, unit: h, year: p, month: f });
                                             } else this.timeScaleArray.push({ position: c, value: l, unit: h, year: r, month: this.monthMod(n) });
                                             for (var g = l + 1, v = c, y = 0, b = 1; y < s; y++, b++) {
                                                  0 === (g = this.monthMod(g)) ? ((h = "year"), (d += 1)) : (h = "month");
                                                  var _ = r + Math.floor(g / 12) + d;
                                                  v = u.determineDaysOfMonths(g, _) * a + v;
                                                  var x = 0 === g ? _ : g;
                                                  this.timeScaleArray.push({ position: v, value: x, unit: h, year: _, month: 0 === g ? 1 : g }), g++;
                                             }
                                        },
                                   },
                                   {
                                        key: "generateDayScale",
                                        value: function (t) {
                                             var e = t.firstVal,
                                                  i = t.currentMonth,
                                                  n = t.currentYear,
                                                  r = t.hoursWidthOnXAxis,
                                                  a = t.numberOfDays,
                                                  s = new o.default(this.ctx),
                                                  l = "day",
                                                  c = (24 - e.minHour) * r,
                                                  u = e.minDate + 1,
                                                  h = u,
                                                  d = function (t, e, i) {
                                                       return s.determineDaysOfMonths(e + 1, i) < t ? ((l = "month"), (h = e += p = 1)) : e;
                                                  },
                                                  p = u,
                                                  f = d(p, i, n);
                                             this.timeScaleArray.push({ position: c, value: h, unit: l, year: n, month: this.monthMod(f), day: p });
                                             for (var m = c, g = 0; g < a; g++) {
                                                  (l = "day"), (f = d((p += 1), f, n + Math.floor(f / 12) + 0));
                                                  var v = n + Math.floor(f / 12) + 0;
                                                  m = 24 * r + m;
                                                  var y = 1 === p ? this.monthMod(f) : p;
                                                  this.timeScaleArray.push({ position: m, value: y, unit: l, year: v, month: this.monthMod(f), day: y });
                                             }
                                        },
                                   },
                                   {
                                        key: "generateHourScale",
                                        value: function (t) {
                                             var e = t.firstVal,
                                                  i = t.currentDate,
                                                  n = t.currentMonth,
                                                  r = t.currentYear,
                                                  a = t.minutesWidthOnXAxis,
                                                  s = t.numberOfHours,
                                                  l = new o.default(this.ctx),
                                                  c = "hour",
                                                  u = function (t, e) {
                                                       return l.determineDaysOfMonths(e + 1, r) < t ? (e += 1) : e;
                                                  },
                                                  h = 60 - e.minMinute,
                                                  d = h * a,
                                                  p = e.minHour + 1,
                                                  f = p + 1;
                                             60 === h && ((d = 0), (f = (p = e.minHour) + 1));
                                             var m = i,
                                                  g = u(m, n);
                                             this.timeScaleArray.push({ position: d, value: p, unit: c, day: m, hour: f, year: r, month: this.monthMod(g) });
                                             for (var v, y, b = d, _ = 0; _ < s; _++) {
                                                  if (((c = "hour"), 24 <= f)) {
                                                       (f = 0), (c = "day");
                                                       var x = ((v = m += 1), (y = g), l.determineDaysOfMonths(y + 1, r) < v && (y += m = 1), { month: y, date: m });
                                                       g = u(m, (g = x.month));
                                                  }
                                                  var w = r + Math.floor(g / 12) + 0;
                                                  b = 0 === f && 0 === _ ? h * a : 60 * a + b;
                                                  var k = 0 === f ? m : f;
                                                  this.timeScaleArray.push({ position: b, value: k, unit: c, hour: f, day: m, year: w, month: this.monthMod(g) }), f++;
                                             }
                                        },
                                   },
                                   {
                                        key: "generateMinuteScale",
                                        value: function (t) {
                                             var e = t.firstVal,
                                                  i = t.currentMinute,
                                                  n = t.currentHour,
                                                  r = t.currentDate,
                                                  o = t.currentMonth,
                                                  a = t.currentYear,
                                                  s = t.minutesWidthOnXAxis,
                                                  l = t.numberOfMinutes,
                                                  c = s - (i - e.minMinute),
                                                  u = e.minMinute + 1,
                                                  h = u + 1,
                                                  d = r,
                                                  p = o,
                                                  f = a,
                                                  m = n;
                                             this.timeScaleArray.push({ position: c, value: u, unit: "minute", day: d, hour: m, minute: h, year: f, month: this.monthMod(p) });
                                             for (var g = c, v = 0; v < l; v++) {
                                                  60 <= h && ((h = 0), 24 === (m += 1) && (m = 0));
                                                  var y = a + Math.floor(p / 12) + 0;
                                                  g = s + g;
                                                  var b = h;
                                                  this.timeScaleArray.push({ position: g, value: b, unit: "minute", hour: m, minute: h, day: d, year: y, month: this.monthMod(p) }), h++;
                                             }
                                        },
                                   },
                                   {
                                        key: "createRawDateString",
                                        value: function (t, e) {
                                             var i = t.year;
                                             return (
                                                  (i += "-" + ("0" + t.month.toString()).slice(-2)),
                                                  "day" === t.unit ? (i += "day" === t.unit ? "-" + ("0" + e).slice(-2) : "-01") : (i += "-" + ("0" + (t.day ? t.day : "1")).slice(-2)),
                                                  "hour" === t.unit ? (i += "hour" === t.unit ? "T" + ("0" + e).slice(-2) : "T00") : (i += "T" + ("0" + (t.hour ? t.hour : "0")).slice(-2)),
                                                  i + ("minute" === t.unit ? ":" + ("0" + e).slice(-2) + ":00.000Z" : ":00:00.000Z")
                                             );
                                        },
                                   },
                                   {
                                        key: "formatDates",
                                        value: function (t) {
                                             var e = this,
                                                  i = this.w;
                                             return t.map(function (t) {
                                                  var n = t.value.toString(),
                                                       r = new o.default(e.ctx),
                                                       a = e.createRawDateString(t, n),
                                                       s = new Date(Date.parse(a));
                                                  if (void 0 === i.config.xaxis.labels.format) {
                                                       var l = "dd MMM",
                                                            c = i.config.xaxis.labels.datetimeFormatter;
                                                       "year" === t.unit && (l = c.year),
                                                            "month" === t.unit && (l = c.month),
                                                            "day" === t.unit && (l = c.day),
                                                            "hour" === t.unit && (l = c.hour),
                                                            "minute" === t.unit && (l = c.minute),
                                                            (n = r.formatDate(s, l, !0, !1));
                                                  } else n = r.formatDate(s, i.config.xaxis.labels.format);
                                                  return { dateString: a, position: t.position, value: n, unit: t.unit, year: t.year, month: t.month };
                                             });
                                        },
                                   },
                                   {
                                        key: "removeOverlappingTS",
                                        value: function (t) {
                                             var e = this,
                                                  i = new s.default(this.ctx),
                                                  n = 0,
                                                  r = t.map(function (r, o) {
                                                       if (0 < o && e.w.config.xaxis.labels.hideOverlappingLabels) {
                                                            var a = i.getTextRects(t[n].value).width;
                                                            return t[n].position + a + 10 < r.position ? ((n = o), r) : null;
                                                       }
                                                       return r;
                                                  });
                                             return r.filter(function (t) {
                                                  return null !== t;
                                             });
                                        },
                                   },
                                   {
                                        key: "monthMod",
                                        value: function (t) {
                                             return t % 12;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = c;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = p(i(0)),
                         o = p(i(77)),
                         a = p(i(165)),
                         s = p(i(168)),
                         l = p(i(162)),
                         c = p(i(166)),
                         u = p(i(164)),
                         h = p(i(167)),
                         d = p(i(163));
                    function p(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var f = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.ev = this.w.config.chart.events),
                                   (this.localeValues = this.w.globals.locale.toolbar);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "createToolbar",
                                        value: function () {
                                             var t = this.w,
                                                  e = document.createElement("div");
                                             e.setAttribute("class", "apexcharts-toolbar"),
                                                  t.globals.dom.elWrap.appendChild(e),
                                                  (this.elZoom = document.createElement("div")),
                                                  (this.elZoomIn = document.createElement("div")),
                                                  (this.elZoomOut = document.createElement("div")),
                                                  (this.elPan = document.createElement("div")),
                                                  (this.elSelection = document.createElement("div")),
                                                  (this.elZoomReset = document.createElement("div")),
                                                  (this.elMenuIcon = document.createElement("div")),
                                                  (this.elMenu = document.createElement("div")),
                                                  (this.elMenuItems = []);
                                             var i = [];
                                             t.config.chart.toolbar.tools.selection &&
                                                  t.config.chart.selection.enabled &&
                                                  i.push({ el: this.elSelection, icon: h.default, title: this.localeValues.selection, class: t.globals.isTouchDevice ? "hidden" : "apexcharts-selection-icon" }),
                                                  t.config.chart.toolbar.tools.zoomin && t.config.chart.zoom.enabled && i.push({ el: this.elZoomIn, icon: c.default, title: this.localeValues.zoomIn, class: "apexcharts-zoom-in-icon" }),
                                                  t.config.chart.toolbar.tools.zoomout && t.config.chart.zoom.enabled && i.push({ el: this.elZoomOut, icon: u.default, title: this.localeValues.zoomOut, class: "apexcharts-zoom-out-icon" }),
                                                  t.config.chart.toolbar.tools.zoom &&
                                                       t.config.chart.zoom.enabled &&
                                                       i.push({ el: this.elZoom, icon: s.default, title: this.localeValues.selectionZoom, class: t.globals.isTouchDevice ? "hidden" : "apexcharts-zoom-icon" }),
                                                  t.config.chart.toolbar.tools.pan &&
                                                       t.config.chart.zoom.enabled &&
                                                       i.push({ el: this.elPan, icon: a.default, title: this.localeValues.pan, class: t.globals.isTouchDevice ? "hidden" : "apexcharts-pan-icon" }),
                                                  t.config.chart.toolbar.tools.reset && i.push({ el: this.elZoomReset, icon: l.default, title: this.localeValues.reset, class: "apexcharts-reset-zoom-icon" }),
                                                  t.config.chart.toolbar.tools.download && i.push({ el: this.elMenuIcon, icon: d.default, title: this.localeValues.menu, class: "apexcharts-menu-icon" });
                                             for (var n = 0; n < i.length; n++) r.default.setAttrs(i[n].el, { class: i[n].class, title: i[n].title }), (i[n].el.innerHTML = i[n].icon), e.appendChild(i[n].el);
                                             e.appendChild(this.elMenu), r.default.setAttrs(this.elMenu, { class: "apexcharts-menu" });
                                             for (
                                                  var o = [
                                                            { name: "exportSVG", title: this.localeValues.exportToSVG },
                                                            { name: "exportPNG", title: this.localeValues.exportToPNG },
                                                       ],
                                                       p = 0;
                                                  p < o.length;
                                                  p++
                                             )
                                                  this.elMenuItems.push(document.createElement("div")),
                                                       (this.elMenuItems[p].innerHTML = o[p].title),
                                                       r.default.setAttrs(this.elMenuItems[p], { class: "apexcharts-menu-item " + o[p].name, title: o[p].title }),
                                                       this.elMenu.appendChild(this.elMenuItems[p]);
                                             t.globals.zoomEnabled
                                                  ? this.elZoom.classList.add("selected")
                                                  : t.globals.panEnabled
                                                  ? this.elPan.classList.add("selected")
                                                  : t.globals.selectionEnabled && this.elSelection.classList.add("selected"),
                                                  this.addToolbarEventListeners();
                                        },
                                   },
                                   {
                                        key: "addToolbarEventListeners",
                                        value: function () {
                                             var t = this;
                                             this.elZoomReset.addEventListener("click", this.handleZoomReset.bind(this)),
                                                  this.elSelection.addEventListener("click", this.toggleSelection.bind(this)),
                                                  this.elZoom.addEventListener("click", this.toggleZooming.bind(this)),
                                                  this.elZoomIn.addEventListener("click", this.handleZoomIn.bind(this)),
                                                  this.elZoomOut.addEventListener("click", this.handleZoomOut.bind(this)),
                                                  this.elPan.addEventListener("click", this.togglePanning.bind(this)),
                                                  this.elMenuIcon.addEventListener("click", this.toggleMenu.bind(this)),
                                                  this.elMenuItems.forEach(function (e) {
                                                       e.classList.contains("exportSVG") ? e.addEventListener("click", t.downloadSVG.bind(t)) : e.classList.contains("exportPNG") && e.addEventListener("click", t.downloadPNG.bind(t));
                                                  });
                                        },
                                   },
                                   {
                                        key: "toggleSelection",
                                        value: function () {
                                             this.toggleOtherControls(),
                                                  (this.w.globals.selectionEnabled = !this.w.globals.selectionEnabled),
                                                  this.elSelection.classList.contains("selected") ? this.elSelection.classList.remove("selected") : this.elSelection.classList.add("selected");
                                        },
                                   },
                                   {
                                        key: "toggleZooming",
                                        value: function () {
                                             this.toggleOtherControls(),
                                                  (this.w.globals.zoomEnabled = !this.w.globals.zoomEnabled),
                                                  this.elZoom.classList.contains("selected") ? this.elZoom.classList.remove("selected") : this.elZoom.classList.add("selected");
                                        },
                                   },
                                   {
                                        key: "getToolbarIconsReference",
                                        value: function () {
                                             var t = this.w;
                                             this.elZoom || (this.elZoom = t.globals.dom.baseEl.querySelector(".apexcharts-zoom-icon")),
                                                  this.elPan || (this.elPan = t.globals.dom.baseEl.querySelector(".apexcharts-pan-icon")),
                                                  this.elSelection || (this.elSelection = t.globals.dom.baseEl.querySelector(".apexcharts-selection-icon"));
                                        },
                                   },
                                   {
                                        key: "enableZooming",
                                        value: function () {
                                             this.toggleOtherControls(), (this.w.globals.zoomEnabled = !0), this.elZoom && this.elZoom.classList.add("selected"), this.elPan && this.elPan.classList.remove("selected");
                                        },
                                   },
                                   {
                                        key: "enablePanning",
                                        value: function () {
                                             this.toggleOtherControls(), (this.w.globals.panEnabled = !0), this.elPan && this.elPan.classList.add("selected"), this.elZoom && this.elZoom.classList.remove("selected");
                                        },
                                   },
                                   {
                                        key: "togglePanning",
                                        value: function () {
                                             this.toggleOtherControls(),
                                                  (this.w.globals.panEnabled = !this.w.globals.panEnabled),
                                                  this.elPan.classList.contains("selected") ? this.elPan.classList.remove("selected") : this.elPan.classList.add("selected");
                                        },
                                   },
                                   {
                                        key: "toggleOtherControls",
                                        value: function () {
                                             var t = this.w;
                                             (t.globals.panEnabled = !1),
                                                  (t.globals.zoomEnabled = !1),
                                                  (t.globals.selectionEnabled = !1),
                                                  this.getToolbarIconsReference(),
                                                  this.elPan && this.elPan.classList.remove("selected"),
                                                  this.elSelection && this.elSelection.classList.remove("selected"),
                                                  this.elZoom && this.elZoom.classList.remove("selected");
                                        },
                                   },
                                   {
                                        key: "handleZoomIn",
                                        value: function () {
                                             var t = this.w,
                                                  e = (t.globals.minX + t.globals.maxX) / 2,
                                                  i = (t.globals.minX + e) / 2,
                                                  n = (t.globals.maxX + e) / 2;
                                             t.globals.disableZoomIn || this.zoomUpdateOptions(i, n);
                                        },
                                   },
                                   {
                                        key: "handleZoomOut",
                                        value: function () {
                                             var t = this.w;
                                             if (!("datetime" === t.config.xaxis.type && new Date(t.globals.minX).getUTCFullYear() < 1e3)) {
                                                  var e = (t.globals.minX + t.globals.maxX) / 2,
                                                       i = t.globals.minX - (e - t.globals.minX),
                                                       n = t.globals.maxX - (e - t.globals.maxX);
                                                  t.globals.disableZoomOut || this.zoomUpdateOptions(i, n);
                                             }
                                        },
                                   },
                                   {
                                        key: "zoomUpdateOptions",
                                        value: function (t, e) {
                                             var i = { min: t, max: e },
                                                  n = this.getBeforeZoomRange(i);
                                             n && (i = n.xaxis), (this.w.globals.zoomed = !0), this.ctx._updateOptions({ xaxis: i }, !1, this.w.config.chart.animations.dynamicAnimation.enabled), this.zoomCallback({ min: t, max: e });
                                        },
                                   },
                                   {
                                        key: "zoomCallback",
                                        value: function (t, e) {
                                             "function" == typeof this.ev.zoomed && this.ev.zoomed(this.ctx, { xaxis: t, yaxis: e });
                                        },
                                   },
                                   {
                                        key: "getBeforeZoomRange",
                                        value: function (t, e) {
                                             var i = null;
                                             return "function" == typeof this.ev.beforeZoom && (i = this.ev.beforeZoom(this, { xaxis: t, yaxis: e })), i;
                                        },
                                   },
                                   {
                                        key: "toggleMenu",
                                        value: function () {
                                             this.elMenu.classList.contains("open") ? this.elMenu.classList.remove("open") : this.elMenu.classList.add("open");
                                        },
                                   },
                                   {
                                        key: "downloadPNG",
                                        value: function () {
                                             new o.default(this.ctx).exportToPng(this.ctx), this.toggleMenu();
                                        },
                                   },
                                   {
                                        key: "downloadSVG",
                                        value: function () {
                                             new o.default(this.ctx).exportToSVG(), this.toggleMenu();
                                        },
                                   },
                                   {
                                        key: "handleZoomReset",
                                        value: function (t) {
                                             var e = this;
                                             this.ctx.getSyncedCharts().forEach(function (t) {
                                                  var i = t.w;
                                                  i.globals.minX !== i.globals.initialminX &&
                                                       i.globals.maxX !== i.globals.initialmaxX &&
                                                       (t.revertDefaultAxisMinMax(),
                                                       "function" == typeof i.config.chart.events.zoomed && e.zoomCallback({ min: i.config.xaxis.min, max: i.config.xaxis.max }),
                                                       (i.globals.zoomed = !1),
                                                       t._updateSeries(i.globals.initialSeries, i.config.chart.animations.dynamicAnimation.enabled));
                                             });
                                        },
                                   },
                                   {
                                        key: "destroy",
                                        value: function () {
                                             this.elZoomReset &&
                                                  (this.elZoomReset.removeEventListener("click", this.handleZoomReset.bind(this)),
                                                  this.elSelection.removeEventListener("click", this.toggleSelection.bind(this)),
                                                  this.elZoom.removeEventListener("click", this.toggleZooming.bind(this)),
                                                  this.elZoomIn.removeEventListener("click", this.handleZoomIn.bind(this)),
                                                  this.elZoomOut.removeEventListener("click", this.handleZoomOut.bind(this)),
                                                  this.elPan.removeEventListener("click", this.togglePanning.bind(this)),
                                                  this.elMenuIcon.removeEventListener("click", this.toggleMenu.bind(this))),
                                                  (this.elZoom = null),
                                                  (this.elZoomIn = null),
                                                  (this.elZoomOut = null),
                                                  (this.elPan = null),
                                                  (this.elSelection = null),
                                                  (this.elZoomReset = null),
                                                  (this.elMenuIcon = null);
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = f;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = a(i(0)),
                         o = a(i(28));
                    function a(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var s = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ttCtx = e),
                                   (this.ctx = e.ctx),
                                   (this.w = e.w);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "moveXCrosshairs",
                                        value: function (t) {
                                             var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : null,
                                                  i = this.ttCtx,
                                                  n = this.w,
                                                  r = i.getElXCrosshairs(),
                                                  o = t - i.xcrosshairsWidth / 2,
                                                  a = n.globals.labels.slice().length;
                                             if (
                                                  (null !== e && (o = (n.globals.gridWidth / a) * e),
                                                  "tickWidth" === n.config.xaxis.crosshairs.width || "barWidth" === n.config.xaxis.crosshairs.width
                                                       ? o + i.xcrosshairsWidth > n.globals.gridWidth && (o = n.globals.gridWidth - i.xcrosshairsWidth)
                                                       : null !== e && (o += n.globals.gridWidth / a / 2),
                                                  o < 0 && (o = 0),
                                                  o > n.globals.gridWidth && (o = n.globals.gridWidth),
                                                  null !== r && (r.setAttribute("x", o), r.classList.add("active")),
                                                  i.blxaxisTooltip)
                                             ) {
                                                  var s = o;
                                                  ("tickWidth" !== n.config.xaxis.crosshairs.width && "barWidth" !== n.config.xaxis.crosshairs.width) || (s = o + i.xcrosshairsWidth / 2), this.moveXAxisTooltip(s);
                                             }
                                        },
                                   },
                                   {
                                        key: "moveYCrosshairs",
                                        value: function (t) {
                                             var e = this.ttCtx;
                                             null !== e.ycrosshairs && (r.default.setAttrs(e.ycrosshairs, { y1: t, y2: t }), r.default.setAttrs(e.ycrosshairsHidden, { y1: t, y2: t }));
                                        },
                                   },
                                   {
                                        key: "moveXAxisTooltip",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = this.ttCtx;
                                             if (null !== i.xaxisTooltip) {
                                                  i.xaxisTooltip.classList.add("active");
                                                  var n,
                                                       o = i.xaxisOffY + e.config.xaxis.tooltip.offsetY + e.globals.translateY + 1 + e.config.xaxis.offsetY;
                                                  (t -= i.xaxisTooltip.getBoundingClientRect().width / 2),
                                                       isNaN(t) ||
                                                            ((t += e.globals.translateX),
                                                            (n = new r.default(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML)),
                                                            (i.xaxisTooltipText.style.minWidth = n.width + "px"),
                                                            (i.xaxisTooltip.style.left = t + "px"),
                                                            (i.xaxisTooltip.style.top = o + "px"));
                                             }
                                        },
                                   },
                                   {
                                        key: "moveYAxisTooltip",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = this.ttCtx;
                                             null === i.yaxisTTEls && (i.yaxisTTEls = e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));
                                             var n = parseInt(i.ycrosshairsHidden.getAttribute("y1")),
                                                  r = e.globals.translateY + n,
                                                  o = i.yaxisTTEls[t].getBoundingClientRect().height,
                                                  a = e.globals.translateYAxisX[t] - 2;
                                             e.config.yaxis[t].opposite && (a -= 26),
                                                  (r -= o / 2),
                                                  -1 === e.globals.ignoreYAxisIndexes.indexOf(t)
                                                       ? (i.yaxisTTEls[t].classList.add("active"), (i.yaxisTTEls[t].style.top = r + "px"), (i.yaxisTTEls[t].style.left = a + e.config.yaxis[t].tooltip.offsetX + "px"))
                                                       : i.yaxisTTEls[t].classList.remove("active");
                                        },
                                   },
                                   {
                                        key: "moveTooltip",
                                        value: function (t, e) {
                                             var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null,
                                                  n = this.w,
                                                  r = this.ttCtx,
                                                  o = r.getElTooltip(),
                                                  a = r.tooltipRect,
                                                  s = null !== i ? parseInt(i) : 1,
                                                  l = parseInt(t) + s + 5,
                                                  c = parseInt(e) + s / 2;
                                             if (
                                                  (l > n.globals.gridWidth / 2 && (l = l - a.ttWidth - s - 15),
                                                  l > n.globals.gridWidth - a.ttWidth - 10 && (l = n.globals.gridWidth - a.ttWidth),
                                                  l < -20 && (l = -20),
                                                  n.config.tooltip.followCursor)
                                             ) {
                                                  var u = r.getElGrid().getBoundingClientRect();
                                                  c = r.e.clientY - u.top - a.ttHeight / 2;
                                             }
                                             var h = this.positionChecks(a, l, c);
                                             (l = h.x), (c = h.y), isNaN(l) || ((l += n.globals.translateX), (o.style.left = l + "px"), (o.style.top = c + "px"));
                                        },
                                   },
                                   {
                                        key: "positionChecks",
                                        value: function (t, e, i) {
                                             var n = this.w;
                                             return t.ttHeight + i > n.globals.gridHeight && (i = n.globals.gridHeight - t.ttHeight + n.globals.translateY), i < 0 && (i = 0), { x: e, y: i };
                                        },
                                   },
                                   {
                                        key: "moveMarkers",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = this.ttCtx;
                                             if (0 < i.globals.markers.size[t])
                                                  for (var r = i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='" + t + "'] .apexcharts-marker"), o = 0; o < r.length; o++)
                                                       parseInt(r[o].getAttribute("rel")) === e && (n.marker.resetPointsSize(), n.marker.enlargeCurrentPoint(e, r[o]));
                                             else n.marker.resetPointsSize(), this.moveDynamicPointOnHover(e, t);
                                        },
                                   },
                                   {
                                        key: "moveDynamicPointOnHover",
                                        value: function (t, e) {
                                             var i,
                                                  n,
                                                  r = this.w,
                                                  o = this.ttCtx,
                                                  a = r.globals.pointsArray,
                                                  s = r.config.markers.hover.size;
                                             void 0 === s && (s = r.globals.markers.size[e] + r.config.markers.hover.sizeOffset), (i = a[e][t][0]), (n = a[e][t][1] ? a[e][t][1] : 0);
                                             var l = r.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='" + e + "'] .apexcharts-series-markers circle");
                                             l.setAttribute("r", s), l.setAttribute("cx", i), l.setAttribute("cy", n), this.moveXCrosshairs(i), o.fixedTooltip || this.moveTooltip(i, n, s);
                                        },
                                   },
                                   {
                                        key: "moveDynamicPointsOnHover",
                                        value: function (t) {
                                             var e,
                                                  i = this.ttCtx,
                                                  n = i.w,
                                                  r = 0,
                                                  a = 0,
                                                  s = n.globals.pointsArray;
                                             e = new o.default(this.ctx).getActiveSeriesIndex();
                                             var l = n.config.markers.hover.size;
                                             void 0 === l && (l = n.globals.markers.size[e] + n.config.markers.hover.sizeOffset), s[e] && ((r = s[e][t][0]), (a = s[e][t][1]));
                                             var c = null,
                                                  u = i.getAllMarkers();
                                             if (null !== (c = null !== u ? u : n.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers circle")))
                                                  for (var h = 0; h < c.length; h++) {
                                                       var d = s[h];
                                                       if (d && d.length) {
                                                            var p = s[h][t][1];
                                                            c[h].setAttribute("cx", r);
                                                            var f = parseInt(c[h].parentNode.parentNode.parentNode.getAttribute("data:realIndex"));
                                                            null !== p ? (c[f] && c[f].setAttribute("r", l), c[f] && c[f].setAttribute("cy", p)) : c[f] && c[f].setAttribute("r", 0);
                                                       }
                                                  }
                                             if ((this.moveXCrosshairs(r), !i.fixedTooltip)) {
                                                  var m = a || n.globals.gridHeight;
                                                  this.moveTooltip(r, m, l);
                                             }
                                        },
                                   },
                                   {
                                        key: "moveStickyTooltipOverBars",
                                        value: function (t) {
                                             var e,
                                                  i = this.w,
                                                  n = this.ttCtx,
                                                  r = i.globals.dom.baseEl.querySelector(
                                                       ".apexcharts-bar-series .apexcharts-series[rel='1'] path[j='" + t + "'], .apexcharts-candlestick-series .apexcharts-series[rel='1'] path[j='" + t + "']"
                                                  ),
                                                  o = r ? parseFloat(r.getAttribute("cx")) : 0,
                                                  a = r ? parseFloat(r.getAttribute("barWidth")) : 0;
                                             i.globals.isXNumeric ? (o -= a / 2) : ((o = n.xAxisTicksPositions[t - 1] + n.dataPointsDividedWidth / 2), isNaN(o) && (o = n.xAxisTicksPositions[t] - n.dataPointsDividedWidth / 2));
                                             var s = n.getElGrid().getBoundingClientRect();
                                             if (((e = n.e.clientY - s.top - n.tooltipRect.ttHeight / 2), this.moveXCrosshairs(o), !n.fixedTooltip)) {
                                                  var l = e || i.globals.gridHeight;
                                                  this.moveTooltip(o, l);
                                             }
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = s;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.w = e.w),
                                        (this.ttCtx = e),
                                        (this.ctx = e.ctx);
                              }
                              return (
                                   n(t, [
                                        {
                                             key: "getNearestValues",
                                             value: function (t) {
                                                  var e = t.hoverArea,
                                                       i = t.elGrid,
                                                       n = t.clientX,
                                                       r = t.clientY,
                                                       o = t.hasBars,
                                                       a = this.w,
                                                       s = a.globals.gridWidth,
                                                       l = s / (a.globals.dataPoints - 1),
                                                       c = i.getBoundingClientRect();
                                                  ((o && a.globals.comboCharts) || o) && (l = s / a.globals.dataPoints);
                                                  var u = n - c.left,
                                                       h = r - c.top;
                                                  u < 0 || h < 0 || u > a.globals.gridWidth || h > a.globals.gridHeight
                                                       ? (e.classList.remove("hovering-zoom"), e.classList.remove("hovering-pan"))
                                                       : a.globals.zoomEnabled
                                                       ? (e.classList.remove("hovering-pan"), e.classList.add("hovering-zoom"))
                                                       : a.globals.panEnabled && (e.classList.remove("hovering-zoom"), e.classList.add("hovering-pan"));
                                                  var d = Math.round(u / l);
                                                  o && ((d = Math.ceil(u / l)), (d -= 1));
                                                  for (var p, f = null, m = null, g = [], v = 0; v < a.globals.seriesXvalues.length; v++) g.push([a.globals.seriesXvalues[v][0] - 1e-6].concat(a.globals.seriesXvalues[v]));
                                                  return (
                                                       (g = g.map(function (t) {
                                                            return t.filter(function (t) {
                                                                 return t;
                                                            });
                                                       })),
                                                       (p = a.globals.seriesYvalues.map(function (t) {
                                                            return t.filter(function (t) {
                                                                 return t;
                                                            });
                                                       })),
                                                       a.globals.isXNumeric &&
                                                            ((f = (m = this.closestInMultiArray(u, h, g, p)).index), (d = m.j), null !== f && ((g = a.globals.seriesXvalues[f]), (d = (m = this.closestInArray(u, g)).index))),
                                                       (!d || d < 1) && (d = 0),
                                                       { capturedSeries: f, j: d, hoverX: u, hoverY: h }
                                                  );
                                             },
                                        },
                                        {
                                             key: "closestInMultiArray",
                                             value: function (t, e, i, n) {
                                                  var r = this.w,
                                                       o = 0,
                                                       a = null,
                                                       s = -1;
                                                  1 < r.globals.series.length ? (o = this.getFirstActiveXArray(i)) : (a = 0);
                                                  var l = n[o][0],
                                                       c = i[o][0],
                                                       u = Math.abs(t - c),
                                                       h = Math.abs(e - l),
                                                       d = h + u;
                                                  return (
                                                       n.map(function (r, o) {
                                                            r.map(function (r, l) {
                                                                 var c = Math.abs(e - n[o][l]),
                                                                      p = Math.abs(t - i[o][l]),
                                                                      f = p + c;
                                                                 f < d && ((d = f), (u = p), (h = c), (a = o), (s = l));
                                                            });
                                                       }),
                                                       { index: a, j: s }
                                                  );
                                             },
                                        },
                                        {
                                             key: "getFirstActiveXArray",
                                             value: function (t) {
                                                  for (
                                                       var e = 0,
                                                            i = t.map(function (t, e) {
                                                                 return 0 < t.length ? e : -1;
                                                            }),
                                                            n = 0;
                                                       n < i.length;
                                                       n++
                                                  )
                                                       if (-1 !== i[n]) {
                                                            e = i[n];
                                                            break;
                                                       }
                                                  return e;
                                             },
                                        },
                                        {
                                             key: "closestInArray",
                                             value: function (t, e) {
                                                  for (var i = e[0], n = null, r = Math.abs(t - i), o = 0; o < e.length; o++) {
                                                       var a = Math.abs(t - e[o]);
                                                       a < r && ((r = a), (i = e[o]), (n = o));
                                                  }
                                                  return { index: n };
                                             },
                                        },
                                        {
                                             key: "isXoverlap",
                                             value: function (t) {
                                                  var e = [],
                                                       i = this.w.globals.seriesX.filter(function (t) {
                                                            return void 0 !== t[0];
                                                       });
                                                  if (0 < i.length) for (var n = 0; n < i.length - 1; n++) void 0 !== i[n][t] && void 0 !== i[n + 1][t] && i[n][t] !== i[n + 1][t] && e.push("unEqual");
                                                  return 0 === e.length;
                                             },
                                        },
                                        {
                                             key: "isinitialSeriesSameLen",
                                             value: function () {
                                                  for (var t = !0, e = this.w.globals.initialSeries, i = 0; i < e.length - 1; i++)
                                                       if (e[i].data.length !== e[i + 1].data.length) {
                                                            t = !1;
                                                            break;
                                                       }
                                                  return t;
                                             },
                                        },
                                        {
                                             key: "getBarsHeight",
                                             value: function (t) {
                                                  return []
                                                       .concat(
                                                            (function (t) {
                                                                 if (Array.isArray(t)) {
                                                                      for (var e = 0, i = Array(t.length); e < t.length; e++) i[e] = t[e];
                                                                      return i;
                                                                 }
                                                                 return Array.from(t);
                                                            })(t)
                                                       )
                                                       .reduce(function (t, e) {
                                                            return t + e.getBBox().height;
                                                       }, 0);
                                             },
                                        },
                                        {
                                             key: "toggleAllTooltipSeriesGroups",
                                             value: function (t) {
                                                  var e = this.w,
                                                       i = this.ttCtx;
                                                  0 === i.allTooltipSeriesGroups.length && (i.allTooltipSeriesGroups = e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));
                                                  for (var n = i.allTooltipSeriesGroups, r = 0; r < n.length; r++)
                                                       n[r].style.display = "enable" === t ? (n[r].classList.add("active"), e.config.tooltip.items.display) : (n[r].classList.remove("active"), "none");
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    t.exports = r;
               },
               function (t, e) {
                    t.exports = {
                         name: "en",
                         options: {
                              months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
                              shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
                              days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
                              shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
                              toolbar: {
                                   exportToSVG: "Download SVG",
                                   exportToPNG: "Download PNG",
                                   menu: "Menu",
                                   selection: "Selection",
                                   selectionZoom: "Selection Zoom",
                                   zoomIn: "Zoom In",
                                   zoomOut: "Zoom Out",
                                   pan: "Panning",
                                   reset: "Reset Zoom",
                              },
                         },
                    };
               },
               function (t, e, i) {
                    "use strict";
                    i(114), (t.exports = i(4).Array.find);
               },
               function (t, e, i) {
                    "use strict";
                    i(73), i(115), (t.exports = i(4).Array.from);
               },
               function (t, e, i) {
                    "use strict";
                    i(120), (t.exports = i(4).Array.includes);
               },
               function (t, e, i) {
                    "use strict";
                    i(117), (t.exports = i(4).Array.reduce);
               },
               function (t, e, i) {
                    "use strict";
                    i(72), i(73), i(125), i(118), i(121), i(122), (t.exports = i(4).Promise);
               },
               function (t, e, i) {
                    "use strict";
                    i(119), i(72), i(123), i(124), (t.exports = i(4).Symbol);
               },
               function (t, e, i) {
                    "use strict";
                    var n =
                              "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                   ? function (t) {
                                          return typeof t;
                                     }
                                   : function (t) {
                                          return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                     },
                         r =
                              Object.assign ||
                              function (t) {
                                   for (var e = 1; e < arguments.length; e++) {
                                        var i = arguments[e];
                                        for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n]);
                                   }
                                   return t;
                              },
                         o = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         a = L(i(133)),
                         s = L(i(26)),
                         l = L(i(134)),
                         c = L(i(51)),
                         u = L(i(135)),
                         h = L(i(7)),
                         d = L(i(76)),
                         p = L(i(48)),
                         f = L(i(33)),
                         m = L(i(77)),
                         g = L(i(142)),
                         v = L(i(136)),
                         y = L(i(27)),
                         b = L(i(78)),
                         _ = L(i(137)),
                         x = L(i(28)),
                         w = L(i(139)),
                         k = L(i(149)),
                         S = L(i(1)),
                         M = L(i(141)),
                         T = L(i(140)),
                         C = L(i(80)),
                         D = L(i(52));
                    function L(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    i(156), i(152), i(153), i(151), i(155), i(154), i(160), i(157), i(158);
                    var E = i(83);
                    window.Apex = {};
                    var A = (function () {
                         function t(e, i) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.opts = i),
                                   ((this.ctx = this).w = new l.default(i).init()),
                                   (this.el = e),
                                   (this.w.globals.cuid = (Math.random() + 1).toString(36).substring(4)),
                                   (this.w.globals.chartID = this.w.config.chart.id ? this.w.config.chart.id : this.w.globals.cuid),
                                   this.initModules(),
                                   (this.create = S.default.bind(this.create, this)),
                                   (this.windowResizeHandler = this.windowResize.bind(this));
                         }
                         return (
                              o(
                                   t,
                                   [
                                        {
                                             key: "render",
                                             value: function () {
                                                  var t = this;
                                                  return new Promise(function (e, i) {
                                                       if (null !== t.el) {
                                                            void 0 === Apex._chartInstances && (Apex._chartInstances = []),
                                                                 t.w.config.chart.id && Apex._chartInstances.push({ id: t.w.globals.chartID, group: t.w.config.chart.group, chart: t }),
                                                                 t.setLocale(t.w.config.chart.defaultLocale);
                                                            var n = t.w.config.chart.events.beforeMount;
                                                            "function" == typeof n && n(t, t.w),
                                                                 t.fireEvent("beforeMount", [t, t.w]),
                                                                 window.addEventListener("resize", t.windowResizeHandler),
                                                                 window.addResizeListener(t.el.parentNode, t.parentResizeCallback.bind(t));
                                                            var r = t.create(t.w.config.series);
                                                            if (!r) return e(t);
                                                            t.mount(r)
                                                                 .then(function () {
                                                                      e(r), "function" == typeof t.w.config.chart.events.mounted && t.w.config.chart.events.mounted(t, t.w), t.fireEvent("mounted", [t, t.w]);
                                                                 })
                                                                 .catch(function (t) {
                                                                      i(t);
                                                                 });
                                                       } else i(new Error("Element not found"));
                                                  });
                                             },
                                        },
                                        {
                                             key: "initModules",
                                             value: function () {
                                                  (this.animations = new s.default(this.ctx)),
                                                       (this.annotations = new a.default(this.ctx)),
                                                       (this.core = new u.default(this.el, this)),
                                                       (this.grid = new g.default(this)),
                                                       (this.coreUtils = new h.default(this)),
                                                       (this.config = new c.default({})),
                                                       (this.crosshairs = new d.default(this.ctx)),
                                                       (this.options = new D.default()),
                                                       (this.responsive = new _.default(this.ctx)),
                                                       (this.series = new x.default(this.ctx)),
                                                       (this.theme = new w.default(this.ctx)),
                                                       (this.formatters = new f.default(this.ctx)),
                                                       (this.titleSubtitle = new T.default(this.ctx)),
                                                       (this.legend = new v.default(this.ctx)),
                                                       (this.toolbar = new C.default(this.ctx)),
                                                       (this.dimensions = new p.default(this.ctx)),
                                                       (this.zoomPanSelection = new M.default(this.ctx)),
                                                       (this.w.globals.tooltip = new k.default(this.ctx));
                                             },
                                        },
                                        {
                                             key: "addEventListener",
                                             value: function (t, e) {
                                                  var i = this.w;
                                                  i.globals.events.hasOwnProperty(t) ? i.globals.events[t].push(e) : (i.globals.events[t] = [e]);
                                             },
                                        },
                                        {
                                             key: "removeEventListener",
                                             value: function (t, e) {
                                                  var i = this.w;
                                                  if (i.globals.events.hasOwnProperty(t)) {
                                                       var n = i.globals.events[t].indexOf(e);
                                                       -1 !== n && i.globals.events[t].splice(n, 1);
                                                  }
                                             },
                                        },
                                        {
                                             key: "fireEvent",
                                             value: function (t, e) {
                                                  var i = this.w;
                                                  if (i.globals.events.hasOwnProperty(t)) {
                                                       (e && e.length) || (e = []);
                                                       for (var n = i.globals.events[t], r = n.length, o = 0; o < r; o++) n[o].apply(null, e);
                                                  }
                                             },
                                        },
                                        {
                                             key: "create",
                                             value: function (t, e) {
                                                  var i = this.w;
                                                  this.initModules();
                                                  var n = this.w.globals;
                                                  if (((n.noData = !1), (n.animationEnded = !1), this.responsive.checkResponsiveConfig(e), null === this.el)) return (n.animationEnded = !0), null;
                                                  if ((this.core.setupElements(), 0 === n.svgWidth)) return (n.animationEnded = !0), null;
                                                  this.coreUtils.checkComboSeries(),
                                                       (0 === t.length || (1 === t.length && t[0].data && 0 === t[0].data.length)) && this.series.handleNoData(),
                                                       this.setupEventHandlers(),
                                                       this.core.parseData(t),
                                                       this.theme.init(),
                                                       new y.default(this).setGlobalMarkerSize(),
                                                       this.formatters.setLabelFormatters(),
                                                       this.titleSubtitle.draw(),
                                                       this.legend.init(),
                                                       this.series.hasAllSeriesEqualX(),
                                                       n.axisCharts && (this.core.coreCalculations(), "category" !== i.config.xaxis.type && this.formatters.setLabelFormatters()),
                                                       this.formatters.heatmapLabelFormatters(),
                                                       this.dimensions.plotCoords();
                                                  var r = this.core.xySettings();
                                                  this.grid.createGridMask();
                                                  var o = this.core.plotChartType(t, r);
                                                  this.core.shiftGraphPosition();
                                                  var a = { plot: { left: i.globals.translateX, top: i.globals.translateY, width: i.globals.gridWidth, height: i.globals.gridHeight } };
                                                  return { elGraph: o, xyRatios: r, elInner: i.globals.dom.elGraphical, dimensions: a };
                                             },
                                        },
                                        {
                                             key: "mount",
                                             value: function () {
                                                  var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : null,
                                                       e = this,
                                                       i = e.w;
                                                  return new Promise(function (n, r) {
                                                       if (null === e.el) return r(new Error("Not enough data to display or target element not found"));
                                                       if (
                                                            ((null === t || i.globals.allSeriesCollapsed) && e.series.handleNoData(),
                                                            e.core.drawAxis(i.config.chart.type, t.xyRatios),
                                                            (e.grid = new g.default(e)),
                                                            "back" === i.config.grid.position && e.grid.drawGrid(),
                                                            "back" === i.config.annotations.position && e.annotations.drawAnnotations(),
                                                            t.elGraph instanceof Array)
                                                       )
                                                            for (var o = 0; o < t.elGraph.length; o++) i.globals.dom.elGraphical.add(t.elGraph[o]);
                                                       else i.globals.dom.elGraphical.add(t.elGraph);
                                                       if (
                                                            ("front" === i.config.grid.position && e.grid.drawGrid(),
                                                            "front" === i.config.xaxis.crosshairs.position && e.crosshairs.drawXCrosshairs(),
                                                            "front" === i.config.yaxis[0].crosshairs.position && e.crosshairs.drawYCrosshairs(),
                                                            "front" === i.config.annotations.position && e.annotations.drawAnnotations(),
                                                            !i.globals.noData)
                                                       ) {
                                                            if ((i.config.tooltip.enabled && !i.globals.noData && e.w.globals.tooltip.drawTooltip(t.xyRatios), i.globals.axisCharts && i.globals.isXNumeric))
                                                                 (i.config.chart.zoom.enabled || (i.config.chart.selection && i.config.chart.selection.enabled) || (i.config.chart.pan && i.config.chart.pan.enabled)) &&
                                                                      e.zoomPanSelection.init({ xyRatios: t.xyRatios });
                                                            else {
                                                                 var a = i.config.chart.toolbar.tools;
                                                                 (a.zoom = !1), (a.zoomin = !1), (a.zoomout = !1), (a.selection = !1), (a.pan = !1), (a.reset = !1);
                                                            }
                                                            i.config.chart.toolbar.show && !i.globals.allSeriesCollapsed && e.toolbar.createToolbar();
                                                       }
                                                       if (0 < i.globals.memory.methodsToExec.length) {
                                                            var s = !0,
                                                                 l = !1,
                                                                 c = void 0;
                                                            try {
                                                                 for (var u, h = i.globals.memory.methodsToExec[Symbol.iterator](); !(s = (u = h.next()).done); s = !0) {
                                                                      var d = u.value;
                                                                      d.method(d.params, !1, d.context);
                                                                 }
                                                            } catch (n) {
                                                                 (l = !0), (c = n);
                                                            } finally {
                                                                 try {
                                                                      !s && h.return && h.return();
                                                                 } finally {
                                                                      if (l) throw c;
                                                                 }
                                                            }
                                                       }
                                                       n(e);
                                                  });
                                             },
                                        },
                                        {
                                             key: "clearPreviousPaths",
                                             value: function () {
                                                  var t = this.w;
                                                  (t.globals.previousPaths = []), (t.globals.allSeriesCollapsed = !1), (t.globals.collapsedSeries = []), (t.globals.collapsedSeriesIndices = []);
                                             },
                                        },
                                        {
                                             key: "updateOptions",
                                             value: function (t) {
                                                  var e = 1 < arguments.length && void 0 !== arguments[1] && arguments[1],
                                                       i = !(2 < arguments.length && void 0 !== arguments[2]) || arguments[2],
                                                       n = !(3 < arguments.length && void 0 !== arguments[3]) || arguments[3],
                                                       o = this.w;
                                                  return (
                                                       t.series &&
                                                            (t.series[0].data &&
                                                                 (t.series = t.series.map(function (t, e) {
                                                                      return r({}, o.config.series[e], { name: t.name ? t.name : o.config.series[e].name, data: t.data });
                                                                 })),
                                                            this.revertDefaultAxisMinMax()),
                                                       t.xaxis && (t.xaxis.min || t.xaxis.max) && this.forceXAxisUpdate(t),
                                                       0 < o.globals.collapsedSeriesIndices.length && this.clearPreviousPaths(),
                                                       this._updateOptions(t, e, i, n)
                                                  );
                                             },
                                        },
                                        {
                                             key: "_updateOptions",
                                             value: function (t) {
                                                  var e = 1 < arguments.length && void 0 !== arguments[1] && arguments[1],
                                                       i = !(2 < arguments.length && void 0 !== arguments[2]) || arguments[2],
                                                       r = 3 < arguments.length && void 0 !== arguments[3] && arguments[3];
                                                  this.getSyncedCharts().forEach(function (o) {
                                                       var a = o.w;
                                                       return (
                                                            (a.globals.shouldAnimate = i),
                                                            e || ((a.globals.resized = !0), (a.globals.dataChanged = !0), i && o.series.getPreviousPaths()),
                                                            t &&
                                                                 "object" === (void 0 === t ? "undefined" : n(t)) &&
                                                                 ((o.config = new c.default(t)),
                                                                 (t = h.default.extendArrayProps(o.config, t)),
                                                                 (a.config = S.default.extend(a.config, t)),
                                                                 r &&
                                                                      ((a.globals.lastXAxis = []),
                                                                      (a.globals.lastYAxis = []),
                                                                      (a.globals.initialConfig = S.default.extend({}, a.config)),
                                                                      (a.globals.initialSeries = JSON.parse(JSON.stringify(a.config.series))))),
                                                            o.update(t)
                                                       );
                                                  });
                                             },
                                        },
                                        {
                                             key: "updateSeries",
                                             value: function () {
                                                  var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : [],
                                                       e = !(1 < arguments.length && void 0 !== arguments[1]) || arguments[1],
                                                       i = !(2 < arguments.length && void 0 !== arguments[2]) || arguments[2];
                                                  return this.revertDefaultAxisMinMax(), this._updateSeries(t, e, i);
                                             },
                                        },
                                        {
                                             key: "_updateSeries",
                                             value: function (t, e) {
                                                  var i = 2 < arguments.length && void 0 !== arguments[2] && arguments[2],
                                                       n = this.w;
                                                  (this.w.globals.shouldAnimate = e), (n.globals.dataChanged = !0), n.globals.allSeriesCollapsed && (n.globals.allSeriesCollapsed = !1), e && this.series.getPreviousPaths();
                                                  var o = void 0;
                                                  return (
                                                       t[0].data
                                                            ? ((o = t.map(function (t, e) {
                                                                   return r({}, n.config.series[e], { name: t.name ? t.name : n.config.series[e].name, data: t.data });
                                                              })),
                                                              (n.config.series = o))
                                                            : (n.config.series = t.slice()),
                                                       i && ((n.globals.initialConfig.series = JSON.parse(JSON.stringify(n.config.series))), (n.globals.initialSeries = JSON.parse(JSON.stringify(n.config.series)))),
                                                       this.update()
                                                  );
                                             },
                                        },
                                        {
                                             key: "getSyncedCharts",
                                             value: function () {
                                                  var t = this.getGroupedCharts(),
                                                       e = [this];
                                                  return (
                                                       t.length &&
                                                            ((e = []),
                                                            t.forEach(function (t) {
                                                                 e.push(t);
                                                            })),
                                                       e
                                                  );
                                             },
                                        },
                                        {
                                             key: "getGroupedCharts",
                                             value: function () {
                                                  var t = this;
                                                  return Apex._chartInstances
                                                       .filter(function (t) {
                                                            if (t.group) return !0;
                                                       })
                                                       .map(function (e) {
                                                            return t.w.config.chart.group === e.group ? e.chart : null;
                                                       });
                                             },
                                        },
                                        {
                                             key: "appendData",
                                             value: function (t) {
                                                  var e = !(1 < arguments.length && void 0 !== arguments[1]) || arguments[1];
                                                  (this.w.globals.dataChanged = !0), this.series.getPreviousPaths();
                                                  for (var i = this.w.config.series.slice(), n = 0; n < i.length; n++) if (void 0 !== t[n]) for (var r = 0; r < t[n].data.length; r++) i[n].data.push(t[n].data[r]);
                                                  return (this.w.config.series = i), e && (this.w.globals.initialSeries = JSON.parse(JSON.stringify(this.w.config.series))), this.update();
                                             },
                                        },
                                        {
                                             key: "update",
                                             value: function (t) {
                                                  var e = this;
                                                  return new Promise(function (i, n) {
                                                       e.clear();
                                                       var r = e.create(e.w.config.series, t);
                                                       if (!r) return i(e);
                                                       e.mount(r)
                                                            .then(function () {
                                                                 "function" == typeof e.w.config.chart.events.updated && e.w.config.chart.events.updated(e, e.w), e.fireEvent("updated", [e, e.w]), (e.w.globals.isDirty = !0), i(e);
                                                            })
                                                            .catch(function (t) {
                                                                 n(t);
                                                            });
                                                  });
                                             },
                                        },
                                        {
                                             key: "forceXAxisUpdate",
                                             value: function (t) {
                                                  var e = this.w;
                                                  void 0 !== t.xaxis.min && ((e.config.xaxis.min = t.xaxis.min), (e.globals.lastXAxis.min = t.xaxis.min)),
                                                       void 0 !== t.xaxis.max && ((e.config.xaxis.max = t.xaxis.max), (e.globals.lastXAxis.max = t.xaxis.max));
                                             },
                                        },
                                        {
                                             key: "revertDefaultAxisMinMax",
                                             value: function () {
                                                  var t = this.w;
                                                  (t.config.xaxis.min = t.globals.lastXAxis.min),
                                                       (t.config.xaxis.max = t.globals.lastXAxis.max),
                                                       t.config.yaxis.map(function (e, i) {
                                                            t.globals.zoomed && void 0 !== t.globals.lastYAxis[i] && ((e.min = t.globals.lastYAxis[i].min), (e.max = t.globals.lastYAxis[i].max));
                                                       });
                                             },
                                        },
                                        {
                                             key: "clear",
                                             value: function () {
                                                  this.zoomPanSelection && this.zoomPanSelection.destroy(),
                                                       this.toolbar && this.toolbar.destroy(),
                                                       (this.animations = null),
                                                       (this.annotations = null),
                                                       (this.core = null),
                                                       (this.grid = null),
                                                       (this.series = null),
                                                       (this.responsive = null),
                                                       (this.theme = null),
                                                       (this.formatters = null),
                                                       (this.titleSubtitle = null),
                                                       (this.legend = null),
                                                       (this.dimensions = null),
                                                       (this.options = null),
                                                       (this.crosshairs = null),
                                                       (this.zoomPanSelection = null),
                                                       (this.toolbar = null),
                                                       (this.w.globals.tooltip = null),
                                                       this.clearDomElements();
                                             },
                                        },
                                        {
                                             key: "killSVG",
                                             value: function (t) {
                                                  return new Promise(function (e, i) {
                                                       t.each(function (t, e) {
                                                            this.removeClass("*"), this.off(), this.stop();
                                                       }, !0),
                                                            t.ungroup(),
                                                            t.clear(),
                                                            e("done");
                                                  });
                                             },
                                        },
                                        {
                                             key: "clearDomElements",
                                             value: function () {
                                                  var t = this.w.globals.dom;
                                                  if (null !== this.el) for (; this.el.firstChild; ) this.el.removeChild(this.el.firstChild);
                                                  this.killSVG(t.Paper),
                                                       t.Paper.remove(),
                                                       (t.elWrap = null),
                                                       (t.elGraphical = null),
                                                       (t.elLegendWrap = null),
                                                       (t.baseEl = null),
                                                       (t.elGridRect = null),
                                                       (t.elGridRectMask = null),
                                                       (t.elGridRectMarkerMask = null),
                                                       (t.elDefs = null);
                                             },
                                        },
                                        {
                                             key: "destroy",
                                             value: function () {
                                                  this.clear();
                                                  var t = this.w.config.chart.id;
                                                  t &&
                                                       Apex._chartInstances.forEach(function (e, i) {
                                                            e.id === t && Apex._chartInstances.splice(i, 1);
                                                       }),
                                                       window.removeEventListener("resize", this.windowResizeHandler),
                                                       window.removeResizeListener(this.el.parentNode, this.parentResizeCallback.bind(this));
                                             },
                                        },
                                        {
                                             key: "toggleSeries",
                                             value: function (t) {
                                                  var e = this.series.getSeriesByName(t),
                                                       i = parseInt(e.getAttribute("data:realIndex")),
                                                       n = e.classList.contains("apexcharts-series-collapsed");
                                                  this.legend.toggleDataSeries(i, n);
                                             },
                                        },
                                        {
                                             key: "resetToggleSeries",
                                             value: function () {
                                                  this.legend.resetToggleDataSeries();
                                             },
                                        },
                                        {
                                             key: "setupEventHandlers",
                                             value: function () {
                                                  var t = this.w,
                                                       e = this,
                                                       i = t.globals.dom.baseEl.querySelector(t.globals.chartClass),
                                                       n = !0,
                                                       r = !1,
                                                       o = void 0;
                                                  try {
                                                       for (var a, s = ["mousedown", "mousemove", "touchstart", "touchmove", "mouseup", "touchend"][Symbol.iterator](); !(n = (a = s.next()).done); n = !0) {
                                                            var l = a.value;
                                                            i.addEventListener(
                                                                 l,
                                                                 function (i) {
                                                                      ("mousedown" === i.type && 1 === i.which) ||
                                                                           ((("mouseup" === i.type && 1 === i.which) || "touchend" === i.type) &&
                                                                                ("function" == typeof t.config.chart.events.click && t.config.chart.events.click(i, e, t), e.fireEvent("click", [i, e, t])));
                                                                 },
                                                                 { capture: !1, passive: !0 }
                                                            );
                                                       }
                                                  } catch (i) {
                                                       (r = !0), (o = i);
                                                  } finally {
                                                       try {
                                                            !n && s.return && s.return();
                                                       } finally {
                                                            if (r) throw o;
                                                       }
                                                  }
                                                  this.core.setupBrushHandler();
                                             },
                                        },
                                        {
                                             key: "addXaxisAnnotation",
                                             value: function (t) {
                                                  var e = !(1 < arguments.length && void 0 !== arguments[1]) || arguments[1],
                                                       i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : void 0,
                                                       n = this;
                                                  i && (n = i), n.annotations.addXaxisAnnotationExternal(t, e, n);
                                             },
                                        },
                                        {
                                             key: "addYaxisAnnotation",
                                             value: function (t) {
                                                  var e = !(1 < arguments.length && void 0 !== arguments[1]) || arguments[1],
                                                       i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : void 0,
                                                       n = this;
                                                  i && (n = i), n.annotations.addYaxisAnnotationExternal(t, e, n);
                                             },
                                        },
                                        {
                                             key: "addPointAnnotation",
                                             value: function (t) {
                                                  var e = !(1 < arguments.length && void 0 !== arguments[1]) || arguments[1],
                                                       i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : void 0,
                                                       n = this;
                                                  i && (n = i), n.annotations.addPointAnnotationExternal(t, e, n);
                                             },
                                        },
                                        {
                                             key: "clearAnnotations",
                                             value: function () {
                                                  var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : void 0,
                                                       e = this;
                                                  t && (e = t), e.annotations.clearAnnotations(e);
                                             },
                                        },
                                        {
                                             key: "addText",
                                             value: function (t) {
                                                  var e = !(1 < arguments.length && void 0 !== arguments[1]) || arguments[1],
                                                       i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : void 0,
                                                       n = this;
                                                  i && (n = i), n.annotations.addText(t, e, n);
                                             },
                                        },
                                        {
                                             key: "getChartArea",
                                             value: function () {
                                                  return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner");
                                             },
                                        },
                                        {
                                             key: "getSeriesTotalXRange",
                                             value: function (t, e) {
                                                  return this.coreUtils.getSeriesTotalsXRange(t, e);
                                             },
                                        },
                                        {
                                             key: "getHighestValueInSeries",
                                             value: function () {
                                                  var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 0;
                                                  return new b.default(this.ctx).getMinYMaxY(t).highestY;
                                             },
                                        },
                                        {
                                             key: "getLowestValueInSeries",
                                             value: function () {
                                                  var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 0;
                                                  return new b.default(this.ctx).getMinYMaxY(t).lowestY;
                                             },
                                        },
                                        {
                                             key: "getSeriesTotal",
                                             value: function () {
                                                  return this.w.globals.seriesTotals;
                                             },
                                        },
                                        {
                                             key: "setLocale",
                                             value: function (t) {
                                                  this.setCurrentLocaleValues(t);
                                             },
                                        },
                                        {
                                             key: "setCurrentLocaleValues",
                                             value: function (t) {
                                                  var e = this.w.config.chart.locales;
                                                  window.Apex.chart && window.Apex.chart.locales && 0 < window.Apex.chart.locales.length && (e = this.w.config.chart.locales.concat(window.Apex.chart.locales));
                                                  var i = e.find(function (e) {
                                                       return e.name === t;
                                                  });
                                                  if (!i) throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");
                                                  var n = S.default.extend(E, i);
                                                  this.w.globals.locale = n.options;
                                             },
                                        },
                                        {
                                             key: "svgUrl",
                                             value: function () {
                                                  return new m.default(this.ctx).svgUrl();
                                             },
                                        },
                                        {
                                             key: "paper",
                                             value: function () {
                                                  return this.w.globals.dom.Paper;
                                             },
                                        },
                                        {
                                             key: "parentResizeCallback",
                                             value: function () {
                                                  this.w.globals.animationEnded && this.windowResize();
                                             },
                                        },
                                        {
                                             key: "windowResize",
                                             value: function () {
                                                  var t = this;
                                                  clearTimeout(this.w.globals.resizeTimer),
                                                       (this.w.globals.resizeTimer = window.setTimeout(function () {
                                                            (t.w.globals.resized = !0), (t.w.globals.dataChanged = !1), t.update();
                                                       }, 150));
                                             },
                                        },
                                   ],
                                   [
                                        {
                                             key: "initOnLoad",
                                             value: function () {
                                                  for (var e = document.querySelectorAll("[data-apexcharts]"), i = 0; i < e.length; i++) new t(e[i], JSON.parse(e[i].getAttribute("data-options"))).render();
                                             },
                                        },
                                        {
                                             key: "exec",
                                             value: function (t, e) {
                                                  var i = this.getChartByID(t);
                                                  if (i) {
                                                       for (var n = arguments.length, r = Array(2 < n ? n - 2 : 0), o = 2; o < n; o++) r[o - 2] = arguments[o];
                                                       switch (e) {
                                                            case "updateOptions":
                                                                 return i.updateOptions.apply(i, r);
                                                            case "updateSeries":
                                                                 return i.updateSeries.apply(i, r);
                                                            case "appendData":
                                                                 return i.appendData.apply(i, r);
                                                            case "addXaxisAnnotation":
                                                                 return i.addXaxisAnnotation.apply(i, r);
                                                            case "addYaxisAnnotation":
                                                                 return i.addYaxisAnnotation.apply(i, r);
                                                            case "addPointAnnotation":
                                                                 return i.addPointAnnotation.apply(i, r);
                                                            case "clearAnnotations":
                                                                 return i.clearAnnotations.apply(i, r);
                                                            case "destroy":
                                                                 return i.destroy();
                                                       }
                                                  }
                                             },
                                        },
                                        {
                                             key: "merge",
                                             value: function (t, e) {
                                                  return S.default.extend(t, e);
                                             },
                                        },
                                        {
                                             key: "getChartByID",
                                             value: function (t) {
                                                  return Apex._chartInstances.find(function (e) {
                                                       return e.id === t;
                                                  }).chart;
                                             },
                                        },
                                   ]
                              ),
                              t
                         );
                    })();
                    t.exports = A;
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = function (t, e, i, n) {
                         if (!(t instanceof e) || (void 0 !== n && n in t)) throw TypeError(i + ": incorrect invocation!");
                         return t;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(15),
                         r = i(39),
                         o = i(31),
                         a = i(24),
                         s = i(95);
                    t.exports = function (t, e) {
                         var i = 1 == t,
                              l = 2 == t,
                              c = 3 == t,
                              u = 4 == t,
                              h = 6 == t,
                              d = 5 == t || h,
                              p = e || s;
                         return function (e, s, f) {
                              for (var m, g, v = o(e), y = r(v), b = n(s, f, 3), _ = a(y.length), x = 0, w = i ? p(e, _) : l ? p(e, 0) : void 0; x < _; x++)
                                   if ((d || x in y) && ((g = b((m = y[x]), x, v)), t))
                                        if (i) w[x] = g;
                                        else if (g)
                                             switch (t) {
                                                  case 3:
                                                       return !0;
                                                  case 5:
                                                       return m;
                                                  case 6:
                                                       return x;
                                                  case 2:
                                                       w.push(m);
                                             }
                                        else if (u) return !1;
                              return h ? -1 : c || u ? u : w;
                         };
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(18),
                         r = i(31),
                         o = i(39),
                         a = i(24);
                    t.exports = function (t, e, i, s, l) {
                         n(e);
                         var c = r(t),
                              u = o(c),
                              h = a(c.length),
                              d = l ? h - 1 : 0,
                              p = l ? -1 : 1;
                         if (i < 2)
                              for (;;) {
                                   if (d in u) {
                                        (s = u[d]), (d += p);
                                        break;
                                   }
                                   if (((d += p), l ? d < 0 : h <= d)) throw TypeError("Reduce of empty array with no initial value");
                              }
                         for (; l ? 0 <= d : d < h; d += p) d in u && (s = e(s, u[d], d, c));
                         return s;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(9),
                         r = i(58),
                         o = i(2)("species");
                    t.exports = function (t) {
                         var e;
                         return r(t) && ("function" != typeof (e = t.constructor) || (e !== Array && !r(e.prototype)) || (e = void 0), n(e) && null === (e = e[o]) && (e = void 0)), void 0 === e ? Array : e;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(94);
                    t.exports = function (t, e) {
                         return new (n(t))(e);
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(10),
                         r = i(23);
                    t.exports = function (t, e, i) {
                         e in t ? n.f(t, e, r(0, i)) : (t[e] = i);
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(29),
                         r = i(64),
                         o = i(41);
                    t.exports = function (t) {
                         var e = n(t),
                              i = r.f;
                         if (i) for (var a, s = i(t), l = o.f, c = 0; s.length > c; ) l.call(t, (a = s[c++])) && e.push(a);
                         return e;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(15),
                         r = i(59),
                         o = i(57),
                         a = i(8),
                         s = i(24),
                         l = i(71),
                         c = {},
                         u = {},
                         h = (t.exports = function (t, e, i, h, d) {
                              var p,
                                   f,
                                   m,
                                   g,
                                   v = d
                                        ? function () {
                                               return t;
                                          }
                                        : l(t),
                                   y = n(i, h, e ? 2 : 1),
                                   b = 0;
                              if ("function" != typeof v) throw TypeError(t + " is not iterable!");
                              if (o(v)) {
                                   for (p = s(t.length); b < p; b++) if ((g = e ? y(a((f = t[b]))[0], f[1]) : y(t[b])) === c || g === u) return g;
                              } else for (m = v.call(t); !(f = m.next()).done; ) if ((g = r(m, y, f.value, e)) === c || g === u) return g;
                         });
                    (h.BREAK = c), (h.RETURN = u);
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = function (t, e, i) {
                         var n = void 0 === i;
                         switch (e.length) {
                              case 0:
                                   return n ? t() : t.call(i);
                              case 1:
                                   return n ? t(e[0]) : t.call(i, e[0]);
                              case 2:
                                   return n ? t(e[0], e[1]) : t.call(i, e[0], e[1]);
                              case 3:
                                   return n ? t(e[0], e[1], e[2]) : t.call(i, e[0], e[1], e[2]);
                              case 4:
                                   return n ? t(e[0], e[1], e[2], e[3]) : t.call(i, e[0], e[1], e[2], e[3]);
                         }
                         return t.apply(i, e);
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(62),
                         r = i(23),
                         o = i(30),
                         a = {};
                    i(14)(a, i(2)("iterator"), function () {
                         return this;
                    }),
                         (t.exports = function (t, e, i) {
                              (t.prototype = n(a, { next: r(1, i) })), o(t, e + " Iterator");
                         });
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = function (t, e) {
                         return { value: e, done: !!t };
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n =
                              "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                   ? function (t) {
                                          return typeof t;
                                     }
                                   : function (t) {
                                          return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                     },
                         r = i(25)("meta"),
                         o = i(9),
                         a = i(13),
                         s = i(10).f,
                         l = 0,
                         c =
                              Object.isExtensible ||
                              function () {
                                   return !0;
                              },
                         u = !i(20)(function () {
                              return c(Object.preventExtensions({}));
                         }),
                         h = function (t) {
                              s(t, r, { value: { i: "O" + ++l, w: {} } });
                         },
                         d = (t.exports = {
                              KEY: r,
                              NEED: !1,
                              fastKey: function (t, e) {
                                   if (!o(t)) return "symbol" == (void 0 === t ? "undefined" : n(t)) ? t : ("string" == typeof t ? "S" : "P") + t;
                                   if (!a(t, r)) {
                                        if (!c(t)) return "F";
                                        if (!e) return "E";
                                        h(t);
                                   }
                                   return t[r].i;
                              },
                              getWeak: function (t, e) {
                                   if (!a(t, r)) {
                                        if (!c(t)) return !0;
                                        if (!e) return !1;
                                        h(t);
                                   }
                                   return t[r].w;
                              },
                              onFreeze: function (t) {
                                   return u && d.NEED && c(t) && !a(t, r) && h(t), t;
                              },
                         });
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(3),
                         r = i(69).set,
                         o = n.MutationObserver || n.WebKitMutationObserver,
                         a = n.process,
                         s = n.Promise,
                         l = "process" == i(19)(a);
                    t.exports = function () {
                         var t,
                              e,
                              i,
                              c = function () {
                                   var n, r;
                                   for (l && (n = a.domain) && n.exit(); t; ) {
                                        (r = t.fn), (t = t.next);
                                        try {
                                             r();
                                        } catch (n) {
                                             throw (t ? i() : (e = void 0), n);
                                        }
                                   }
                                   (e = void 0), n && n.enter();
                              };
                         if (l)
                              i = function () {
                                   a.nextTick(c);
                              };
                         else if (!o || (n.navigator && n.navigator.standalone))
                              if (s && s.resolve) {
                                   var u = s.resolve(void 0);
                                   i = function () {
                                        u.then(c);
                                   };
                              } else
                                   i = function () {
                                        r.call(n, c);
                                   };
                         else {
                              var h = !0,
                                   d = document.createTextNode("");
                              new o(c).observe(d, { characterData: !0 }),
                                   (i = function () {
                                        d.data = h = !h;
                                   });
                         }
                         return function (n) {
                              var r = { fn: n, next: void 0 };
                              e && (e.next = r), t || ((t = r), i()), (e = r);
                         };
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(10),
                         r = i(8),
                         o = i(29);
                    t.exports = i(12)
                         ? Object.defineProperties
                         : function (t, e) {
                                r(t);
                                for (var i, a = o(e), s = a.length, l = 0; l < s; ) n.f(t, (i = a[l++]), e[i]);
                                return t;
                           };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(41),
                         r = i(23),
                         o = i(17),
                         a = i(45),
                         s = i(13),
                         l = i(56),
                         c = Object.getOwnPropertyDescriptor;
                    e.f = i(12)
                         ? c
                         : function (t, e) {
                                if (((t = o(t)), (e = a(e, !0)), l))
                                     try {
                                          return c(t, e);
                                     } catch (t) {}
                                if (s(t, e)) return r(!n.f.call(t, e), t[e]);
                           };
               },
               function (t, e, i) {
                    "use strict";
                    var n =
                              "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                   ? function (t) {
                                          return typeof t;
                                     }
                                   : function (t) {
                                          return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                     },
                         r = i(17),
                         o = i(63).f,
                         a = {}.toString,
                         s = "object" == ("undefined" == typeof window ? "undefined" : n(window)) && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
                    t.exports.f = function (t) {
                         return s && "[object Window]" == a.call(t)
                              ? (function (t) {
                                     try {
                                          return o(t);
                                     } catch (t) {
                                          return s.slice();
                                     }
                                })(t)
                              : o(r(t));
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(13),
                         r = i(31),
                         o = i(42)("IE_PROTO"),
                         a = Object.prototype;
                    t.exports =
                         Object.getPrototypeOf ||
                         function (t) {
                              return (t = r(t)), n(t, o) ? t[o] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? a : null;
                         };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(16);
                    t.exports = function (t, e, i) {
                         for (var r in e) n(t, r, e[r], i);
                         return t;
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(3),
                         r = i(10),
                         o = i(12),
                         a = i(2)("species");
                    t.exports = function (t) {
                         var e = n[t];
                         o &&
                              e &&
                              !e[a] &&
                              r.f(e, a, {
                                   configurable: !0,
                                   get: function () {
                                        return this;
                                   },
                              });
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(20);
                    t.exports = function (t, e) {
                         return (
                              !!t &&
                              n(function () {
                                   e ? t.call(null, function () {}, 1) : t.call(null);
                              })
                         );
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(44),
                         r = i(36);
                    t.exports = function (t) {
                         return function (e, i) {
                              var o,
                                   a,
                                   s = String(r(e)),
                                   l = n(i),
                                   c = s.length;
                              return l < 0 || c <= l
                                   ? t
                                        ? ""
                                        : void 0
                                   : (o = s.charCodeAt(l)) < 55296 || 56319 < o || l + 1 === c || (a = s.charCodeAt(l + 1)) < 56320 || 57343 < a
                                   ? t
                                        ? s.charAt(l)
                                        : o
                                   : t
                                   ? s.slice(l, l + 2)
                                   : a - 56320 + ((o - 55296) << 10) + 65536;
                         };
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(44),
                         r = Math.max,
                         o = Math.min;
                    t.exports = function (t, e) {
                         return (t = n(t)) < 0 ? r(t + e, 0) : o(t, e);
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(3).navigator;
                    t.exports = (n && n.userAgent) || "";
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(6),
                         r = i(92)(5),
                         o = !0;
                    "find" in [] &&
                         Array(1).find(function () {
                              o = !1;
                         }),
                         n(n.P + n.F * o, "Array", {
                              find: function (t) {
                                   return r(this, t, 1 < arguments.length ? arguments[1] : void 0);
                              },
                         }),
                         i(34)("find");
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(15),
                         r = i(6),
                         o = i(31),
                         a = i(59),
                         s = i(57),
                         l = i(24),
                         c = i(96),
                         u = i(71);
                    r(
                         r.S +
                              r.F *
                                   !i(61)(function (t) {
                                        Array.from(t);
                                   }),
                         "Array",
                         {
                              from: function (t) {
                                   var e,
                                        i,
                                        r,
                                        h,
                                        d = o(t),
                                        p = "function" == typeof this ? this : Array,
                                        f = arguments.length,
                                        m = 1 < f ? arguments[1] : void 0,
                                        g = void 0 !== m,
                                        v = 0,
                                        y = u(d);
                                   if ((g && (m = n(m, 2 < f ? arguments[2] : void 0, 2)), null == y || (p == Array && s(y)))) for (i = new p((e = l(d.length))); v < e; v++) c(i, v, g ? m(d[v], v) : d[v]);
                                   else for (h = y.call(d), i = new p(); !(r = h.next()).done; v++) c(i, v, g ? a(h, m, [r.value, v], !0) : r.value);
                                   return (i.length = v), i;
                              },
                         }
                    );
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(34),
                         r = i(101),
                         o = i(21),
                         a = i(17);
                    (t.exports = i(60)(
                         Array,
                         "Array",
                         function (t, e) {
                              (this._t = a(t)), (this._i = 0), (this._k = e);
                         },
                         function () {
                              var t = this._t,
                                   e = this._k,
                                   i = this._i++;
                              return !t || i >= t.length ? ((this._t = void 0), r(1)) : r(0, "keys" == e ? i : "values" == e ? t[i] : [i, t[i]]);
                         },
                         "values"
                    )),
                         (o.Arguments = o.Array),
                         n("keys"),
                         n("values"),
                         n("entries");
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(6),
                         r = i(93);
                    n(n.P + n.F * !i(110)([].reduce, !0), "Array", {
                         reduce: function (t) {
                              return r(this, t, arguments.length, arguments[1], !1);
                         },
                    });
               },
               function (t, e, i) {
                    "use strict";
                    var n,
                         r,
                         o,
                         a,
                         s = i(22),
                         l = i(3),
                         c = i(15),
                         u = i(35),
                         h = i(6),
                         d = i(9),
                         p = i(18),
                         f = i(91),
                         m = i(98),
                         g = i(68),
                         v = i(69).set,
                         y = i(103)(),
                         b = i(40),
                         _ = i(66),
                         x = i(113),
                         w = i(67),
                         k = "Promise",
                         S = l.TypeError,
                         M = l.process,
                         T = M && M.versions,
                         C = (T && T.v8) || "",
                         D = l[k],
                         L = "process" == u(M),
                         E = function () {},
                         A = (r = b.f),
                         P = !!(function () {
                              try {
                                   var t = D.resolve(1),
                                        e = ((t.constructor = {})[i(2)("species")] = function (t) {
                                             t(E, E);
                                        });
                                   return (L || "function" == typeof PromiseRejectionEvent) && t.then(E) instanceof e && 0 !== C.indexOf("6.6") && -1 === x.indexOf("Chrome/66");
                              } catch (t) {}
                         })(),
                         I = function (t) {
                              var e;
                              return !(!d(t) || "function" != typeof (e = t.then)) && e;
                         },
                         O = function (t, e) {
                              if (!t._n) {
                                   t._n = !0;
                                   var i = t._c;
                                   y(function () {
                                        for (
                                             var n = t._v,
                                                  r = 1 == t._s,
                                                  o = 0,
                                                  a = function (e) {
                                                       var i,
                                                            o,
                                                            a,
                                                            s = r ? e.ok : e.fail,
                                                            l = e.resolve,
                                                            c = e.reject,
                                                            u = e.domain;
                                                       try {
                                                            s
                                                                 ? (r || (2 == t._h && R(t), (t._h = 1)),
                                                                   !0 === s ? (i = n) : (u && u.enter(), (i = s(n)), u && (u.exit(), (a = !0))),
                                                                   i === e.promise ? c(S("Promise-chain cycle")) : (o = I(i)) ? o.call(i, l, c) : l(i))
                                                                 : c(n);
                                                       } catch (e) {
                                                            u && !a && u.exit(), c(e);
                                                       }
                                                  };
                                             i.length > o;

                                        )
                                             a(i[o++]);
                                        (t._c = []), (t._n = !1), e && !t._h && Y(t);
                                   });
                              }
                         },
                         Y = function (t) {
                              v.call(l, function () {
                                   var e,
                                        i,
                                        n,
                                        r = t._v,
                                        o = z(t);
                                   if (
                                        (o &&
                                             ((e = _(function () {
                                                  L ? M.emit("unhandledRejection", r, t) : (i = l.onunhandledrejection) ? i({ promise: t, reason: r }) : (n = l.console) && n.error && n.error("Unhandled promise rejection", r);
                                             })),
                                             (t._h = L || z(t) ? 2 : 1)),
                                        (t._a = void 0),
                                        o && e.e)
                                   )
                                        throw e.v;
                              });
                         },
                         z = function (t) {
                              return 1 !== t._h && 0 === (t._a || t._c).length;
                         },
                         R = function (t) {
                              v.call(l, function () {
                                   var e;
                                   L ? M.emit("rejectionHandled", t) : (e = l.onrejectionhandled) && e({ promise: t, reason: t._v });
                              });
                         },
                         F = function (t) {
                              var e = this;
                              e._d || ((e._d = !0), ((e = e._w || e)._v = t), (e._s = 2), e._a || (e._a = e._c.slice()), O(e, !0));
                         },
                         H = function t(e) {
                              var i,
                                   n = this;
                              if (!n._d) {
                                   (n._d = !0), (n = n._w || n);
                                   try {
                                        if (n === e) throw S("Promise can't be resolved itself");
                                        (i = I(e))
                                             ? y(function () {
                                                    var r = { _w: n, _d: !1 };
                                                    try {
                                                         i.call(e, c(t, r, 1), c(F, r, 1));
                                                    } catch (t) {
                                                         F.call(r, t);
                                                    }
                                               })
                                             : ((n._v = e), (n._s = 1), O(n, !1));
                                   } catch (t) {
                                        F.call({ _w: n, _d: !1 }, t);
                                   }
                              }
                         };
                    P ||
                         ((D = function (t) {
                              f(this, D, k, "_h"), p(t), n.call(this);
                              try {
                                   t(c(H, this, 1), c(F, this, 1));
                              } catch (t) {
                                   F.call(this, t);
                              }
                         }),
                         ((n = function (t) {
                              (this._c = []), (this._a = void 0), (this._s = 0), (this._d = !1), (this._v = void 0), (this._h = 0), (this._n = !1);
                         }).prototype = i(108)(D.prototype, {
                              then: function (t, e) {
                                   var i = A(g(this, D));
                                   return (i.ok = "function" != typeof t || t), (i.fail = "function" == typeof e && e), (i.domain = L ? M.domain : void 0), this._c.push(i), this._a && this._a.push(i), this._s && O(this, !1), i.promise;
                              },
                              catch: function (t) {
                                   return this.then(void 0, t);
                              },
                         })),
                         (o = function () {
                              var t = new n();
                              (this.promise = t), (this.resolve = c(H, t, 1)), (this.reject = c(F, t, 1));
                         }),
                         (b.f = A = function (t) {
                              return t === D || t === a ? new o(t) : r(t);
                         })),
                         h(h.G + h.W + h.F * !P, { Promise: D }),
                         i(30)(D, k),
                         i(109)(k),
                         (a = i(4)[k]),
                         h(h.S + h.F * !P, k, {
                              reject: function (t) {
                                   var e = A(this);
                                   return (0, e.reject)(t), e.promise;
                              },
                         }),
                         h(h.S + h.F * (s || !P), k, {
                              resolve: function (t) {
                                   return w(s && this === a ? D : this, t);
                              },
                         }),
                         h(
                              h.S +
                                   h.F *
                                        !(
                                             P &&
                                             i(61)(function (t) {
                                                  D.all(t).catch(E);
                                             })
                                        ),
                              k,
                              {
                                   all: function (t) {
                                        var e = this,
                                             i = A(e),
                                             n = i.resolve,
                                             r = i.reject,
                                             o = _(function () {
                                                  var i = [],
                                                       o = 0,
                                                       a = 1;
                                                  m(t, !1, function (t) {
                                                       var s = o++,
                                                            l = !1;
                                                       i.push(void 0),
                                                            a++,
                                                            e.resolve(t).then(function (t) {
                                                                 l || ((l = !0), (i[s] = t), --a || n(i));
                                                            }, r);
                                                  }),
                                                       --a || n(i);
                                             });
                                        return o.e && r(o.v), i.promise;
                                   },
                                   race: function (t) {
                                        var e = this,
                                             i = A(e),
                                             n = i.reject,
                                             r = _(function () {
                                                  m(t, !1, function (t) {
                                                       e.resolve(t).then(i.resolve, n);
                                                  });
                                             });
                                        return r.e && n(r.v), i.promise;
                                   },
                              }
                         );
               },
               function (t, e, i) {
                    "use strict";
                    var n =
                              "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                   ? function (t) {
                                          return typeof t;
                                     }
                                   : function (t) {
                                          return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                     },
                         r = i(3),
                         o = i(13),
                         a = i(12),
                         s = i(6),
                         l = i(16),
                         c = i(102).KEY,
                         u = i(20),
                         h = i(43),
                         d = i(30),
                         p = i(25),
                         f = i(2),
                         m = i(70),
                         g = i(46),
                         v = i(97),
                         y = i(58),
                         b = i(8),
                         _ = i(9),
                         x = i(17),
                         w = i(45),
                         k = i(23),
                         S = i(62),
                         M = i(106),
                         T = i(105),
                         C = i(10),
                         D = i(29),
                         L = T.f,
                         E = C.f,
                         A = M.f,
                         P = r.Symbol,
                         I = r.JSON,
                         O = I && I.stringify,
                         Y = "prototype",
                         z = f("_hidden"),
                         R = f("toPrimitive"),
                         F = {}.propertyIsEnumerable,
                         H = h("symbol-registry"),
                         j = h("symbols"),
                         N = h("op-symbols"),
                         B = Object[Y],
                         W = "function" == typeof P,
                         V = r.QObject,
                         U = !V || !V[Y] || !V[Y].findChild,
                         q =
                              a &&
                              u(function () {
                                   return (
                                        7 !=
                                        S(
                                             E({}, "a", {
                                                  get: function () {
                                                       return E(this, "a", { value: 7 }).a;
                                                  },
                                             })
                                        ).a
                                   );
                              })
                                   ? function (t, e, i) {
                                          var n = L(B, e);
                                          n && delete B[e], E(t, e, i), n && t !== B && E(B, e, n);
                                     }
                                   : E,
                         $ = function (t) {
                              var e = (j[t] = S(P[Y]));
                              return (e._k = t), e;
                         },
                         X =
                              W && "symbol" == n(P.iterator)
                                   ? function (t) {
                                          return "symbol" == (void 0 === t ? "undefined" : n(t));
                                     }
                                   : function (t) {
                                          return t instanceof P;
                                     },
                         G = function (t, e, i) {
                              return (
                                   t === B && G(N, e, i),
                                   b(t),
                                   (e = w(e, !0)),
                                   b(i),
                                   o(j, e) ? (i.enumerable ? (o(t, z) && t[z][e] && (t[z][e] = !1), (i = S(i, { enumerable: k(0, !1) }))) : (o(t, z) || E(t, z, k(1, {})), (t[z][e] = !0)), q(t, e, i)) : E(t, e, i)
                              );
                         },
                         Z = function (t, e) {
                              b(t);
                              for (var i, n = v((e = x(e))), r = 0, o = n.length; r < o; ) G(t, (i = n[r++]), e[i]);
                              return t;
                         },
                         J = function (t) {
                              var e = F.call(this, (t = w(t, !0)));
                              return !(this === B && o(j, t) && !o(N, t)) && (!(e || !o(this, t) || !o(j, t) || (o(this, z) && this[z][t])) || e);
                         },
                         K = function (t, e) {
                              if (((t = x(t)), (e = w(e, !0)), t !== B || !o(j, e) || o(N, e))) {
                                   var i = L(t, e);
                                   return !i || !o(j, e) || (o(t, z) && t[z][e]) || (i.enumerable = !0), i;
                              }
                         },
                         Q = function (t) {
                              for (var e, i = A(x(t)), n = [], r = 0; i.length > r; ) o(j, (e = i[r++])) || e == z || e == c || n.push(e);
                              return n;
                         },
                         tt = function (t) {
                              for (var e, i = t === B, n = A(i ? N : x(t)), r = [], a = 0; n.length > a; ) !o(j, (e = n[a++])) || (i && !o(B, e)) || r.push(j[e]);
                              return r;
                         };
                    W ||
                         (l(
                              (P = function () {
                                   if (this instanceof P) throw TypeError("Symbol is not a constructor!");
                                   var t = p(0 < arguments.length ? arguments[0] : void 0);
                                   return (
                                        a &&
                                             U &&
                                             q(B, t, {
                                                  configurable: !0,
                                                  set: function e(i) {
                                                       this === B && e.call(N, i), o(this, z) && o(this[z], t) && (this[z][t] = !1), q(this, t, k(1, i));
                                                  },
                                             }),
                                        $(t)
                                   );
                              })[Y],
                              "toString",
                              function () {
                                   return this._k;
                              }
                         ),
                         (T.f = K),
                         (C.f = G),
                         (i(63).f = M.f = Q),
                         (i(41).f = J),
                         (i(64).f = tt),
                         a && !i(22) && l(B, "propertyIsEnumerable", J, !0),
                         (m.f = function (t) {
                              return $(f(t));
                         })),
                         s(s.G + s.W + s.F * !W, { Symbol: P });
                    for (var et = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), it = 0; et.length > it; ) f(et[it++]);
                    for (var nt = D(f.store), rt = 0; nt.length > rt; ) g(nt[rt++]);
                    s(s.S + s.F * !W, "Symbol", {
                         for: function (t) {
                              return o(H, (t += "")) ? H[t] : (H[t] = P(t));
                         },
                         keyFor: function (t) {
                              if (!X(t)) throw TypeError(t + " is not a symbol!");
                              for (var e in H) if (H[e] === t) return e;
                         },
                         useSetter: function () {
                              U = !0;
                         },
                         useSimple: function () {
                              U = !1;
                         },
                    }),
                         s(s.S + s.F * !W, "Object", {
                              create: function (t, e) {
                                   return void 0 === e ? S(t) : Z(S(t), e);
                              },
                              defineProperty: G,
                              defineProperties: Z,
                              getOwnPropertyDescriptor: K,
                              getOwnPropertyNames: Q,
                              getOwnPropertySymbols: tt,
                         }),
                         I &&
                              s(
                                   s.S +
                                        s.F *
                                             (!W ||
                                                  u(function () {
                                                       var t = P();
                                                       return "[null]" != O([t]) || "{}" != O({ a: t }) || "{}" != O(Object(t));
                                                  })),
                                   "JSON",
                                   {
                                        stringify: function (t) {
                                             for (var e, i, n = [t], r = 1; arguments.length > r; ) n.push(arguments[r++]);
                                             if (((i = e = n[1]), (_(e) || void 0 !== t) && !X(t)))
                                                  return (
                                                       y(e) ||
                                                            (e = function (t, e) {
                                                                 if (("function" == typeof i && (e = i.call(this, t, e)), !X(e))) return e;
                                                            }),
                                                       (n[1] = e),
                                                       O.apply(I, n)
                                                  );
                                        },
                                   }
                              ),
                         P[Y][R] || i(14)(P[Y], R, P[Y].valueOf),
                         d(P, "Symbol"),
                         d(Math, "Math", !0),
                         d(r.JSON, "JSON", !0);
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(6),
                         r = i(54)(!0);
                    n(n.P, "Array", {
                         includes: function (t) {
                              return r(this, t, 1 < arguments.length ? arguments[1] : void 0);
                         },
                    }),
                         i(34)("includes");
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(6),
                         r = i(4),
                         o = i(3),
                         a = i(68),
                         s = i(67);
                    n(n.P + n.R, "Promise", {
                         finally: function (t) {
                              var e = a(this, r.Promise || o.Promise),
                                   i = "function" == typeof t;
                              return this.then(
                                   i
                                        ? function (i) {
                                               return s(e, t()).then(function () {
                                                    return i;
                                               });
                                          }
                                        : t,
                                   i
                                        ? function (i) {
                                               return s(e, t()).then(function () {
                                                    throw i;
                                               });
                                          }
                                        : t
                              );
                         },
                    });
               },
               function (t, e, i) {
                    "use strict";
                    var n = i(6),
                         r = i(40),
                         o = i(66);
                    n(n.S, "Promise", {
                         try: function (t) {
                              var e = r.f(this),
                                   i = o(t);
                              return (i.e ? e.reject : e.resolve)(i.v), e.promise;
                         },
                    });
               },
               function (t, e, i) {
                    "use strict";
                    i(46)("asyncIterator");
               },
               function (t, e, i) {
                    "use strict";
                    i(46)("observable");
               },
               function (t, e, i) {
                    "use strict";
                    for (
                         var n = i(116),
                              r = i(29),
                              o = i(16),
                              a = i(3),
                              s = i(14),
                              l = i(21),
                              c = i(2),
                              u = c("iterator"),
                              h = c("toStringTag"),
                              d = l.Array,
                              p = {
                                   CSSRuleList: !0,
                                   CSSStyleDeclaration: !1,
                                   CSSValueList: !1,
                                   ClientRectList: !1,
                                   DOMRectList: !1,
                                   DOMStringList: !1,
                                   DOMTokenList: !0,
                                   DataTransferItemList: !1,
                                   FileList: !1,
                                   HTMLAllCollection: !1,
                                   HTMLCollection: !1,
                                   HTMLFormElement: !1,
                                   HTMLSelectElement: !1,
                                   MediaList: !0,
                                   MimeTypeArray: !1,
                                   NamedNodeMap: !1,
                                   NodeList: !0,
                                   PaintRequestList: !1,
                                   Plugin: !1,
                                   PluginArray: !1,
                                   SVGLengthList: !1,
                                   SVGNumberList: !1,
                                   SVGPathSegList: !1,
                                   SVGPointList: !1,
                                   SVGStringList: !1,
                                   SVGTransformList: !1,
                                   SourceBufferList: !1,
                                   StyleSheetList: !0,
                                   TextTrackCueList: !1,
                                   TextTrackList: !1,
                                   TouchList: !1,
                              },
                              f = r(p),
                              m = 0;
                         m < f.length;
                         m++
                    ) {
                         var g,
                              v = f[m],
                              y = p[v],
                              b = a[v],
                              _ = b && b.prototype;
                         if (_ && (_[u] || s(_, u, d), _[h] || s(_, h, v), (l[v] = d), y)) for (g in n) _[g] || o(_, g, n[g], !0);
                    }
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = function (t) {
                         var e = [];
                         return (
                              (e.toString = function () {
                                   return this.map(function (e) {
                                        var i = (function (t, e) {
                                             var i,
                                                  n = t[1] || "",
                                                  r = t[3];
                                             if (!r) return n;
                                             if (e && "function" == typeof btoa) {
                                                  var o = ((i = r), "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(i)))) + " */"),
                                                       a = r.sources.map(function (t) {
                                                            return "/*# sourceURL=" + r.sourceRoot + t + " */";
                                                       });
                                                  return [n].concat(a).concat([o]).join("\n");
                                             }
                                             return [n].join("\n");
                                        })(e, t);
                                        return e[2] ? "@media " + e[2] + "{" + i + "}" : i;
                                   }).join("");
                              }),
                              (e.i = function (t, i) {
                                   "string" == typeof t && (t = [[null, t, ""]]);
                                   for (var n = {}, r = 0; r < this.length; r++) {
                                        var o = this[r][0];
                                        "number" == typeof o && (n[o] = !0);
                                   }
                                   for (r = 0; r < t.length; r++) {
                                        var a = t[r];
                                        ("number" == typeof a[0] && n[a[0]]) || (i && !a[2] ? (a[2] = i) : i && (a[2] = "(" + a[2] + ") and (" + i + ")"), e.push(a));
                                   }
                              }),
                              e
                         );
                    };
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = l(i(7)),
                         o = l(i(47)),
                         a = l(i(11)),
                         s = l(i(0));
                    function l(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var c = (function (t) {
                         function e() {
                              return (
                                   (function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, e),
                                   (function (t, e) {
                                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                                        return !e || ("object" != typeof e && "function" != typeof e) ? t : e;
                                   })(this, (e.__proto__ || Object.getPrototypeOf(e)).apply(this, arguments))
                              );
                         }
                         return (
                              (function (t, e) {
                                   if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                                   (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })),
                                        e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));
                              })(e, o.default),
                              n(e, [
                                   {
                                        key: "draw",
                                        value: function (t, e) {
                                             var i = this,
                                                  n = this.w;
                                             (this.graphics = new s.default(this.ctx)), (this.fill = new a.default(this.ctx)), (this.bar = new o.default(this.ctx, this.xyRatios));
                                             var l = new r.default(this.ctx, n);
                                             (this.series = l.getLogSeries(t)),
                                                  (t = this.series),
                                                  (this.yRatio = l.getLogYRatios(this.yRatio)),
                                                  (this.series = t),
                                                  this.initVariables(t),
                                                  "100%" === n.config.chart.stackType && ((this.series = n.globals.seriesPercent.slice()), (t = this.series)),
                                                  (this.totalItems = 0),
                                                  (this.prevY = []),
                                                  (this.prevX = []),
                                                  (this.prevYF = []),
                                                  (this.prevXF = []),
                                                  (this.prevYVal = []),
                                                  (this.prevXVal = []),
                                                  (this.xArrj = []),
                                                  (this.xArrjF = []),
                                                  (this.xArrjVal = []),
                                                  (this.yArrj = []),
                                                  (this.yArrjF = []),
                                                  (this.yArrjVal = []);
                                             for (var c = 0; c < t.length; c++) 0 < t[c].length && (this.totalItems += t[c].length);
                                             (this.zeroSerieses = []), (this.endingShapeOnSeriesNumber = t.length - 1), this.checkZeroSeries({ series: t });
                                             var u = this.graphics.group({ class: "apexcharts-bar-series apexcharts-plot-series" });
                                             u.attr("clip-path", "url(#gridRectMask" + n.globals.cuid + ")");
                                             for (
                                                  var h = 0,
                                                       d = 0,
                                                       p = function (r, o) {
                                                            var a = void 0,
                                                                 s = void 0,
                                                                 l = void 0,
                                                                 c = void 0,
                                                                 p = void 0,
                                                                 f = void 0,
                                                                 m = [],
                                                                 g = [],
                                                                 v = n.globals.comboCharts ? e[r] : r;
                                                            1 < i.yRatio.length && (i.yaxisIndex = v);
                                                            var y,
                                                                 b,
                                                                 _ = i.graphics.group({ class: "apexcharts-series " + n.globals.seriesNames[v].toString().replace(/ /g, "-"), rel: r + 1, "data:realIndex": v }),
                                                                 x = i.graphics.group({ class: "apexcharts-datalabels" }),
                                                                 w = 0,
                                                                 k = i.initialPositions(h, d, l, c, p, f);
                                                            (d = k.y),
                                                                 (y = k.barHeight),
                                                                 (c = k.yDivision),
                                                                 (f = k.zeroW),
                                                                 (h = k.x),
                                                                 (b = k.barWidth),
                                                                 (l = k.xDivision),
                                                                 (p = k.zeroH),
                                                                 (i.yArrj = []),
                                                                 (i.yArrjF = []),
                                                                 (i.yArrjVal = []),
                                                                 (i.xArrj = []),
                                                                 (i.xArrjF = []),
                                                                 (i.xArrjVal = []);
                                                            for (
                                                                 var S = function (e) {
                                                                           var u;
                                                                           n.config.stroke.show && (w = i.isNullValue ? 0 : Array.isArray(i.strokeWidth) ? i.strokeWidth[v] : i.strokeWidth),
                                                                                (u = i.isHorizontal
                                                                                     ? i.drawBarPaths({
                                                                                            indexes: { i: r, j: e, realIndex: v, bc: o },
                                                                                            barHeight: y,
                                                                                            strokeWidth: w,
                                                                                            pathTo: a,
                                                                                            pathFrom: s,
                                                                                            zeroW: f,
                                                                                            x: h,
                                                                                            y: d,
                                                                                            yDivision: c,
                                                                                            elSeries: _,
                                                                                       })
                                                                                     : i.drawColumnPaths({
                                                                                            indexes: { i: r, j: e, realIndex: v, bc: o },
                                                                                            x: h,
                                                                                            y: d,
                                                                                            xDivision: l,
                                                                                            pathTo: a,
                                                                                            pathFrom: s,
                                                                                            barWidth: b,
                                                                                            zeroH: p,
                                                                                            strokeWidth: w,
                                                                                            elSeries: _,
                                                                                       })),
                                                                                (a = u.pathTo),
                                                                                (s = u.pathFrom),
                                                                                (d = u.y),
                                                                                (h = u.x),
                                                                                m.push(h),
                                                                                g.push(d);
                                                                           var k = n.config.plotOptions.bar.distributed ? e : r,
                                                                                S = null;
                                                                           0 < i.barOptions.colors.ranges.length &&
                                                                                i.barOptions.colors.ranges.map(function (i, n) {
                                                                                     t[r][e] >= i.from && t[r][e] <= i.to && (S = i.color);
                                                                                });
                                                                           var M = i.fill.fillPath(_, { seriesNumber: i.barOptions.distributed ? k : v, color: S });
                                                                           _ = i.renderSeries({
                                                                                realIndex: v,
                                                                                pathFill: M,
                                                                                j: e,
                                                                                i: r,
                                                                                pathFrom: s,
                                                                                pathTo: a,
                                                                                strokeWidth: w,
                                                                                elSeries: _,
                                                                                x: h,
                                                                                y: d,
                                                                                series: t,
                                                                                barHeight: y,
                                                                                barWidth: b,
                                                                                elDataLabelsWrap: x,
                                                                                type: "bar",
                                                                                visibleSeries: 0,
                                                                           });
                                                                      },
                                                                      M = 0;
                                                                 M < n.globals.dataPoints;
                                                                 M++
                                                            )
                                                                 S(M);
                                                            (n.globals.seriesXvalues[v] = m),
                                                                 (n.globals.seriesYvalues[v] = g),
                                                                 i.prevY.push(i.yArrj),
                                                                 i.prevYF.push(i.yArrjF),
                                                                 i.prevYVal.push(i.yArrjVal),
                                                                 i.prevX.push(i.xArrj),
                                                                 i.prevXF.push(i.xArrjF),
                                                                 i.prevXVal.push(i.xArrjVal),
                                                                 u.add(_);
                                                       },
                                                       f = 0,
                                                       m = 0;
                                                  f < t.length;
                                                  f++, m++
                                             )
                                                  p(f, m);
                                             return u;
                                        },
                                   },
                                   {
                                        key: "initialPositions",
                                        value: function (t, e, i, n, r, o) {
                                             var a = this.w,
                                                  s = void 0,
                                                  l = void 0;
                                             return (
                                                  this.isHorizontal
                                                       ? ((s = ((s = n = a.globals.gridHeight / a.globals.dataPoints) * parseInt(a.config.plotOptions.bar.barHeight)) / 100),
                                                         (o = this.baseLineInvertedY + a.globals.padHorizontal),
                                                         (e = (n - s) / 2))
                                                       : ((l = i = a.globals.gridWidth / a.globals.dataPoints),
                                                         (l = a.globals.isXNumeric
                                                              ? (((i = this.minXDiff / this.xRatio) / this.seriesLen) * parseInt(this.barOptions.columnWidth)) / 100
                                                              : (l * parseInt(a.config.plotOptions.bar.columnWidth)) / 100),
                                                         (r = this.baseLineY[this.yaxisIndex] + 1),
                                                         (t = a.globals.padHorizontal + (i - l) / 2)),
                                                  { x: t, y: e, yDivision: n, xDivision: i, barHeight: s, barWidth: l, zeroH: r, zeroW: o }
                                             );
                                        },
                                   },
                                   {
                                        key: "drawBarPaths",
                                        value: function (t) {
                                             for (
                                                  var e = t.indexes,
                                                       i = t.barHeight,
                                                       n = t.strokeWidth,
                                                       r = t.pathTo,
                                                       o = t.pathFrom,
                                                       a = t.zeroW,
                                                       s = t.x,
                                                       l = t.y,
                                                       c = t.yDivision,
                                                       u = t.elSeries,
                                                       h = this.w,
                                                       d = l,
                                                       p = void 0,
                                                       f = e.i,
                                                       m = e.j,
                                                       g = e.realIndex,
                                                       v = e.bc,
                                                       y = 0,
                                                       b = 0;
                                                  b < this.prevXF.length;
                                                  b++
                                             )
                                                  y += this.prevXF[b][m];
                                             if (0 < f) {
                                                  var _ = a;
                                                  this.prevXVal[f - 1][m] < 0
                                                       ? (_ = 0 <= this.series[f][m] ? this.prevX[f - 1][m] + y : this.prevX[f - 1][m])
                                                       : 0 <= this.prevXVal[f - 1][m] && (_ = 0 <= this.series[f][m] ? this.prevX[f - 1][m] : this.prevX[f - 1][m] - y),
                                                       (p = _);
                                             } else p = a;
                                             s = null === this.series[f][m] ? p : p + this.series[f][m] / this.invertedYRatio;
                                             var x = { barHeight: i, strokeWidth: n, invertedYRatio: this.invertedYRatio, barYPosition: d, x: s },
                                                  w = this.bar.barEndingShape(h, x, this.series, f, m);
                                             if (
                                                  (1 < this.series.length && f !== this.endingShapeOnSeriesNumber && (w.path = this.graphics.line(w.newX, d + i - n)),
                                                  this.xArrj.push(w.newX),
                                                  this.xArrjF.push(Math.abs(p - w.newX)),
                                                  this.xArrjVal.push(this.series[f][m]),
                                                  (r = this.graphics.move(p, d)),
                                                  (o = this.graphics.move(p, d)),
                                                  0 < h.globals.previousPaths.length && (o = this.bar.getPathFrom(g, m, !1)),
                                                  (r = r + this.graphics.line(w.newX, d) + w.path + this.graphics.line(p, d + i - n) + this.graphics.line(p, d)),
                                                  (o = o + this.graphics.line(p, d) + this.graphics.line(p, d + i - n) + this.graphics.line(p, d + i - n) + this.graphics.line(p, d + i - n) + this.graphics.line(p, d)),
                                                  0 < h.config.plotOptions.bar.colors.backgroundBarColors.length && 0 === f)
                                             ) {
                                                  v >= h.config.plotOptions.bar.colors.backgroundBarColors.length && (v = 0);
                                                  var k = h.config.plotOptions.bar.colors.backgroundBarColors[v],
                                                       S = this.graphics.drawRect(0, d, h.globals.gridWidth, i, 0, k, h.config.plotOptions.bar.colors.backgroundBarOpacity);
                                                  u.add(S), S.node.classList.add("apexcharts-backgroundBar");
                                             }
                                             return { pathTo: r, pathFrom: o, x: s, y: (l += c) };
                                        },
                                   },
                                   {
                                        key: "drawColumnPaths",
                                        value: function (t) {
                                             var e = t.indexes,
                                                  i = t.x,
                                                  n = t.y,
                                                  r = t.xDivision,
                                                  o = t.pathTo,
                                                  a = t.pathFrom,
                                                  s = t.barWidth,
                                                  l = t.zeroH,
                                                  c = t.strokeWidth,
                                                  u = t.elSeries,
                                                  h = this.w,
                                                  d = e.i,
                                                  p = e.j,
                                                  f = e.realIndex,
                                                  m = e.bc;
                                             if (h.globals.isXNumeric) {
                                                  var g = h.globals.seriesX[d][p];
                                                  g || (g = 0), (i = (g - h.globals.minX) / this.xRatio - s / 2);
                                             }
                                             for (var v = i, y = void 0, b = 0, _ = 0; _ < this.prevYF.length; _++) b += this.prevYF[_][p];
                                             if ((0 < d && !h.globals.isXNumeric) || (0 < d && h.globals.isXNumeric && h.globals.seriesX[d - 1][p] === h.globals.seriesX[d][p])) {
                                                  var x = this.prevY[d - 1][p];
                                                  y = this.prevYVal[d - 1][p] < 0 ? (0 <= this.series[d][p] ? x - b : x) : 0 <= this.series[d][p] ? x : x + b;
                                             } else y = h.globals.gridHeight - l;
                                             this.series[d][p], (n = y - this.series[d][p] / this.yRatio[this.yaxisIndex]);
                                             var w = { barWidth: s, strokeWidth: c, yRatio: this.yRatio[this.yaxisIndex], barXPosition: v, y: n },
                                                  k = this.bar.barEndingShape(h, w, this.series, d, p);
                                             if (
                                                  (1 < this.series.length && d !== this.endingShapeOnSeriesNumber && (k.path = this.graphics.line(v + s - c, k.newY)),
                                                  this.yArrj.push(k.newY),
                                                  this.yArrjF.push(Math.abs(y - k.newY)),
                                                  this.yArrjVal.push(this.series[d][p]),
                                                  (o = this.graphics.move(v, y)),
                                                  (a = this.graphics.move(v, y)),
                                                  0 < h.globals.previousPaths.length && (a = this.bar.getPathFrom(f, p, !1)),
                                                  (o = o + this.graphics.line(v, k.newY) + k.path + this.graphics.line(v + s - c, y) + this.graphics.line(v, y)),
                                                  (a = a + this.graphics.line(v, y) + this.graphics.line(v + s - c, y) + this.graphics.line(v + s - c, y) + this.graphics.line(v + s - c, y) + this.graphics.line(v, y)),
                                                  0 < h.config.plotOptions.bar.colors.backgroundBarColors.length && 0 === d)
                                             ) {
                                                  m >= h.config.plotOptions.bar.colors.backgroundBarColors.length && (m = 0);
                                                  var S = h.config.plotOptions.bar.colors.backgroundBarColors[m],
                                                       M = this.graphics.drawRect(v, 0, s, h.globals.gridHeight, 0, S, h.config.plotOptions.bar.colors.backgroundBarOpacity);
                                                  u.add(M), M.node.classList.add("apexcharts-backgroundBar");
                                             }
                                             return (i += r), { pathTo: o, pathFrom: a, x: h.globals.isXNumeric ? i - r : i, y: n };
                                        },
                                   },
                                   {
                                        key: "checkZeroSeries",
                                        value: function (t) {
                                             for (var e = t.series, i = this.w, n = 0; n < e.length; n++) {
                                                  for (var r = 0, o = 0; o < e[i.globals.maxValsInArrayIndex].length; o++) r += e[n][o];
                                                  0 === r && this.zeroSerieses.push(n);
                                             }
                                             for (var a = e.length - 1; 0 <= a; a--) -1 < this.zeroSerieses.indexOf(a) && a === this.endingShapeOnSeriesNumber && (this.endingShapeOnSeriesNumber -= 1);
                                        },
                                   },
                              ]),
                              e
                         );
                    })();
                    e.default = c;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = l(i(7)),
                         o = l(i(47)),
                         a = l(i(11)),
                         s = l(i(0));
                    function l(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var c = (function (t) {
                         function e() {
                              return (
                                   (function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, e),
                                   (function (t, e) {
                                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                                        return !e || ("object" != typeof e && "function" != typeof e) ? t : e;
                                   })(this, (e.__proto__ || Object.getPrototypeOf(e)).apply(this, arguments))
                              );
                         }
                         return (
                              (function (t, e) {
                                   if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                                   (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })),
                                        e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));
                              })(e, o.default),
                              n(e, [
                                   {
                                        key: "draw",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = new s.default(this.ctx),
                                                  o = new a.default(this.ctx);
                                             this.candlestickOptions = this.w.config.plotOptions.candlestick;
                                             var l = new r.default(this.ctx, i);
                                             (this.series = l.getLogSeries(t)), (t = this.series), (this.yRatio = l.getLogYRatios(this.yRatio)), this.initVariables(t);
                                             var c = n.group({ class: "apexcharts-candlestick-series apexcharts-plot-series" });
                                             c.attr("clip-path", "url(#gridRectMask" + i.globals.cuid + ")");
                                             for (var u = 0, h = 0; u < t.length; u++, h++) {
                                                  var d,
                                                       p,
                                                       f = void 0,
                                                       m = void 0,
                                                       g = void 0,
                                                       v = void 0,
                                                       y = [],
                                                       b = [],
                                                       _ = i.globals.comboCharts ? e[u] : u,
                                                       x = n.group({ class: "apexcharts-series " + i.globals.seriesNames[_].toString().replace(/ /g, "-"), rel: u + 1, "data:realIndex": _ });
                                                  0 < t[u].length && (this.visibleI = this.visibleI + 1);
                                                  var w,
                                                       k,
                                                       S = 0;
                                                  1 < this.yRatio.length && (this.yaxisIndex = _);
                                                  var M = this.initialPositions();
                                                  (v = M.y), (w = M.barHeight), (g = M.x), (k = M.barWidth), (d = M.xDivision), (p = M.zeroH), b.push(g + k / 2);
                                                  for (var T = n.group({ class: "apexcharts-datalabels" }), C = 0, D = i.globals.dataPoints; C < i.globals.dataPoints; C++, D--) {
                                                       void 0 === this.series[u][C] || null === t[u][C] ? (this.isNullValue = !0) : (this.isNullValue = !1),
                                                            i.config.stroke.show && (S = this.isNullValue ? 0 : Array.isArray(this.strokeWidth) ? this.strokeWidth[_] : this.strokeWidth);
                                                       var L,
                                                            E = this.drawCandleStickPaths({
                                                                 indexes: { i: u, j: C, realIndex: _, bc: h },
                                                                 x: g,
                                                                 y: v,
                                                                 xDivision: d,
                                                                 pathTo: f,
                                                                 pathFrom: m,
                                                                 barWidth: k,
                                                                 zeroH: p,
                                                                 strokeWidth: S,
                                                                 elSeries: x,
                                                            });
                                                       (f = E.pathTo), (m = E.pathFrom), (v = E.y), (g = E.x), (L = E.color), 0 < C && b.push(g + k / 2), y.push(v);
                                                       var A = o.fillPath(x, { seriesNumber: _, color: L }),
                                                            P = this.candlestickOptions.wick.useFillColor ? L : void 0;
                                                       x = this.renderSeries({
                                                            realIndex: _,
                                                            pathFill: A,
                                                            lineFill: P,
                                                            j: C,
                                                            i: u,
                                                            pathFrom: m,
                                                            pathTo: f,
                                                            strokeWidth: S,
                                                            elSeries: x,
                                                            x: g,
                                                            y: v,
                                                            series: t,
                                                            barHeight: w,
                                                            barWidth: k,
                                                            elDataLabelsWrap: T,
                                                            visibleSeries: this.visibleI,
                                                            type: "candlestick",
                                                       });
                                                  }
                                                  (i.globals.seriesXvalues[_] = b), (i.globals.seriesYvalues[_] = y), c.add(x);
                                             }
                                             return c;
                                        },
                                   },
                                   {
                                        key: "drawCandleStickPaths",
                                        value: function (t) {
                                             var e = t.indexes,
                                                  i = t.x,
                                                  n = (t.y, t.xDivision),
                                                  r = t.pathTo,
                                                  o = t.pathFrom,
                                                  a = t.barWidth,
                                                  l = t.zeroH,
                                                  c = t.strokeWidth,
                                                  u = this.w,
                                                  h = new s.default(this.ctx),
                                                  d = e.i,
                                                  p = e.j,
                                                  f = !0,
                                                  m = u.config.plotOptions.candlestick.colors.upward,
                                                  g = u.config.plotOptions.candlestick.colors.downward,
                                                  v = this.yRatio[this.yaxisIndex],
                                                  y = e.realIndex,
                                                  b = this.getOHLCValue(y, p),
                                                  _ = l,
                                                  x = l;
                                             b.o > b.c && (f = !1);
                                             var w = Math.min(b.o, b.c),
                                                  k = Math.max(b.o, b.c);
                                             u.globals.isXNumeric && (i = (u.globals.seriesX[d][p] - u.globals.minX) / this.xRatio - a / 2);
                                             var S = i + a * this.visibleI;
                                             return (
                                                  h.move(S, l),
                                                  (o = h.move(S, l)),
                                                  0 < u.globals.previousPaths.length && (o = this.getPathFrom(y, p, !0)),
                                                  void 0 === this.series[d][p] || null === this.series[d][p] ? (w = l) : ((w = l - w / v), (k = l - k / v), (_ = l - b.h / v), (x = l - b.l / v)),
                                                  (r =
                                                       h.move(S, k) +
                                                       h.line(S + a / 2, k) +
                                                       h.line(S + a / 2, _) +
                                                       h.line(S + a / 2, k) +
                                                       h.line(S + a, k) +
                                                       h.line(S + a, w) +
                                                       h.line(S + a / 2, w) +
                                                       h.line(S + a / 2, x) +
                                                       h.line(S + a / 2, w) +
                                                       h.line(S, w) +
                                                       h.line(S, k - c / 2)),
                                                  u.globals.isXNumeric || (i += n),
                                                  { pathTo: r, pathFrom: o, x: i, y: k, barXPosition: S, color: f ? m : g }
                                             );
                                        },
                                   },
                                   {
                                        key: "getOHLCValue",
                                        value: function (t, e) {
                                             var i = this.w;
                                             return { o: i.globals.seriesCandleO[t][e], h: i.globals.seriesCandleH[t][e], l: i.globals.seriesCandleL[t][e], c: i.globals.seriesCandleC[t][e] };
                                        },
                                   },
                              ]),
                              e
                         );
                    })();
                    e.default = c;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = c(i(32)),
                         o = c(i(26)),
                         a = c(i(0)),
                         s = c(i(1)),
                         l = c(i(5));
                    function c(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    function u(t) {
                         if (Array.isArray(t)) {
                              for (var e = 0, i = Array(t.length); e < t.length; e++) i[e] = t[e];
                              return i;
                         }
                         return Array.from(t);
                    }
                    var h = (function () {
                         function t(e, i) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.xRatio = i.xRatio),
                                   (this.yRatio = i.yRatio),
                                   (this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation),
                                   (this.rectRadius = this.w.config.plotOptions.heatmap.radius),
                                   (this.strokeWidth = this.w.config.stroke.width);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "draw",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = new a.default(this.ctx),
                                                  n = i.group({ class: "apexcharts-heatmap" });
                                             n.attr("clip-path", "url(#gridRectMask" + e.globals.cuid + ")");
                                             for (var r = e.globals.gridWidth / e.globals.dataPoints, o = e.globals.gridHeight / e.globals.series.length, c = 0, u = t.length - 1; 0 <= u; u--) {
                                                  var h = i.group({ class: "apexcharts-series apexcharts-heatmap-series " + e.globals.seriesNames[u].toString().replace(/ /g, "-"), rel: u + 1, "data:realIndex": u });
                                                  if (e.config.chart.dropShadow.enabled) {
                                                       var d = e.config.chart.dropShadow;
                                                       new l.default(this.ctx).dropShadow(h, d);
                                                  }
                                                  for (var p = 0, f = 0; f < t[u].length; f++) {
                                                       var m = 1,
                                                            g = this.determineHeatColor(u, f);
                                                       if (e.globals.hasNegs) {
                                                            var v = e.config.plotOptions.heatmap.shadeIntensity;
                                                            m = g.percent < 0 ? 1 - (1 + g.percent / 100) * v : (1 - g.percent / 100) * v;
                                                       } else m = 1 - g.percent / 100;
                                                       var y = g.color;
                                                       if (e.config.plotOptions.heatmap.enableShades) {
                                                            var b = new s.default();
                                                            y = s.default.hexToRgba(b.shadeColor(m, g.color), e.config.fill.opacity);
                                                       }
                                                       var _ = this.rectRadius,
                                                            x = i.drawRect(p, c, r, o, _);
                                                       if (
                                                            (x.attr({ cx: p, cy: c }),
                                                            x.node.classList.add("apexcharts-heatmap-rect"),
                                                            h.add(x),
                                                            x.attr({ fill: y, i: u, index: u, j: f, val: t[u][f], "stroke-width": this.strokeWidth, stroke: e.globals.stroke.colors[0], color: y }),
                                                            x.node.addEventListener("mouseenter", i.pathMouseEnter.bind(this, x)),
                                                            x.node.addEventListener("mouseleave", i.pathMouseLeave.bind(this, x)),
                                                            x.node.addEventListener("mousedown", i.pathMouseDown.bind(this, x)),
                                                            e.config.chart.animations.enabled && !e.globals.dataChanged)
                                                       ) {
                                                            var w = 1;
                                                            e.globals.resized || (w = e.config.chart.animations.speed), this.animateHeatMap(x, p, c, r, o, w);
                                                       }
                                                       if (e.globals.dataChanged) {
                                                            var k = 1;
                                                            if (this.dynamicAnim.enabled && e.globals.shouldAnimate) {
                                                                 k = this.dynamicAnim.speed;
                                                                 var S = e.globals.previousPaths[u] && e.globals.previousPaths[u][f] && e.globals.previousPaths[u][f].color;
                                                                 S || (S = "rgba(255, 255, 255, 1)"), this.animateHeatColor(x, s.default.rgb2hex(S), s.default.rgb2hex(y), k);
                                                            }
                                                       }
                                                       var M = this.calculateHeatmapDataLabels({ x: p, y: c, i: u, j: f, series: t, rectHeight: o, rectWidth: r });
                                                       null !== M && h.add(M), (p += r);
                                                  }
                                                  (c += o), n.add(h);
                                             }
                                             e.globals.yAxisScale[0].result.push("");
                                             var T = e.globals.gridHeight / e.globals.series.length;
                                             return (e.config.yaxis[0].labels.offsetY = -T / 2), n;
                                        },
                                   },
                                   {
                                        key: "determineHeatColor",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = i.globals.series[t][e],
                                                  r = i.config.plotOptions.heatmap,
                                                  o = r.colorScale.inverse ? e : t,
                                                  a = i.globals.colors[o],
                                                  s = Math.min.apply(Math, u(i.globals.series[t])),
                                                  l = Math.max.apply(Math, u(i.globals.series[t]));
                                             r.distributed || ((s = i.globals.minY), (l = i.globals.maxY)),
                                                  void 0 !== r.colorScale.min && ((s = r.colorScale.min < i.globals.minY ? r.colorScale.min : i.globals.minY), (l = r.colorScale.max > i.globals.maxY ? r.colorScale.max : i.globals.maxY));
                                             var c = Math.abs(l) + Math.abs(s),
                                                  h = (100 * n) / (0 === c ? c - 1e-6 : c);
                                             return (
                                                  0 < r.colorScale.ranges.length &&
                                                       r.colorScale.ranges.map(function (t, e) {
                                                            n >= t.from && n <= t.to && ((a = t.color), (s = t.from), (l = t.to), (c = Math.abs(l) + Math.abs(s)), (h = (100 * n) / c));
                                                       }),
                                                  { color: a, percent: h }
                                             );
                                        },
                                   },
                                   {
                                        key: "calculateHeatmapDataLabels",
                                        value: function (t) {
                                             var e = t.x,
                                                  i = t.y,
                                                  n = t.i,
                                                  o = t.j,
                                                  s = (t.series, t.rectHeight),
                                                  l = t.rectWidth,
                                                  c = this.w,
                                                  u = c.config.dataLabels,
                                                  h = new a.default(this.ctx),
                                                  d = new r.default(this.ctx),
                                                  p = u.formatter,
                                                  f = null;
                                             if (u.enabled) {
                                                  f = h.group({ class: "apexcharts-data-labels" });
                                                  var m = u.offsetX,
                                                       g = u.offsetY,
                                                       v = e + l / 2 + m,
                                                       y = i + s / 2 + parseInt(u.style.fontSize) / 3 + g,
                                                       b = p(c.globals.series[n][o], { seriesIndex: n, dataPointIndex: o, w: c });
                                                  d.plotDataLabelsText({ x: v, y: y, text: b, i: n, j: o, parent: f, dataLabelsConfig: u });
                                             }
                                             return f;
                                        },
                                   },
                                   {
                                        key: "animateHeatMap",
                                        value: function (t, e, i, n, r, a) {
                                             new o.default(this.ctx).animateRect(t, { x: e + n / 2, y: i + r / 2, width: 0, height: 0 }, { x: e, y: i, width: n, height: r }, a);
                                        },
                                   },
                                   {
                                        key: "animateHeatColor",
                                        value: function (t, e, i, n) {
                                             t.attr({ fill: e }).animate(n).attr({ fill: i });
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = h;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n =
                              Object.assign ||
                              function (t) {
                                   for (var e = 1; e < arguments.length; e++) {
                                        var i = arguments[e];
                                        for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n]);
                                   }
                                   return t;
                              },
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = d(i(7)),
                         a = d(i(0)),
                         s = d(i(11)),
                         l = d(i(32)),
                         c = d(i(27)),
                         u = d(i(75)),
                         h = d(i(1));
                    function d(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var p = (function () {
                         function t(e, i, n) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.xyRatios = i),
                                   (this.pointsChart = !("bubble" !== this.w.config.chart.type && "scatter" !== this.w.config.chart.type) || n),
                                   this.pointsChart && (this.scatter = new u.default(this.ctx)),
                                   (this.noNegatives = this.w.globals.minX === Number.MAX_VALUE),
                                   (this.yaxisIndex = 0);
                         }
                         return (
                              r(t, [
                                   {
                                        key: "draw",
                                        value: function (t, e, i) {
                                             var r = this.w,
                                                  u = new a.default(this.ctx),
                                                  d = new s.default(this.ctx),
                                                  p = r.globals.comboCharts ? e : r.config.chart.type,
                                                  f = u.group({ class: "apexcharts-" + p + "-series apexcharts-plot-series" }),
                                                  m = new o.default(this.ctx, r);
                                             t = m.getLogSeries(t);
                                             var g = this.xyRatios.yRatio;
                                             g = m.getLogYRatios(g);
                                             for (var v = this.xyRatios.zRatio, y = this.xyRatios.xRatio, b = this.xyRatios.baseLineY, _ = [], x = [], w = 0, k = 0; k < t.length; k++) {
                                                  var S = r.globals.gridWidth / r.globals.dataPoints,
                                                       M = r.globals.comboCharts ? i[k] : k;
                                                  1 < g.length && (this.yaxisIndex = M);
                                                  var T = [],
                                                       C = [],
                                                       D = r.globals.gridHeight - b[this.yaxisIndex],
                                                       L = D;
                                                  D > r.globals.gridHeight && (L = r.globals.gridHeight), (w = S / 2);
                                                  var E = r.globals.padHorizontal + w,
                                                       A = 1;
                                                  r.globals.isXNumeric && (E = (r.globals.seriesX[M][0] - r.globals.minX) / y), C.push(E);
                                                  var P = void 0,
                                                       I = void 0,
                                                       O = void 0,
                                                       Y = void 0,
                                                       z = [],
                                                       R = [],
                                                       F = u.group({ class: "apexcharts-series " + r.globals.seriesNames[M].toString().replace(/ /g, "-") }),
                                                       H = u.group({ class: "apexcharts-series-markers-wrap" }),
                                                       j = u.group({ class: "apexcharts-datalabels" });
                                                  this.ctx.series.addCollapsedClassToSeries(F, M);
                                                  var N = t[k].length === r.globals.dataPoints;
                                                  F.attr({ "data:longestSeries": N, rel: k + 1, "data:realIndex": M }), (this.appendPathFrom = !0);
                                                  var B = E,
                                                       W = void 0,
                                                       V = B,
                                                       U = D,
                                                       q = 0;
                                                  if (((U = this.determineFirstPrevY({ i: k, series: t, yRatio: g[this.yaxisIndex], zeroY: D, prevY: U, prevSeriesY: x, lineYPosition: q }).prevY), T.push(U), (W = U), null === t[k][0])) {
                                                       for (var $ = 0; $ < t[k].length; $++)
                                                            if (null !== t[k][$]) {
                                                                 (V = S * $), (U = D - t[k][$] / g[this.yaxisIndex]), (P = u.move(V, U)), (I = u.move(V, L));
                                                                 break;
                                                            }
                                                  } else (P = u.move(V, U)), (I = u.move(V, L) + u.line(V, U));
                                                  if (((O = u.move(-1, D) + u.line(-1, D)), (Y = u.move(-1, D) + u.line(-1, D)), 0 < r.globals.previousPaths.length)) {
                                                       var X = this.checkPreviousPaths({ pathFromLine: O, pathFromArea: Y, realIndex: M });
                                                       (O = X.pathFromLine), (Y = X.pathFromArea);
                                                  }
                                                  for (var G = 1 < r.globals.dataPoints ? r.globals.dataPoints - 1 : r.globals.dataPoints, Z = 0; Z < G; Z++) {
                                                       r.globals.isXNumeric ? (E = (r.globals.seriesX[M][Z + 1] - r.globals.minX) / y) : (E += S);
                                                       var J = h.default.isNumber(r.globals.minYArr[M]) ? r.globals.minYArr[M] : r.globals.minY;
                                                       (A = r.config.chart.stacked
                                                            ? ((q = 0 < k && r.globals.collapsedSeries.length < r.config.series.length - 1 ? x[k - 1][Z + 1] : D),
                                                              void 0 === t[k][Z + 1] || null === t[k][Z + 1] ? q - J / g[this.yaxisIndex] : q - t[k][Z + 1] / g[this.yaxisIndex])
                                                            : void 0 === t[k][Z + 1] || null === t[k][Z + 1]
                                                            ? D - J / g[this.yaxisIndex]
                                                            : D - t[k][Z + 1] / g[this.yaxisIndex]),
                                                            C.push(E),
                                                            T.push(A);
                                                       var K = this.createPaths({ series: t, i: k, j: Z, x: E, y: A, xDivision: S, pX: B, pY: W, areaBottomY: L, linePath: P, areaPath: I, linePaths: z, areaPaths: R });
                                                       (R = K.areaPaths), (z = K.linePaths), (B = K.pX), (W = K.pY), (I = K.areaPath), (P = K.linePath), this.appendPathFrom && ((O += u.line(E, D)), (Y += u.line(E, D)));
                                                       var Q = this.calculatePoints({ series: t, x: E, y: A, realIndex: M, i: k, j: Z, prevY: U, categoryAxisCorrection: w, xRatio: y });
                                                       if (this.pointsChart) this.scatter.draw(F, Z, { realIndex: M, pointsPos: Q, zRatio: v, elParent: H });
                                                       else {
                                                            var tt = new c.default(this.ctx);
                                                            1 < r.globals.dataPoints && H.node.classList.add("hidden");
                                                            var et = tt.plotChartMarkers(Q, M, Z + 1);
                                                            null !== et && H.add(et);
                                                       }
                                                       var it = new l.default(this.ctx).drawDataLabel(Q, M, Z + 1);
                                                       null !== it && j.add(it);
                                                  }
                                                  x.push(T), (r.globals.seriesXvalues[M] = C), (r.globals.seriesYvalues[M] = T), this.pointsChart || r.globals.delayedElements.push({ el: H.node, index: M });
                                                  var nt = {
                                                       i: k,
                                                       realIndex: M,
                                                       animationDelay: k,
                                                       initialSpeed: r.config.chart.animations.speed,
                                                       dataChangeSpeed: r.config.chart.animations.dynamicAnimation.speed,
                                                       className: "apexcharts-" + p,
                                                       id: "apexcharts-" + p,
                                                  };
                                                  if (r.config.stroke.show && !this.pointsChart) {
                                                       var rt;
                                                       rt = "line" === p ? d.fillPath(F, { seriesNumber: M, i: k }) : r.globals.stroke.colors[M];
                                                       for (var ot = 0; ot < z.length; ot++) {
                                                            var at = u.renderPaths(
                                                                 n({}, nt, {
                                                                      pathFrom: O,
                                                                      pathTo: z[ot],
                                                                      stroke: rt,
                                                                      strokeWidth: Array.isArray(r.config.stroke.width) ? r.config.stroke.width[M] : r.config.stroke.width,
                                                                      strokeLineCap: r.config.stroke.lineCap,
                                                                      fill: "none",
                                                                 })
                                                            );
                                                            F.add(at);
                                                       }
                                                  }
                                                  if ("area" === p)
                                                       for (var st = d.fillPath(F, { seriesNumber: M }), lt = 0; lt < R.length; lt++) {
                                                            var ct = u.renderPaths(n({}, nt, { pathFrom: Y, pathTo: R[lt], stroke: "none", strokeWidth: 0, strokeLineCap: null, fill: st }));
                                                            F.add(ct);
                                                       }
                                                  F.add(H), F.add(j), _.push(F);
                                             }
                                             for (var ut = _.length; 0 < ut; ut--) f.add(_[ut - 1]);
                                             return f;
                                        },
                                   },
                                   {
                                        key: "createPaths",
                                        value: function (t) {
                                             var e = t.series,
                                                  i = t.i,
                                                  n = t.j,
                                                  r = t.x,
                                                  o = t.y,
                                                  s = t.pX,
                                                  l = t.pY,
                                                  c = t.xDivision,
                                                  u = t.areaBottomY,
                                                  h = t.linePath,
                                                  d = t.areaPath,
                                                  p = t.linePaths,
                                                  f = t.areaPaths,
                                                  m = this.w,
                                                  g = new a.default(this.ctx),
                                                  v = Array.isArray(m.config.stroke.curve) ? m.config.stroke.curve[i] : m.config.stroke.curve;
                                             if ("smooth" === v) {
                                                  var y = 0.35 * (r - s);
                                                  m.globals.hasNullValues
                                                       ? (null !== e[i][n] &&
                                                              (d =
                                                                   null !== e[i][n + 1]
                                                                        ? ((h = g.move(s, l) + g.curve(s + y, l, r - y, o, r + 1, o)), g.move(s + 1, l) + g.curve(s + y, l, r - y, o, r + 1, o) + g.line(r, u) + g.line(s, u) + "z")
                                                                        : ((h = g.move(s, l)), g.move(s, l) + "z")),
                                                         p.push(h),
                                                         f.push(d))
                                                       : ((h += g.curve(s + y, l, r - y, o, r, o)), (d += g.curve(s + y, l, r - y, o, r, o))),
                                                       (s = r),
                                                       (l = o),
                                                       n === e[i].length - 2 && ((d = d + g.curve(s, l, r, o, r, u) + g.move(r, o) + "z"), m.globals.hasNullValues || (p.push(h), f.push(d)));
                                             } else
                                                  null === e[i][n + 1] && ((h += g.move(r, o)), (d = d + g.line(r - c, u) + g.move(r, o))),
                                                       null === e[i][n] && ((h += g.move(r, o)), (d += g.move(r, u))),
                                                       "stepline" === v
                                                            ? ((h = h + g.line(r, null, "H") + g.line(null, o, "V")), (d = d + g.line(r, null, "H") + g.line(null, o, "V")))
                                                            : "straight" === v && ((h += g.line(r, o)), (d += g.line(r, o))),
                                                       n === e[i].length - 2 && ((d = d + g.line(r, u) + g.move(r, o) + "z"), p.push(h), f.push(d));
                                             return { linePaths: p, areaPaths: f, pX: s, pY: l, linePath: h, areaPath: d };
                                        },
                                   },
                                   {
                                        key: "calculatePoints",
                                        value: function (t) {
                                             var e = t.series,
                                                  i = t.realIndex,
                                                  n = t.x,
                                                  r = t.y,
                                                  o = t.i,
                                                  a = t.j,
                                                  s = t.prevY,
                                                  l = t.categoryAxisCorrection,
                                                  c = t.xRatio,
                                                  u = this.w,
                                                  d = [],
                                                  p = [];
                                             if (0 === a) {
                                                  var f = l + u.config.markers.offsetX;
                                                  u.globals.isXNumeric && (f = (u.globals.seriesX[i][0] - u.globals.minX) / c + u.config.markers.offsetX),
                                                       d.push(f),
                                                       p.push(h.default.isNumber(e[o][0]) ? s + u.config.markers.offsetY : null),
                                                       d.push(n + u.config.markers.offsetX),
                                                       p.push(h.default.isNumber(e[o][a + 1]) ? r + u.config.markers.offsetY : null);
                                             } else d.push(n + u.config.markers.offsetX), p.push(h.default.isNumber(e[o][a + 1]) ? r + u.config.markers.offsetY : null);
                                             return { x: d, y: p };
                                        },
                                   },
                                   {
                                        key: "checkPreviousPaths",
                                        value: function (t) {
                                             for (var e = t.pathFromLine, i = t.pathFromArea, n = t.realIndex, r = this.w, o = 0; o < r.globals.previousPaths.length; o++) {
                                                  var a = r.globals.previousPaths[o];
                                                  ("line" === a.type || "area" === a.type) &&
                                                       0 < a.paths.length &&
                                                       parseInt(a.realIndex) === parseInt(n) &&
                                                       ("line" === a.type
                                                            ? ((this.appendPathFrom = !1), (e = r.globals.previousPaths[o].paths[0].d))
                                                            : "area" === a.type && ((this.appendPathFrom = !1), (e = r.globals.previousPaths[o].paths[0].d), (i = r.globals.previousPaths[o].paths[1].d)));
                                             }
                                             return { pathFromLine: e, pathFromArea: i };
                                        },
                                   },
                                   {
                                        key: "determineFirstPrevY",
                                        value: function (t) {
                                             var e = t.i,
                                                  i = t.series,
                                                  n = t.yRatio,
                                                  r = t.zeroY,
                                                  o = t.prevY,
                                                  a = t.prevSeriesY,
                                                  s = t.lineYPosition,
                                                  l = this.w;
                                             if (void 0 !== i[e][0]) o = l.config.chart.stacked ? (s = 0 < e ? a[e - 1][0] : r) - i[e][0] / n : r - i[e][0] / n;
                                             else if (l.config.chart.stacked && 0 < e && void 0 === i[e][0])
                                                  for (var c = e - 1; 0 <= c; c--)
                                                       if (null !== i[c][0] && void 0 !== i[c][0]) {
                                                            o = s = a[c][0];
                                                            break;
                                                       }
                                             return { prevY: o, lineYPosition: s };
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = p;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n =
                              Object.assign ||
                              function (t) {
                                   for (var e = 1; e < arguments.length; e++) {
                                        var i = arguments[e];
                                        for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n]);
                                   }
                                   return t;
                              },
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = u(i(11)),
                         a = u(i(0)),
                         s = u(i(27)),
                         l = u(i(32)),
                         c = u(i(5));
                    function u(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var h = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.chartType = this.w.config.chart.type),
                                   (this.initialAnim = this.w.config.chart.animations.enabled),
                                   (this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled),
                                   (this.animDur = 0);
                              var i = this.w;
                              (this.graphics = new a.default(this.ctx)),
                                   (this.lineColorArr = void 0 !== i.globals.stroke.colors ? i.globals.stroke.colors : i.globals.colors),
                                   (this.defaultSize = i.globals.svgHeight < i.globals.svgWidth ? i.globals.svgHeight - 35 : i.globals.gridWidth),
                                   (this.maxValue = this.w.globals.maxY),
                                   (this.maxLabelWidth = 20);
                              var n = i.globals.labels.slice().sort(function (t, e) {
                                        return e.length - t.length;
                                   })[0],
                                   r = this.graphics.getTextRects(n, i.config.dataLabels.style.fontSize);
                              (this.size = this.defaultSize / 2.1 - i.config.stroke.width - i.config.chart.dropShadow.blur - r.width / 1.75),
                                   void 0 !== i.config.plotOptions.radar.size && (this.size = i.config.plotOptions.radar.size),
                                   (this.dataRadiusOfPercent = []),
                                   (this.dataRadius = []),
                                   (this.angleArr = []),
                                   (this.yaxisLabelsTextsPos = []);
                         }
                         return (
                              r(t, [
                                   {
                                        key: "draw",
                                        value: function (t) {
                                             var e = this,
                                                  i = this.w,
                                                  r = new o.default(this.ctx),
                                                  a = [];
                                             (this.dataPointsLen = t[i.globals.maxValsInArrayIndex].length), (this.disAngle = (2 * Math.PI) / this.dataPointsLen);
                                             var l = i.globals.gridWidth / 2,
                                                  u = i.globals.gridHeight / 2,
                                                  h = this.graphics.group({ class: "apexcharts-radar-series", "data:innerTranslateX": l, "data:innerTranslateY": u - 25, transform: "translate(" + (l || 0) + ", " + (u || 0) + ")" }),
                                                  d = [],
                                                  p = null;
                                             (this.yaxisLabels = this.graphics.group({ class: "apexcharts-yaxis" })),
                                                  t.forEach(function (t, o) {
                                                       var l = e.graphics.group().attr({ class: "apexcharts-series " + i.globals.seriesNames[o].toString().replace(/ /g, "-"), rel: o + 1, "data:realIndex": o });
                                                       (e.dataRadiusOfPercent[o] = []),
                                                            (e.dataRadius[o] = []),
                                                            (e.angleArr[o] = []),
                                                            t.forEach(function (t, i) {
                                                                 (e.dataRadiusOfPercent[o][i] = t / e.maxValue), (e.dataRadius[o][i] = e.dataRadiusOfPercent[o][i] * e.size), (e.angleArr[o][i] = i * e.disAngle);
                                                            }),
                                                            (d = e.getDataPointsPos(e.dataRadius[o], e.angleArr[o]));
                                                       var u = e.createPaths(d, { x: 0, y: 0 });
                                                       (p = e.graphics.group({ class: "apexcharts-series-markers-wrap hidden" })), i.globals.delayedElements.push({ el: p.node, index: o });
                                                       var h = {
                                                                 i: o,
                                                                 realIndex: o,
                                                                 animationDelay: o,
                                                                 initialSpeed: i.config.chart.animations.speed,
                                                                 dataChangeSpeed: i.config.chart.animations.dynamicAnimation.speed,
                                                                 className: "apexcharts-radar",
                                                                 id: "apexcharts-radar",
                                                                 shouldClipToGrid: !1,
                                                                 bindEventsOnPaths: !1,
                                                                 stroke: i.globals.stroke.colors[o],
                                                                 strokeLineCap: i.config.stroke.lineCap,
                                                            },
                                                            f = null;
                                                       0 < i.globals.previousPaths.length && (f = e.getPathFrom(o));
                                                       for (var m = 0; m < u.linePathsTo.length; m++) {
                                                            var g = e.graphics.renderPaths(
                                                                 n({}, h, {
                                                                      pathFrom: null === f ? u.linePathsFrom[m] : f,
                                                                      pathTo: u.linePathsTo[m],
                                                                      strokeWidth: Array.isArray(i.config.stroke.width) ? i.config.stroke.width[o] : i.config.stroke.width,
                                                                      fill: "none",
                                                                 })
                                                            );
                                                            l.add(g);
                                                            var v = r.fillPath(l, { seriesNumber: o }),
                                                                 y = e.graphics.renderPaths(n({}, h, { pathFrom: null === f ? u.areaPathsFrom[m] : f, pathTo: u.areaPathsTo[m], strokeWidth: 0, fill: v }));
                                                            if (i.config.chart.dropShadow.enabled) {
                                                                 var b = new c.default(e.ctx),
                                                                      _ = i.config.chart.dropShadow;
                                                                 b.dropShadow(y, n({}, _, { noUserSpaceOnUse: !0 }));
                                                            }
                                                            l.add(y);
                                                       }
                                                       t.forEach(function (t, i) {
                                                            var n = new s.default(e.ctx).getMarkerConfig("apexcharts-marker", o),
                                                                 r = e.graphics.drawMarker(d[i].x, d[i].y, n);
                                                            r.attr("rel", i), r.attr("j", i), r.attr("index", o), r.node.setAttribute("default-marker-size", n.pSize);
                                                            var a = e.graphics.group({ class: "apexcharts-series-markers" });
                                                            a && a.add(r), p.add(a), l.add(p);
                                                       }),
                                                            a.push(l);
                                                  }),
                                                  this.drawPolygons({ parent: h });
                                             var f = this.drawLabels();
                                             return (
                                                  h.add(this.yaxisLabels),
                                                  h.add(f),
                                                  a.forEach(function (t) {
                                                       h.add(t);
                                                  }),
                                                  h
                                             );
                                        },
                                   },
                                   {
                                        key: "drawPolygons",
                                        value: function (t) {
                                             for (var e = this, i = this.w, n = t.parent, r = i.globals.yAxisScale[0].result.reverse(), o = r.length, a = [], s = this.size / (o - 1), l = 0; l < o; l++) a[l] = s * l;
                                             a.reverse();
                                             var c = [],
                                                  u = [];
                                             a.forEach(function (t, n) {
                                                  var r = e.getPolygonPos(t),
                                                       o = "";
                                                  r.forEach(function (t, r) {
                                                       if (0 === n) {
                                                            var a = e.graphics.drawLine(t.x, t.y, 0, 0, i.config.plotOptions.radar.polygons.strokeColor);
                                                            u.push(a);
                                                       }
                                                       0 === r && e.yaxisLabelsTextsPos.push({ x: t.x, y: t.y }), (o += t.x + "," + t.y + " ");
                                                  }),
                                                       c.push(o);
                                             }),
                                                  c.forEach(function (t, r) {
                                                       var o = e.graphics.drawPolygon(t, i.config.plotOptions.radar.polygons.strokeColor, i.globals.radarPolygons.fill.colors[r]);
                                                       n.add(o);
                                                  }),
                                                  u.forEach(function (t) {
                                                       n.add(t);
                                                  }),
                                                  this.yaxisLabelsTextsPos.forEach(function (t, i) {
                                                       var n = e.drawYAxisText(t.x, t.y, i, r[i]);
                                                       e.yaxisLabels.add(n);
                                                  });
                                        },
                                   },
                                   {
                                        key: "drawYAxisText",
                                        value: function (t, e, i, n) {
                                             var r = this.w,
                                                  o = r.config.yaxis[0],
                                                  a = r.globals.yLabelFormatters[0];
                                             return this.graphics.drawText({
                                                  x: t + o.labels.offsetX,
                                                  y: e + o.labels.offsetY,
                                                  text: a(n, i),
                                                  textAnchor: "middle",
                                                  fontSize: o.labels.style.fontSize,
                                                  fontFamily: o.labels.style.fontFamily,
                                                  foreColor: o.labels.style.color,
                                             });
                                        },
                                   },
                                   {
                                        key: "drawLabels",
                                        value: function () {
                                             var t = this,
                                                  e = this.w,
                                                  i = "middle",
                                                  n = e.config.dataLabels,
                                                  r = this.graphics.group({ class: "apexcharts-datalabels" }),
                                                  o = this.getPolygonPos(this.size),
                                                  a = 0,
                                                  s = 0;
                                             return (
                                                  e.globals.labels.forEach(function (c, u) {
                                                       var h = n.formatter,
                                                            d = new l.default(t.ctx);
                                                       if (o[u]) {
                                                            (a = o[u].x),
                                                                 (s = o[u].y),
                                                                 10 <= Math.abs(o[u].x) ? (0 < o[u].x ? ((i = "start"), (a += 10)) : o[u].x < 0 && ((i = "end"), (a -= 10))) : (i = "middle"),
                                                                 Math.abs(o[u].y) >= t.size - 10 && (o[u].y < 0 ? (s -= 10) : 0 < o[u].y && (s += 10));
                                                            var p = h(c, { seriesIndex: -1, dataPointIndex: u, w: e });
                                                            d.plotDataLabelsText({ x: a, y: s, text: p, textAnchor: i, i: u, j: u, parent: r, dataLabelsConfig: n, offsetCorrection: !1 });
                                                       }
                                                  }),
                                                  r
                                             );
                                        },
                                   },
                                   {
                                        key: "createPaths",
                                        value: function (t, e) {
                                             var i = this,
                                                  n = [],
                                                  r = [],
                                                  o = [],
                                                  a = [];
                                             if (t.length) {
                                                  (r = [this.graphics.move(e.x, e.y)]), (a = [this.graphics.move(e.x, e.y)]);
                                                  var s = this.graphics.move(t[0].x, t[0].y),
                                                       l = this.graphics.move(t[0].x, t[0].y);
                                                  t.forEach(function (e, n) {
                                                       (s += i.graphics.line(e.x, e.y)), (l += i.graphics.line(e.x, e.y)), n === t.length - 1 && ((s += "Z"), (l += "Z"));
                                                  }),
                                                       n.push(s),
                                                       o.push(l);
                                             }
                                             return { linePathsFrom: r, linePathsTo: n, areaPathsFrom: a, areaPathsTo: o };
                                        },
                                   },
                                   {
                                        key: "getPathFrom",
                                        value: function (t) {
                                             for (var e = this.w, i = null, n = 0; n < e.globals.previousPaths.length; n++) {
                                                  var r = e.globals.previousPaths[n];
                                                  0 < r.paths.length && parseInt(r.realIndex) === parseInt(t) && void 0 !== e.globals.previousPaths[n].paths[0] && (i = e.globals.previousPaths[n].paths[0].d);
                                             }
                                             return i;
                                        },
                                   },
                                   {
                                        key: "getDataPointsPos",
                                        value: function (t, e) {
                                             var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : this.dataPointsLen;
                                             (t = t || []), (e = e || []);
                                             for (var n = [], r = 0; r < i; r++) {
                                                  var o = {};
                                                  (o.x = t[r] * Math.sin(e[r])), (o.y = -t[r] * Math.cos(e[r])), n.push(o);
                                             }
                                             return n;
                                        },
                                   },
                                   {
                                        key: "getPolygonPos",
                                        value: function (t) {
                                             for (var e = [], i = (2 * Math.PI) / this.dataPointsLen, n = 0; n < this.dataPointsLen; n++) {
                                                  var r = {};
                                                  (r.x = t * Math.sin(n * i)), (r.y = -t * Math.cos(n * i)), e.push(r);
                                             }
                                             return e;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = h;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = c(i(74)),
                         o = c(i(1)),
                         a = c(i(11)),
                         s = c(i(0)),
                         l = c(i(5));
                    function c(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var u = (function (t) {
                         function e(t) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, e);
                              var i = (function (t, e) {
                                   if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                                   return !e || ("object" != typeof e && "function" != typeof e) ? t : e;
                              })(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this, t));
                              (i.ctx = t), (i.w = t.w), (i.animBeginArr = [0]), (i.animDur = 0);
                              var n = i.w;
                              return (
                                   (i.startAngle = n.config.plotOptions.radialBar.startAngle),
                                   (i.endAngle = n.config.plotOptions.radialBar.endAngle),
                                   (i.trackStartAngle = n.config.plotOptions.radialBar.track.startAngle),
                                   (i.trackEndAngle = n.config.plotOptions.radialBar.track.endAngle),
                                   (i.radialDataLabels = n.config.plotOptions.radialBar.dataLabels),
                                   i.trackStartAngle || (i.trackStartAngle = i.startAngle),
                                   i.trackEndAngle || (i.trackEndAngle = i.endAngle),
                                   360 === i.endAngle && (i.endAngle = 359.99),
                                   (i.fullAngle = 360 - n.config.plotOptions.radialBar.endAngle - n.config.plotOptions.radialBar.startAngle),
                                   (i.margin = parseInt(n.config.plotOptions.radialBar.track.margin)),
                                   i
                              );
                         }
                         return (
                              (function (t, e) {
                                   if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                                   (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })),
                                        e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));
                              })(e, r.default),
                              n(e, [
                                   {
                                        key: "draw",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = new s.default(this.ctx),
                                                  n = i.group({ class: "apexcharts-radialbar" }),
                                                  r = i.group(),
                                                  o = this.defaultSize / 2,
                                                  a = e.globals.gridWidth / 2,
                                                  l = this.defaultSize / 2.05 - e.config.stroke.width - e.config.chart.dropShadow.blur;
                                             void 0 !== e.config.plotOptions.radialBar.size && (l = e.config.plotOptions.radialBar.size);
                                             var c = e.globals.fill.colors;
                                             if (e.config.plotOptions.radialBar.track.show) {
                                                  var u = this.drawTracks({ size: l, centerX: a, centerY: o, colorArr: c, series: t });
                                                  r.add(u);
                                             }
                                             var h = this.drawArcs({ size: l, centerX: a, centerY: o, colorArr: c, series: t });
                                             return r.add(h.g), "front" === e.config.plotOptions.radialBar.hollow.position && (h.g.add(h.elHollow), h.dataLabels && h.g.add(h.dataLabels)), n.add(r), n;
                                        },
                                   },
                                   {
                                        key: "drawTracks",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = new s.default(this.ctx),
                                                  n = i.group(),
                                                  o = new l.default(this.ctx),
                                                  c = new a.default(this.ctx),
                                                  u = this.getStrokeWidth(t);
                                             t.size = t.size - u / 2;
                                             for (var h = 0; h < t.series.length; h++) {
                                                  var d = i.group({ class: "apexcharts-radialbar-track apexcharts-track" });
                                                  n.add(d), d.attr({ id: "apexcharts-track-" + h, rel: h + 1 }), (t.size = t.size - u - this.margin);
                                                  var p = e.config.plotOptions.radialBar.track,
                                                       f = c.fillPath(d, { seriesNumber: 0, size: t.size, fillColors: Array.isArray(p.background) ? p.background[h] : p.background, solid: !0 }),
                                                       m = this.trackStartAngle,
                                                       g = this.trackEndAngle;
                                                  360 <= Math.abs(g) + Math.abs(m) && (g = 360 - Math.abs(this.startAngle) - 0.1);
                                                  var v = i.drawPath({ d: "", stroke: f, strokeWidth: (u * parseInt(p.strokeWidth)) / 100, fill: "none", strokeOpacity: p.opacity, classes: "apexcharts-radialbar-area" });
                                                  if (p.dropShadow.enabled) {
                                                       var y = p.dropShadow;
                                                       o.dropShadow(v, y);
                                                  }
                                                  d.add(v),
                                                       v.attr("id", "apexcharts-radialbarTrack-" + h),
                                                       new r.default(this.ctx).animatePaths(v, {
                                                            centerX: t.centerX,
                                                            centerY: t.centerY,
                                                            endAngle: g,
                                                            startAngle: m,
                                                            size: t.size,
                                                            i: h,
                                                            totalItems: 2,
                                                            animBeginArr: 0,
                                                            dur: 0,
                                                            easing: e.globals.easing,
                                                       });
                                             }
                                             return n;
                                        },
                                   },
                                   {
                                        key: "drawArcs",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = new s.default(this.ctx),
                                                  n = new a.default(this.ctx),
                                                  c = new l.default(this.ctx),
                                                  u = i.group(),
                                                  h = this.getStrokeWidth(t);
                                             t.size = t.size - h / 2;
                                             var d = e.config.plotOptions.radialBar.hollow.background,
                                                  p = t.size - h * t.series.length - this.margin * t.series.length - (h * parseInt(e.config.plotOptions.radialBar.track.strokeWidth)) / 100 / 2,
                                                  f = p - e.config.plotOptions.radialBar.hollow.margin;
                                             void 0 !== e.config.plotOptions.radialBar.hollow.image && (d = this.drawHollowImage(t, u, p, d));
                                             var m = this.drawHollow({ size: f, centerX: t.centerX, centerY: t.centerY, fill: d });
                                             if (e.config.plotOptions.radialBar.hollow.dropShadow.enabled) {
                                                  var g = e.config.plotOptions.radialBar.hollow.dropShadow;
                                                  c.dropShadow(m, g);
                                             }
                                             var v = 1;
                                             !this.radialDataLabels.total.show && 1 < e.globals.series.length && (v = 0);
                                             var y = new r.default(this.ctx),
                                                  b = null;
                                             this.radialDataLabels.show && (b = y.renderInnerDataLabels(this.radialDataLabels, { hollowSize: p, centerX: t.centerX, centerY: t.centerY, opacity: v })),
                                                  "back" === e.config.plotOptions.radialBar.hollow.position && (u.add(m), b && u.add(b));
                                             var _ = !1;
                                             e.config.plotOptions.radialBar.inverseOrder && (_ = !0);
                                             for (var x = _ ? t.series.length - 1 : 0; _ ? 0 <= x : x < t.series.length; _ ? x-- : x++) {
                                                  var w = i.group({ class: "apexcharts-series apexcharts-radial-series " + e.globals.seriesNames[x].toString().replace(/ /g, "-") });
                                                  u.add(w), w.attr({ id: "apexcharts-series-" + x, rel: x + 1 }), this.ctx.series.addCollapsedClassToSeries(w, x), (t.size = t.size - h - this.margin);
                                                  var k = n.fillPath(w, { seriesNumber: x, size: t.size }),
                                                       S = this.startAngle,
                                                       M = void 0,
                                                       T = Math.abs(e.config.plotOptions.radialBar.endAngle - e.config.plotOptions.radialBar.startAngle),
                                                       C = Math.round((T * o.default.negToZero(t.series[x])) / 100) + this.startAngle,
                                                       D = void 0;
                                                  e.globals.dataChanged && ((M = this.startAngle), (D = Math.round((T * o.default.negToZero(e.globals.previousPaths[x])) / 100) + M)),
                                                       360 <= Math.abs(C) + Math.abs(S) && (C -= 0.01),
                                                       360 <= Math.abs(D) + Math.abs(M) && (D -= 0.01);
                                                  var L = C - S,
                                                       E = Array.isArray(e.config.stroke.dashArray) ? e.config.stroke.dashArray[x] : e.config.stroke.dashArray,
                                                       A = i.drawPath({ d: "", stroke: k, strokeWidth: h, fill: "none", fillOpacity: e.config.fill.opacity, classes: "apexcharts-radialbar-area", strokeDashArray: E });
                                                  if ((s.default.setAttrs(A.node, { "data:angle": L, "data:value": t.series[x] }), e.config.chart.dropShadow.enabled)) {
                                                       var P = e.config.chart.dropShadow;
                                                       c.dropShadow(A, P);
                                                  }
                                                  this.addListeners(A, this.radialDataLabels);
                                                  var I = new r.default(this.ctx);
                                                  A.node.addEventListener("mouseenter", I.dataLabelsMouseIn.bind(this, A.node, this.radialDataLabels)),
                                                       A.node.addEventListener("mouseleave", I.dataLabelsMouseout.bind(this, A.node, this.radialDataLabels)),
                                                       w.add(A),
                                                       A.attr("id", "apexcharts-radialArc-" + x);
                                                  var O = 0;
                                                  !I.initialAnim ||
                                                       e.globals.resized ||
                                                       e.globals.dataChanged ||
                                                       ((O = ((C - S) / 360) * e.config.chart.animations.speed), (this.animDur = O / (1.2 * t.series.length) + this.animDur), this.animBeginArr.push(this.animDur)),
                                                       e.globals.dataChanged &&
                                                            ((O = ((C - S) / 360) * e.config.chart.animations.dynamicAnimation.speed), (this.animDur = O / (1.2 * t.series.length) + this.animDur), this.animBeginArr.push(this.animDur)),
                                                       I.animatePaths(A, {
                                                            centerX: t.centerX,
                                                            centerY: t.centerY,
                                                            endAngle: C,
                                                            startAngle: S,
                                                            prevEndAngle: D,
                                                            prevStartAngle: M,
                                                            size: t.size,
                                                            i: x,
                                                            totalItems: 2,
                                                            animBeginArr: this.animBeginArr,
                                                            dur: O,
                                                            shouldSetPrevPaths: !0,
                                                            easing: e.globals.easing,
                                                       });
                                             }
                                             return { g: u, elHollow: m, dataLabels: b };
                                        },
                                   },
                                   {
                                        key: "drawHollow",
                                        value: function (t) {
                                             var e = new s.default(this.ctx).drawCircle(2 * t.size);
                                             return e.attr({ class: "apexcharts-radialbar-hollow", cx: t.centerX, cy: t.centerY, r: t.size, fill: t.fill }), e;
                                        },
                                   },
                                   {
                                        key: "drawHollowImage",
                                        value: function (t, e, i, n) {
                                             var r = this.w,
                                                  o = new a.default(this.ctx),
                                                  s = (Math.random() + 1).toString(36).substring(4),
                                                  l = r.config.plotOptions.radialBar.hollow.image;
                                             if (r.config.plotOptions.radialBar.hollow.imageClipped)
                                                  o.clippedImgArea({ width: i, height: i, image: l, patternID: "pattern" + r.globals.cuid + s }), (n = "url(#pattern" + r.globals.cuid + s + ")");
                                             else {
                                                  var c = r.config.plotOptions.radialBar.hollow.imageWidth,
                                                       u = r.config.plotOptions.radialBar.hollow.imageHeight;
                                                  if (void 0 === c && void 0 === u) {
                                                       var h = r.globals.dom.Paper.image(l).loaded(function (e) {
                                                            this.move(t.centerX - e.width / 2 + r.config.plotOptions.radialBar.hollow.imageOffsetX, t.centerY - e.height / 2 + r.config.plotOptions.radialBar.hollow.imageOffsetY);
                                                       });
                                                       e.add(h);
                                                  } else {
                                                       var d = r.globals.dom.Paper.image(l).loaded(function (e) {
                                                            this.move(t.centerX - c / 2 + r.config.plotOptions.radialBar.hollow.imageOffsetX, t.centerY - u / 2 + r.config.plotOptions.radialBar.hollow.imageOffsetY), this.size(c, u);
                                                       });
                                                       e.add(d);
                                                  }
                                             }
                                             return n;
                                        },
                                   },
                                   {
                                        key: "getStrokeWidth",
                                        value: function (t) {
                                             var e = this.w;
                                             return (t.size * (100 - parseInt(e.config.plotOptions.radialBar.hollow.size))) / 100 / (t.series.length + 1) - this.margin;
                                        },
                                   },
                              ]),
                              e
                         );
                    })();
                    e.default = u;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = s(i(0)),
                         o = s(i(52)),
                         a = s(i(1));
                    function s(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var l = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.graphics = new r.default(this.ctx)),
                                   "bar" === this.w.config.chart.type && this.w.config.plotOptions.bar.horizontal && (this.invertAxis = !0),
                                   (this.xDivision = this.w.globals.gridWidth / this.w.globals.dataPoints);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "drawAnnotations",
                                        value: function () {
                                             var t = this.w;
                                             if (t.globals.axisCharts) {
                                                  for (
                                                       var e = this.drawYAxisAnnotations(),
                                                            i = this.drawXAxisAnnotations(),
                                                            n = this.drawPointAnnotations(),
                                                            r = t.config.chart.animations.enabled,
                                                            o = [e, i, n],
                                                            a = [i.node, e.node, n.node],
                                                            s = 0;
                                                       s < 3;
                                                       s++
                                                  )
                                                       t.globals.dom.elGraphical.add(o[s]), !r || t.globals.resized || t.globals.dataChanged || a[s].classList.add("hidden"), t.globals.delayedElements.push({ el: a[s], index: 0 });
                                                  this.setOrientations(t.config.annotations.xaxis), this.annotationsBackground();
                                             }
                                        },
                                   },
                                   {
                                        key: "addXaxisAnnotation",
                                        value: function (t, e, i) {
                                             var n = this.w,
                                                  r = this.invertAxis ? n.globals.minY : n.globals.minX,
                                                  o = this.invertAxis ? n.globals.yRange[0] : n.globals.xRange,
                                                  a = t.strokeDashArray,
                                                  s = (t.x - r) / (o / n.globals.gridWidth);
                                             if (!(s < 0 || s > n.globals.gridWidth)) {
                                                  var l = this.graphics.drawLine(s + t.offsetX, 0 + t.offsetY, s + t.offsetX, n.globals.gridHeight + t.offsetY, t.borderColor, a);
                                                  e.appendChild(l.node);
                                                  var c = "top" === t.label.position ? -3 : n.globals.gridHeight,
                                                       u = t.label.text ? t.label.text : "",
                                                       h = this.graphics.drawText({
                                                            x: s + t.label.offsetX,
                                                            y: c + t.label.offsetY,
                                                            text: u,
                                                            textAnchor: t.label.textAnchor,
                                                            fontSize: t.label.style.fontSize,
                                                            fontFamily: t.label.style.fontFamily,
                                                            foreColor: t.label.style.color,
                                                            cssClass: "apexcharts-xaxis-annotation-label " + t.label.style.cssClass,
                                                       });
                                                  h.attr({ rel: i }), e.appendChild(h.node);
                                             }
                                        },
                                   },
                                   {
                                        key: "drawXAxisAnnotations",
                                        value: function () {
                                             var t = this,
                                                  e = this.w,
                                                  i = this.graphics.group({ class: "apexcharts-xaxis-annotations" });
                                             return (
                                                  e.config.annotations.xaxis.map(function (e, n) {
                                                       t.addXaxisAnnotation(e, i.node, n);
                                                  }),
                                                  i
                                             );
                                        },
                                   },
                                   {
                                        key: "addYaxisAnnotation",
                                        value: function (t, e, i) {
                                             var n = this.w,
                                                  r = t.strokeDashArray,
                                                  o = void 0;
                                             if (this.invertAxis) {
                                                  var a = n.globals.labels.indexOf(t.y),
                                                       s = n.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child(" + (a + 1) + ")");
                                                  o = parseInt(s.getAttribute("y"));
                                             } else o = n.globals.gridHeight - (t.y - n.globals.minYArr[t.yAxisIndex]) / (n.globals.yRange[t.yAxisIndex] / n.globals.gridHeight);
                                             var l = t.label.text ? t.label.text : "",
                                                  c = this.graphics.drawLine(0 + t.offsetX, o + t.offsetY, n.globals.gridWidth + t.offsetX, o + t.offsetY, t.borderColor, r);
                                             e.appendChild(c.node);
                                             var u = "right" === t.label.position ? n.globals.gridWidth : 0,
                                                  h = this.graphics.drawText({
                                                       x: u + t.label.offsetX,
                                                       y: o + t.label.offsetY - 3,
                                                       text: l,
                                                       textAnchor: t.label.textAnchor,
                                                       fontSize: t.label.style.fontSize,
                                                       fontFamily: t.label.style.fontFamily,
                                                       foreColor: t.label.style.color,
                                                       cssClass: "apexcharts-yaxis-annotation-label " + t.label.style.cssClass,
                                                  });
                                             h.attr({ rel: i }), e.appendChild(h.node);
                                        },
                                   },
                                   {
                                        key: "drawYAxisAnnotations",
                                        value: function () {
                                             var t = this,
                                                  e = this.w,
                                                  i = this.graphics.group({ class: "apexcharts-yaxis-annotations" });
                                             return (
                                                  e.config.annotations.yaxis.map(function (e, n) {
                                                       t.addYaxisAnnotation(e, i.node, n);
                                                  }),
                                                  i
                                             );
                                        },
                                   },
                                   {
                                        key: "clearAnnotations",
                                        value: function (t) {
                                             t.w.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations").forEach(function (t) {
                                                  for (; t.firstChild; ) t.removeChild(t.firstChild);
                                             });
                                        },
                                   },
                                   {
                                        key: "addPointAnnotation",
                                        value: function (t, e, i) {
                                             var n = this.w,
                                                  r = 0,
                                                  o = 0,
                                                  a = 0;
                                             if ((this.invertAxis && console.warn("Point annotation is not supported in horizontal bar charts."), "string" == typeof t.x)) {
                                                  var s = n.globals.labels.indexOf(t.x),
                                                       l = n.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child(" + (s + 1) + ")");
                                                  r = parseInt(l.getAttribute("x"));
                                                  var c = t.y;
                                                  null === t.y && (c = n.globals.series[t.seriesIndex][s]),
                                                       (o = n.globals.gridHeight - (c - n.globals.minYArr[t.yAxisIndex]) / (n.globals.yRange[t.yAxisIndex] / n.globals.gridHeight) - parseInt(t.label.style.fontSize) - t.marker.size),
                                                       (a = n.globals.gridHeight - (c - n.globals.minYArr[t.yAxisIndex]) / (n.globals.yRange[t.yAxisIndex] / n.globals.gridHeight));
                                             } else
                                                  (r = (t.x - n.globals.minX) / (n.globals.xRange / n.globals.gridWidth)),
                                                       (o =
                                                            n.globals.gridHeight -
                                                            (parseInt(t.y) - n.globals.minYArr[t.yAxisIndex]) / (n.globals.yRange[t.yAxisIndex] / n.globals.gridHeight) -
                                                            parseInt(t.label.style.fontSize) -
                                                            t.marker.size),
                                                       (a = n.globals.gridHeight - (t.y - n.globals.minYArr[t.yAxisIndex]) / (n.globals.yRange[t.yAxisIndex] / n.globals.gridHeight));
                                             if (!(r < 0 || r > n.globals.gridWidth)) {
                                                  var u = { pSize: t.marker.size, pWidth: t.marker.strokeWidth, pointFillColor: t.marker.fillColor, pointStrokeColor: t.marker.strokeColor, shape: t.marker.shape, radius: t.marker.radius },
                                                       h = this.graphics.drawMarker(r + t.marker.offsetX, a + t.marker.offsetY, u);
                                                  e.appendChild(h.node);
                                                  var d = t.label.text ? t.label.text : "",
                                                       p = this.graphics.drawText({
                                                            x: r + t.label.offsetX,
                                                            y: o + t.label.offsetY,
                                                            text: d,
                                                            textAnchor: t.label.textAnchor,
                                                            fontSize: t.label.style.fontSize,
                                                            fontFamily: t.label.style.fontFamily,
                                                            foreColor: t.label.style.color,
                                                            cssClass: "apexcharts-point-annotation-label " + t.label.style.cssClass,
                                                       });
                                                  p.attr({ rel: i }), e.appendChild(p.node);
                                             }
                                        },
                                   },
                                   {
                                        key: "drawPointAnnotations",
                                        value: function () {
                                             var t = this,
                                                  e = this.w,
                                                  i = this.graphics.group({ class: "apexcharts-point-annotations" });
                                             return (
                                                  e.config.annotations.points.map(function (e, n) {
                                                       t.addPointAnnotation(e, i.node, n);
                                                  }),
                                                  i
                                             );
                                        },
                                   },
                                   {
                                        key: "setOrientations",
                                        value: function (t) {
                                             var e = this,
                                                  i = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : null,
                                                  n = this.w;
                                             t.map(function (t, r) {
                                                  if ("vertical" === t.label.orientation) {
                                                       var o = null !== i ? i : r,
                                                            a = n.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='" + o + "']");
                                                       if (null !== a) {
                                                            var s = a.getBoundingClientRect();
                                                            a.setAttribute("x", parseInt(a.getAttribute("x")) - s.height + 4),
                                                                 "top" === t.label.position ? a.setAttribute("y", parseInt(a.getAttribute("y")) + s.width) : a.setAttribute("y", parseInt(a.getAttribute("y")) - s.width);
                                                            var l = e.graphics.rotateAroundCenter(a),
                                                                 c = l.x,
                                                                 u = l.y;
                                                            a.setAttribute("transform", "rotate(-90 " + c + " " + u + ")");
                                                       }
                                                  }
                                             });
                                        },
                                   },
                                   {
                                        key: "addBackgroundToAnno",
                                        value: function (t, e) {
                                             var i = this.w.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),
                                                  n = t.getBoundingClientRect(),
                                                  r = e.label.style.padding.left,
                                                  o = e.label.style.padding.right,
                                                  a = e.label.style.padding.top,
                                                  s = e.label.style.padding.bottom;
                                             "vertical" === e.label.orientation && ((a = e.label.style.padding.left), (s = e.label.style.padding.right), (r = e.label.style.padding.top), (o = e.label.style.padding.bottom));
                                             var l = n.left - i.left - r,
                                                  c = n.top - i.top - a;
                                             return this.graphics.drawRect(l, c, n.width + r + o, n.height + a + s, 0, e.label.style.background, 1, e.label.borderWidth, e.label.borderColor, 0);
                                        },
                                   },
                                   {
                                        key: "annotationsBackground",
                                        value: function () {
                                             var t = this,
                                                  e = this.w,
                                                  i = function (i, n, r) {
                                                       var o = e.globals.dom.baseEl.querySelector(".apexcharts-" + r + "-annotations .apexcharts-" + r + "-annotation-label[rel='" + n + "']");
                                                       if (o) {
                                                            var a = o.parentNode,
                                                                 s = t.addBackgroundToAnno(o, i);
                                                            a.insertBefore(s.node, o);
                                                       }
                                                  };
                                             e.config.annotations.xaxis.map(function (t, e) {
                                                  i(t, e, "xaxis");
                                             }),
                                                  e.config.annotations.yaxis.map(function (t, e) {
                                                       i(t, e, "yaxis");
                                                  }),
                                                  e.config.annotations.points.map(function (t, e) {
                                                       i(t, e, "point");
                                                  });
                                        },
                                   },
                                   {
                                        key: "addText",
                                        value: function (t, e, i) {
                                             var n = t.x,
                                                  r = t.y,
                                                  o = t.text,
                                                  a = t.textAnchor,
                                                  s = t.appendTo,
                                                  l = void 0 === s ? ".apexcharts-inner" : s,
                                                  c = t.foreColor,
                                                  u = t.fontSize,
                                                  h = t.fontFamily,
                                                  d = t.cssClass,
                                                  p = t.backgroundColor,
                                                  f = t.borderWidth,
                                                  m = t.strokeDashArray,
                                                  g = t.radius,
                                                  v = t.borderColor,
                                                  y = t.paddingLeft,
                                                  b = void 0 === y ? 4 : y,
                                                  _ = t.paddingRight,
                                                  x = void 0 === _ ? 4 : _,
                                                  w = t.paddingBottom,
                                                  k = void 0 === w ? 2 : w,
                                                  S = t.paddingTop,
                                                  M = void 0 === S ? 2 : S,
                                                  T = i,
                                                  C = T.w,
                                                  D = C.globals.dom.baseEl.querySelector(l),
                                                  L = this.graphics.drawText({
                                                       x: n,
                                                       y: r,
                                                       text: o,
                                                       textAnchor: a || "start",
                                                       fontSize: u || "12px",
                                                       fontFamily: h || C.config.chart.fontFamily,
                                                       foreColor: c || C.config.chart.foreColor,
                                                       cssClass: d,
                                                  });
                                             D.appendChild(L.node);
                                             var E = L.bbox(),
                                                  A = this.graphics.drawRect(E.x - b, E.y - M, E.width + b + x, E.height + k + M, g, p, 1, f, v, m);
                                             return (
                                                  L.before(A),
                                                  e &&
                                                       C.globals.memory.methodsToExec.push({
                                                            context: T,
                                                            method: T.addText,
                                                            params: {
                                                                 x: n,
                                                                 y: r,
                                                                 text: o,
                                                                 textAnchor: a,
                                                                 appendTo: l,
                                                                 foreColor: c,
                                                                 fontSize: u,
                                                                 cssClass: d,
                                                                 backgroundColor: p,
                                                                 borderWidth: f,
                                                                 strokeDashArray: m,
                                                                 radius: g,
                                                                 borderColor: v,
                                                                 paddingLeft: b,
                                                                 paddingRight: x,
                                                                 paddingBottom: k,
                                                                 paddingTop: M,
                                                            },
                                                       }),
                                                  i
                                             );
                                        },
                                   },
                                   {
                                        key: "addPointAnnotationExternal",
                                        value: function (t, e, i) {
                                             return this.addAnnotationExternal({ params: t, pushToMemory: e, context: i, type: "point", contextMethod: i.addPointAnnotation }), i;
                                        },
                                   },
                                   {
                                        key: "addYaxisAnnotationExternal",
                                        value: function (t, e, i) {
                                             return this.addAnnotationExternal({ params: t, pushToMemory: e, context: i, type: "yaxis", contextMethod: i.addYaxisAnnotation }), i;
                                        },
                                   },
                                   {
                                        key: "addXaxisAnnotationExternal",
                                        value: function (t, e, i) {
                                             return this.addAnnotationExternal({ params: t, pushToMemory: e, context: i, type: "xaxis", contextMethod: i.addXaxisAnnotation }), i;
                                        },
                                   },
                                   {
                                        key: "addAnnotationExternal",
                                        value: function (t) {
                                             var e = t.params,
                                                  i = t.pushToMemory,
                                                  n = t.context,
                                                  r = t.type,
                                                  s = t.contextMethod,
                                                  l = n,
                                                  c = l.w,
                                                  u = c.globals.dom.baseEl.querySelector(".apexcharts-" + r + "-annotations"),
                                                  h = u.childNodes.length + 1,
                                                  d = new o.default(),
                                                  p = Object.assign({}, "xaxis" === r ? d.xAxisAnnotation : "yaxis" === r ? d.yAxisAnnotation : d.pointAnnotation),
                                                  f = a.default.extend(p, e);
                                             switch (r) {
                                                  case "xaxis":
                                                       this.addXaxisAnnotation(f, u, h);
                                                       break;
                                                  case "yaxis":
                                                       this.addYaxisAnnotation(f, u, h);
                                                       break;
                                                  case "point":
                                                       this.addPointAnnotation(f, u, h);
                                             }
                                             var m = c.globals.dom.baseEl.querySelector(".apexcharts-" + r + "-annotations .apexcharts-" + r + "-annotation-label[rel='" + h + "']"),
                                                  g = this.addBackgroundToAnno(m, f);
                                             return u.insertBefore(g.node, m), i && c.globals.memory.methodsToExec.push({ context: l, method: s, params: e }), n;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = l;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = a(i(51)),
                         o = a(i(144));
                    function a(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var s = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.opts = e);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "init",
                                        value: function () {
                                             var t = new r.default(this.opts).init();
                                             return { config: t, globals: new o.default().init(t) };
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = s;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = w(i(47)),
                         o = w(i(127)),
                         a = w(i(128)),
                         s = w(i(7)),
                         l = w(i(76)),
                         c = w(i(53)),
                         u = w(i(129)),
                         h = w(i(74)),
                         d = w(i(131)),
                         p = w(i(132)),
                         f = w(i(130)),
                         m = w(i(0)),
                         g = w(i(49)),
                         v = w(i(50)),
                         y = w(i(78)),
                         b = w(i(1)),
                         _ = w(i(28)),
                         x = w(i(79));
                    function w(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var k = (function () {
                         function t(e, i) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = i),
                                   (this.w = i.w),
                                   (this.el = e),
                                   (this.coreUtils = new s.default(this.ctx)),
                                   (this.twoDSeries = []),
                                   (this.threeDSeries = []),
                                   (this.twoDSeriesX = []);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "setupElements",
                                        value: function () {
                                             var t = this.w.globals,
                                                  e = this.w.config,
                                                  i = e.chart.type;
                                             (t.axisCharts = -1 < ["line", "area", "bar", "candlestick", "radar", "scatter", "bubble", "heatmap"].indexOf(i)),
                                                  (t.xyCharts = -1 < ["line", "area", "bar", "candlestick", "scatter", "bubble"].indexOf(i)),
                                                  (t.chartClass = ".apexcharts" + t.cuid),
                                                  (t.dom.baseEl = this.el),
                                                  (t.dom.elWrap = document.createElement("div")),
                                                  m.default.setAttrs(t.dom.elWrap, { id: t.chartClass.substring(1), class: "apexcharts-canvas " + t.chartClass.substring(1) }),
                                                  this.el.appendChild(t.dom.elWrap),
                                                  (t.dom.Paper = new window.SVG.Doc(t.dom.elWrap)),
                                                  t.dom.Paper.attr({ class: "apexcharts-svg", "xmlns:data": "ApexChartsNS", transform: "translate(" + e.chart.offsetX + ", " + e.chart.offsetY + ")" }),
                                                  (t.dom.Paper.node.style.background = e.chart.background),
                                                  this.setSVGDimensions(),
                                                  (t.dom.elGraphical = t.dom.Paper.group().attr({ class: "apexcharts-inner apexcharts-graphical" })),
                                                  (t.dom.elDefs = t.dom.Paper.defs()),
                                                  (t.dom.elLegendWrap = document.createElement("div")),
                                                  t.dom.elLegendWrap.classList.add("apexcharts-legend"),
                                                  t.dom.elWrap.appendChild(t.dom.elLegendWrap),
                                                  t.dom.Paper.add(t.dom.elGraphical),
                                                  t.dom.elGraphical.add(t.dom.elDefs);
                                        },
                                   },
                                   {
                                        key: "plotChartType",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = i.config,
                                                  s = i.globals,
                                                  l = { series: [], i: [] },
                                                  c = { series: [], i: [] },
                                                  m = { series: [], i: [] },
                                                  g = { series: [], i: [] },
                                                  v = { series: [], i: [] };
                                             s.series.map(function (e, n) {
                                                  if (void 0 !== t[n].type) {
                                                       if ("column" === t[n].type || "bar" === t[n].type) (i.config.plotOptions.bar.horizontal = !1), g.series.push(e), g.i.push(n);
                                                       else if ("area" === t[n].type) c.series.push(e), c.i.push(n);
                                                       else if ("line" === t[n].type) l.series.push(e), l.i.push(n);
                                                       else if ("scatter" === t[n].type) m.series.push(e), m.i.push(n);
                                                       else {
                                                            if ("candlestick" !== t[n].type) throw new Error("You have specified an unrecognized chart type. Available types for this propery are line/area/column/bar");
                                                            v.series.push(e), v.i.push(n);
                                                       }
                                                       s.comboCharts = !0;
                                                  } else l.series.push(e), l.i.push(n);
                                             });
                                             var y = new f.default(this.ctx, e),
                                                  b = new a.default(this.ctx, e),
                                                  _ = new h.default(this.ctx),
                                                  x = new p.default(this.ctx),
                                                  w = new d.default(this.ctx),
                                                  k = [];
                                             if (s.comboCharts) {
                                                  if ((0 < c.series.length && k.push(y.draw(c.series, "area", c.i)), 0 < g.series.length))
                                                       if (i.config.chart.stacked) {
                                                            var S = new o.default(this.ctx, e);
                                                            k.push(S.draw(g.series, g.i));
                                                       } else {
                                                            var M = new r.default(this.ctx, e);
                                                            k.push(M.draw(g.series, g.i));
                                                       }
                                                  if ((0 < l.series.length && k.push(y.draw(l.series, "line", l.i)), 0 < v.series.length && k.push(b.draw(v.series, v.i)), 0 < m.series.length)) {
                                                       var T = new f.default(this.ctx, e, !0);
                                                       k.push(T.draw(m.series, "scatter", m.i));
                                                  }
                                             } else
                                                  switch (n.chart.type) {
                                                       case "line":
                                                            k = y.draw(s.series, "line");
                                                            break;
                                                       case "area":
                                                            k = y.draw(s.series, "area");
                                                            break;
                                                       case "bar":
                                                            k = n.chart.stacked ? new o.default(this.ctx, e).draw(s.series) : new r.default(this.ctx, e).draw(s.series);
                                                            break;
                                                       case "candlestick":
                                                            k = new a.default(this.ctx, e).draw(s.series);
                                                            break;
                                                       case "heatmap":
                                                            k = new u.default(this.ctx, e).draw(s.series);
                                                            break;
                                                       case "pie":
                                                       case "donut":
                                                            k = _.draw(s.series);
                                                            break;
                                                       case "radialBar":
                                                            k = x.draw(s.series);
                                                            break;
                                                       case "radar":
                                                            k = w.draw(s.series);
                                                            break;
                                                       default:
                                                            k = y.draw(s.series);
                                                  }
                                             return k;
                                        },
                                   },
                                   {
                                        key: "setSVGDimensions",
                                        value: function () {
                                             var t = this.w.globals,
                                                  e = this.w.config;
                                             (t.svgWidth = e.chart.width), (t.svgHeight = e.chart.height);
                                             var i = b.default.getDimensions(this.el),
                                                  n = e.chart.width
                                                       .toString()
                                                       .split(/[0-9]+/g)
                                                       .pop();
                                             if (
                                                  ("%" === n
                                                       ? b.default.isNumber(i[0]) && (0 === i[0].width && (i = b.default.getDimensions(this.el.parentNode)), (t.svgWidth = (i[0] * parseInt(e.chart.width)) / 100))
                                                       : ("px" !== n && "" !== n) || (t.svgWidth = parseInt(e.chart.width)),
                                                  "auto" !== t.svgHeight && "" !== t.svgHeight)
                                             )
                                                  if (
                                                       "%" ===
                                                       e.chart.height
                                                            .toString()
                                                            .split(/[0-9]+/g)
                                                            .pop()
                                                  ) {
                                                       var r = b.default.getDimensions(this.el.parentNode);
                                                       t.svgHeight = (r[1] * parseInt(e.chart.height)) / 100;
                                                  } else t.svgHeight = parseInt(e.chart.height);
                                             else t.axisCharts ? (t.svgHeight = t.svgWidth / 1.61) : (t.svgHeight = t.svgWidth);
                                             m.default.setAttrs(t.dom.Paper.node, { width: t.svgWidth, height: t.svgHeight });
                                             var o = e.chart.sparkline.enabled ? 0 : t.axisCharts ? 14 : 5;
                                             (t.dom.Paper.node.parentNode.parentNode.style.minHeight = t.svgHeight + o + "px"), (t.dom.elWrap.style.width = t.svgWidth + "px"), (t.dom.elWrap.style.height = t.svgHeight + "px");
                                        },
                                   },
                                   {
                                        key: "shiftGraphPosition",
                                        value: function () {
                                             var t = this.w.globals,
                                                  e = t.translateY,
                                                  i = { transform: "translate(" + t.translateX + ", " + e + ")" };
                                             m.default.setAttrs(t.dom.elGraphical.node, i);
                                        },
                                   },
                                   {
                                        key: "coreCalculations",
                                        value: function () {
                                             new y.default(this.ctx).init();
                                        },
                                   },
                                   {
                                        key: "resetGlobals",
                                        value: function () {
                                             var t = this.w.globals;
                                             (t.series = []),
                                                  (t.seriesCandleO = []),
                                                  (t.seriesCandleH = []),
                                                  (t.seriesCandleL = []),
                                                  (t.seriesCandleC = []),
                                                  (t.seriesPercent = []),
                                                  (t.seriesX = []),
                                                  (t.seriesZ = []),
                                                  (t.seriesNames = []),
                                                  (t.seriesTotals = []),
                                                  (t.stackedSeriesTotals = []),
                                                  (t.labels = []),
                                                  (t.timelineLabels = []),
                                                  (t.noLabelsProvided = !1),
                                                  (t.timescaleTicks = []),
                                                  (t.resizeTimer = null),
                                                  (t.selectionResizeTimer = null),
                                                  (t.seriesXvalues = this.w.config.series.map(function (t) {
                                                       return [];
                                                  })),
                                                  (t.seriesYvalues = this.w.config.series.map(function (t) {
                                                       return [];
                                                  })),
                                                  (t.delayedElements = []),
                                                  (t.pointsArray = []),
                                                  (t.dataLabelsRects = []),
                                                  (t.isXNumeric = !1),
                                                  (t.isDataXYZ = !1),
                                                  (t.maxY = -Number.MAX_VALUE),
                                                  (t.minY = Number.MIN_VALUE),
                                                  (t.minYArr = []),
                                                  (t.maxYArr = []),
                                                  (t.maxX = -Number.MAX_VALUE),
                                                  (t.minX = Number.MAX_VALUE),
                                                  (t.initialmaxX = -Number.MAX_VALUE),
                                                  (t.initialminX = Number.MAX_VALUE),
                                                  (t.maxDate = 0),
                                                  (t.minDate = Number.MAX_VALUE),
                                                  (t.minZ = Number.MAX_VALUE),
                                                  (t.maxZ = -Number.MAX_VALUE),
                                                  (t.yAxisScale = []),
                                                  (t.xAxisScale = null),
                                                  (t.xAxisTicksPositions = []),
                                                  (t.yLabelsCoords = []),
                                                  (t.yTitleCoords = []),
                                                  (t.xRange = 0),
                                                  (t.yRange = []),
                                                  (t.zRange = 0),
                                                  (t.dataPoints = 0);
                                        },
                                   },
                                   {
                                        key: "isMultipleY",
                                        value: function () {
                                             if (this.w.config.yaxis.constructor === Array && 1 < this.w.config.yaxis.length) return (this.w.config.chart.stacked = !1), (this.w.globals.isMultipleYAxis = !0);
                                        },
                                   },
                                   {
                                        key: "excludeCollapsedSeriesInYAxis",
                                        value: function () {
                                             var t = this,
                                                  e = this.w;
                                             e.globals.ignoreYAxisIndexes = e.globals.collapsedSeries.map(function (e, i) {
                                                  if (t.w.globals.isMultipleYAxis) return e.index;
                                             });
                                        },
                                   },
                                   {
                                        key: "isMultiFormat",
                                        value: function () {
                                             return this.isFormatXY() || this.isFormat2DArray();
                                        },
                                   },
                                   {
                                        key: "isFormatXY",
                                        value: function () {
                                             var t = this.w.config.series.slice(),
                                                  e = new _.default(this.ctx).getActiveConfigSeriesIndex();
                                             if (void 0 !== t[e].data && 0 < t[e].data.length && null !== t[e].data[0] && void 0 !== t[e].data[0].x && null !== t[e].data[0]) return !0;
                                        },
                                   },
                                   {
                                        key: "isFormat2DArray",
                                        value: function () {
                                             var t = this.w.config.series.slice(),
                                                  e = new _.default(this.ctx).getActiveConfigSeriesIndex();
                                             if (void 0 !== t[e].data && 0 < t[e].data.length && void 0 !== t[e].data[0] && null !== t[e].data[0] && t[e].data[0].constructor === Array) return !0;
                                        },
                                   },
                                   {
                                        key: "handleFormat2DArray",
                                        value: function (t, e) {
                                             for (var i = this.w.config, n = this.w.globals, r = 0; r < t[e].data.length; r++)
                                                  if (
                                                       (void 0 !== t[e].data[r][1] && (Array.isArray(t[e].data[r][1]) && 4 === t[e].data[r][1].length ? this.twoDSeries.push(t[e].data[r][1][3]) : this.twoDSeries.push(t[e].data[r][1])),
                                                       "datetime" === i.xaxis.type)
                                                  ) {
                                                       var o = new Date(t[e].data[r][0]);
                                                       (o = new Date(o).getTime()), this.twoDSeriesX.push(o);
                                                  } else this.twoDSeriesX.push(t[e].data[r][0]);
                                             for (var a = 0; a < t[e].data.length; a++) void 0 !== t[e].data[a][2] && (this.threeDSeries.push(t[e].data[a][2]), (n.isDataXYZ = !0));
                                        },
                                   },
                                   {
                                        key: "handleFormatXY",
                                        value: function (t, e) {
                                             for (var i = this.w.config, n = this.w.globals, r = this.w.config.series.slice(), o = new c.default(this.ctx), a = 0; a < t[e].data.length; a++) {
                                                  void 0 !== t[e].data[a].y && (Array.isArray(t[e].data[a].y) && 4 === t[e].data[a].y.length ? this.twoDSeries.push(t[e].data[a].y[3]) : this.twoDSeries.push(t[e].data[a].y));
                                                  var s = "string" == typeof t[e].data[a].x,
                                                       l = !!o.isValidDate(t[e].data[a].x.toString());
                                                  s || l
                                                       ? s
                                                            ? "datetime" === i.xaxis.type
                                                                 ? this.twoDSeriesX.push(o.parseDate(t[e].data[a].x))
                                                                 : ((this.fallbackToCategory = !0), this.twoDSeriesX.push(t[e].data[a].x))
                                                            : "datetime" === i.xaxis.type
                                                            ? this.twoDSeriesX.push(o.parseDate(t[e].data[a].x.toString()))
                                                            : this.twoDSeriesX.push(parseFloat(t[e].data[a].x))
                                                       : this.twoDSeriesX.push(t[e].data[a].x);
                                             }
                                             if (r[e].data[0] && void 0 !== r[e].data[0].z) {
                                                  for (var u = 0; u < r[e].data.length; u++) this.threeDSeries.push(r[e].data[u].z);
                                                  n.isDataXYZ = !0;
                                             }
                                        },
                                   },
                                   {
                                        key: "handleCandleStickData",
                                        value: function (t, e) {
                                             var i = this.w.globals,
                                                  n = {};
                                             return (
                                                  this.isFormat2DArray() ? (n = this.handleCandleStickDataFormat("array", t, e)) : this.isFormatXY() && (n = this.handleCandleStickDataFormat("xy", t, e)),
                                                  i.seriesCandleO.push(n.o),
                                                  i.seriesCandleH.push(n.h),
                                                  i.seriesCandleL.push(n.l),
                                                  i.seriesCandleC.push(n.c),
                                                  n
                                             );
                                        },
                                   },
                                   {
                                        key: "handleCandleStickDataFormat",
                                        value: function (t, e, i) {
                                             var n = [],
                                                  r = [],
                                                  o = [],
                                                  a = [],
                                                  s = "Please provide [Open, High, Low and Close] values in valid format. Read more https://apexcharts.com/docs/series/#candlestick";
                                             if ("array" === t) {
                                                  if (4 !== e[i].data[0][1].length) throw new Error(s);
                                                  for (var l = 0; l < e[i].data.length; l++) n.push(e[i].data[l][1][0]), r.push(e[i].data[l][1][1]), o.push(e[i].data[l][1][2]), a.push(e[i].data[l][1][3]);
                                             } else if ("xy" === t) {
                                                  if (4 !== e[i].data[0].y.length) throw new Error(s);
                                                  for (var c = 0; c < e[i].data.length; c++) n.push(e[i].data[c].y[0]), r.push(e[i].data[c].y[1]), o.push(e[i].data[c].y[2]), a.push(e[i].data[c].y[3]);
                                             }
                                             return { o: n, h: r, l: o, c: a };
                                        },
                                   },
                                   {
                                        key: "parseDataAxisCharts",
                                        value: function (t, e) {
                                             for (var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : this.ctx, n = this.w.config, r = this.w.globals, o = new c.default(i), a = 0; a < e.length; a++) {
                                                  if (((this.twoDSeries = []), (this.twoDSeriesX = []), (this.threeDSeries = []), void 0 === e[a].data))
                                                       return void console.error("It is a possibility that you may have not included 'data' property in series.");
                                                  if (this.isMultiFormat())
                                                       this.isFormat2DArray() ? this.handleFormat2DArray(t, a) : this.isFormatXY() && this.handleFormatXY(t, a),
                                                            ("candlestick" !== n.chart.type && "candlestick" !== t[a].type) || this.handleCandleStickData(t, a),
                                                            r.series.push(this.twoDSeries),
                                                            r.labels.push(this.twoDSeriesX),
                                                            r.seriesX.push(this.twoDSeriesX),
                                                            this.fallbackToCategory || (r.isXNumeric = !0);
                                                  else {
                                                       if ("datetime" === n.xaxis.type) {
                                                            r.isXNumeric = !0;
                                                            for (var s = 0 < n.labels.length ? n.labels.slice() : n.xaxis.categories.slice(), l = 0; l < s.length; l++)
                                                                 if ("string" == typeof s[l]) {
                                                                      if (!o.isValidDate(s[l])) throw new Error("You have provided invalid Date format. Please provide a valid JavaScript Date");
                                                                      this.twoDSeriesX.push(o.parseDate(s[l]));
                                                                 }
                                                            r.seriesX.push(this.twoDSeriesX);
                                                       } else if ("numeric" === n.xaxis.type) {
                                                            r.isXNumeric = !0;
                                                            var u = 0 < n.labels.length ? n.labels.slice() : n.xaxis.categories.slice();
                                                            0 < u.length && ((this.twoDSeriesX = u), r.seriesX.push(this.twoDSeriesX));
                                                       }
                                                       r.labels.push(this.twoDSeriesX), r.series.push(t[a].data);
                                                  }
                                                  r.seriesZ.push(this.threeDSeries), void 0 !== t[a].name ? r.seriesNames.push(t[a].name) : r.seriesNames.push("series-" + parseInt(a + 1));
                                             }
                                             return this.w;
                                        },
                                   },
                                   {
                                        key: "parseDataNonAxisCharts",
                                        value: function (t) {
                                             var e = this.w.globals,
                                                  i = this.w.config;
                                             (e.series = t.slice()), (e.seriesNames = i.labels.slice());
                                             for (var n = 0; n < e.series.length; n++) void 0 === e.seriesNames[n] && e.seriesNames.push("series-" + (n + 1));
                                             return this.w;
                                        },
                                   },
                                   {
                                        key: "handleExternalLabelsData",
                                        value: function (t) {
                                             var e = this.w.config,
                                                  i = this.w.globals;
                                             if (0 < e.xaxis.categories.length) i.labels = e.xaxis.categories;
                                             else if (0 < e.labels.length) i.labels = e.labels.slice();
                                             else if (this.fallbackToCategory) i.labels = i.labels[0];
                                             else {
                                                  var n = [];
                                                  if (i.axisCharts) {
                                                       for (var r = 0; r < i.series[i.maxValsInArrayIndex].length; r++) n.push(r + 1);
                                                       for (var o = 0; o < t.length; o++) i.seriesX.push(n);
                                                       i.isXNumeric = !0;
                                                  }
                                                  if (0 === n.length) {
                                                       n = [0, 10];
                                                       for (var a = 0; a < t.length; a++) i.seriesX.push(n);
                                                  }
                                                  (i.labels = n), (i.noLabelsProvided = !0), "category" === e.xaxis.type && (i.isXNumeric = !1);
                                             }
                                        },
                                   },
                                   {
                                        key: "parseData",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = e.config,
                                                  n = e.globals;
                                             this.excludeCollapsedSeriesInYAxis();
                                             var r = i.series.slice();
                                             if (
                                                  ((this.fallbackToCategory = !1),
                                                  this.resetGlobals(),
                                                  this.isMultipleY(),
                                                  n.axisCharts ? this.parseDataAxisCharts(t, r) : this.parseDataNonAxisCharts(t),
                                                  this.coreUtils.getLargestSeries(),
                                                  "bar" === i.chart.type && i.chart.stacked)
                                             ) {
                                                  var o = new _.default(this.ctx);
                                                  n.series = o.setNullSeriesToZeroValues(n.series);
                                             }
                                             this.coreUtils.getSeriesTotals(),
                                                  n.axisCharts && this.coreUtils.getStackedSeriesTotals(),
                                                  this.coreUtils.getPercentSeries(),
                                                  (!n.isXNumeric || ("numeric" === i.xaxis.type && 0 === i.labels.length && 0 === i.xaxis.categories.length)) && this.handleExternalLabelsData(t);
                                        },
                                   },
                                   {
                                        key: "xySettings",
                                        value: function () {
                                             var t = null,
                                                  e = this.w;
                                             if (
                                                  e.globals.axisCharts &&
                                                  ("back" === e.config.xaxis.crosshairs.position && new l.default(this.ctx).drawXCrosshairs(),
                                                  "back" === e.config.yaxis[0].crosshairs.position && new l.default(this.ctx).drawYCrosshairs(),
                                                  (t = this.coreUtils.getCalculatedRatios()),
                                                  "datetime" === e.config.xaxis.type && void 0 === e.config.xaxis.labels.formatter && isFinite(e.globals.minX) && isFinite(e.globals.maxX))
                                             ) {
                                                  var i = new x.default(this.ctx),
                                                       n = i.calculateTimeScaleTicks(e.globals.minX, e.globals.maxX);
                                                  i.recalcDimensionsBasedOnFormat(n);
                                             }
                                             return t;
                                        },
                                   },
                                   {
                                        key: "drawAxis",
                                        value: function (t, e) {
                                             var i = this.w.globals,
                                                  n = this.w.config,
                                                  r = new g.default(this.ctx),
                                                  o = new v.default(this.ctx);
                                             if (i.axisCharts && "radar" !== t) {
                                                  var a = void 0,
                                                       s = void 0;
                                                  "bar" === t && n.plotOptions.bar.horizontal
                                                       ? ((s = o.drawYaxisInversed(0)), (a = r.drawXaxisInversed(0)), i.dom.elGraphical.add(a), i.dom.elGraphical.add(s))
                                                       : ((a = r.drawXaxis()),
                                                         i.dom.elGraphical.add(a),
                                                         n.yaxis.map(function (t, n) {
                                                              -1 === i.ignoreYAxisIndexes.indexOf(n) && ((s = o.drawYaxis(e, n)), i.dom.Paper.add(s));
                                                         }));
                                             }
                                             n.yaxis.map(function (t, e) {
                                                  -1 === i.ignoreYAxisIndexes.indexOf(e) && o.yAxisTitleRotate(e, t.opposite);
                                             });
                                        },
                                   },
                                   {
                                        key: "setupBrushHandler",
                                        value: function () {
                                             var t = this,
                                                  e = this.w;
                                             if (e.config.chart.brush.enabled && "function" != typeof e.config.chart.events.selection) {
                                                  var i = ApexCharts.getChartByID(e.config.chart.brush.target);
                                                  i.w.globals.brushSource = this.ctx;
                                                  var n = function () {
                                                       t.ctx._updateOptions({ chart: { selection: { xaxis: { min: i.w.globals.minX, max: i.w.globals.maxX } } } }, !1, !1);
                                                  };
                                                  "function" != typeof i.w.config.chart.events.zoomed &&
                                                       (i.w.config.chart.events.zoomed = function () {
                                                            n();
                                                       }),
                                                       "function" != typeof i.w.config.chart.events.scrolled &&
                                                            (i.w.config.chart.events.scrolled = function () {
                                                                 n();
                                                            }),
                                                       (e.config.chart.events.selection = function (t, n) {
                                                            var r = void 0,
                                                                 o = void 0;
                                                            e.config.chart.brush.autoScaleYaxis &&
                                                                 ((r = o = 0),
                                                                 i.w.config.series.forEach(function (t) {
                                                                      t[1] > o && (o = t[1]), t[1] < r && (r = t[1]);
                                                                 }),
                                                                 (r *= 0.95),
                                                                 (o *= 1.05));
                                                            var a = { min: r, max: o };
                                                            i._updateOptions({ xaxis: { min: n.xaxis.min, max: n.xaxis.max }, yaxis: { min: a.min, max: a.max } }, !1, !1);
                                                       });
                                             }
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = k;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = c(i(7)),
                         o = c(i(48)),
                         a = c(i(0)),
                         s = c(i(28)),
                         l = c(i(1));
                    function c(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var u = (function () {
                         function t(e, i) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w),
                                   (this.onLegendClick = this.onLegendClick.bind(this)),
                                   (this.onLegendHovered = this.onLegendHovered.bind(this));
                         }
                         return (
                              n(t, [
                                   {
                                        key: "init",
                                        value: function () {
                                             var t = this.w,
                                                  e = t.globals,
                                                  i = t.config;
                                             if (((i.legend.showForSingleSeries && 1 === e.series.length) || 1 < e.series.length || !e.axisCharts) && i.legend.show) {
                                                  for (; e.dom.elLegendWrap.firstChild; ) e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);
                                                  this.drawLegends(),
                                                       l.default.isIE11() ? document.getElementsByTagName("head")[0].appendChild(this.getLegendStyles()) : this.appendToForeignObject(),
                                                       "bottom" === i.legend.position || "top" === i.legend.position
                                                            ? this.legendAlignHorizontal()
                                                            : ("right" !== i.legend.position && "left" !== i.legend.position) || this.legendAlignVertical();
                                             }
                                        },
                                   },
                                   {
                                        key: "appendToForeignObject",
                                        value: function () {
                                             var t = this.w.globals,
                                                  e = document.createElementNS(t.svgNS, "foreignObject");
                                             e.setAttribute("x", 0),
                                                  e.setAttribute("y", 0),
                                                  e.setAttribute("width", t.svgWidth),
                                                  e.setAttribute("height", t.svgHeight),
                                                  t.dom.elLegendWrap.setAttribute("xmlns", "http://www.w3.org/1999/xhtml"),
                                                  e.appendChild(t.dom.elLegendWrap),
                                                  e.appendChild(this.getLegendStyles()),
                                                  t.dom.Paper.node.insertBefore(e, t.dom.elGraphical.node);
                                        },
                                   },
                                   {
                                        key: "drawLegends",
                                        value: function () {
                                             var t = this.w,
                                                  e = t.config.legend.fontFamily,
                                                  i = t.globals.seriesNames,
                                                  n = t.globals.colors.slice();
                                             if ("heatmap" === t.config.chart.type) {
                                                  var o = t.config.plotOptions.heatmap.colorScale.ranges;
                                                  (i = o.map(function (t) {
                                                       return t.name ? t.name : t.from + " - " + t.to;
                                                  })),
                                                       (n = o.map(function (t) {
                                                            return t.color;
                                                       }));
                                             }
                                             for (var s = t.globals.legendFormatter, l = 0; l <= i.length - 1; l++) {
                                                  var c = s(i[l], { seriesIndex: l, w: t }),
                                                       u = !1;
                                                  if (0 < t.globals.collapsedSeries.length) for (var h = 0; h < t.globals.collapsedSeries.length; h++) t.globals.collapsedSeries[h].index === l && (u = !0);
                                                  var d = document.createElement("span");
                                                  d.classList.add("apexcharts-legend-marker");
                                                  var p = t.config.legend.markers.offsetX,
                                                       f = t.config.legend.markers.offsetY,
                                                       m = t.config.legend.markers.height,
                                                       g = t.config.legend.markers.width,
                                                       v = t.config.legend.markers.strokeWidth,
                                                       y = t.config.legend.markers.strokeColor,
                                                       b = t.config.legend.markers.radius,
                                                       _ = d.style;
                                                  (_.background = n[l]),
                                                       (_.color = n[l]),
                                                       (_.height = Array.isArray(m) ? parseFloat(m[l]) + "px" : parseFloat(m) + "px"),
                                                       (_.width = Array.isArray(g) ? parseFloat(g[l]) + "px" : parseFloat(g) + "px"),
                                                       (_.left = Array.isArray(p) ? p[l] : p),
                                                       (_.top = Array.isArray(f) ? f[l] : f),
                                                       (_.borderWidth = Array.isArray(v) ? v[l] : v),
                                                       (_.borderColor = Array.isArray(y) ? y[l] : y),
                                                       (_.borderRadius = Array.isArray(b) ? parseFloat(b[l]) + "px" : parseFloat(b) + "px"),
                                                       t.config.legend.markers.customHTML &&
                                                            (Array.isArray(t.config.legend.markers.customHTML) ? (d.innerHTML = t.config.legend.markers.customHTML[l]()) : (d.innerHTML = t.config.legend.markers.customHTML())),
                                                       a.default.setAttrs(d, { rel: l + 1, "data:collapsed": u }),
                                                       u && d.classList.add("inactive-legend");
                                                  var x = document.createElement("div"),
                                                       w = document.createElement("span");
                                                  w.classList.add("apexcharts-legend-text"), (w.innerHTML = c);
                                                  var k = t.config.legend.labels.useSeriesColors ? t.globals.colors[l] : t.config.legend.labels.colors;
                                                  if (
                                                       (k || (k = t.config.chart.foreColor),
                                                       (w.style.color = k),
                                                       (w.style.fontSize = parseFloat(t.config.legend.labels.fontSize) + "px"),
                                                       (w.style.fontFamily = e || t.config.chart.fontFamily),
                                                       a.default.setAttrs(w, { rel: l + 1, "data:collapsed": u }),
                                                       x.appendChild(d),
                                                       x.appendChild(w),
                                                       !t.config.legend.showForZeroSeries)
                                                  ) {
                                                       var S = new r.default(this.ctx);
                                                       0 === S.getSeriesTotalByIndex(l) && S.seriesHaveSameValues(l) && -1 === t.globals.collapsedSeriesIndices.indexOf(l) && x.classList.add("apexcharts-hidden-zero-series");
                                                  }
                                                  t.globals.dom.elLegendWrap.appendChild(x),
                                                       t.globals.dom.elLegendWrap.classList.add(t.config.legend.horizontalAlign),
                                                       t.globals.dom.elLegendWrap.classList.add("position-" + t.config.legend.position),
                                                       x.classList.add("apexcharts-legend-series"),
                                                       (x.style.margin = t.config.legend.itemMargin.horizontal + "px " + t.config.legend.itemMargin.vertical + "px"),
                                                       (t.globals.dom.elLegendWrap.style.width = t.config.legend.width ? t.config.legend.width + "px" : ""),
                                                       (t.globals.dom.elLegendWrap.style.height = t.config.legend.height ? t.config.legend.height + "px" : ""),
                                                       a.default.setAttrs(x, { rel: l + 1, "data:collapsed": u }),
                                                       u && x.classList.add("inactiv`e-legend"),
                                                       t.config.legend.onItemClick.toggleDataSeries || x.classList.add("no-click");
                                             }
                                             "heatmap" !== t.config.chart.type && t.config.legend.onItemClick.toggleDataSeries && t.globals.dom.elWrap.addEventListener("click", this.onLegendClick, !0),
                                                  t.config.legend.onItemHover.highlightDataSeries &&
                                                       (t.globals.dom.elWrap.addEventListener("mousemove", this.onLegendHovered, !0), t.globals.dom.elWrap.addEventListener("mouseout", this.onLegendHovered, !0));
                                        },
                                   },
                                   {
                                        key: "getLegendBBox",
                                        value: function () {
                                             var t = this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),
                                                  e = t.width;
                                             return { clwh: t.height, clww: e };
                                        },
                                   },
                                   {
                                        key: "setLegendWrapXY",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = i.globals.dom.baseEl.querySelector(".apexcharts-legend"),
                                                  r = n.getBoundingClientRect(),
                                                  a = 0,
                                                  s = 0;
                                             if ("bottom" === i.config.legend.position) s += i.globals.svgHeight - r.height / 2;
                                             else if ("top" === i.config.legend.position) {
                                                  var l = new o.default(this.ctx),
                                                       c = l.getTitleSubtitleCoords("title").height,
                                                       u = l.getTitleSubtitleCoords("subtitle").height;
                                                  s = s + (0 < c ? c - 10 : 0) + (0 < u ? u - 10 : 0);
                                             }
                                             (n.style.position = "absolute"),
                                                  (a = a + t + i.config.legend.offsetX),
                                                  (s = s + e + i.config.legend.offsetY),
                                                  (n.style.left = a + "px"),
                                                  (n.style.top = s + "px"),
                                                  "bottom" === i.config.legend.position
                                                       ? ((n.style.top = "auto"), (n.style.bottom = 10 + i.config.legend.offsetY + "px"))
                                                       : "right" === i.config.legend.position && ((n.style.left = "auto"), (n.style.right = 25 + i.config.legend.offsetX + "px")),
                                                  n.style.width && (n.style.width = parseInt(i.config.legend.width) + "px"),
                                                  n.style.height && (n.style.height = parseInt(i.config.legend.height) + "px");
                                        },
                                   },
                                   {
                                        key: "legendAlignHorizontal",
                                        value: function () {
                                             var t = this.w;
                                             t.globals.dom.baseEl.querySelector(".apexcharts-legend").style.right = 0;
                                             var e = this.getLegendBBox(),
                                                  i = new o.default(this.ctx),
                                                  n = i.getTitleSubtitleCoords("title"),
                                                  r = i.getTitleSubtitleCoords("subtitle"),
                                                  a = 0;
                                             "bottom" === t.config.legend.position ? (a = -e.clwh / 1.8) : "top" === t.config.legend.position && (a = n.height + r.height + t.config.title.margin + t.config.subtitle.margin - 15),
                                                  this.setLegendWrapXY(20, a);
                                        },
                                   },
                                   {
                                        key: "legendAlignVertical",
                                        value: function () {
                                             var t = this.w,
                                                  e = this.getLegendBBox(),
                                                  i = 0;
                                             "left" === t.config.legend.position && (i = 20), "right" === t.config.legend.position && (i = t.globals.svgWidth - e.clww - 10), this.setLegendWrapXY(i, 20);
                                        },
                                   },
                                   {
                                        key: "onLegendHovered",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = t.target.classList.contains("apexcharts-legend-text") || t.target.classList.contains("apexcharts-legend-marker");
                                             if ("heatmap" !== e.config.chart.type) !t.target.classList.contains("inactive-legend") && i && new s.default(this.ctx).toggleSeriesOnHover(t, t.target);
                                             else if (i) {
                                                  var n = parseInt(t.target.getAttribute("rel")) - 1;
                                                  this.ctx.fireEvent("legendHover", [this.ctx, n, this.w]), new s.default(this.ctx).highlightRangeInSeries(t, t.target);
                                             }
                                        },
                                   },
                                   {
                                        key: "onLegendClick",
                                        value: function (t) {
                                             if (t.target.classList.contains("apexcharts-legend-text") || t.target.classList.contains("apexcharts-legend-marker")) {
                                                  var e = parseInt(t.target.getAttribute("rel")) - 1,
                                                       i = "true" === t.target.getAttribute("data:collapsed"),
                                                       n = this.w.config.chart.events.legendClick;
                                                  "function" == typeof n && n(this.ctx, e, this.w), this.ctx.fireEvent("legendClick", [this.ctx, e, this.w]), this.toggleDataSeries(e, i);
                                             }
                                        },
                                   },
                                   {
                                        key: "getLegendStyles",
                                        value: function () {
                                             var t = document.createElement("style");
                                             t.setAttribute("type", "text/css");
                                             var e = document.createTextNode(
                                                  "\n    \n      .apexcharts-legend {\n        display: flex;\n        overflow: auto;\n        padding: 0 10px;\n      }\n\n      .apexcharts-legend.position-bottom, .apexcharts-legend.position-top {\n        flex-wrap: wrap\n      }\n      .apexcharts-legend.position-right, .apexcharts-legend.position-left {\n        flex-direction: column;\n        bottom: 0;\n      }\n\n      .apexcharts-legend.position-bottom.left, .apexcharts-legend.position-top.left, .apexcharts-legend.position-right, .apexcharts-legend.position-left {\n        justify-content: flex-start;\n      }\n\n      .apexcharts-legend.position-bottom.center, .apexcharts-legend.position-top.center {\n        justify-content: center;  \n      }\n\n      .apexcharts-legend.position-bottom.right, .apexcharts-legend.position-top.right {\n        justify-content: flex-end;\n      }\n\n      .apexcharts-legend-series {\n        cursor: pointer;\n      }\n\n      .apexcharts-legend.position-bottom .apexcharts-legend-series, .apexcharts-legend.position-top .apexcharts-legend-series{\n        display: flex;\n        align-items: center;\n      }\n\n      .apexcharts-legend-text {\n        position: relative;\n        font-size: 14px;\n      }\n\n      .apexcharts-legend-marker {\n        position: relative;\n        display: inline-block;\n        cursor: pointer;\n        margin-right: 3px;\n      }\n      \n      .apexcharts-legend.right .apexcharts-legend-series, .apexcharts-legend.left .apexcharts-legend-series{\n        display: inline-block;\n      }\n\n      .apexcharts-legend-series.no-click {\n        cursor: auto;\n      }\n\n      .apexcharts-legend .apexcharts-hidden-zero-series {\n        display: none !important;\n      }\n\n      .inactive-legend {\n        opacity: 0.45;\n      }"
                                             );
                                             return t.appendChild(e), t;
                                        },
                                   },
                                   {
                                        key: "resetToggleDataSeries",
                                        value: function () {
                                             var t = this.w,
                                                  e = [];
                                             if (
                                                  (t.globals.axisCharts
                                                       ? t.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:realIndex]").forEach(function (t) {
                                                              e.push(parseInt(t.getAttribute("data:realIndex")));
                                                         })
                                                       : t.globals.dom.baseEl.querySelectorAll(".apexcharts-series[rel]").forEach(function (t) {
                                                              e.push(parseInt(t.getAttribute("rel")) - 1);
                                                         }),
                                                  e.sort(),
                                                  0 < t.globals.collapsedSeries.length)
                                             ) {
                                                  for (var i = t.globals.risingSeries.slice(), n = t.config.series.slice(), r = 0; r < t.globals.collapsedSeries.length; r++) {
                                                       var o = e.indexOf(t.globals.collapsedSeries[r].index);
                                                       -1 !== o && (t.globals.axisCharts ? (n[o].data = t.globals.collapsedSeries.slice()[r].data.slice()) : (n[o] = t.globals.collapsedSeries.slice()[r].data), i.push(o));
                                                  }
                                                  (t.globals.collapsedSeries = []),
                                                       (t.globals.collapsedSeriesIndices = []),
                                                       (t.globals.risingSeries = i),
                                                       (t.config.series = n),
                                                       this.ctx._updateSeries(t.config.series, t.config.chart.animations.dynamicAnimation.enabled);
                                             }
                                        },
                                   },
                                   {
                                        key: "toggleDataSeries",
                                        value: function (t, e) {
                                             var i = this.w;
                                             if (i.globals.axisCharts || "radialBar" === i.config.chart.type) {
                                                  i.globals.resized = !0;
                                                  var n,
                                                       r = null;
                                                  if (
                                                       ((i.globals.risingSeries = []),
                                                       (n = i.globals.axisCharts
                                                            ? ((r = i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='" + t + "']")), parseInt(r.getAttribute("data:realIndex")))
                                                            : ((r = i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='" + (t + 1) + "']")), parseInt(r.getAttribute("rel")) - 1)),
                                                       e)
                                                  ) {
                                                       if (0 < i.globals.collapsedSeries.length)
                                                            for (var o = 0; o < i.globals.collapsedSeries.length; o++)
                                                                 i.globals.collapsedSeries[o].index === n &&
                                                                      (i.globals.axisCharts ? (i.config.series[n].data = i.globals.collapsedSeries[o].data.slice()) : (i.config.series[n] = i.globals.collapsedSeries[o].data),
                                                                      i.globals.collapsedSeries.splice(o, 1),
                                                                      i.globals.collapsedSeriesIndices.splice(o, 1),
                                                                      i.globals.risingSeries.push(n),
                                                                      this.ctx._updateSeries(i.config.series, i.config.chart.animations.dynamicAnimation.enabled));
                                                  } else {
                                                       if (i.globals.axisCharts) {
                                                            i.globals.collapsedSeries.push({ index: n, data: i.config.series[n].data.slice(), type: r.parentNode.className.baseVal.split("-")[1] }), i.globals.collapsedSeriesIndices.push(n);
                                                            var a = i.globals.risingSeries.indexOf(n);
                                                            i.globals.risingSeries.splice(a, 1), (i.config.series[n].data = []);
                                                       } else i.globals.collapsedSeries.push({ index: n, data: i.config.series[n] }), i.globals.collapsedSeriesIndices.push(n), (i.config.series[n] = 0);
                                                       for (var s = r.childNodes, l = 0; l < s.length; l++)
                                                            s[l].classList.contains("apexcharts-series-markers-wrap") &&
                                                                 (s[l].classList.contains("apexcharts-hide") ? s[l].classList.remove("apexcharts-hide") : s[l].classList.add("apexcharts-hide"));
                                                       (i.globals.allSeriesCollapsed = i.globals.collapsedSeries.length === i.globals.series.length),
                                                            this.ctx._updateSeries(i.config.series, i.config.chart.animations.dynamicAnimation.enabled);
                                                  }
                                             } else i.globals.dom.Paper.select(" .apexcharts-series[rel='" + (t + 1) + "'] path").fire("click");
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = u;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = s(i(51)),
                         o = s(i(1)),
                         a = s(i(7));
                    function s(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var l = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "checkResponsiveConfig",
                                        value: function (t) {
                                             var e = this,
                                                  i = this.w,
                                                  n = i.config;
                                             if (0 !== n.responsive.length) {
                                                  var s = {},
                                                       l = new r.default(s),
                                                       c = function () {
                                                            for (var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}, r = 0; r < n.responsive.length; r++) {
                                                                 if ((0 < window.innerWidth ? window.innerWidth : screen.width) < n.responsive[r].breakpoint) {
                                                                      (s = o.default.extend(l, t)), (s = a.default.extendArrayProps(s, n.responsive[r].options)), (s = o.default.extend(i.config, s)), e.overrideResponsiveOptions(s);
                                                                      break;
                                                                 }
                                                                 var c = a.default.extendArrayProps(l, i.globals.initialConfig);
                                                                 (s = o.default.extend(i.config, c)), e.overrideResponsiveOptions(s);
                                                            }
                                                            return s;
                                                       };
                                                  if (t) {
                                                       var u = a.default.extendArrayProps(l, t);
                                                       (u = o.default.extend(i.config, u)), (u = c((u = o.default.extend(u, t)))), this.overrideResponsiveOptions(u);
                                                  } else c({});
                                             }
                                        },
                                   },
                                   {
                                        key: "overrideResponsiveOptions",
                                        value: function (t) {
                                             var e = new r.default(t).init();
                                             this.w.config = e;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = l;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 }), (e.default = void 0);
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(1)) && n.__esModule ? n : { default: n },
                         a = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.ctx = e),
                                        (this.w = e.w);
                              }
                              return (
                                   r(t, [
                                        {
                                             key: "niceScale",
                                             value: function (t, e) {
                                                  var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 10;
                                                  if ((t === Number.MIN_VALUE && 0 === e) || (!o.default.isNumber(t) && !o.default.isNumber(e))) return (t = 0), (i = e = 1), this.linearScale(t, e, i);
                                                  e < t ? (console.warn("yaxis.min cannot be greater than yaxis.max"), (e = t + 0.1)) : t === e && ((t = 0 === t ? 0 : t - 0.1), (e = 0 === e ? 2 : e + 0.1));
                                                  var n = [],
                                                       r = i + 1;
                                                  r < 2 ? (r = 2) : 2 < r && (r -= 2);
                                                  for (
                                                       var a = (e - t) / r, s = Math.floor(o.default.log10(a)), l = Math.pow(10, s), c = parseInt(a / l) * l, u = c * Math.floor(t / c), h = c * Math.ceil(e / c), d = u;
                                                       n.push(d), !(h < (d += c));

                                                  );
                                                  if (void 0 === this.w.config.yaxis[0].max && void 0 === this.w.config.yaxis[0].min) return { result: n, niceMin: n[0], niceMax: n[n.length - 1] };
                                                  var p = t;
                                                  (n = []).push(p);
                                                  for (var f = Math.abs(e - t) / i, m = 0; m <= i - 1; m++) (p += f), n.push(p);
                                                  return { result: n, niceMin: n[0], niceMax: n[n.length - 1] };
                                             },
                                        },
                                        {
                                             key: "linearScale",
                                             value: function (t, e) {
                                                  var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 10,
                                                       n = Math.abs(e - t) / i;
                                                  i === Number.MAX_VALUE && ((i = 10), (n = 1));
                                                  for (var r = [], o = t; 0 <= i; ) r.push(o), (o += n), (i -= 1);
                                                  return { result: r, niceMin: r[0], niceMax: r[r.length - 1] };
                                             },
                                        },
                                        {
                                             key: "logarithmicScale",
                                             value: function (t, e, i, n) {
                                                  var r = this.w;
                                                  (e < 0 || e === Number.MIN_VALUE) && (e = 0.01);
                                                  for (var a = r.config.yaxis[t].logBase, s = Math.log(e) / Math.log(a), l = Math.log(i) / Math.log(a), c = Math.abs(i - e) / n, u = [], h = e; 0 <= n; ) u.push(h), (h += c), (n -= 1);
                                                  var d = u.map(function (t, n) {
                                                       t <= 0 && (t = 0.01);
                                                       var r = (l - s) / (i - e),
                                                            c = Math.pow(a, s + r * (t - s));
                                                       return Math.round(c / o.default.roundToBase(c, a)) * o.default.roundToBase(c, a);
                                                  });
                                                  return 0 === d[0] && (d[0] = 1), { result: d, niceMin: d[0], niceMax: d[d.length - 1] };
                                             },
                                        },
                                        {
                                             key: "setYScaleForIndex",
                                             value: function (t, e, i) {
                                                  var n = this.w.globals,
                                                       r = this.w.config,
                                                       a = r.yaxis[t];
                                                  void 0 === n.yAxisScale[t] && (n.yAxisScale[t] = []),
                                                       r.yaxis[t].logarithmic
                                                            ? ((n.allSeriesCollapsed = !1), (n.yAxisScale[t] = this.logarithmicScale(t, e, i, a.tickAmount ? a.tickAmount : Math.floor(Math.log10(i)))))
                                                            : i !== -Number.MAX_VALUE && o.default.isNumber(i)
                                                            ? ((n.allSeriesCollapsed = !1), (n.yAxisScale[t] = this.niceScale(e, i, a.tickAmount ? a.tickAmount : 6)))
                                                            : (n.yAxisScale[t] = this.linearScale(0, 5, 5));
                                             },
                                        },
                                        {
                                             key: "setMultipleYScales",
                                             value: function () {
                                                  var t = this,
                                                       e = this.w.globals,
                                                       i = this.w.config,
                                                       n = e.minYArr.concat([]),
                                                       r = e.maxYArr.concat([]),
                                                       o = [];
                                                  i.yaxis.forEach(function (a, s) {
                                                       var l = s;
                                                       i.series.forEach(function (t, i) {
                                                            t.name === a.seriesName && -1 === e.collapsedSeriesIndices.indexOf(i) && (s !== (l = i) ? o.push({ index: i, similarIndex: s, alreadyExists: !0 }) : o.push({ index: i }));
                                                       });
                                                       var c = n[l],
                                                            u = r[l];
                                                       t.setYScaleForIndex(s, c, u);
                                                  }),
                                                       this.sameScaleInMultipleAxes(n, r, o);
                                             },
                                        },
                                        {
                                             key: "sameScaleInMultipleAxes",
                                             value: function (t, e, i) {
                                                  var n = this,
                                                       r = this.w.config,
                                                       o = [];
                                                  i.forEach(function (t) {
                                                       t.alreadyExists && (void 0 === o[t.index] && (o[t.index] = []), o[t.index].push(t.index), o[t.index].push(t.similarIndex));
                                                  }),
                                                       o.forEach(function (t, e) {
                                                            o.forEach(function (i, n) {
                                                                 var r, a;
                                                                 e !== n &&
                                                                      0 <
                                                                           ((r = t),
                                                                           (a = i),
                                                                           r.filter(function (t) {
                                                                                return -1 !== a.indexOf(t);
                                                                           })).length &&
                                                                      (o[e] = o[e].concat(o[n]));
                                                            });
                                                       });
                                                  var a = o
                                                       .map(function (t) {
                                                            return t.filter(function (e, i) {
                                                                 return t.indexOf(e) === i;
                                                            });
                                                       })
                                                       .map(function (t) {
                                                            return t.sort();
                                                       });
                                                  o = o.filter(function (t) {
                                                       return !!t;
                                                  });
                                                  var s = a.slice(),
                                                       l = s.map(function (t) {
                                                            return JSON.stringify(t);
                                                       });
                                                  s = s.filter(function (t, e) {
                                                       return l.indexOf(JSON.stringify(t)) === e;
                                                  });
                                                  var c = [],
                                                       u = [];
                                                  t.forEach(function (t, i) {
                                                       s.forEach(function (n, r) {
                                                            n.includes(i) && (void 0 === c[r] && ((c[r] = []), (u[r] = [])), c[r].push({ key: i, value: t }), u[r].push({ key: i, value: e[i] }));
                                                       });
                                                  });
                                                  var h = Array(s.length)
                                                            .fill()
                                                            .map(function (t, e) {
                                                                 return Number.MAX_SAFE_INTEGER;
                                                            }),
                                                       d = Array(s.length)
                                                            .fill()
                                                            .map(function (t, e) {
                                                                 return Number.MIN_SAFE_INTEGER;
                                                            });
                                                  c.forEach(function (t, e) {
                                                       t.forEach(function (t, i) {
                                                            h[e] = Math.min(t.value, h[e]);
                                                       });
                                                  }),
                                                       u.forEach(function (t, e) {
                                                            t.forEach(function (t, i) {
                                                                 d[e] = Math.max(t.value, d[e]);
                                                            });
                                                       }),
                                                       t.forEach(function (t, e) {
                                                            u.forEach(function (t, i) {
                                                                 var o = h[i],
                                                                      a = d[i];
                                                                 t.forEach(function (i, s) {
                                                                      t[s].key === e && (void 0 !== r.yaxis[e].min && (o = r.yaxis[e].min), void 0 !== r.yaxis[e].max && (a = r.yaxis[e].max), n.setYScaleForIndex(e, o, a));
                                                                 });
                                                            });
                                                       });
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    e.default = a;
               },
               function (t, e, i) {
                    "use strict";
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(1)) && n.__esModule ? n : { default: n },
                         a = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.ctx = e),
                                        (this.w = e.w),
                                        (this.colors = []);
                              }
                              return (
                                   r(t, [
                                        {
                                             key: "init",
                                             value: function () {
                                                  this.setDefaultColors();
                                             },
                                        },
                                        {
                                             key: "setDefaultColors",
                                             value: function () {
                                                  var t = this.w,
                                                       e = new o.default();
                                                  if ((void 0 === t.config.colors ? (t.globals.colors = this.predefined()) : (t.globals.colors = t.config.colors), t.config.theme.monochrome.enabled)) {
                                                       var i = [],
                                                            n = t.globals.series.length;
                                                       t.config.plotOptions.bar.distributed && "bar" === t.config.chart.type && (n = t.globals.series[0].length * t.globals.series.length);
                                                       for (var r = t.config.theme.monochrome.color, a = 1 / (n / t.config.theme.monochrome.shadeIntensity), s = t.config.theme.monochrome.shadeTo, l = 0, c = 0; c < n; c++) {
                                                            var u;
                                                            (u = "dark" === s ? e.shadeColor(-1 * l, r) : e.shadeColor(l, r)), (l += a), i.push(u);
                                                       }
                                                       t.globals.colors = i.slice();
                                                  }
                                                  var h = t.globals.colors.slice();
                                                  this.pushExtraColors(t.globals.colors),
                                                       void 0 === t.config.stroke.colors ? (t.globals.stroke.colors = h) : (t.globals.stroke.colors = t.config.stroke.colors),
                                                       this.pushExtraColors(t.globals.stroke.colors),
                                                       void 0 === t.config.fill.colors ? (t.globals.fill.colors = h) : (t.globals.fill.colors = t.config.fill.colors),
                                                       this.pushExtraColors(t.globals.fill.colors),
                                                       void 0 === t.config.dataLabels.style.colors ? (t.globals.dataLabels.style.colors = h) : (t.globals.dataLabels.style.colors = t.config.dataLabels.style.colors),
                                                       this.pushExtraColors(t.globals.dataLabels.style.colors),
                                                       void 0 === t.config.plotOptions.radar.polygons.fill.colors
                                                            ? (t.globals.radarPolygons.fill.colors = ["#fff"])
                                                            : (t.globals.radarPolygons.fill.colors = t.config.plotOptions.radar.polygons.fill.colors),
                                                       this.pushExtraColors(t.globals.radarPolygons.fill.colors, 20),
                                                       void 0 === t.config.markers.colors ? (t.globals.markers.colors = h) : (t.globals.markers.colors = t.config.markers.colors),
                                                       this.pushExtraColors(t.globals.markers.colors);
                                             },
                                        },
                                        {
                                             key: "pushExtraColors",
                                             value: function (t, e) {
                                                  var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null,
                                                       n = this.w,
                                                       r = e || n.globals.series.length;
                                                  if (
                                                       ((i =
                                                            null === i &&
                                                            (("bar" === n.config.chart.type && n.config.plotOptions.bar.distributed) || ("heatmap" === n.config.chart.type && n.config.plotOptions.heatmap.colorScale.inverse))) &&
                                                            (r = n.globals.series[0].length * n.globals.series.length),
                                                       t.length < r)
                                                  )
                                                       for (var o = r - t.length, a = 0; a < o; a++) t.push(t[a]);
                                             },
                                        },
                                        {
                                             key: "predefined",
                                             value: function () {
                                                  switch (this.w.config.theme.palette) {
                                                       case "palette1":
                                                            this.colors = ["#008FFB", "#00E396", "#FEB019", "#FF4560", "#775DD0"];
                                                            break;
                                                       case "palette2":
                                                            this.colors = ["#3f51b5", "#03a9f4", "#4caf50", "#f9ce1d", "#FF9800"];
                                                            break;
                                                       case "palette3":
                                                            this.colors = ["#33b2df", "#546E7A", "#d4526e", "#13d8aa", "#A5978B"];
                                                            break;
                                                       case "palette4":
                                                            this.colors = ["#546E7A", "#4ecdc4", "#c7f464", "#81D4FA", "#fd6a6a"];
                                                            break;
                                                       case "palette5":
                                                            this.colors = ["#2b908f", "#f9a3a4", "#90ee7e", "#fa4443", "#69d2e7"];
                                                            break;
                                                       case "palette6":
                                                            this.colors = ["#449DD1", "#F86624", "#EA3546", "#662E9B", "#C5D86D"];
                                                            break;
                                                       case "palette7":
                                                            this.colors = ["#D7263D", "#1B998B", "#2E294E", "#F46036", "#E2C044"];
                                                            break;
                                                       case "palette8":
                                                            this.colors = ["#662E9B", "#F86624", "#F9C80E", "#EA3546", "#43BCCD"];
                                                            break;
                                                       case "palette9":
                                                            this.colors = ["#5C4742", "#A5978B", "#8D5B4C", "#5A2A27", "#C4BBAF"];
                                                            break;
                                                       case "palette10":
                                                            this.colors = ["#A300D6", "#7D02EB", "#5653FE", "#2983FF", "#00B1F2"];
                                                            break;
                                                       default:
                                                            this.colors = ["#008FFB", "#00E396", "#FEB019", "#FF4560", "#775DD0"];
                                                  }
                                                  return this.colors;
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    t.exports = a;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 }), (e.default = void 0);
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(0)) && n.__esModule ? n : { default: n },
                         a = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.ctx = e),
                                        (this.w = e.w);
                              }
                              return (
                                   r(t, [
                                        {
                                             key: "draw",
                                             value: function () {
                                                  this.drawTitleSubtitle("title"), this.drawTitleSubtitle("subtitle");
                                             },
                                        },
                                        {
                                             key: "drawTitleSubtitle",
                                             value: function (t) {
                                                  var e = this.w,
                                                       i = "title" === t ? e.config.title : e.config.subtitle,
                                                       n = e.globals.svgWidth / 2,
                                                       r = i.offsetY,
                                                       a = "middle";
                                                  if (
                                                       ("left" === i.align ? ((n = 10), (a = "start")) : "right" === i.align && ((n = e.globals.svgWidth - 10), (a = "end")),
                                                       (n += i.offsetX),
                                                       (r = r + parseInt(i.style.fontSize) + 2),
                                                       void 0 !== i.text)
                                                  ) {
                                                       var s = new o.default(this.ctx).drawText({ x: n, y: r, text: i.text, textAnchor: a, fontSize: i.style.fontSize, fontFamily: i.style.fontFamily, foreColor: i.style.color, opacity: 1 });
                                                       s.node.setAttribute("class", "apexcharts-" + t + "-text"), e.globals.dom.Paper.add(s);
                                                  }
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    e.default = a;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = s(i(0)),
                         o = s(i(1)),
                         a = s(i(80));
                    function s(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var l = (function (t) {
                         function e(t) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, e);
                              var i = (function (t, e) {
                                   if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                                   return !e || ("object" != typeof e && "function" != typeof e) ? t : e;
                              })(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this, t));
                              return (
                                   (i.ctx = t),
                                   (i.w = t.w),
                                   (i.dragged = !1),
                                   (i.graphics = new r.default(i.ctx)),
                                   (i.eventList = ["mousedown", "mousemove", "touchstart", "touchmove", "mouseup", "touchend"]),
                                   (i.clientX = 0),
                                   (i.clientY = 0),
                                   (i.startX = 0),
                                   (i.endX = 0),
                                   (i.dragX = 0),
                                   (i.startY = 0),
                                   (i.endY = 0),
                                   (i.dragY = 0),
                                   i
                              );
                         }
                         return (
                              (function (t, e) {
                                   if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                                   (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })),
                                        e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));
                              })(e, a.default),
                              n(e, [
                                   {
                                        key: "init",
                                        value: function (t) {
                                             var e = t.xyRatios,
                                                  i = this.w;
                                             (this.xyRatios = e),
                                                  (this.zoomRect = this.graphics.drawRect(0, 0, 0, 0)),
                                                  (this.selectionRect = this.graphics.drawRect(0, 0, 0, 0)),
                                                  (this.gridRect = i.globals.dom.baseEl.querySelector(".apexcharts-grid")),
                                                  this.zoomRect.node.classList.add("apexcharts-zoom-rect"),
                                                  this.selectionRect.node.classList.add("apexcharts-selection-rect"),
                                                  i.globals.dom.elGraphical.add(this.zoomRect),
                                                  i.globals.dom.elGraphical.add(this.selectionRect),
                                                  "x" === i.config.chart.selection.type
                                                       ? (this.slDraggableRect = this.selectionRect
                                                              .draggable({ minX: 0, minY: 0, maxX: i.globals.gridWidth, maxY: i.globals.gridHeight })
                                                              .on("dragmove", this.selectionDragging.bind(this, "dragging")))
                                                       : "y" === i.config.chart.selection.type
                                                       ? (this.slDraggableRect = this.selectionRect.draggable({ minX: 0, maxX: i.globals.gridWidth }).on("dragmove", this.selectionDragging.bind(this, "dragging")))
                                                       : (this.slDraggableRect = this.selectionRect.draggable().on("dragmove", this.selectionDragging.bind(this, "dragging"))),
                                                  this.preselectedSelection(),
                                                  (this.hoverArea = i.globals.dom.baseEl.querySelector(i.globals.chartClass)),
                                                  this.hoverArea.classList.add("zoomable");
                                             var n = !0,
                                                  r = !1,
                                                  o = void 0;
                                             try {
                                                  for (var a, s = this.eventList[Symbol.iterator](); !(n = (a = s.next()).done); n = !0) {
                                                       var l = a.value;
                                                       this.hoverArea.addEventListener(l, this.svgMouseEvents.bind(this, e), { capture: !1, passive: !0 });
                                                  }
                                             } catch (t) {
                                                  (r = !0), (o = t);
                                             } finally {
                                                  try {
                                                       !n && s.return && s.return();
                                                  } finally {
                                                       if (r) throw o;
                                                  }
                                             }
                                        },
                                   },
                                   {
                                        key: "destroy",
                                        value: function () {
                                             var t = !0,
                                                  e = !1,
                                                  i = void 0;
                                             try {
                                                  for (var n, r = this.eventList[Symbol.iterator](); !(t = (n = r.next()).done); t = !0) {
                                                       var o = n.value;
                                                       this.hoverArea && this.hoverArea.removeEventListener(o, this.svgMouseEvents.bind(this, this.xyRatios), { capture: !1, passive: !0 });
                                                  }
                                             } catch (t) {
                                                  (e = !0), (i = t);
                                             } finally {
                                                  try {
                                                       !t && r.return && r.return();
                                                  } finally {
                                                       if (e) throw i;
                                                  }
                                             }
                                             this.slDraggableRect && (this.slDraggableRect.draggable(!1), this.slDraggableRect.off(), this.selectionRect.off()), (this.selectionRect = null), (this.zoomRect = null), (this.gridRect = null);
                                        },
                                   },
                                   {
                                        key: "svgMouseEvents",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = this,
                                                  r = this.ctx.toolbar,
                                                  o = i.globals.zoomEnabled ? i.config.chart.zoom.type : i.config.chart.selection.type;
                                             if (
                                                  (e.shiftKey ? ((this.shiftWasPressed = !0), r.enablePanning()) : this.shiftWasPressed && (r.enableZooming(), (this.shiftWasPressed = !1)),
                                                  !e.target.classList.contains("apexcharts-selection-rect") && !e.target.parentNode.classList.contains("apexcharts-toolbar"))
                                             ) {
                                                  if (
                                                       ((n.clientX = "touchmove" === e.type || "touchstart" === e.type ? e.touches[0].clientX : "touchend" === e.type ? e.changedTouches[0].clientX : e.clientX),
                                                       (n.clientY = "touchmove" === e.type || "touchstart" === e.type ? e.touches[0].clientY : "touchend" === e.type ? e.changedTouches[0].clientY : e.clientY),
                                                       "mousedown" === e.type && 1 === e.which)
                                                  ) {
                                                       var a = n.gridRect.getBoundingClientRect();
                                                       (n.startX = n.clientX - a.left), (n.startY = n.clientY - a.top), (n.dragged = !1), (n.w.globals.mousedown = !0);
                                                  }
                                                  if (
                                                       ((("mousemove" === e.type && 1 === e.which) || "touchmove" === e.type) &&
                                                            ((n.dragged = !0),
                                                            i.globals.panEnabled
                                                                 ? ((i.globals.selection = null), n.w.globals.mousedown && n.panDragging({ context: n, zoomtype: o, xyRatios: t }))
                                                                 : ((n.w.globals.mousedown && i.globals.zoomEnabled) || (n.w.globals.mousedown && i.globals.selectionEnabled)) &&
                                                                   (n.selection = n.selectionDrawing({ context: n, zoomtype: o }))),
                                                       "mouseup" === e.type || "touchend" === e.type)
                                                  ) {
                                                       var s = n.gridRect.getBoundingClientRect();
                                                       n.w.globals.mousedown &&
                                                            ((n.endX = n.clientX - s.left),
                                                            (n.endY = n.clientY - s.top),
                                                            (n.dragX = Math.abs(n.endX - n.startX)),
                                                            (n.dragY = Math.abs(n.endY - n.startY)),
                                                            (i.globals.zoomEnabled || i.globals.selectionEnabled) && n.selectionDrawn({ context: n, zoomtype: o })),
                                                            i.globals.zoomEnabled && n.hideSelectionRect(this.selectionRect),
                                                            (n.dragged = !1),
                                                            (n.w.globals.mousedown = !1);
                                                  }
                                                  this.makeSelectionRectDraggable();
                                             }
                                        },
                                   },
                                   {
                                        key: "makeSelectionRectDraggable",
                                        value: function () {
                                             var t = this.w;
                                             if (this.selectionRect) {
                                                  var e = this.selectionRect.node.getBoundingClientRect();
                                                  0 < e.width &&
                                                       0 < e.height &&
                                                       this.slDraggableRect
                                                            .selectize()
                                                            .resize({ constraint: { minX: 0, minY: 0, maxX: t.globals.gridWidth, maxY: t.globals.gridHeight } })
                                                            .on("resizing", this.selectionDragging.bind(this, "resizing"));
                                             }
                                        },
                                   },
                                   {
                                        key: "preselectedSelection",
                                        value: function () {
                                             var t = this.w,
                                                  e = this.xyRatios;
                                             if (!t.globals.zoomEnabled)
                                                  if (void 0 !== t.globals.selection && null !== t.globals.selection) this.drawSelectionRect(t.globals.selection);
                                                  else if (void 0 !== t.config.chart.selection.xaxis.min && void 0 !== t.config.chart.selection.xaxis.max) {
                                                       var i = (t.config.chart.selection.xaxis.min - t.globals.minX) / e.xRatio,
                                                            n = {
                                                                 x: i,
                                                                 y: 0,
                                                                 width: t.globals.gridWidth - (t.globals.maxX - t.config.chart.selection.xaxis.max) / e.xRatio - i,
                                                                 height: t.globals.gridHeight,
                                                                 translateX: 0,
                                                                 translateY: 0,
                                                                 selectionEnabled: !0,
                                                            };
                                                       this.drawSelectionRect(n),
                                                            this.makeSelectionRectDraggable(),
                                                            "function" == typeof t.config.chart.events.selection &&
                                                                 t.config.chart.events.selection(this.ctx, { xaxis: { min: t.config.chart.selection.xaxis.min, max: t.config.chart.selection.xaxis.max }, yaxis: {} });
                                                  }
                                        },
                                   },
                                   {
                                        key: "drawSelectionRect",
                                        value: function (t) {
                                             var e = t.x,
                                                  i = t.y,
                                                  n = t.width,
                                                  o = t.height,
                                                  a = t.translateX,
                                                  s = t.translateY,
                                                  l = this.w,
                                                  c = this.zoomRect,
                                                  u = this.selectionRect;
                                             if (this.dragged || null !== l.globals.selection) {
                                                  var h = { transform: "translate(" + a + ", " + s + ")" };
                                                  l.globals.zoomEnabled &&
                                                       this.dragged &&
                                                       (c.attr({
                                                            x: e,
                                                            y: i,
                                                            width: n,
                                                            height: o,
                                                            fill: l.config.chart.zoom.zoomedArea.fill.color,
                                                            "fill-opacity": l.config.chart.zoom.zoomedArea.fill.opacity,
                                                            stroke: l.config.chart.zoom.zoomedArea.stroke.color,
                                                            "stroke-width": l.config.chart.zoom.zoomedArea.stroke.width,
                                                            "stroke-opacity": l.config.chart.zoom.zoomedArea.stroke.opacity,
                                                       }),
                                                       r.default.setAttrs(c.node, h)),
                                                       l.globals.selectionEnabled &&
                                                            (u.attr({
                                                                 x: e,
                                                                 y: i,
                                                                 width: 0 < n ? n : 0,
                                                                 height: 0 < o ? o : 0,
                                                                 fill: l.config.chart.selection.fill.color,
                                                                 "fill-opacity": l.config.chart.selection.fill.opacity,
                                                                 stroke: l.config.chart.selection.stroke.color,
                                                                 "stroke-width": l.config.chart.selection.stroke.width,
                                                                 "stroke-dasharray": l.config.chart.selection.stroke.dashArray,
                                                                 "stroke-opacity": l.config.chart.selection.stroke.opacity,
                                                            }),
                                                            r.default.setAttrs(u.node, h));
                                             }
                                        },
                                   },
                                   {
                                        key: "hideSelectionRect",
                                        value: function (t) {
                                             t && t.attr({ x: 0, y: 0, width: 0, height: 0 });
                                        },
                                   },
                                   {
                                        key: "selectionDrawing",
                                        value: function (t) {
                                             var e,
                                                  i = t.context,
                                                  n = t.zoomtype,
                                                  r = this.w,
                                                  o = i,
                                                  a = this.gridRect.getBoundingClientRect(),
                                                  s = o.startX - 1,
                                                  l = o.startY,
                                                  c = o.clientX - a.left - s,
                                                  u = o.clientY - a.top - l,
                                                  h = 0,
                                                  d = 0;
                                             return (
                                                  (Math.abs(c + s) > r.globals.gridWidth || o.clientX - a.left < 0) && (o.hideSelectionRect(this.zoomRect), (o.dragged = !1), (o.w.globals.mousedown = !1)),
                                                  s > o.clientX - a.left && (h = -(c = Math.abs(c))),
                                                  l > o.clientY - a.top && (d = -(u = Math.abs(u))),
                                                  (e =
                                                       "x" === n
                                                            ? { x: s, y: 0, width: c, height: r.globals.gridHeight, translateX: h, translateY: 0 }
                                                            : "y" === n
                                                            ? { x: 0, y: l, width: r.globals.gridWidth, height: u, translateX: 0, translateY: d }
                                                            : { x: s, y: l, width: c, height: u, translateX: h, translateY: d }),
                                                  o.drawSelectionRect(e),
                                                  e
                                             );
                                        },
                                   },
                                   {
                                        key: "selectionDragging",
                                        value: function (t, e) {
                                             var i = this,
                                                  n = this.w,
                                                  r = this.xyRatios,
                                                  o = this.selectionRect,
                                                  a = 0;
                                             "resizing" === t && (a = 30),
                                                  "function" == typeof n.config.chart.events.selection &&
                                                       (clearTimeout(this.w.globals.selectionResizeTimer),
                                                       (this.w.globals.selectionResizeTimer = window.setTimeout(function () {
                                                            var t = i.gridRect.getBoundingClientRect(),
                                                                 e = o.node.getBoundingClientRect(),
                                                                 a = n.globals.xAxisScale.niceMin + (e.left - t.left) * r.xRatio,
                                                                 s = n.globals.xAxisScale.niceMin + (e.right - t.left) * r.xRatio,
                                                                 l = n.globals.yAxisScale[0].niceMin + (t.bottom - e.bottom) * r.yRatio[0],
                                                                 c = n.globals.yAxisScale[0].niceMax - (e.top - t.top) * r.yRatio[0];
                                                            n.config.chart.events.selection(i.ctx, { xaxis: { min: a, max: s }, yaxis: { min: l, max: c } });
                                                       }, a)));
                                        },
                                   },
                                   {
                                        key: "selectionDrawn",
                                        value: function (t) {
                                             var e = t.context,
                                                  i = t.zoomtype,
                                                  n = this.w,
                                                  r = e,
                                                  a = this.xyRatios,
                                                  s = this.ctx.toolbar;
                                             if (r.startX > r.endX) {
                                                  var l = r.startX;
                                                  (r.startX = r.endX), (r.endX = l);
                                             }
                                             if (r.startY > r.endY) {
                                                  var c = r.startY;
                                                  (r.startY = r.endY), (r.endY = c);
                                             }
                                             var u = n.globals.xAxisScale.niceMin + r.startX * a.xRatio,
                                                  h = n.globals.xAxisScale.niceMin + r.endX * a.xRatio,
                                                  d = [],
                                                  p = [];
                                             if (
                                                  (n.config.yaxis.forEach(function (t, e) {
                                                       d.push(Math.floor(n.globals.yAxisScale[e].niceMax - a.yRatio[e] * r.startY)), p.push(Math.floor(n.globals.yAxisScale[e].niceMax - a.yRatio[e] * r.endY));
                                                  }),
                                                  r.dragged && (10 < r.dragX || 10 < r.dragY) && u !== h)
                                             )
                                                  if (n.globals.zoomEnabled) {
                                                       var f = o.default.clone(n.config.yaxis);
                                                       n.globals.zoomed || ((n.globals.lastXAxis = o.default.clone(n.config.xaxis)), (n.globals.lastYAxis = o.default.clone(n.config.yaxis)));
                                                       var m = { min: u, max: h };
                                                       if (
                                                            (("xy" !== i && "y" !== i) ||
                                                                 f.forEach(function (t, e) {
                                                                      (f[e].min = p[e]), (f[e].max = d[e]);
                                                                 }),
                                                            s)
                                                       ) {
                                                            var g = s.getBeforeZoomRange(m, f);
                                                            g && ((m = g.xaxis ? g.xaxis : m), (f = g.yaxis ? g.yaxe : f));
                                                       }
                                                       "x" === i
                                                            ? r.ctx._updateOptions({ xaxis: m }, !1, r.w.config.chart.animations.dynamicAnimation.enabled)
                                                            : "y" === i
                                                            ? r.ctx._updateOptions({ yaxis: f }, !1, r.w.config.chart.animations.dynamicAnimation.enabled)
                                                            : r.ctx._updateOptions({ xaxis: m, yaxis: f }, !1, r.w.config.chart.animations.dynamicAnimation.enabled),
                                                            "function" == typeof n.config.chart.events.zoomed && s.zoomCallback(m, f),
                                                            (n.globals.zoomed = !0);
                                                  } else if (n.globals.selectionEnabled) {
                                                       var v,
                                                            y = null;
                                                       (v = { min: u, max: h }),
                                                            ("xy" !== i && "y" !== i) ||
                                                                 (y = o.default.clone(n.config.yaxis)).forEach(function (t, e) {
                                                                      (y[e].min = p[e]), (y[e].max = d[e]);
                                                                 }),
                                                            (n.globals.selection = r.selection),
                                                            "function" == typeof n.config.chart.events.selection && n.config.chart.events.selection(r.ctx, { xaxis: v, yaxis: y });
                                                  }
                                        },
                                   },
                                   {
                                        key: "panDragging",
                                        value: function (t) {
                                             var e = t.context,
                                                  i = (t.zoomtype, this.w),
                                                  n = e,
                                                  r = void 0;
                                             if (void 0 !== i.globals.lastClientPosition.x) {
                                                  var o = i.globals.lastClientPosition.x - n.clientX,
                                                       a = i.globals.lastClientPosition.y - n.clientY;
                                                  Math.abs(o) > Math.abs(a) && 0 < o
                                                       ? (r = "left")
                                                       : Math.abs(o) > Math.abs(a) && o < 0
                                                       ? (r = "right")
                                                       : Math.abs(a) > Math.abs(o) && 0 < a
                                                       ? (r = "up")
                                                       : Math.abs(a) > Math.abs(o) && a < 0 && (r = "down");
                                             }
                                             i.globals.lastClientPosition = { x: n.clientX, y: n.clientY };
                                             var s = i.globals.minX,
                                                  l = i.globals.maxX;
                                             this.panScrolled(r, s, l);
                                        },
                                   },
                                   {
                                        key: "panScrolled",
                                        value: function (t, e, i) {
                                             var n = this.w,
                                                  r = this.xyRatios;
                                             "left" === t
                                                  ? ((e = n.globals.minX + (n.globals.gridWidth / 15) * r.xRatio), (i = n.globals.maxX + (n.globals.gridWidth / 15) * r.xRatio))
                                                  : "right" === t && ((e = n.globals.minX - (n.globals.gridWidth / 15) * r.xRatio), (i = n.globals.maxX - (n.globals.gridWidth / 15) * r.xRatio)),
                                                  (e < n.globals.initialminX || i > n.globals.initialmaxX) && ((e = n.globals.minX), (i = n.globals.maxX)),
                                                  this.ctx._updateOptions({ xaxis: { min: e, max: i } }, !1, !1),
                                                  "function" == typeof n.config.chart.events.scrolled && n.config.chart.events.scrolled(this.ctx, { xaxis: { min: e, max: i } });
                                        },
                                   },
                              ]),
                              e
                         );
                    })();
                    t.exports = l;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = l(i(26)),
                         o = l(i(7)),
                         a = l(i(0)),
                         s = l(i(49));
                    function l(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var c = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w);
                              var i = this.w;
                              (this.anim = new r.default(this.ctx)),
                                   (this.xaxisLabels = i.globals.labels.slice()),
                                   (this.animX = i.config.grid.xaxis.lines.animate && i.config.chart.animations.enabled),
                                   (this.animY = i.config.grid.yaxis.lines.animate && i.config.chart.animations.enabled),
                                   0 < i.globals.timelineLabels.length && (this.xaxisLabels = i.globals.timelineLabels.slice());
                         }
                         return (
                              n(t, [
                                   {
                                        key: "drawGridArea",
                                        value: function () {
                                             var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : null,
                                                  e = this.w,
                                                  i = new a.default(this.ctx);
                                             null === t && (t = i.group({ class: "apexcharts-grid" }));
                                             var n = i.drawLine(e.globals.padHorizontal, 1, e.globals.padHorizontal, e.globals.gridHeight, "transparent"),
                                                  r = i.drawLine(e.globals.padHorizontal, e.globals.gridHeight, e.globals.gridWidth, e.globals.gridHeight, "transparent");
                                             return t.add(r), t.add(n), t;
                                        },
                                   },
                                   {
                                        key: "drawGrid",
                                        value: function () {
                                             var t = this.w,
                                                  e = new s.default(this.ctx),
                                                  i = this.w.globals,
                                                  n = null;
                                             if (i.axisCharts) {
                                                  if (t.config.grid.show) (n = this.renderGrid()), i.dom.elGraphical.add(n.el), this.drawGridArea(n.el);
                                                  else {
                                                       var r = this.drawGridArea();
                                                       i.dom.elGraphical.add(r);
                                                  }
                                                  null !== n && e.xAxisLabelCorrections(n.xAxisTickWidth);
                                             }
                                        },
                                   },
                                   {
                                        key: "createGridMask",
                                        value: function () {
                                             var t = this.w,
                                                  e = t.globals,
                                                  i = new a.default(this.ctx),
                                                  n = Array.isArray(t.config.stroke.width) ? 0 : t.config.stroke.width;
                                             if (Array.isArray(t.config.stroke.width)) {
                                                  var r = 0;
                                                  t.config.stroke.width.forEach(function (t) {
                                                       r = Math.max(r, t);
                                                  }),
                                                       (n = r);
                                             }
                                             (e.dom.elGridRectMask = document.createElementNS(e.svgNS, "clipPath")),
                                                  e.dom.elGridRectMask.setAttribute("id", "gridRectMask" + e.cuid),
                                                  (e.dom.elGridRectMarkerMask = document.createElementNS(e.svgNS, "clipPath")),
                                                  e.dom.elGridRectMarkerMask.setAttribute("id", "gridRectMarkerMask" + e.cuid),
                                                  (e.dom.elGridRect = i.drawRect(-n / 2, -n / 2, e.gridWidth + n, e.gridHeight + n, 0, "#fff")),
                                                  new o.default(this).getLargestMarkerSize();
                                             var s = t.globals.markers.largestSize + t.config.markers.hover.sizeOffset + 1;
                                             (e.dom.elGridRectMarker = i.drawRect(-s, -s, e.gridWidth + 2 * s, e.gridHeight + 2 * s, 0, "#fff")),
                                                  e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),
                                                  e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);
                                             var l = e.dom.baseEl.querySelector("defs");
                                             l.appendChild(e.dom.elGridRectMask), l.appendChild(e.dom.elGridRectMarkerMask);
                                        },
                                   },
                                   {
                                        key: "renderGrid",
                                        value: function () {
                                             for (
                                                  var t = this.w, e = new a.default(this.ctx), i = t.config.grid.strokeDashArray, n = e.group({ class: "apexcharts-grid" }), r = 8, o = 0;
                                                  o < t.globals.series.length && (void 0 !== t.globals.yAxisScale[o] && (r = t.globals.yAxisScale[o].result.length - 1), !(2 < r));
                                                  o++
                                             );
                                             var l = void 0;
                                             if (t.config.plotOptions.bar.horizontal && "bar" === t.config.chart.type) {
                                                  if (((l = r), t.config.grid.xaxis.lines.show || t.config.xaxis.axisTicks.show))
                                                       for (var c = t.globals.padHorizontal, u = void 0, h = t.globals.gridHeight, d = 0; d < l + 1 && ((u = c = c + t.globals.gridWidth / l + 0.3), d !== l - 1); d++) {
                                                            if (t.config.grid.xaxis.lines.show) {
                                                                 var p = e.drawLine(c, 0, u, h, t.config.grid.borderColor, i);
                                                                 p.node.classList.add("apexcharts-gridline"), n.add(p), this.animX && this.animateLine(p, { x1: 0, x2: 0 }, { x1: c, x2: u });
                                                            }
                                                            new s.default(this.ctx).drawXaxisTicks(c, n);
                                                       }
                                                  if (t.config.grid.yaxis.lines.show)
                                                       for (var f = 0, m = 0, g = t.globals.gridWidth, v = 0; v < t.globals.dataPoints + 1; v++) {
                                                            var y = e.drawLine(0, f, g, m, t.config.grid.borderColor, i);
                                                            n.add(y),
                                                                 y.node.classList.add("apexcharts-gridline"),
                                                                 this.animY && this.animateLine(y, { y1: f + 20, y2: m + 20 }, { y1: f, y2: m }),
                                                                 (m = f += t.globals.gridHeight / t.globals.dataPoints);
                                                       }
                                             } else {
                                                  if (((l = this.xaxisLabels.length), t.config.grid.xaxis.lines.show || t.config.xaxis.axisTicks.show)) {
                                                       var b = t.globals.padHorizontal,
                                                            _ = void 0,
                                                            x = t.globals.gridHeight;
                                                       if (0 < t.globals.timelineLabels.length)
                                                            for (var w = 0; w < l; w++) {
                                                                 if (((b = this.xaxisLabels[w].position), (_ = this.xaxisLabels[w].position), t.config.grid.xaxis.lines.show && 0 < b && b < t.globals.gridWidth)) {
                                                                      var k = e.drawLine(b, 0, _, x, t.config.grid.borderColor, i);
                                                                      k.node.classList.add("apexcharts-gridline"), n.add(k), this.animX && this.animateLine(k, { x1: 0, x2: 0 }, { x1: b, x2: _ });
                                                                 }
                                                                 new s.default(this.ctx).drawXaxisTicks(b, n);
                                                            }
                                                       else
                                                            for (var S = l, M = 0; M < S; M++) {
                                                                 var T = S;
                                                                 if ((t.globals.isXNumeric && "bar" !== t.config.chart.type && (T -= 1), (_ = b += t.globals.gridWidth / T), M === T - 1)) break;
                                                                 if (t.config.grid.xaxis.lines.show) {
                                                                      var C = e.drawLine(b, 0, _, x, t.config.grid.borderColor, i);
                                                                      C.node.classList.add("apexcharts-gridline"), n.add(C), this.animX && this.animateLine(C, { x1: 0, x2: 0 }, { x1: b, x2: _ });
                                                                 }
                                                                 new s.default(this.ctx).drawXaxisTicks(b, n);
                                                            }
                                                  }
                                                  if (t.config.grid.yaxis.lines.show)
                                                       for (var D = 0, L = 0, E = t.globals.gridWidth, A = 0; A < r + 1; A++) {
                                                            var P = e.drawLine(0, D, E, L, t.config.grid.borderColor, i);
                                                            n.add(P), P.node.classList.add("apexcharts-gridline"), this.animY && this.animateLine(P, { y1: D + 20, y2: L + 20 }, { y1: D, y2: L }), (L = D += t.globals.gridHeight / r);
                                                       }
                                             }
                                             return this.drawGridBands(n, l, r), { el: n, xAxisTickWidth: t.globals.gridWidth / l };
                                        },
                                   },
                                   {
                                        key: "drawGridBands",
                                        value: function (t, e, i) {
                                             var n = this.w,
                                                  r = new a.default(this.ctx);
                                             if (void 0 !== n.config.grid.row.colors && 0 < n.config.grid.row.colors.length)
                                                  for (var o = 0, s = n.globals.gridHeight / i, l = n.globals.gridWidth, c = 0, u = 0; c < i; c++, u++) {
                                                       u >= n.config.grid.row.colors.length && (u = 0);
                                                       var h = n.config.grid.row.colors[u],
                                                            d = r.drawRect(0, o, l, s, 0, h, n.config.grid.row.opacity);
                                                       t.add(d), d.node.classList.add("apexcharts-gridRow"), (o += n.globals.gridHeight / i);
                                                  }
                                             if (void 0 !== n.config.grid.column.colors && 0 < n.config.grid.column.colors.length)
                                                  for (var p = n.globals.padHorizontal, f = n.globals.padHorizontal + n.globals.gridWidth / e, m = n.globals.gridHeight, g = 0, v = 0; g < e; g++, v++) {
                                                       v >= n.config.grid.column.colors.length && (v = 0);
                                                       var y = n.config.grid.column.colors[v],
                                                            b = r.drawRect(p, 0, f, m, 0, y, n.config.grid.column.opacity);
                                                       b.node.classList.add("apexcharts-gridColumn"), t.add(b), (p += n.globals.gridWidth / e);
                                                  }
                                        },
                                   },
                                   {
                                        key: "animateLine",
                                        value: function (t, e, i) {
                                             var n = this.w,
                                                  r = n.config.chart.animations;
                                             if (r && !n.globals.resized && !n.globals.dataChanged) {
                                                  var o = r.speed;
                                                  this.anim.animateLine(t, e, i, o);
                                             }
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    e.default = c;
               },
               function (t, e, i) {
                    "use strict";
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(1)) && n.__esModule ? n : { default: n },
                         a = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.opts = e);
                              }
                              return (
                                   r(t, [
                                        {
                                             key: "line",
                                             value: function () {
                                                  return { chart: { animations: { easing: "swing" } }, dataLabels: { enabled: !1 }, stroke: { width: 5, curve: "straight" }, markers: { size: 5 }, xaxis: { crosshairs: { width: 1 } } };
                                             },
                                        },
                                        {
                                             key: "sparkline",
                                             value: function (t) {
                                                  return (
                                                       (this.opts.yaxis[0].labels.show = !1),
                                                       (this.opts.yaxis[0].floating = !0),
                                                       o.default.extend(t, {
                                                            grid: { show: !1, padding: { left: 0, right: 0, top: 0, bottom: 0 } },
                                                            legend: { show: !1 },
                                                            xaxis: { labels: { show: !1 }, tooltip: { enabled: !1 }, axisBorder: { show: !1 } },
                                                            chart: { toolbar: { show: !1 }, zoom: { enabled: !1 } },
                                                            dataLabels: { enabled: !1 },
                                                       })
                                                  );
                                             },
                                        },
                                        {
                                             key: "bar",
                                             value: function () {
                                                  return {
                                                       chart: { stacked: !1, animations: { easing: "swing" } },
                                                       plotOptions: { bar: { dataLabels: { position: "center" } } },
                                                       dataLabels: { style: { colors: ["#fff"] } },
                                                       stroke: { width: 0 },
                                                       fill: { opacity: 0.85 },
                                                       legend: { markers: { shape: "square", radius: 2, size: 8 } },
                                                       tooltip: { shared: !1 },
                                                       xaxis: { tooltip: { enabled: !1 }, crosshairs: { width: "barWidth", position: "back", fill: { type: "gradient" }, dropShadow: { enabled: !1 } } },
                                                  };
                                             },
                                        },
                                        {
                                             key: "candlestick",
                                             value: function () {
                                                  return {
                                                       stroke: { width: 1, colors: ["#333"] },
                                                       dataLabels: { enabled: !1 },
                                                       tooltip: {
                                                            shared: !0,
                                                            custom: function (t) {
                                                                 var e = t.seriesIndex,
                                                                      i = t.dataPointIndex,
                                                                      n = t.w;
                                                                 return (
                                                                      '<div class="apexcharts-tooltip-candlestick"><div>Open: <span class="value">' +
                                                                      n.globals.seriesCandleO[e][i] +
                                                                      '</span></div><div>High: <span class="value">' +
                                                                      n.globals.seriesCandleH[e][i] +
                                                                      '</span></div><div>Low: <span class="value">' +
                                                                      n.globals.seriesCandleL[e][i] +
                                                                      '</span></div><div>Close: <span class="value">' +
                                                                      n.globals.seriesCandleC[e][i] +
                                                                      "</span></div></div>"
                                                                 );
                                                            },
                                                       },
                                                       states: { active: { filter: { type: "none" } } },
                                                       xaxis: { crosshairs: { width: 1 } },
                                                  };
                                             },
                                        },
                                        {
                                             key: "area",
                                             value: function () {
                                                  return {
                                                       stroke: { width: 4 },
                                                       fill: { type: "gradient", gradient: { inverseColors: !1, shade: "light", type: "vertical", opacityFrom: 0.65, opacityTo: 0.5, stops: [0, 100, 100] } },
                                                       markers: { size: 0, hover: { sizeOffset: 6 } },
                                                       tooltip: { followCursor: !1 },
                                                  };
                                             },
                                        },
                                        {
                                             key: "brush",
                                             value: function (t) {
                                                  return o.default.extend(t, {
                                                       chart: { toolbar: { autoSelected: "selection", show: !1 }, zoom: { enabled: !1 } },
                                                       dataLabels: { enabled: !1 },
                                                       stroke: { width: 1 },
                                                       tooltip: { enabled: !1 },
                                                       xaxis: { tooltip: { enabled: !1 } },
                                                  });
                                             },
                                        },
                                        {
                                             key: "stacked100",
                                             value: function () {
                                                  var t = this;
                                                  (this.opts.dataLabels = this.opts.dataLabels || {}), (this.opts.dataLabels.formatter = this.opts.dataLabels.formatter || void 0);
                                                  var e = this.opts.dataLabels.formatter;
                                                  this.opts.yaxis.forEach(function (e, i) {
                                                       (t.opts.yaxis[i].min = 0), (t.opts.yaxis[i].max = 100);
                                                  }),
                                                       "bar" === this.opts.chart.type &&
                                                            (this.opts.dataLabels.formatter =
                                                                 e ||
                                                                 function (t) {
                                                                      return "number" == typeof t && t ? t.toFixed(0) + "%" : t;
                                                                 });
                                             },
                                        },
                                        {
                                             key: "bubble",
                                             value: function () {
                                                  return {
                                                       dataLabels: { style: { colors: ["#fff"] } },
                                                       tooltip: { shared: !1, intersect: !0 },
                                                       xaxis: { crosshairs: { width: 0 } },
                                                       fill: { type: "solid", gradient: { shade: "light", inverse: !0, shadeIntensity: 0.55, opacityFrom: 0.4, opacityTo: 0.8 } },
                                                  };
                                             },
                                        },
                                        {
                                             key: "scatter",
                                             value: function () {
                                                  return { dataLabels: { enabled: !1 }, tooltip: { shared: !1, intersect: !0 }, markers: { size: 6, strokeWidth: 2, hover: { sizeOffset: 2 } } };
                                             },
                                        },
                                        {
                                             key: "heatmap",
                                             value: function () {
                                                  return {
                                                       chart: { stacked: !1, zoom: { enabled: !1 } },
                                                       fill: { opacity: 1 },
                                                       dataLabels: { style: { colors: ["#fff"] } },
                                                       stroke: { colors: ["#fff"] },
                                                       tooltip: { followCursor: !0, marker: { show: !1 }, x: { show: !1 } },
                                                       legend: { position: "top", markers: { shape: "square", size: 10, offsetY: 2 } },
                                                       grid: { padding: { right: 20 } },
                                                  };
                                             },
                                        },
                                        {
                                             key: "pie",
                                             value: function () {
                                                  return {
                                                       chart: { toolbar: { show: !1 } },
                                                       plotOptions: { pie: { donut: { labels: { show: !1 } } } },
                                                       dataLabels: {
                                                            formatter: function (t) {
                                                                 return t.toFixed(1) + "%";
                                                            },
                                                            style: { colors: ["#fff"] },
                                                            dropShadow: { enabled: !0 },
                                                       },
                                                       stroke: { colors: ["#fff"] },
                                                       fill: { opacity: 1, gradient: { shade: "dark", shadeIntensity: 0.35, inverseColors: !1, stops: [0, 100, 100] } },
                                                       padding: { right: 0, left: 0 },
                                                       tooltip: { theme: "dark", fillSeriesColor: !0 },
                                                       legend: { position: "right" },
                                                  };
                                             },
                                        },
                                        {
                                             key: "donut",
                                             value: function () {
                                                  return {
                                                       chart: { toolbar: { show: !1 } },
                                                       dataLabels: {
                                                            formatter: function (t) {
                                                                 return t.toFixed(1) + "%";
                                                            },
                                                            style: { colors: ["#fff"] },
                                                            dropShadow: { enabled: !0 },
                                                       },
                                                       stroke: { colors: ["#fff"] },
                                                       fill: { opacity: 1, gradient: { shade: "dark", shadeIntensity: 0.4, inverseColors: !1, type: "vertical", opacityFrom: 1, opacityTo: 1, stops: [70, 98, 100] } },
                                                       padding: { right: 0, left: 0 },
                                                       tooltip: { theme: "dark", fillSeriesColor: !0 },
                                                       legend: { position: "right" },
                                                  };
                                             },
                                        },
                                        {
                                             key: "radar",
                                             value: function () {
                                                  return (
                                                       (this.opts.yaxis[0].labels.style.fontSize = "13px"),
                                                       {
                                                            dataLabels: { enabled: !0, style: { colors: "#a8a8a8", fontSize: "11px" } },
                                                            stroke: { width: 2 },
                                                            markers: { size: 3, strokeWidth: 1, strokeOpacity: 1 },
                                                            fill: { opacity: 0.2 },
                                                            tooltip: { shared: !(this.opts.yaxis[0].labels.offsetY = 6), intersect: !0, followCursor: !0 },
                                                            grid: { show: !1 },
                                                            xaxis: { tooltip: { enabled: !1 }, crosshairs: { show: !1 } },
                                                       }
                                                  );
                                             },
                                        },
                                        {
                                             key: "radialBar",
                                             value: function () {
                                                  return {
                                                       chart: { animations: { dynamicAnimation: { enabled: !0, speed: 800 } }, toolbar: { show: !1 } },
                                                       fill: { gradient: { shade: "dark", shadeIntensity: 0.4, inverseColors: !1, type: "diagonal2", opacityFrom: 1, opacityTo: 1, stops: [70, 98, 100] } },
                                                       padding: { right: 0, left: 0 },
                                                       legend: { show: !1, position: "right" },
                                                       tooltip: { enabled: !1, fillSeriesColor: !0 },
                                                  };
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    t.exports = a;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 }), (e.default = void 0);
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(1)) && n.__esModule ? n : { default: n },
                         a = (function () {
                              function t() {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t);
                              }
                              return (
                                   r(t, [
                                        {
                                             key: "globalVars",
                                             value: function (t) {
                                                  return {
                                                       chartID: null,
                                                       cuid: null,
                                                       events: { beforeMount: [], mounted: [], updated: [], clicked: [], selection: [], dataPointSelection: [], zoomed: [], scrolled: [] },
                                                       colors: [],
                                                       fill: { colors: [] },
                                                       stroke: { colors: [] },
                                                       dataLabels: { style: { colors: [] } },
                                                       radarPolygons: { fill: { colors: [] } },
                                                       markers: { colors: [], size: t.markers.size, largestSize: 0 },
                                                       animationEnded: !1,
                                                       isTouchDevice: "ontouchstart" in window || navigator.msMaxTouchPoints,
                                                       isDirty: !1,
                                                       initialConfig: null,
                                                       lastXAxis: [],
                                                       lastYAxis: [],
                                                       series: [],
                                                       seriesPercent: [],
                                                       seriesTotals: [],
                                                       stackedSeriesTotals: [],
                                                       seriesX: [],
                                                       seriesZ: [],
                                                       labels: [],
                                                       timelineLabels: [],
                                                       seriesNames: [],
                                                       noLabelsProvided: !1,
                                                       allSeriesCollapsed: !1,
                                                       collapsedSeries: [],
                                                       collapsedSeriesIndices: [],
                                                       risingSeries: [],
                                                       selectedDataPoints: [],
                                                       ignoreYAxisIndexes: [],
                                                       padHorizontal: 0,
                                                       maxValsInArrayIndex: 0,
                                                       zoomEnabled: "zoom" === t.chart.toolbar.autoSelected && t.chart.toolbar.tools.zoom && t.chart.zoom.enabled,
                                                       panEnabled: "pan" === t.chart.toolbar.autoSelected && t.chart.toolbar.tools.pan,
                                                       selectionEnabled: "selection" === t.chart.toolbar.autoSelected && t.chart.toolbar.tools.selection,
                                                       yaxis: null,
                                                       minY: Number.MIN_VALUE,
                                                       maxY: -Number.MAX_VALUE,
                                                       minYArr: [],
                                                       maxYArr: [],
                                                       maxX: -Number.MAX_VALUE,
                                                       initialmaxX: -Number.MAX_VALUE,
                                                       minX: Number.MAX_VALUE,
                                                       initialminX: Number.MAX_VALUE,
                                                       minZ: Number.MAX_VALUE,
                                                       maxZ: -Number.MAX_VALUE,
                                                       mousedown: !1,
                                                       lastClientPosition: {},
                                                       visibleXRange: void 0,
                                                       yRange: [],
                                                       zRange: 0,
                                                       xRange: 0,
                                                       yValueDecimal: 0,
                                                       total: 0,
                                                       svgNS: "http://www.w3.org/2000/svg",
                                                       svgWidth: 0,
                                                       svgHeight: 0,
                                                       noData: !1,
                                                       locale: {},
                                                       dom: {},
                                                       memory: { methodsToExec: [] },
                                                       shouldAnimate: !0,
                                                       delayedElements: [],
                                                       axisCharts: !0,
                                                       isXNumeric: !1,
                                                       isDataXYZ: !1,
                                                       resized: !1,
                                                       resizeTimer: null,
                                                       comboCharts: !1,
                                                       comboChartsHasBars: !1,
                                                       dataChanged: !1,
                                                       previousPaths: [],
                                                       seriesXvalues: [],
                                                       seriesYvalues: [],
                                                       seriesCandleO: [],
                                                       seriesCandleH: [],
                                                       seriesCandleL: [],
                                                       seriesCandleC: [],
                                                       allSeriesHasEqualX: !0,
                                                       dataPoints: 0,
                                                       pointsArray: [],
                                                       dataLabelsRects: [],
                                                       lastDrawnDataLabelsIndexes: [],
                                                       hasNullValues: !1,
                                                       easing: null,
                                                       zoomed: !1,
                                                       gridWidth: 0,
                                                       gridHeight: 0,
                                                       yAxisScale: [],
                                                       xAxisScale: null,
                                                       xAxisTicksPositions: [],
                                                       timescaleTicks: [],
                                                       rotateXLabels: !1,
                                                       defaultLabels: !1,
                                                       xLabelFormatter: void 0,
                                                       yLabelFormatters: [],
                                                       xaxisTooltipFormatter: void 0,
                                                       ttKeyFormatter: void 0,
                                                       ttVal: void 0,
                                                       ttZFormatter: void 0,
                                                       lineHeightRatio: 1.618,
                                                       xAxisLabelsHeight: 0,
                                                       yAxisLabelsWidth: 0,
                                                       scaleX: 1,
                                                       scaleY: 1,
                                                       translateX: 0,
                                                       translateY: 0,
                                                       translateYAxisX: [],
                                                       yLabelsCoords: [],
                                                       yTitleCoords: [],
                                                       yAxisWidths: [],
                                                       translateXAxisY: 0,
                                                       translateXAxisX: 0,
                                                       tooltip: null,
                                                       tooltipOpts: null,
                                                  };
                                             },
                                        },
                                        {
                                             key: "init",
                                             value: function (t) {
                                                  var e = this.globalVars(t);
                                                  return (
                                                       (e.initialConfig = o.default.extend({}, t)),
                                                       (e.initialSeries = JSON.parse(JSON.stringify(e.initialConfig.series))),
                                                       (e.lastXAxis = JSON.parse(JSON.stringify(e.initialConfig.xaxis))),
                                                       (e.lastYAxis = JSON.parse(JSON.stringify(e.initialConfig.yaxis))),
                                                       e
                                                  );
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    e.default = a;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.w = e.w),
                                        (this.ttCtx = e);
                              }
                              return (
                                   n(t, [
                                        {
                                             key: "drawXaxisTooltip",
                                             value: function () {
                                                  var t = this.w,
                                                       e = this.ttCtx,
                                                       i = "bottom" === t.config.xaxis.position;
                                                  e.xaxisOffY = i ? t.globals.gridHeight + 1 : 1;
                                                  var n = i ? "apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom" : "apexcharts-xaxistooltip apexcharts-xaxistooltip-top",
                                                       r = t.globals.dom.elWrap;
                                                  e.blxaxisTooltip &&
                                                       null === t.globals.dom.baseEl.querySelector(".apexcharts-xaxistooltip") &&
                                                       ((e.xaxisTooltip = document.createElement("div")),
                                                       e.xaxisTooltip.setAttribute("class", n),
                                                       r.appendChild(e.xaxisTooltip),
                                                       (e.xaxisTooltipText = document.createElement("div")),
                                                       e.xaxisTooltipText.classList.add("apexcharts-xaxistooltip-text"),
                                                       e.xaxisTooltip.appendChild(e.xaxisTooltipText));
                                             },
                                        },
                                        {
                                             key: "drawYaxisTooltip",
                                             value: function () {
                                                  for (var t = this.w, e = this.ttCtx, i = 0; i < t.config.yaxis.length; i++) {
                                                       var n = t.config.yaxis[i].opposite || t.config.yaxis[i].crosshairs.opposite;
                                                       e.yaxisOffX = n ? t.globals.gridWidth + 1 : 1;
                                                       var r = n
                                                                 ? "apexcharts-yaxistooltip apexcharts-yaxistooltip-" + i + " apexcharts-yaxistooltip-right"
                                                                 : "apexcharts-yaxistooltip apexcharts-yaxistooltip-" + i + " apexcharts-yaxistooltip-left",
                                                            o = t.globals.dom.elWrap;
                                                       e.blyaxisTooltip &&
                                                            null === t.globals.dom.baseEl.querySelector(".apexcharts-yaxistooltip apexcharts-yaxistooltip-" + i) &&
                                                            ((e.yaxisTooltip = document.createElement("div")),
                                                            e.yaxisTooltip.setAttribute("class", r),
                                                            o.appendChild(e.yaxisTooltip),
                                                            0 === i && (e.yaxisTooltipText = []),
                                                            e.yaxisTooltipText.push(document.createElement("div")),
                                                            e.yaxisTooltipText[i].classList.add("apexcharts-yaxistooltip-text"),
                                                            e.yaxisTooltip.appendChild(e.yaxisTooltipText[i]));
                                                  }
                                             },
                                        },
                                        {
                                             key: "setXCrosshairWidth",
                                             value: function () {
                                                  var t = this.w,
                                                       e = this.ttCtx,
                                                       i = e.getElXCrosshairs();
                                                  if (((e.xcrosshairsWidth = parseInt(t.config.xaxis.crosshairs.width)), t.globals.comboCharts)) {
                                                       var n = t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");
                                                       if (null !== n && "barWidth" === t.config.xaxis.crosshairs.width) {
                                                            var r = parseFloat(n.getAttribute("barWidth"));
                                                            e.xcrosshairsWidth = r;
                                                       } else if ("tickWidth" === t.config.xaxis.crosshairs.width) {
                                                            var o = t.globals.labels.length;
                                                            e.xcrosshairsWidth = t.globals.gridWidth / o;
                                                       }
                                                  } else if ("tickWidth" === t.config.xaxis.crosshairs.width) {
                                                       var a = t.globals.labels.length;
                                                       e.xcrosshairsWidth = t.globals.gridWidth / a;
                                                  } else if ("barWidth" === t.config.xaxis.crosshairs.width) {
                                                       var s = t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");
                                                       if (null !== s) {
                                                            var l = parseFloat(s.getAttribute("barWidth"));
                                                            e.xcrosshairsWidth = l;
                                                       } else e.xcrosshairsWidth = 1;
                                                  }
                                                  "bar" === t.config.chart.type && t.config.plotOptions.bar.horizontal && (e.xcrosshairsWidth = 0), null !== i && 0 < e.xcrosshairsWidth && i.setAttribute("width", e.xcrosshairsWidth);
                                             },
                                        },
                                        {
                                             key: "handleYCrosshair",
                                             value: function () {
                                                  var t = this.w,
                                                       e = this.ttCtx;
                                                  (e.ycrosshairs = t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs")), (e.ycrosshairsHidden = t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden"));
                                             },
                                        },
                                        {
                                             key: "drawYaxisTooltipText",
                                             value: function (t, e, i) {
                                                  var n = this.ttCtx,
                                                       r = this.w,
                                                       o = r.globals.yLabelFormatters[t];
                                                  if (n.blyaxisTooltip) {
                                                       var a = n.getElGrid().getBoundingClientRect(),
                                                            s = (e - a.top) * i.yRatio[t],
                                                            l = r.globals.maxYArr[t] - r.globals.minYArr[t],
                                                            c = r.globals.minYArr[t] + (l - s);
                                                       n.tooltipPosition.moveYCrosshairs(e - a.top), (n.yaxisTooltipText[t].innerHTML = o(c)), n.tooltipPosition.moveYAxisTooltip(t);
                                                  }
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    e.default = r;
               },
               function (t, e, i) {
                    "use strict";
                    Object.defineProperty(e, "__esModule", { value: !0 });
                    var n,
                         r = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         o = (n = i(1)) && n.__esModule ? n : { default: n },
                         a = (function () {
                              function t(e) {
                                   !(function (t, e) {
                                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                   })(this, t),
                                        (this.getAttr = function (t, e) {
                                             return parseFloat(t.target.getAttribute(e));
                                        }),
                                        (this.w = e.w),
                                        (this.ttCtx = e);
                              }
                              return (
                                   r(t, [
                                        {
                                             key: "handleHeatTooltip",
                                             value: function (t) {
                                                  var e = t.e,
                                                       i = t.opt,
                                                       n = t.x,
                                                       r = t.y,
                                                       o = this.ttCtx,
                                                       a = this.w;
                                                  if (e.target.classList.contains("apexcharts-heatmap-rect")) {
                                                       var s = this.getAttr(e, "i"),
                                                            l = this.getAttr(e, "j"),
                                                            c = this.getAttr(e, "cx"),
                                                            u = this.getAttr(e, "cy"),
                                                            h = this.getAttr(e, "width"),
                                                            d = this.getAttr(e, "height");
                                                       if (
                                                            (o.tooltipLabels.drawSeriesTexts({ ttItems: i.ttItems, i: s, j: l, shared: !1 }),
                                                            (n = c + o.tooltipRect.ttWidth / 2 + h),
                                                            (r = u + o.tooltipRect.ttHeight / 2 - d / 2),
                                                            o.tooltipPosition.moveXCrosshairs(c + h / 2),
                                                            n > a.globals.gridWidth / 2 && (n = c - o.tooltipRect.ttWidth / 2 + h),
                                                            o.w.config.tooltip.followCursor)
                                                       ) {
                                                            var p = o.getElGrid().getBoundingClientRect();
                                                            r = o.e.clientY - p.top + a.globals.translateY / 2 - 10;
                                                       }
                                                  }
                                                  return { x: n, y: r };
                                             },
                                        },
                                        {
                                             key: "handleMarkerTooltip",
                                             value: function (t) {
                                                  var e = t.e,
                                                       i = t.opt,
                                                       n = t.x,
                                                       r = t.y,
                                                       a = this.w,
                                                       s = this.ttCtx,
                                                       l = void 0,
                                                       c = void 0;
                                                  if (e.target.classList.contains("apexcharts-marker")) {
                                                       var u = parseInt(i.paths.getAttribute("cx")),
                                                            h = parseInt(i.paths.getAttribute("cy")),
                                                            d = parseFloat(i.paths.getAttribute("val"));
                                                       if (((c = parseInt(i.paths.getAttribute("rel"))), (l = parseInt(i.paths.parentNode.parentNode.parentNode.getAttribute("rel")) - 1), s.intersect)) {
                                                            var p = o.default.findAncestor(i.paths, "apexcharts-series");
                                                            p && (l = parseInt(p.getAttribute("data:realIndex")));
                                                       }
                                                       if (
                                                            (s.tooltipLabels.drawSeriesTexts({ ttItems: i.ttItems, i: l, j: c, shared: !s.intersect && a.config.tooltip.shared }),
                                                            s.marker.enlargeCurrentPoint(c, i.paths),
                                                            (n = u),
                                                            (r = h - 1.4 * s.tooltipRect.ttHeight),
                                                            s.w.config.tooltip.followCursor)
                                                       ) {
                                                            var f = s.getElGrid().getBoundingClientRect();
                                                            r = s.e.clientY - f.top;
                                                       }
                                                       d < 0 && (r = h);
                                                  }
                                                  return { x: n, y: r };
                                             },
                                        },
                                        {
                                             key: "handleBarTooltip",
                                             value: function (t) {
                                                  var e = t.e,
                                                       i = t.opt,
                                                       n = this.w,
                                                       r = this.ttCtx,
                                                       o = r.getElTooltip(),
                                                       a = 0,
                                                       s = 0,
                                                       l = 0,
                                                       c = 0,
                                                       u = void 0;
                                                  if ((r.isBarHorizontal && r.hasBars()) || !n.config.tooltip.shared) {
                                                       var h = this.getBarTooltipXY({ e: e, opt: i });
                                                       (s = h.x), (l = h.y), (c = h.i), (u = Array.isArray(n.config.stroke.width) ? n.config.stroke.width[c] : n.config.stroke.width), (a = s);
                                                  } else n.globals.comboCharts || n.config.tooltip.shared || (a /= 2);
                                                  if (
                                                       (isNaN(l) && (l = n.globals.svgHeight - r.tooltipRect.ttHeight),
                                                       s + r.tooltipRect.ttWidth > n.globals.gridWidth ? (s -= r.tooltipRect.ttWidth) : s < 0 && (s += r.tooltipRect.ttWidth),
                                                       r.w.config.tooltip.followCursor)
                                                  ) {
                                                       var d = r.getElGrid().getBoundingClientRect();
                                                       l = r.e.clientY - d.top;
                                                  }
                                                  null === r.tooltip && (r.tooltip = n.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),
                                                       n.config.tooltip.shared || (n.globals.comboChartsHasBars ? r.tooltipPosition.moveXCrosshairs(a + u / 2) : r.tooltipPosition.moveXCrosshairs(a)),
                                                       !r.fixedTooltip &&
                                                            (!n.config.tooltip.shared || (r.isBarHorizontal && r.hasBars())) &&
                                                            ((o.style.left = s + n.globals.translateX + "px"),
                                                            r.tooltipRect.ttHeight + l > n.globals.gridHeight
                                                                 ? ((l = n.globals.gridHeight - r.tooltipRect.ttHeight + n.globals.translateY), (o.style.top = l + "px"))
                                                                 : (o.style.top = l + n.globals.translateY - r.tooltipRect.ttHeight / 2 + "px"));
                                             },
                                        },
                                        {
                                             key: "getBarTooltipXY",
                                             value: function (t) {
                                                  var e = t.e,
                                                       i = t.opt,
                                                       n = this.w,
                                                       r = null,
                                                       o = this.ttCtx,
                                                       a = 0,
                                                       s = 0,
                                                       l = 0,
                                                       c = 0,
                                                       u = e.target.classList;
                                                  if (u.contains("apexcharts-bar-area") || u.contains("apexcharts-candlestick-area")) {
                                                       var h = e.target,
                                                            d = h.getBoundingClientRect(),
                                                            p = i.elGrid.getBoundingClientRect(),
                                                            f = d.height,
                                                            m = d.width,
                                                            g = parseInt(h.getAttribute("cx")),
                                                            v = parseInt(h.getAttribute("cy"));
                                                       c = parseFloat(h.getAttribute("barWidth"));
                                                       var y = "touchmove" === e.type ? e.touches[0].clientX : e.clientX;
                                                       (r = parseInt(h.getAttribute("j"))),
                                                            (a = parseInt(h.parentNode.getAttribute("rel")) - 1),
                                                            n.globals.comboCharts && (a = parseInt(h.parentNode.getAttribute("data:realIndex"))),
                                                            o.tooltipLabels.drawSeriesTexts({ ttItems: i.ttItems, i: a, j: r, shared: !o.showOnIntersect && n.config.tooltip.shared }),
                                                            (l = n.config.tooltip.followCursor
                                                                 ? n.config.plotOptions.bar.horizontal
                                                                      ? ((s = y - p.left + 15), v - o.dataPointsDividedHeight + f / 2 - o.tooltipRect.ttHeight / 2)
                                                                      : ((s = n.globals.isXNumeric ? g - m / 2 : g - o.dataPointsDividedWidth + m / 2), e.clientY - p.top - o.tooltipRect.ttHeight / 2 - 15)
                                                                 : n.config.plotOptions.bar.horizontal
                                                                 ? ((s = g) < o.xyRatios.baseLineInvertedY && (s = g - o.tooltipRect.ttWidth), v - o.dataPointsDividedHeight + f / 2 - o.tooltipRect.ttHeight / 2)
                                                                 : ((s = n.globals.isXNumeric ? g - m / 2 : g - o.dataPointsDividedWidth + m / 2), v));
                                                  }
                                                  return { x: s, y: l, barWidth: c, i: a, j: r };
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    e.default = a;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = a(i(33)),
                         o = a(i(82));
                    function a(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var s = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.w = e.w),
                                   (this.ctx = e.ctx),
                                   (this.ttCtx = e),
                                   (this.tooltipUtil = new o.default(e));
                         }
                         return (
                              n(t, [
                                   {
                                        key: "drawSeriesTexts",
                                        value: function (t) {
                                             var e = t.shared,
                                                  i = void 0 === e || e,
                                                  n = t.ttItems,
                                                  r = t.i,
                                                  o = void 0 === r ? 0 : r,
                                                  a = t.j,
                                                  s = void 0 === a ? null : a;
                                             void 0 !== this.w.config.tooltip.custom ? this.handleCustomTooltip({ i: o, j: s }) : this.toggleActiveInactiveSeries(i);
                                             var l = this.getValuesToPrint({ i: o, j: s });
                                             this.printLabels({ i: o, j: s, values: l, ttItems: n, shared: i });
                                        },
                                   },
                                   {
                                        key: "printLabels",
                                        value: function (t) {
                                             var e = t.i,
                                                  i = t.j,
                                                  n = t.values,
                                                  r = t.ttItems,
                                                  o = t.shared,
                                                  a = this.w,
                                                  s = void 0,
                                                  l = n.xVal,
                                                  c = n.zVal,
                                                  u = n.xAxisTTVal,
                                                  h = "",
                                                  d = a.globals.colors[e];
                                             null !== i && a.config.plotOptions.bar.distributed && (d = a.globals.colors[i]);
                                             for (var p = 0, f = a.globals.series.length - 1; p < a.globals.series.length; p++, f--) {
                                                  var m = this.getFormatters(e);
                                                  if (((h = this.getSeriesName({ fn: m.yLbTitleFormatter, index: e, seriesIndex: e, j: i })), o)) {
                                                       var g = a.config.tooltip.inverseOrder ? f : p;
                                                       (m = this.getFormatters(g)),
                                                            (h = this.getSeriesName({ fn: m.yLbTitleFormatter, index: g, seriesIndex: e, j: i })),
                                                            (d = a.globals.colors[g]),
                                                            (s = m.yLbFormatter(a.globals.series[g][i], { series: a.globals.series, seriesIndex: e, dataPointIndex: i, w: a })),
                                                            ((this.ttCtx.hasBars() && a.config.chart.stacked && 0 === a.globals.series[g][i]) || void 0 === a.globals.series[g][i]) && (s = void 0);
                                                  } else s = m.yLbFormatter(a.globals.series[e][i], a);
                                                  null === i && (s = m.yLbFormatter(a.globals.series[e], a)), this.DOMHandling({ t: p, ttItems: r, values: { val: s, xVal: l, xAxisTTVal: u, zVal: c }, seriesName: h, shared: o, pColor: d });
                                             }
                                        },
                                   },
                                   {
                                        key: "getFormatters",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = e.globals.yLabelFormatters[t],
                                                  n = void 0;
                                             return (
                                                  void 0 !== e.globals.ttVal
                                                       ? Array.isArray(e.globals.ttVal)
                                                            ? ((i = e.globals.ttVal[t] && e.globals.ttVal[t].formatter), (n = e.globals.ttVal[t] && e.globals.ttVal[t].title && e.globals.ttVal[t].title.formatter))
                                                            : ((i = e.globals.ttVal.formatter), "function" == typeof e.globals.ttVal.title.formatter && (n = e.globals.ttVal.title.formatter))
                                                       : (n = e.config.tooltip.y.title.formatter),
                                                  "function" != typeof i &&
                                                       (i = e.globals.yLabelFormatters[0]
                                                            ? e.globals.yLabelFormatters[0]
                                                            : function (t) {
                                                                   return t;
                                                              }),
                                                  "function" != typeof n &&
                                                       (n = function (t) {
                                                            return t;
                                                       }),
                                                  { yLbFormatter: i, yLbTitleFormatter: n }
                                             );
                                        },
                                   },
                                   {
                                        key: "getSeriesName",
                                        value: function (t) {
                                             var e = t.fn,
                                                  i = t.index,
                                                  n = t.seriesIndex,
                                                  r = t.j,
                                                  o = this.w;
                                             return e(String(o.globals.seriesNames[i]), { series: o.globals.series, seriesIndex: n, dataPointIndex: r, w: o });
                                        },
                                   },
                                   {
                                        key: "DOMHandling",
                                        value: function (t) {
                                             var e = t.t,
                                                  i = t.ttItems,
                                                  n = t.values,
                                                  r = t.seriesName,
                                                  o = t.shared,
                                                  a = t.pColor,
                                                  s = this.w,
                                                  l = this.ttCtx,
                                                  c = n.val,
                                                  u = n.xVal,
                                                  h = n.xAxisTTVal,
                                                  d = n.zVal,
                                                  p = null;
                                             (p = i[e].children),
                                                  s.config.tooltip.fillSeriesColor && ((i[e].style.backgroundColor = a), (p[0].style.display = "none")),
                                                  l.showTooltipTitle && (null === l.tooltipTitle && (l.tooltipTitle = s.globals.dom.baseEl.querySelector(".apexcharts-tooltip-title")), (l.tooltipTitle.innerHTML = u)),
                                                  l.blxaxisTooltip && (l.xaxisTooltipText.innerHTML = "" !== h ? h : u);
                                             var f = i[e].querySelector(".apexcharts-tooltip-text-label");
                                             f && (f.innerHTML = r ? r + ": " : "");
                                             var m = i[e].querySelector(".apexcharts-tooltip-text-value");
                                             m && (m.innerHTML = c),
                                                  p[0] && p[0].classList.contains("apexcharts-tooltip-marker") && (p[0].style.backgroundColor = a),
                                                  s.config.tooltip.marker.show || (p[0].style.display = "none"),
                                                  null !== d && ((i[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML = s.config.tooltip.z.title), (i[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML = d)),
                                                  o && p[0] && (p[0].parentNode.style.display = null == c ? "none" : s.config.tooltip.items.display);
                                        },
                                   },
                                   {
                                        key: "toggleActiveInactiveSeries",
                                        value: function (t) {
                                             var e = this.w;
                                             if (t) this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");
                                             else {
                                                  this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");
                                                  var i = e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");
                                                  i && (i.classList.add("active"), (i.style.display = e.config.tooltip.items.display));
                                             }
                                        },
                                   },
                                   {
                                        key: "getValuesToPrint",
                                        value: function (t) {
                                             var e = t.i,
                                                  i = t.j,
                                                  n = this.w,
                                                  o = this.ctx.series.filteredSeriesX(),
                                                  a = "",
                                                  s = null,
                                                  l = null,
                                                  c = { series: n.globals.series, seriesIndex: e, dataPointIndex: i, w: n },
                                                  u = n.globals.ttZFormatter;
                                             null === i
                                                  ? (l = n.globals.series[e])
                                                  : n.globals.isXNumeric
                                                  ? ((a = o[e][i]), 0 === o[e].length && (a = o[this.tooltipUtil.getFirstActiveXArray(o)][i]))
                                                  : (a = void 0 !== n.globals.labels[i] ? n.globals.labels[i] : "");
                                             var h = a;
                                             return (
                                                  (a = n.globals.isXNumeric && "datetime" === n.config.xaxis.type ? new r.default(this.ctx).xLabelFormat(n.globals.ttKeyFormatter, h) : n.globals.xLabelFormatter(h, c)),
                                                  void 0 !== n.config.tooltip.x.formatter && (a = n.globals.ttKeyFormatter(h, c)),
                                                  0 < n.globals.seriesZ.length && 0 < n.globals.seriesZ[0].length && (s = u(n.globals.seriesZ[e][i], n)),
                                                  { val: l, xVal: a, xAxisTTVal: "function" == typeof n.config.xaxis.tooltip.formatter ? n.globals.xaxisTooltipFormatter(h, c) : a, zVal: s }
                                             );
                                        },
                                   },
                                   {
                                        key: "handleCustomTooltip",
                                        value: function (t) {
                                             var e = t.i,
                                                  i = t.j,
                                                  n = this.w;
                                             this.ttCtx.getElTooltip().innerHTML = n.config.tooltip.custom({ series: n.globals.series, seriesIndex: e, dataPointIndex: i, w: n });
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = s;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = l(i(0)),
                         o = l(i(81)),
                         a = l(i(27)),
                         s = l(i(1));
                    function l(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var c = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.w = e.w),
                                   (this.ttCtx = e),
                                   (this.ctx = e.ctx),
                                   (this.tooltipPosition = new o.default(e));
                         }
                         return (
                              n(t, [
                                   {
                                        key: "drawDynamicPoints",
                                        value: function () {
                                             for (var t = this.w, e = new r.default(this.ctx), i = new a.default(this.ctx), n = t.globals.dom.baseEl.querySelectorAll(".apexcharts-series"), o = 0; o < n.length; o++) {
                                                  var s = parseInt(n[o].getAttribute("data:realIndex")),
                                                       l = t.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='" + s + "'] .apexcharts-series-markers-wrap");
                                                  if (null !== l) {
                                                       var c = void 0,
                                                            u = "apexcharts-marker w" + (Math.random() + 1).toString(36).substring(4);
                                                       ("line" !== t.config.chart.type && "area" !== t.config.chart.type) || t.globals.comboCharts || t.config.tooltip.intersect || (u += " no-pointer-events");
                                                       var h = i.getMarkerConfig(u, s);
                                                       (c = e.drawMarker(0, 0, h)).node.setAttribute("default-marker-size", 0);
                                                       var d = document.createElementNS(t.globals.svgNS, "g");
                                                       d.classList.add("apexcharts-series-markers"), d.appendChild(c.node), l.appendChild(d);
                                                  }
                                             }
                                        },
                                   },
                                   {
                                        key: "enlargeCurrentPoint",
                                        value: function (t, e) {
                                             var i = this.w;
                                             "bubble" !== i.config.chart.type && this.newPointSize(t, e);
                                             var n = e.getAttribute("cx"),
                                                  r = e.getAttribute("cy");
                                             if ((this.tooltipPosition.moveXCrosshairs(n), !this.fixedTooltip)) {
                                                  if ("radar" === i.config.chart.type) {
                                                       var o = this.ttCtx.getElGrid().getBoundingClientRect();
                                                       n = this.ttCtx.e.clientX - o.left;
                                                  }
                                                  this.tooltipPosition.moveTooltip(n, r, i.config.markers.hover.size);
                                             }
                                        },
                                   },
                                   {
                                        key: "enlargePoints",
                                        value: function (t) {
                                             for (
                                                  var e = this.w,
                                                       i = this.ttCtx,
                                                       n = t,
                                                       r = e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),
                                                       o = e.config.markers.hover.size,
                                                       a = 0;
                                                  a < r.length;
                                                  a++
                                             ) {
                                                  var s = r[a].getAttribute("rel"),
                                                       l = r[a].getAttribute("index");
                                                  if ((void 0 === o && (o = e.globals.markers.size[l] + e.config.markers.hover.sizeOffset), n === parseInt(s))) {
                                                       this.newPointSize(n, r[a]);
                                                       var c = r[a].getAttribute("cx"),
                                                            u = r[a].getAttribute("cy");
                                                       this.tooltipPosition.moveXCrosshairs(c), i.fixedTooltip || this.tooltipPosition.moveTooltip(c, u, o);
                                                  } else this.oldPointSize(r[a]);
                                             }
                                        },
                                   },
                                   {
                                        key: "newPointSize",
                                        value: function (t, e) {
                                             var i = this.w,
                                                  n = i.config.markers.hover.size,
                                                  r = null;
                                             r = 0 === t ? e.parentNode.firstChild : e.parentNode.lastChild;
                                             var o = parseInt(r.getAttribute("index"));
                                             void 0 === n && (n = i.globals.markers.size[o] + i.config.markers.hover.sizeOffset), r.setAttribute("r", n);
                                        },
                                   },
                                   {
                                        key: "oldPointSize",
                                        value: function (t) {
                                             var e = parseInt(t.getAttribute("default-marker-size"));
                                             t.setAttribute("r", e);
                                        },
                                   },
                                   {
                                        key: "resetPointsSize",
                                        value: function () {
                                             for (var t = this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"), e = 0; e < t.length; e++) {
                                                  var i = parseInt(t[e].getAttribute("default-marker-size"));
                                                  s.default.isNumber(i) ? t[e].setAttribute("r", i) : t[e].setAttribute("r", 0);
                                             }
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = c;
               },
               function (t, e, i) {
                    "use strict";
                    var n = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         r = p(i(147)),
                         o = p(i(81)),
                         a = p(i(148)),
                         s = p(i(146)),
                         l = p(i(145)),
                         c = p(i(0)),
                         u = p(i(28)),
                         h = p(i(49)),
                         d = p(i(82));
                    function p(t) {
                         return t && t.__esModule ? t : { default: t };
                    }
                    var f = (function () {
                         function t(e) {
                              !(function (t, e) {
                                   if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                              })(this, t),
                                   (this.ctx = e),
                                   (this.w = e.w);
                              var i = this.w;
                              (this.tooltipUtil = new d.default(this)),
                                   (this.tooltipLabels = new r.default(this)),
                                   (this.tooltipPosition = new o.default(this)),
                                   (this.marker = new a.default(this)),
                                   (this.intersect = new s.default(this)),
                                   (this.axesTooltip = new l.default(this)),
                                   (this.showOnIntersect = i.config.tooltip.intersect),
                                   (this.showTooltipTitle = i.config.tooltip.x.show),
                                   (this.fixedTooltip = i.config.tooltip.fixed.enabled),
                                   (this.xaxisTooltip = null),
                                   (this.yaxisTTEls = null),
                                   (this.isBarHorizontal = i.config.plotOptions.bar.horizontal),
                                   (this.isBarShared = !i.config.plotOptions.bar.horizontal && i.config.tooltip.shared);
                         }
                         return (
                              n(t, [
                                   {
                                        key: "getElTooltip",
                                        value: function (t) {
                                             return t || (t = this), t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip");
                                        },
                                   },
                                   {
                                        key: "getElXCrosshairs",
                                        value: function () {
                                             return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs");
                                        },
                                   },
                                   {
                                        key: "getElGrid",
                                        value: function () {
                                             return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid");
                                        },
                                   },
                                   {
                                        key: "drawTooltip",
                                        value: function (t) {
                                             var e = this.w;
                                             (this.xyRatios = t),
                                                  (this.blxaxisTooltip = e.config.xaxis.tooltip.enabled && e.globals.axisCharts),
                                                  (this.blyaxisTooltip = e.config.yaxis[0].tooltip.enabled && e.globals.axisCharts),
                                                  (this.allTooltipSeriesGroups = []),
                                                  e.globals.axisCharts || (this.showTooltipTitle = !1);
                                             var i = document.createElement("div");
                                             if ((i.classList.add("apexcharts-tooltip"), i.classList.add(e.config.tooltip.theme), e.globals.dom.elWrap.appendChild(i), e.globals.axisCharts)) {
                                                  this.axesTooltip.drawXaxisTooltip(), this.axesTooltip.drawYaxisTooltip(), this.axesTooltip.setXCrosshairWidth(), this.axesTooltip.handleYCrosshair();
                                                  var n = new h.default(this.ctx);
                                                  this.xAxisTicksPositions = n.getXAxisTicksPositions();
                                             }
                                             if (
                                                  (((e.globals.comboCharts && !e.config.tooltip.shared) || (e.config.tooltip.intersect && !e.config.tooltip.shared) || ("bar" === e.config.chart.type && !e.config.tooltip.shared)) &&
                                                       (this.showOnIntersect = !0),
                                                  (0 !== e.config.markers.size && 0 !== e.globals.markers.largestSize) || this.marker.drawDynamicPoints(this),
                                                  e.globals.collapsedSeries.length !== e.globals.series.length)
                                             ) {
                                                  (this.dataPointsDividedHeight = e.globals.gridHeight / e.globals.dataPoints),
                                                       (this.dataPointsDividedWidth = e.globals.gridWidth / e.globals.dataPoints),
                                                       this.showTooltipTitle && ((this.tooltipTitle = document.createElement("div")), this.tooltipTitle.classList.add("apexcharts-tooltip-title"), i.appendChild(this.tooltipTitle));
                                                  var r = e.globals.series.length;
                                                  (e.globals.xyCharts || e.globals.comboCharts) && e.config.tooltip.shared && (r = this.showOnIntersect ? 1 : e.globals.series.length),
                                                       (this.ttItems = this.createTTElements(r)),
                                                       this.addSVGEvents();
                                             }
                                        },
                                   },
                                   {
                                        key: "createTTElements",
                                        value: function (t) {
                                             for (var e = this.w, i = [], n = this.getElTooltip(), r = 0; r < t; r++) {
                                                  var o = document.createElement("div");
                                                  o.classList.add("apexcharts-tooltip-series-group");
                                                  var a = document.createElement("span");
                                                  a.classList.add("apexcharts-tooltip-marker"), (a.style.backgroundColor = e.globals.colors[r]), o.appendChild(a);
                                                  var s = document.createElement("div");
                                                  s.classList.add("apexcharts-tooltip-text");
                                                  var l = document.createElement("div");
                                                  l.classList.add("apexcharts-tooltip-y-group");
                                                  var c = document.createElement("span");
                                                  c.classList.add("apexcharts-tooltip-text-label"), l.appendChild(c);
                                                  var u = document.createElement("span");
                                                  u.classList.add("apexcharts-tooltip-text-value"), l.appendChild(u);
                                                  var h = document.createElement("div");
                                                  h.classList.add("apexcharts-tooltip-z-group");
                                                  var d = document.createElement("span");
                                                  d.classList.add("apexcharts-tooltip-text-z-label"), h.appendChild(d);
                                                  var p = document.createElement("span");
                                                  p.classList.add("apexcharts-tooltip-text-z-value"), h.appendChild(p), s.appendChild(l), s.appendChild(h), o.appendChild(s), n.appendChild(o), i.push(o);
                                             }
                                             return i;
                                        },
                                   },
                                   {
                                        key: "addSVGEvents",
                                        value: function () {
                                             var t = this.w,
                                                  e = t.config.chart.type,
                                                  i = this.getElTooltip(),
                                                  n = !("bar" !== e && "candlestick" !== e),
                                                  r = t.globals.dom.Paper.node,
                                                  o = this.getElGrid();
                                             o && (this.seriesBound = o.getBoundingClientRect());
                                             var a = [],
                                                  s = [],
                                                  l = { hoverArea: r, elGrid: o, tooltipEl: i, tooltipY: a, tooltipX: s, ttItems: this.ttItems },
                                                  c = void 0;
                                             if (
                                                  t.globals.axisCharts &&
                                                  ("area" === e || "line" === e || "scatter" === e || "bubble" === e
                                                       ? (c = t.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker"))
                                                       : n
                                                       ? (c = t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-bar-area", ".apexcharts-series .apexcharts-candlestick-area"))
                                                       : "heatmap" === e
                                                       ? (c = t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-heatmap"))
                                                       : "radar" === e && (c = t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-marker")),
                                                  c && c.length)
                                             )
                                                  for (var u = 0; u < c.length; u++) a.push(c[u].getAttribute("cy")), s.push(c[u].getAttribute("cx"));
                                             if ((t.globals.xyCharts && !this.showOnIntersect) || (t.globals.comboCharts && !this.showOnIntersect) || (n && this.hasBars() && t.config.tooltip.shared)) this.addPathsEventListeners([r], l);
                                             else if (n && !t.globals.comboCharts) this.addBarsEventListeners(l);
                                             else if ("bubble" === e || "scatter" === e || "radar" === e || (this.showOnIntersect && ("area" === e || "line" === e))) this.addPointsEventsListeners(l);
                                             else if (!t.globals.axisCharts || "heatmap" === e) {
                                                  var h = t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");
                                                  this.addPathsEventListeners(h, l);
                                             }
                                             if (this.showOnIntersect) {
                                                  var d = t.globals.dom.baseEl.querySelectorAll(".apexcharts-line-series .apexcharts-marker");
                                                  0 < d.length && this.addPathsEventListeners(d, l);
                                                  var p = t.globals.dom.baseEl.querySelectorAll(".apexcharts-area-series .apexcharts-marker");
                                                  0 < p.length && this.addPathsEventListeners(p, l), this.hasBars() && !t.config.tooltip.shared && this.addBarsEventListeners(l);
                                             }
                                        },
                                   },
                                   {
                                        key: "drawFixedTooltipRect",
                                        value: function () {
                                             var t = this.w,
                                                  e = this.getElTooltip(),
                                                  i = e.getBoundingClientRect(),
                                                  n = i.width + 10,
                                                  r = i.height + 10,
                                                  o = t.config.tooltip.fixed.offsetX,
                                                  a = t.config.tooltip.fixed.offsetY;
                                             return (
                                                  -1 < t.config.tooltip.fixed.position.toLowerCase().indexOf("right") && (o = o + t.globals.svgWidth - n + 10),
                                                  -1 < t.config.tooltip.fixed.position.toLowerCase().indexOf("bottom") && (a = a + t.globals.svgHeight - r - 10),
                                                  (e.style.left = o + "px"),
                                                  (e.style.top = a + "px"),
                                                  { x: o, y: a, ttWidth: n, ttHeight: r }
                                             );
                                        },
                                   },
                                   {
                                        key: "addPointsEventsListeners",
                                        value: function (t) {
                                             var e = this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker");
                                             this.addPathsEventListeners(e, t);
                                        },
                                   },
                                   {
                                        key: "addBarsEventListeners",
                                        value: function (t) {
                                             var e = this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-area, .apexcharts-candlestick-area");
                                             this.addPathsEventListeners(e, t);
                                        },
                                   },
                                   {
                                        key: "addPathsEventListeners",
                                        value: function (t, e) {
                                             for (
                                                  var i = this,
                                                       n = this,
                                                       r = function (r) {
                                                            var o = { paths: t[r], tooltipEl: e.tooltipEl, tooltipY: e.tooltipY, tooltipX: e.tooltipX, elGrid: e.elGrid, hoverArea: e.hoverArea, ttItems: e.ttItems };
                                                            (i.w.globals.tooltipOpts = o),
                                                                 ["mousemove", "touchmove", "mouseout", "touchend"].map(function (e) {
                                                                      return t[r].addEventListener(e, n.seriesHover.bind(n, o), { capture: !1, passive: !0 });
                                                                 });
                                                       },
                                                       o = 0;
                                                  o < t.length;
                                                  o++
                                             )
                                                  r(o);
                                        },
                                   },
                                   {
                                        key: "seriesHover",
                                        value: function (t, e) {
                                             var i = this,
                                                  n = [];
                                             this.w.config.chart.group && (n = this.ctx.getGroupedCharts()),
                                                  n.length
                                                       ? n.forEach(function (n) {
                                                              var r = i.getElTooltip(n),
                                                                   o = { paths: t.paths, tooltipEl: r, tooltipY: t.tooltipY, tooltipX: t.tooltipX, elGrid: t.elGrid, hoverArea: t.hoverArea, ttItems: n.w.globals.tooltip.ttItems };
                                                              n.w.globals.minX === i.w.globals.minX &&
                                                                   n.w.globals.maxX === i.w.globals.maxX &&
                                                                   n.w.globals.tooltip.seriesHoverByContext({ chartCtx: n, ttCtx: n.w.globals.tooltip, opt: o, e: e });
                                                         })
                                                       : this.seriesHoverByContext({ chartCtx: this.ctx, ttCtx: this.w.globals.tooltip, opt: t, e: e });
                                        },
                                   },
                                   {
                                        key: "seriesHoverByContext",
                                        value: function (t) {
                                             var e = t.chartCtx,
                                                  i = t.ttCtx,
                                                  n = t.opt,
                                                  r = t.e,
                                                  o = e.w,
                                                  a = this.getElTooltip();
                                             (i.tooltipRect = { x: 0, y: 0, ttWidth: a.getBoundingClientRect().width, ttHeight: a.getBoundingClientRect().height }),
                                                  (i.e = r),
                                                  !i.hasBars() || o.globals.comboCharts || i.isBarShared || (o.config.tooltip.onDatasetHover.highlightDataSeries && new u.default(e).toggleSeriesOnHover(r, r.target.parentNode)),
                                                  i.fixedTooltip && i.drawFixedTooltipRect(),
                                                  o.globals.axisCharts ? i.axisChartsTooltips({ e: r, opt: n, tooltipRect: i.tooltipRect }) : i.nonAxisChartsTooltips({ e: r, opt: n, tooltipRect: i.tooltipRect });
                                        },
                                   },
                                   {
                                        key: "axisChartsTooltips",
                                        value: function (t) {
                                             var e = t.e,
                                                  i = t.opt,
                                                  n = this.w,
                                                  r = void 0,
                                                  o = void 0,
                                                  a = void 0,
                                                  s = this,
                                                  l = null,
                                                  c = this.getElTooltip(),
                                                  u = this.getElXCrosshairs(),
                                                  h = "touchmove" === e.type ? e.touches[0].clientX : e.clientX,
                                                  d = "touchmove" === e.type ? e.touches[0].clientY : e.clientY;
                                             (this.clientY = d), (this.clientX = h);
                                             var p = n.globals.xyCharts || ("bar" === n.config.chart.type && !this.isBarHorizontal && this.hasBars() && n.config.tooltip.shared) || (n.globals.comboCharts && this.hasBars);
                                             if (("bar" === n.config.chart.type && this.isBarHorizontal && this.hasBars() && (p = !1), "mousemove" === e.type || "touchmove" === e.type)) {
                                                  if ((null !== u && u.classList.add("active"), null !== s.ycrosshairs && s.blyaxisTooltip && s.ycrosshairs.classList.add("active"), p && !s.showOnIntersect)) {
                                                       r = (l = s.tooltipUtil.getNearestValues({ context: s, hoverArea: i.hoverArea, elGrid: i.elGrid, clientX: h, clientY: d, hasBars: s.hasBars })).j;
                                                       var f = l.capturedSeries;
                                                       if (l.hoverX < 0 || l.hoverX > n.globals.gridWidth) return void s.handleMouseOut(i);
                                                       if (null !== f) {
                                                            if (null === n.globals.series[f][r]) return void i.tooltipEl.classList.remove("active");
                                                            void 0 !== n.globals.series[f][r]
                                                                 ? n.config.tooltip.shared && this.tooltipUtil.isXoverlap(r) && this.tooltipUtil.isinitialSeriesSameLen()
                                                                      ? this.create(s, f, r, i.ttItems)
                                                                      : this.create(s, f, r, i.ttItems, !1)
                                                                 : this.tooltipUtil.isXoverlap(r) && s.create(s, 0, r, i.ttItems);
                                                       } else this.tooltipUtil.isXoverlap(r) && s.create(s, 0, r, i.ttItems);
                                                  } else if ("heatmap" === n.config.chart.type) {
                                                       var m = this.intersect.handleHeatTooltip({ e: e, opt: i, x: o, y: a });
                                                       (o = m.x), (a = m.y), (c.style.left = o + "px"), (c.style.top = a + "px");
                                                  } else this.hasBars && this.intersect.handleBarTooltip({ e: e, opt: i }), this.hasMarkers && this.intersect.handleMarkerTooltip({ e: e, opt: i, x: o, y: a });
                                                  if (this.blyaxisTooltip) for (var g = 0; g < n.config.yaxis.length; g++) s.axesTooltip.drawYaxisTooltipText(g, d, s.xyRatios);
                                                  i.tooltipEl.classList.add("active");
                                             } else ("mouseout" !== e.type && "touchend" !== e.type) || this.handleMouseOut(i);
                                        },
                                   },
                                   {
                                        key: "nonAxisChartsTooltips",
                                        value: function (t) {
                                             var e = t.e,
                                                  i = t.opt,
                                                  n = t.tooltipRect,
                                                  r = this.w,
                                                  o = i.paths.getAttribute("rel"),
                                                  a = this.getElTooltip(),
                                                  s = 0,
                                                  l = 0,
                                                  c = null,
                                                  u = "touchmove" === e.type ? e.touches[0].clientX : e.clientX;
                                             "radialBar" === r.config.chart.type
                                                  ? (c = r.globals.dom.baseEl.querySelector(".apexcharts-radialbar"))
                                                  : ((c = r.globals.dom.baseEl.querySelector(".apexcharts-pie")), (s = parseInt(c.getAttribute("data:innerTranslateX"))), (l = parseInt(c.getAttribute("data:innerTranslateY"))));
                                             var h = c.getBoundingClientRect();
                                             if ("mousemove" === e.type || "touchmove" === e.type) {
                                                  a.classList.add("active"), this.tooltipLabels.drawSeriesTexts({ ttItems: i.ttItems, i: parseInt(o) - 1, shared: !1 });
                                                  var d = u - h.left - n.ttWidth / 2.2 + s,
                                                       p = e.clientY - h.top - n.ttHeight / 2 - 15 + l;
                                                  d < 0 ? (d = 0) : d + n.ttWidth > r.globals.gridWidth && (d = u - h.left - n.ttWidth + s),
                                                       p < 0 && (p = n.ttHeight + 20),
                                                       (a.style.left = d + r.globals.translateX + "px"),
                                                       (a.style.top = p + "px");
                                             } else ("mouseout" !== e.type && "touchend" !== e.type) || a.classList.remove("active");
                                        },
                                   },
                                   {
                                        key: "deactivateHoverFilter",
                                        value: function () {
                                             for (var t = this.w, e = new c.default(this.ctx), i = t.globals.dom.Paper.select(".apexcharts-bar-area"), n = 0; n < i.length; n++) e.pathMouseLeave(i[n]);
                                        },
                                   },
                                   {
                                        key: "handleMouseOut",
                                        value: function (t) {
                                             var e = this.w,
                                                  i = this.getElXCrosshairs();
                                             if (
                                                  (t.tooltipEl.classList.remove("active"),
                                                  this.deactivateHoverFilter(),
                                                  "bubble" !== e.config.chart.type && this.marker.resetPointsSize(),
                                                  null !== i && i.classList.remove("active"),
                                                  null !== this.ycrosshairs && this.ycrosshairs.classList.remove("active"),
                                                  this.blxaxisTooltip && this.xaxisTooltip.classList.remove("active"),
                                                  this.blyaxisTooltip)
                                             ) {
                                                  null === this.yaxisTTEls && (this.yaxisTTEls = e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));
                                                  for (var n = 0; n < this.yaxisTTEls.length; n++) this.yaxisTTEls[n].classList.remove("active");
                                             }
                                        },
                                   },
                                   {
                                        key: "getElMarkers",
                                        value: function () {
                                             return this.w.globals.dom.baseEl.querySelectorAll(" .apexcharts-series-markers");
                                        },
                                   },
                                   {
                                        key: "getAllMarkers",
                                        value: function () {
                                             return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker");
                                        },
                                   },
                                   {
                                        key: "hasMarkers",
                                        value: function () {
                                             return 0 < this.getElMarkers().length;
                                        },
                                   },
                                   {
                                        key: "getElBars",
                                        value: function () {
                                             return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series,  .apexcharts-candlestick-series");
                                        },
                                   },
                                   {
                                        key: "hasBars",
                                        value: function () {
                                             return 0 < this.getElBars().length;
                                        },
                                   },
                                   {
                                        key: "create",
                                        value: function (t, e, i, n) {
                                             var r = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : null,
                                                  o = this.w,
                                                  a = t;
                                             null === r && (r = o.config.tooltip.shared);
                                             var s = this.hasMarkers(),
                                                  l = this.getElBars();
                                             if (r) {
                                                  if (
                                                       (a.tooltipLabels.drawSeriesTexts({ ttItems: n, i: e, j: i, shared: !this.showOnIntersect && o.config.tooltip.shared }),
                                                       s && (0 < o.globals.markers.largestSize ? a.marker.enlargePoints(i) : a.tooltipPosition.moveDynamicPointsOnHover(i)),
                                                       this.hasBars() && ((this.barSeriesHeight = this.tooltipUtil.getBarsHeight(l)), 0 < this.barSeriesHeight))
                                                  ) {
                                                       var u = new c.default(this.ctx),
                                                            h = o.globals.dom.Paper.select(".apexcharts-bar-area[j='" + i + "']");
                                                       this.deactivateHoverFilter(), this.tooltipPosition.moveStickyTooltipOverBars(i);
                                                       for (var d = 0; d < h.length; d++) u.pathMouseEnter(h[d]);
                                                  }
                                             } else a.tooltipLabels.drawSeriesTexts({ shared: !1, ttItems: n, i: e, j: i }), this.hasBars() && a.tooltipPosition.moveStickyTooltipOverBars(i), s && a.tooltipPosition.moveMarkers(e, i);
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
                    t.exports = f;
               },
               function (t, e, i) {
                    "use strict";
                    t.exports = function (t) {
                         var e = "undefined" != typeof window && window.location;
                         if (!e) throw new Error("fixUrls requires window.location");
                         if (!t || "string" != typeof t) return t;
                         var i = e.protocol + "//" + e.host,
                              n = i + e.pathname.replace(/\/[^\/]*$/, "/");
                         return t.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function (t, e) {
                              var r,
                                   o = e
                                        .trim()
                                        .replace(/^"(.*)"$/, function (t, e) {
                                             return e;
                                        })
                                        .replace(/^'(.*)'$/, function (t, e) {
                                             return e;
                                        });
                              return /^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o) ? t : ((r = 0 === o.indexOf("//") ? o : 0 === o.indexOf("/") ? i + o : n + o.replace(/^\.\//, "")), "url(" + JSON.stringify(r) + ")");
                         });
                    };
               },
               function (t, e, i) {
                    "use strict";
                    var n =
                         "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                              ? function (t) {
                                     return typeof t;
                                }
                              : function (t) {
                                     return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                };
                    (function () {
                         function t(t) {
                              t.remember("_draggable", this), (this.el = t);
                         }
                         (t.prototype.init = function (t, e) {
                              var i = this;
                              (this.constraint = t),
                                   (this.value = e),
                                   this.el.on("mousedown.drag", function (t) {
                                        i.start(t);
                                   }),
                                   this.el.on("touchstart.drag", function (t) {
                                        i.start(t);
                                   });
                         }),
                              (t.prototype.transformPoint = function (t, e) {
                                   var i = ((t = t || window.event).changedTouches && t.changedTouches[0]) || t;
                                   return (this.p.x = i.pageX - (e || 0)), (this.p.y = i.pageY), this.p.matrixTransform(this.m);
                              }),
                              (t.prototype.getBBox = function () {
                                   var t = this.el.bbox();
                                   return this.el instanceof SVG.Nested && (t = this.el.rbox()), (this.el instanceof SVG.G || this.el instanceof SVG.Use || this.el instanceof SVG.Nested) && ((t.x = this.el.x()), (t.y = this.el.y())), t;
                              }),
                              (t.prototype.start = function (t) {
                                   if (("click" != t.type && "mousedown" != t.type && "mousemove" != t.type) || 1 == (t.which || t.buttons)) {
                                        var e = this;
                                        this.el.fire("beforedrag", { event: t, handler: this }),
                                             (this.parent = this.parent || this.el.parent(SVG.Nested) || this.el.parent(SVG.Doc)),
                                             (this.p = this.parent.node.createSVGPoint()),
                                             (this.m = this.el.node.getScreenCTM().inverse());
                                        var i,
                                             n = this.getBBox();
                                        if (this.el instanceof SVG.Text)
                                             switch (((i = this.el.node.getComputedTextLength()), this.el.attr("text-anchor"))) {
                                                  case "middle":
                                                       i /= 2;
                                                       break;
                                                  case "start":
                                                       i = 0;
                                             }
                                        (this.startPoints = { point: this.transformPoint(t, i), box: n, transform: this.el.transform() }),
                                             SVG.on(window, "mousemove.drag", function (t) {
                                                  e.drag(t);
                                             }),
                                             SVG.on(window, "touchmove.drag", function (t) {
                                                  e.drag(t);
                                             }),
                                             SVG.on(window, "mouseup.drag", function (t) {
                                                  e.end(t);
                                             }),
                                             SVG.on(window, "touchend.drag", function (t) {
                                                  e.end(t);
                                             }),
                                             this.el.fire("dragstart", { event: t, p: this.startPoints.point, m: this.m, handler: this }),
                                             t.preventDefault(),
                                             t.stopPropagation();
                                   }
                              }),
                              (t.prototype.drag = function (t) {
                                   var e = this.getBBox(),
                                        i = this.transformPoint(t),
                                        r = this.startPoints.box.x + i.x - this.startPoints.point.x,
                                        o = this.startPoints.box.y + i.y - this.startPoints.point.y,
                                        a = this.constraint,
                                        s = i.x - this.startPoints.point.x,
                                        l = i.y - this.startPoints.point.y,
                                        c = new CustomEvent("dragmove", { detail: { event: t, p: i, m: this.m, handler: this }, cancelable: !0 });
                                   if ((this.el.fire(c), c.defaultPrevented)) return i;
                                   if ("function" == typeof a) {
                                        var u = a.call(this.el, r, o, this.m);
                                        "boolean" == typeof u && (u = { x: u, y: u }), !0 === u.x ? this.el.x(r) : !1 !== u.x && this.el.x(u.x), !0 === u.y ? this.el.y(o) : !1 !== u.y && this.el.y(u.y);
                                   } else
                                        "object" == (void 0 === a ? "undefined" : n(a)) &&
                                             (null != a.minX && r < a.minX ? (r = a.minX) : null != a.maxX && r > a.maxX - e.width && (r = a.maxX - e.width),
                                             null != a.minY && o < a.minY ? (o = a.minY) : null != a.maxY && o > a.maxY - e.height && (o = a.maxY - e.height),
                                             this.el instanceof SVG.G ? this.el.matrix(this.startPoints.transform).transform({ x: s, y: l }, !0) : this.el.move(r, o));
                                   return i;
                              }),
                              (t.prototype.end = function (t) {
                                   var e = this.drag(t);
                                   this.el.fire("dragend", { event: t, p: e, m: this.m, handler: this }),
                                        SVG.off(window, "mousemove.drag"),
                                        SVG.off(window, "touchmove.drag"),
                                        SVG.off(window, "mouseup.drag"),
                                        SVG.off(window, "touchend.drag");
                              }),
                              SVG.extend(SVG.Element, {
                                   draggable: function (e, i) {
                                        ("function" != typeof e && "object" != (void 0 === e ? "undefined" : n(e))) || ((i = e), (e = !0));
                                        var r = this.remember("_draggable") || new t(this);
                                        return (e = void 0 === e || e) ? r.init(i || {}, e) : (this.off("mousedown.drag"), this.off("touchstart.drag")), this;
                                   },
                              });
                    }.call(void 0));
               },
               function (t, e, i) {
                    "use strict";
                    (function () {
                         (SVG.Filter = SVG.invent({
                              create: "filter",
                              inherit: SVG.Parent,
                              extend: {
                                   source: "SourceGraphic",
                                   sourceAlpha: "SourceAlpha",
                                   background: "BackgroundImage",
                                   backgroundAlpha: "BackgroundAlpha",
                                   fill: "FillPaint",
                                   stroke: "StrokePaint",
                                   autoSetIn: !0,
                                   put: function (t, e) {
                                        return this.add(t, e), !t.attr("in") && this.autoSetIn && t.attr("in", this.source), t.attr("result") || t.attr("result", t), t;
                                   },
                                   blend: function (t, e, i) {
                                        return this.put(new SVG.BlendEffect(t, e, i));
                                   },
                                   colorMatrix: function (t, e) {
                                        return this.put(new SVG.ColorMatrixEffect(t, e));
                                   },
                                   convolveMatrix: function (t) {
                                        return this.put(new SVG.ConvolveMatrixEffect(t));
                                   },
                                   componentTransfer: function (t) {
                                        return this.put(new SVG.ComponentTransferEffect(t));
                                   },
                                   composite: function (t, e, i) {
                                        return this.put(new SVG.CompositeEffect(t, e, i));
                                   },
                                   flood: function (t, e) {
                                        return this.put(new SVG.FloodEffect(t, e));
                                   },
                                   offset: function (t, e) {
                                        return this.put(new SVG.OffsetEffect(t, e));
                                   },
                                   image: function (t) {
                                        return this.put(new SVG.ImageEffect(t));
                                   },
                                   merge: function () {
                                        var t = [void 0];
                                        for (var e in arguments) t.push(arguments[e]);
                                        return this.put(new (SVG.MergeEffect.bind.apply(SVG.MergeEffect, t))());
                                   },
                                   gaussianBlur: function (t, e) {
                                        return this.put(new SVG.GaussianBlurEffect(t, e));
                                   },
                                   morphology: function (t, e) {
                                        return this.put(new SVG.MorphologyEffect(t, e));
                                   },
                                   diffuseLighting: function (t, e, i) {
                                        return this.put(new SVG.DiffuseLightingEffect(t, e, i));
                                   },
                                   displacementMap: function (t, e, i, n, r) {
                                        return this.put(new SVG.DisplacementMapEffect(t, e, i, n, r));
                                   },
                                   specularLighting: function (t, e, i, n) {
                                        return this.put(new SVG.SpecularLightingEffect(t, e, i, n));
                                   },
                                   tile: function () {
                                        return this.put(new SVG.TileEffect());
                                   },
                                   turbulence: function (t, e, i, n, r) {
                                        return this.put(new SVG.TurbulenceEffect(t, e, i, n, r));
                                   },
                                   toString: function () {
                                        return "url(#" + this.attr("id") + ")";
                                   },
                              },
                         })),
                              SVG.extend(SVG.Defs, {
                                   filter: function (t) {
                                        var e = this.put(new SVG.Filter());
                                        return "function" == typeof t && t.call(e, e), e;
                                   },
                              }),
                              SVG.extend(SVG.Container, {
                                   filter: function (t) {
                                        return this.defs().filter(t);
                                   },
                              }),
                              SVG.extend(SVG.Element, SVG.G, SVG.Nested, {
                                   filter: function (t) {
                                        return (
                                             (this.filterer = t instanceof SVG.Element ? t : this.doc().filter(t)),
                                             this.doc() && this.filterer.doc() !== this.doc() && this.doc().defs().add(this.filterer),
                                             this.attr("filter", this.filterer),
                                             this.filterer
                                        );
                                   },
                                   unfilter: function (t) {
                                        return this.filterer && !0 === t && this.filterer.remove(), delete this.filterer, this.attr("filter", null);
                                   },
                              }),
                              (SVG.Effect = SVG.invent({
                                   create: function () {
                                        this.constructor.call(this);
                                   },
                                   inherit: SVG.Element,
                                   extend: {
                                        in: function (t) {
                                             return null == t
                                                  ? (this.parent() &&
                                                         this.parent()
                                                              .select('[result="' + this.attr("in") + '"]')
                                                              .get(0)) ||
                                                         this.attr("in")
                                                  : this.attr("in", t);
                                        },
                                        result: function (t) {
                                             return null == t ? this.attr("result") : this.attr("result", t);
                                        },
                                        toString: function () {
                                             return this.result();
                                        },
                                   },
                              })),
                              (SVG.ParentEffect = SVG.invent({
                                   create: function () {
                                        this.constructor.call(this);
                                   },
                                   inherit: SVG.Parent,
                                   extend: {
                                        in: function (t) {
                                             return null == t
                                                  ? (this.parent() &&
                                                         this.parent()
                                                              .select('[result="' + this.attr("in") + '"]')
                                                              .get(0)) ||
                                                         this.attr("in")
                                                  : this.attr("in", t);
                                        },
                                        result: function (t) {
                                             return null == t ? this.attr("result") : this.attr("result", t);
                                        },
                                        toString: function () {
                                             return this.result();
                                        },
                                   },
                              }));
                         var t = {
                              blend: function (t, e) {
                                   return this.parent() && this.parent().blend(this, t, e);
                              },
                              colorMatrix: function (t, e) {
                                   return this.parent() && this.parent().colorMatrix(t, e).in(this);
                              },
                              convolveMatrix: function (t) {
                                   return this.parent() && this.parent().convolveMatrix(t).in(this);
                              },
                              componentTransfer: function (t) {
                                   return this.parent() && this.parent().componentTransfer(t).in(this);
                              },
                              composite: function (t, e) {
                                   return this.parent() && this.parent().composite(this, t, e);
                              },
                              flood: function (t, e) {
                                   return this.parent() && this.parent().flood(t, e);
                              },
                              offset: function (t, e) {
                                   return this.parent() && this.parent().offset(t, e).in(this);
                              },
                              image: function (t) {
                                   return this.parent() && this.parent().image(t);
                              },
                              merge: function () {
                                   return this.parent() && this.parent().merge.apply(this.parent(), [this].concat(arguments));
                              },
                              gaussianBlur: function (t, e) {
                                   return this.parent() && this.parent().gaussianBlur(t, e).in(this);
                              },
                              morphology: function (t, e) {
                                   return this.parent() && this.parent().morphology(t, e).in(this);
                              },
                              diffuseLighting: function (t, e, i) {
                                   return this.parent() && this.parent().diffuseLighting(t, e, i).in(this);
                              },
                              displacementMap: function (t, e, i, n) {
                                   return this.parent() && this.parent().displacementMap(this, t, e, i, n);
                              },
                              specularLighting: function (t, e, i, n) {
                                   return this.parent() && this.parent().specularLighting(t, e, i, n).in(this);
                              },
                              tile: function () {
                                   return this.parent() && this.parent().tile().in(this);
                              },
                              turbulence: function (t, e, i, n, r) {
                                   return this.parent() && this.parent().turbulence(t, e, i, n, r).in(this);
                              },
                         };
                         SVG.extend(SVG.Effect, t),
                              SVG.extend(SVG.ParentEffect, t),
                              (SVG.ChildEffect = SVG.invent({
                                   create: function () {
                                        this.constructor.call(this);
                                   },
                                   inherit: SVG.Element,
                                   extend: {
                                        in: function (t) {
                                             this.attr("in", t);
                                        },
                                   },
                              }));
                         var e = {
                                   blend: function (t, e, i) {
                                        this.attr({ in: t, in2: e, mode: i || "normal" });
                                   },
                                   colorMatrix: function (t, e) {
                                        "matrix" == t && (e = r(e)), this.attr({ type: t, values: void 0 === e ? null : e });
                                   },
                                   convolveMatrix: function (t) {
                                        (t = r(t)), this.attr({ order: Math.sqrt(t.split(" ").length), kernelMatrix: t });
                                   },
                                   composite: function (t, e, i) {
                                        this.attr({ in: t, in2: e, operator: i });
                                   },
                                   flood: function (t, e) {
                                        this.attr("flood-color", t), null != e && this.attr("flood-opacity", e);
                                   },
                                   offset: function (t, e) {
                                        this.attr({ dx: t, dy: e });
                                   },
                                   image: function (t) {
                                        this.attr("href", t, SVG.xlink);
                                   },
                                   displacementMap: function (t, e, i, n, r) {
                                        this.attr({ in: t, in2: e, scale: i, xChannelSelector: n, yChannelSelector: r });
                                   },
                                   gaussianBlur: function (t, e) {
                                        null != t || null != e
                                             ? this.attr(
                                                    "stdDeviation",
                                                    (function (t) {
                                                         if (!Array.isArray(t)) return t;
                                                         for (var e = 0, i = t.length, n = []; e < i; e++) n.push(t[e]);
                                                         return n.join(" ");
                                                    })(Array.prototype.slice.call(arguments))
                                               )
                                             : this.attr("stdDeviation", "0 0");
                                   },
                                   morphology: function (t, e) {
                                        this.attr({ operator: t, radius: e });
                                   },
                                   tile: function () {},
                                   turbulence: function (t, e, i, n, r) {
                                        this.attr({ numOctaves: e, seed: i, stitchTiles: n, baseFrequency: t, type: r });
                                   },
                              },
                              i = {
                                   merge: function () {
                                        var t;
                                        if (arguments[0] instanceof SVG.Set) {
                                             var e = this;
                                             arguments[0].each(function (t) {
                                                  this instanceof SVG.MergeNode ? e.put(this) : (this instanceof SVG.Effect || this instanceof SVG.ParentEffect) && e.put(new SVG.MergeNode(this));
                                             });
                                        } else {
                                             t = Array.isArray(arguments[0]) ? arguments[0] : arguments;
                                             for (var i = 0; i < t.length; i++) t[i] instanceof SVG.MergeNode ? this.put(t[i]) : this.put(new SVG.MergeNode(t[i]));
                                        }
                                   },
                                   componentTransfer: function (t) {
                                        if (
                                             ((this.rgb = new SVG.Set()),
                                             ["r", "g", "b", "a"].forEach(
                                                  function (t) {
                                                       (this[t] = new SVG["Func" + t.toUpperCase()]("identity")), this.rgb.add(this[t]), this.node.appendChild(this[t].node);
                                                  }.bind(this)
                                             ),
                                             t)
                                        )
                                             for (var e in (t.rgb &&
                                                  (["r", "g", "b"].forEach(
                                                       function (e) {
                                                            this[e].attr(t.rgb);
                                                       }.bind(this)
                                                  ),
                                                  delete t.rgb),
                                             t))
                                                  this[e].attr(t[e]);
                                   },
                                   diffuseLighting: function (t, e, i) {
                                        this.attr({ surfaceScale: t, diffuseConstant: e, kernelUnitLength: i });
                                   },
                                   specularLighting: function (t, e, i, n) {
                                        this.attr({ surfaceScale: t, diffuseConstant: e, specularExponent: i, kernelUnitLength: n });
                                   },
                              },
                              n = {
                                   distantLight: function (t, e) {
                                        this.attr({ azimuth: t, elevation: e });
                                   },
                                   pointLight: function (t, e, i) {
                                        this.attr({ x: t, y: e, z: i });
                                   },
                                   spotLight: function (t, e, i, n, r, o) {
                                        this.attr({ x: t, y: e, z: i, pointsAtX: n, pointsAtY: r, pointsAtZ: o });
                                   },
                                   mergeNode: function (t) {
                                        this.attr("in", t);
                                   },
                              };
                         function r(t) {
                              return Array.isArray(t) && (t = new SVG.Array(t)), t.toString().replace(/^\s+/, "").replace(/\s+$/, "").replace(/\s+/g, " ");
                         }
                         function o() {
                              var t = function () {};
                              for (var e in ("function" == typeof arguments[arguments.length - 1] && ((t = arguments[arguments.length - 1]), Array.prototype.splice.call(arguments, arguments.length - 1, 1)), arguments))
                                   for (var i in arguments[e]) t(arguments[e][i], i, arguments[e]);
                         }
                         ["r", "g", "b", "a"].forEach(function (t) {
                              n["Func" + t.toUpperCase()] = function (t) {
                                   switch ((this.attr("type", t), t)) {
                                        case "table":
                                             this.attr("tableValues", arguments[1]);
                                             break;
                                        case "linear":
                                             this.attr("slope", arguments[1]), this.attr("intercept", arguments[2]);
                                             break;
                                        case "gamma":
                                             this.attr("amplitude", arguments[1]), this.attr("exponent", arguments[2]), this.attr("offset", arguments[2]);
                                   }
                              };
                         }),
                              o(e, function (t, e) {
                                   var i = e.charAt(0).toUpperCase() + e.slice(1);
                                   SVG[i + "Effect"] = SVG.invent({
                                        create: function () {
                                             this.constructor.call(this, SVG.create("fe" + i)), t.apply(this, arguments), this.result(this.attr("id") + "Out");
                                        },
                                        inherit: SVG.Effect,
                                        extend: {},
                                   });
                              }),
                              o(i, function (t, e) {
                                   var i = e.charAt(0).toUpperCase() + e.slice(1);
                                   SVG[i + "Effect"] = SVG.invent({
                                        create: function () {
                                             this.constructor.call(this, SVG.create("fe" + i)), t.apply(this, arguments), this.result(this.attr("id") + "Out");
                                        },
                                        inherit: SVG.ParentEffect,
                                        extend: {},
                                   });
                              }),
                              o(n, function (t, e) {
                                   var i = e.charAt(0).toUpperCase() + e.slice(1);
                                   SVG[i] = SVG.invent({
                                        create: function () {
                                             this.constructor.call(this, SVG.create("fe" + i)), t.apply(this, arguments);
                                        },
                                        inherit: SVG.ChildEffect,
                                        extend: {},
                                   });
                              }),
                              SVG.extend(SVG.MergeEffect, {
                                   in: function (t) {
                                        return t instanceof SVG.MergeNode ? this.add(t, 0) : this.add(new SVG.MergeNode(t), 0), this;
                                   },
                              }),
                              SVG.extend(SVG.CompositeEffect, SVG.BlendEffect, SVG.DisplacementMapEffect, {
                                   in2: function (t) {
                                        return null == t
                                             ? (this.parent() &&
                                                    this.parent()
                                                         .select('[result="' + this.attr("in2") + '"]')
                                                         .get(0)) ||
                                                    this.attr("in2")
                                             : this.attr("in2", t);
                                   },
                              }),
                              (SVG.filter = { sepiatone: [0.343, 0.669, 0.119, 0, 0, 0.249, 0.626, 0.13, 0, 0, 0.172, 0.334, 0.111, 0, 0, 0, 0, 0, 1, 0] });
                    }.call(void 0));
               },
               function (t, e, i) {
                    "use strict";
                    !(function () {
                         function t(t, r, o, a, s, l, c) {
                              for (
                                   var u = t.slice(r, o || c), h = a.slice(s, l || c), d = 0, p = { pos: [0, 0], start: [0, 0] }, f = { pos: [0, 0], start: [0, 0] };
                                   (u[d] = e.call(p, u[d])),
                                        (h[d] = e.call(f, h[d])),
                                        u[d][0] != h[d][0] || "M" == u[d][0] || ("A" == u[d][0] && (u[d][4] != h[d][4] || u[d][5] != h[d][5]))
                                             ? (Array.prototype.splice.apply(u, [d, 1].concat(n.call(p, u[d]))), Array.prototype.splice.apply(h, [d, 1].concat(n.call(f, h[d]))))
                                             : ((u[d] = i.call(p, u[d])), (h[d] = i.call(f, h[d]))),
                                        ++d != u.length || d != h.length;

                              )
                                   d == u.length && u.push(["C", p.pos[0], p.pos[1], p.pos[0], p.pos[1], p.pos[0], p.pos[1]]), d == h.length && h.push(["C", f.pos[0], f.pos[1], f.pos[0], f.pos[1], f.pos[0], f.pos[1]]);
                              return { start: u, dest: h };
                         }
                         function e(t) {
                              switch (t[0]) {
                                   case "z":
                                   case "Z":
                                        (t[0] = "L"), (t[1] = this.start[0]), (t[2] = this.start[1]);
                                        break;
                                   case "H":
                                        (t[0] = "L"), (t[2] = this.pos[1]);
                                        break;
                                   case "V":
                                        (t[0] = "L"), (t[2] = t[1]), (t[1] = this.pos[0]);
                                        break;
                                   case "T":
                                        (t[0] = "Q"), (t[3] = t[1]), (t[4] = t[2]), (t[1] = this.reflection[1]), (t[2] = this.reflection[0]);
                                        break;
                                   case "S":
                                        (t[0] = "C"), (t[6] = t[4]), (t[5] = t[3]), (t[4] = t[2]), (t[3] = t[1]), (t[2] = this.reflection[1]), (t[1] = this.reflection[0]);
                              }
                              return t;
                         }
                         function i(t) {
                              var e = t.length;
                              return (this.pos = [t[e - 2], t[e - 1]]), -1 != "SCQT".indexOf(t[0]) && (this.reflection = [2 * this.pos[0] - t[e - 4], 2 * this.pos[1] - t[e - 3]]), t;
                         }
                         function n(t) {
                              var e = [t];
                              switch (t[0]) {
                                   case "M":
                                        return (this.pos = this.start = [t[1], t[2]]), e;
                                   case "L":
                                        (t[5] = t[3] = t[1]), (t[6] = t[4] = t[2]), (t[1] = this.pos[0]), (t[2] = this.pos[1]);
                                        break;
                                   case "Q":
                                        (t[6] = t[4]),
                                             (t[5] = t[3]),
                                             (t[4] = (1 * t[4]) / 3 + (2 * t[2]) / 3),
                                             (t[3] = (1 * t[3]) / 3 + (2 * t[1]) / 3),
                                             (t[2] = (1 * this.pos[1]) / 3 + (2 * t[2]) / 3),
                                             (t[1] = (1 * this.pos[0]) / 3 + (2 * t[1]) / 3);
                                        break;
                                   case "A":
                                        t = (e = (function (t, e) {
                                             var i,
                                                  n,
                                                  r,
                                                  o,
                                                  a,
                                                  s,
                                                  l,
                                                  c,
                                                  u,
                                                  h,
                                                  d,
                                                  p,
                                                  f,
                                                  m,
                                                  g,
                                                  v,
                                                  y,
                                                  b,
                                                  _,
                                                  x,
                                                  w,
                                                  k,
                                                  S,
                                                  M,
                                                  T,
                                                  C,
                                                  D = Math.abs(e[1]),
                                                  L = Math.abs(e[2]),
                                                  E = e[3] % 360,
                                                  A = e[4],
                                                  P = e[5],
                                                  I = e[6],
                                                  O = e[7],
                                                  Y = new SVG.Point(t),
                                                  z = new SVG.Point(I, O),
                                                  R = [];
                                             if (0 === D || 0 === L || (Y.x === z.x && Y.y === z.y)) return [["C", Y.x, Y.y, z.x, z.y, z.x, z.y]];
                                             for (
                                                  1 < (n = ((i = new SVG.Point((Y.x - z.x) / 2, (Y.y - z.y) / 2).transform(new SVG.Matrix().rotate(E))).x * i.x) / (D * D) + (i.y * i.y) / (L * L)) && ((D *= n = Math.sqrt(n)), (L *= n)),
                                                       r = new SVG.Matrix()
                                                            .rotate(E)
                                                            .scale(1 / D, 1 / L)
                                                            .rotate(-E),
                                                       Y = Y.transform(r),
                                                       s = (o = [(z = z.transform(r)).x - Y.x, z.y - Y.y])[0] * o[0] + o[1] * o[1],
                                                       a = Math.sqrt(s),
                                                       o[0] /= a,
                                                       o[1] /= a,
                                                       l = s < 4 ? Math.sqrt(1 - s / 4) : 0,
                                                       A === P && (l *= -1),
                                                       c = new SVG.Point((z.x + Y.x) / 2 + l * -o[1], (z.y + Y.y) / 2 + l * o[0]),
                                                       u = new SVG.Point(Y.x - c.x, Y.y - c.y),
                                                       h = new SVG.Point(z.x - c.x, z.y - c.y),
                                                       d = Math.acos(u.x / Math.sqrt(u.x * u.x + u.y * u.y)),
                                                       u.y < 0 && (d *= -1),
                                                       p = Math.acos(h.x / Math.sqrt(h.x * h.x + h.y * h.y)),
                                                       h.y < 0 && (p *= -1),
                                                       P && p < d && (p += 2 * Math.PI),
                                                       !P && d < p && (p -= 2 * Math.PI),
                                                       v = [],
                                                       f = (p - (y = d)) / (m = Math.ceil((2 * Math.abs(d - p)) / Math.PI)),
                                                       g = (4 * Math.tan(f / 4)) / 3,
                                                       w = 0;
                                                  w <= m;
                                                  w++
                                             )
                                                  (_ = Math.cos(y)), (b = Math.sin(y)), (x = new SVG.Point(c.x + _, c.y + b)), (v[w] = [new SVG.Point(x.x + g * b, x.y - g * _), x, new SVG.Point(x.x - g * b, x.y + g * _)]), (y += f);
                                             for (v[0][0] = v[0][1].clone(), v[v.length - 1][2] = v[v.length - 1][1].clone(), r = new SVG.Matrix().rotate(E).scale(D, L).rotate(-E), w = 0, k = v.length; w < k; w++)
                                                  (v[w][0] = v[w][0].transform(r)), (v[w][1] = v[w][1].transform(r)), (v[w][2] = v[w][2].transform(r));
                                             for (w = 1, k = v.length; w < k; w++) (S = (x = v[w - 1][2]).x), (M = x.y), (T = (x = v[w][0]).x), (C = x.y), (I = (x = v[w][1]).x), (O = x.y), R.push(["C", S, M, T, C, I, O]);
                                             return R;
                                        })(this.pos, t))[0];
                              }
                              return (t[0] = "C"), (this.pos = [t[5], t[6]]), (this.reflection = [2 * t[5] - t[3], 2 * t[6] - t[4]]), e;
                         }
                         function r(t, e) {
                              if (!1 === e) return !1;
                              for (var i = e, n = t.length; i < n; ++i) if ("M" == t[i][0]) return i;
                              return !1;
                         }
                         SVG.extend(SVG.PathArray, {
                              morph: function (e) {
                                   for (var i = this.value, n = this.parse(e), o = 0, a = 0, s = !1, l = !1; !1 !== o || !1 !== a; ) {
                                        var c;
                                        (s = r(i, !1 !== o && o + 1)),
                                             (l = r(n, !1 !== a && a + 1)),
                                             !1 === o && (o = 0 == (c = new SVG.PathArray(u.start).bbox()).height || 0 == c.width ? i.push(i[0]) - 1 : i.push(["M", c.x + c.width / 2, c.y + c.height / 2]) - 1),
                                             !1 === a && (a = 0 == (c = new SVG.PathArray(u.dest).bbox()).height || 0 == c.width ? n.push(n[0]) - 1 : n.push(["M", c.x + c.width / 2, c.y + c.height / 2]) - 1);
                                        var u = t(i, o, s, n, a, l);
                                        (i = i.slice(0, o).concat(u.start, !1 === s ? [] : i.slice(s))),
                                             (n = n.slice(0, a).concat(u.dest, !1 === l ? [] : n.slice(l))),
                                             (o = !1 !== s && o + u.start.length),
                                             (a = !1 !== l && a + u.dest.length);
                                   }
                                   return (this.value = i), (this.destination = new SVG.PathArray()), (this.destination.value = n), this;
                              },
                         });
                    })();
               },
               function (t, e, i) {
                    "use strict";
                    !(function () {
                         (function () {
                              function t(t) {
                                   t.remember("_resizeHandler", this), (this.el = t), (this.parameters = {}), (this.lastUpdateCall = null), (this.p = t.doc().node.createSVGPoint());
                              }
                              (t.prototype.transformPoint = function (t, e, i) {
                                   return (this.p.x = t - (this.offset.x - window.pageXOffset)), (this.p.y = e - (this.offset.y - window.pageYOffset)), this.p.matrixTransform(i || this.m);
                              }),
                                   (t.prototype._extractPosition = function (t) {
                                        return { x: null != t.clientX ? t.clientX : t.touches[0].clientX, y: null != t.clientY ? t.clientY : t.touches[0].clientY };
                                   }),
                                   (t.prototype.init = function (t) {
                                        var e = this;
                                        if ((this.stop(), "stop" !== t)) {
                                             for (var i in ((this.options = {}), this.el.resize.defaults)) (this.options[i] = this.el.resize.defaults[i]), void 0 !== t[i] && (this.options[i] = t[i]);
                                             this.el.on("lt.resize", function (t) {
                                                  e.resize(t || window.event);
                                             }),
                                                  this.el.on("rt.resize", function (t) {
                                                       e.resize(t || window.event);
                                                  }),
                                                  this.el.on("rb.resize", function (t) {
                                                       e.resize(t || window.event);
                                                  }),
                                                  this.el.on("lb.resize", function (t) {
                                                       e.resize(t || window.event);
                                                  }),
                                                  this.el.on("t.resize", function (t) {
                                                       e.resize(t || window.event);
                                                  }),
                                                  this.el.on("r.resize", function (t) {
                                                       e.resize(t || window.event);
                                                  }),
                                                  this.el.on("b.resize", function (t) {
                                                       e.resize(t || window.event);
                                                  }),
                                                  this.el.on("l.resize", function (t) {
                                                       e.resize(t || window.event);
                                                  }),
                                                  this.el.on("rot.resize", function (t) {
                                                       e.resize(t || window.event);
                                                  }),
                                                  this.el.on("point.resize", function (t) {
                                                       e.resize(t || window.event);
                                                  }),
                                                  this.update();
                                        }
                                   }),
                                   (t.prototype.stop = function () {
                                        return (
                                             this.el.off("lt.resize"),
                                             this.el.off("rt.resize"),
                                             this.el.off("rb.resize"),
                                             this.el.off("lb.resize"),
                                             this.el.off("t.resize"),
                                             this.el.off("r.resize"),
                                             this.el.off("b.resize"),
                                             this.el.off("l.resize"),
                                             this.el.off("rot.resize"),
                                             this.el.off("point.resize"),
                                             this
                                        );
                                   }),
                                   (t.prototype.resize = function (t) {
                                        var e = this;
                                        (this.m = this.el.node.getScreenCTM().inverse()), (this.offset = { x: window.pageXOffset, y: window.pageYOffset });
                                        var i = this._extractPosition(t.detail.event);
                                        if (
                                             ((this.parameters = { type: this.el.type, p: this.transformPoint(i.x, i.y), x: t.detail.x, y: t.detail.y, box: this.el.bbox(), rotation: this.el.transform().rotation }),
                                             "text" === this.el.type && (this.parameters.fontSize = this.el.attr()["font-size"]),
                                             void 0 !== t.detail.i)
                                        ) {
                                             var n = this.el.array().valueOf();
                                             (this.parameters.i = t.detail.i), (this.parameters.pointCoords = [n[t.detail.i][0], n[t.detail.i][1]]);
                                        }
                                        switch (t.type) {
                                             case "lt":
                                                  this.calc = function (t, e) {
                                                       var i = this.snapToGrid(t, e);
                                                       if (0 < this.parameters.box.width - i[0] && 0 < this.parameters.box.height - i[1]) {
                                                            if ("text" === this.parameters.type) return this.el.move(this.parameters.box.x + i[0], this.parameters.box.y), void this.el.attr("font-size", this.parameters.fontSize - i[0]);
                                                            (i = this.checkAspectRatio(i)), this.el.move(this.parameters.box.x + i[0], this.parameters.box.y + i[1]).size(this.parameters.box.width - i[0], this.parameters.box.height - i[1]);
                                                       }
                                                  };
                                                  break;
                                             case "rt":
                                                  this.calc = function (t, e) {
                                                       var i = this.snapToGrid(t, e, 2);
                                                       if (0 < this.parameters.box.width + i[0] && 0 < this.parameters.box.height - i[1]) {
                                                            if ("text" === this.parameters.type) return this.el.move(this.parameters.box.x - i[0], this.parameters.box.y), void this.el.attr("font-size", this.parameters.fontSize + i[0]);
                                                            (i = this.checkAspectRatio(i)), this.el.move(this.parameters.box.x, this.parameters.box.y + i[1]).size(this.parameters.box.width + i[0], this.parameters.box.height - i[1]);
                                                       }
                                                  };
                                                  break;
                                             case "rb":
                                                  this.calc = function (t, e) {
                                                       var i = this.snapToGrid(t, e, 0);
                                                       if (0 < this.parameters.box.width + i[0] && 0 < this.parameters.box.height + i[1]) {
                                                            if ("text" === this.parameters.type) return this.el.move(this.parameters.box.x - i[0], this.parameters.box.y), void this.el.attr("font-size", this.parameters.fontSize + i[0]);
                                                            (i = this.checkAspectRatio(i)), this.el.move(this.parameters.box.x, this.parameters.box.y).size(this.parameters.box.width + i[0], this.parameters.box.height + i[1]);
                                                       }
                                                  };
                                                  break;
                                             case "lb":
                                                  this.calc = function (t, e) {
                                                       var i = this.snapToGrid(t, e, 1);
                                                       if (0 < this.parameters.box.width - i[0] && 0 < this.parameters.box.height + i[1]) {
                                                            if ("text" === this.parameters.type) return this.el.move(this.parameters.box.x + i[0], this.parameters.box.y), void this.el.attr("font-size", this.parameters.fontSize - i[0]);
                                                            (i = this.checkAspectRatio(i)), this.el.move(this.parameters.box.x + i[0], this.parameters.box.y).size(this.parameters.box.width - i[0], this.parameters.box.height + i[1]);
                                                       }
                                                  };
                                                  break;
                                             case "t":
                                                  this.calc = function (t, e) {
                                                       var i = this.snapToGrid(t, e, 2);
                                                       if (0 < this.parameters.box.height - i[1]) {
                                                            if ("text" === this.parameters.type) return;
                                                            this.el.move(this.parameters.box.x, this.parameters.box.y + i[1]).height(this.parameters.box.height - i[1]);
                                                       }
                                                  };
                                                  break;
                                             case "r":
                                                  this.calc = function (t, e) {
                                                       var i = this.snapToGrid(t, e, 0);
                                                       if (0 < this.parameters.box.width + i[0]) {
                                                            if ("text" === this.parameters.type) return;
                                                            this.el.move(this.parameters.box.x, this.parameters.box.y).width(this.parameters.box.width + i[0]);
                                                       }
                                                  };
                                                  break;
                                             case "b":
                                                  this.calc = function (t, e) {
                                                       var i = this.snapToGrid(t, e, 0);
                                                       if (0 < this.parameters.box.height + i[1]) {
                                                            if ("text" === this.parameters.type) return;
                                                            this.el.move(this.parameters.box.x, this.parameters.box.y).height(this.parameters.box.height + i[1]);
                                                       }
                                                  };
                                                  break;
                                             case "l":
                                                  this.calc = function (t, e) {
                                                       var i = this.snapToGrid(t, e, 1);
                                                       if (0 < this.parameters.box.width - i[0]) {
                                                            if ("text" === this.parameters.type) return;
                                                            this.el.move(this.parameters.box.x + i[0], this.parameters.box.y).width(this.parameters.box.width - i[0]);
                                                       }
                                                  };
                                                  break;
                                             case "rot":
                                                  this.calc = function (t, e) {
                                                       var i = t + this.parameters.p.x,
                                                            n = e + this.parameters.p.y,
                                                            r = Math.atan2(this.parameters.p.y - this.parameters.box.y - this.parameters.box.height / 2, this.parameters.p.x - this.parameters.box.x - this.parameters.box.width / 2),
                                                            o = (180 * (Math.atan2(n - this.parameters.box.y - this.parameters.box.height / 2, i - this.parameters.box.x - this.parameters.box.width / 2) - r)) / Math.PI;
                                                       this.el.center(this.parameters.box.cx, this.parameters.box.cy).rotate(this.parameters.rotation + o - (o % this.options.snapToAngle), this.parameters.box.cx, this.parameters.box.cy);
                                                  };
                                                  break;
                                             case "point":
                                                  this.calc = function (t, e) {
                                                       var i = this.snapToGrid(t, e, this.parameters.pointCoords[0], this.parameters.pointCoords[1]),
                                                            n = this.el.array().valueOf();
                                                       (n[this.parameters.i][0] = this.parameters.pointCoords[0] + i[0]), (n[this.parameters.i][1] = this.parameters.pointCoords[1] + i[1]), this.el.plot(n);
                                                  };
                                        }
                                        this.el.fire("resizestart", { dx: this.parameters.x, dy: this.parameters.y, event: t }),
                                             SVG.on(window, "touchmove.resize", function (t) {
                                                  e.update(t || window.event);
                                             }),
                                             SVG.on(window, "touchend.resize", function () {
                                                  e.done();
                                             }),
                                             SVG.on(window, "mousemove.resize", function (t) {
                                                  e.update(t || window.event);
                                             }),
                                             SVG.on(window, "mouseup.resize", function () {
                                                  e.done();
                                             });
                                   }),
                                   (t.prototype.update = function (t) {
                                        if (t) {
                                             var e = this._extractPosition(t),
                                                  i = this.transformPoint(e.x, e.y),
                                                  n = i.x - this.parameters.p.x,
                                                  r = i.y - this.parameters.p.y;
                                             (this.lastUpdateCall = [n, r]), this.calc(n, r), this.el.fire("resizing", { dx: n, dy: r, event: t });
                                        } else this.lastUpdateCall && this.calc(this.lastUpdateCall[0], this.lastUpdateCall[1]);
                                   }),
                                   (t.prototype.done = function () {
                                        (this.lastUpdateCall = null),
                                             SVG.off(window, "mousemove.resize"),
                                             SVG.off(window, "mouseup.resize"),
                                             SVG.off(window, "touchmove.resize"),
                                             SVG.off(window, "touchend.resize"),
                                             this.el.fire("resizedone");
                                   }),
                                   (t.prototype.snapToGrid = function (t, e, i, n) {
                                        var r;
                                        return (
                                             (r =
                                                  void 0 !== n
                                                       ? [(i + t) % this.options.snapToGrid, (n + e) % this.options.snapToGrid]
                                                       : ((i = null == i ? 3 : i),
                                                         [
                                                              (this.parameters.box.x + t + (1 & i ? 0 : this.parameters.box.width)) % this.options.snapToGrid,
                                                              (this.parameters.box.y + e + (2 & i ? 0 : this.parameters.box.height)) % this.options.snapToGrid,
                                                         ])),
                                             (t -= Math.abs(r[0]) < this.options.snapToGrid / 2 ? r[0] : r[0] - (t < 0 ? -this.options.snapToGrid : this.options.snapToGrid)),
                                             (e -= Math.abs(r[1]) < this.options.snapToGrid / 2 ? r[1] : r[1] - (e < 0 ? -this.options.snapToGrid : this.options.snapToGrid)),
                                             this.constraintToBox(t, e, i, n)
                                        );
                                   }),
                                   (t.prototype.constraintToBox = function (t, e, i, n) {
                                        var r,
                                             o,
                                             a = this.options.constraint || {};
                                        return (
                                             (o = void 0 !== n ? ((r = i), n) : ((r = this.parameters.box.x + (1 & i ? 0 : this.parameters.box.width)), this.parameters.box.y + (2 & i ? 0 : this.parameters.box.height))),
                                             void 0 !== a.minX && r + t < a.minX && (t = a.minX - r),
                                             void 0 !== a.maxX && r + t > a.maxX && (t = a.maxX - r),
                                             void 0 !== a.minY && o + e < a.minY && (e = a.minY - o),
                                             void 0 !== a.maxY && o + e > a.maxY && (e = a.maxY - o),
                                             [t, e]
                                        );
                                   }),
                                   (t.prototype.checkAspectRatio = function (t) {
                                        if (!this.options.saveAspectRatio) return t;
                                        var e = t.slice(),
                                             i = this.parameters.box.width / this.parameters.box.height,
                                             n = this.parameters.box.width + t[0],
                                             r = this.parameters.box.height - t[1],
                                             o = n / r;
                                        return o < i ? (e[1] = n / i - this.parameters.box.height) : i < o && (e[0] = this.parameters.box.width - r * i), e;
                                   }),
                                   SVG.extend(SVG.Element, {
                                        resize: function (e) {
                                             return (this.remember("_resizeHandler") || new t(this)).init(e || {}), this;
                                        },
                                   }),
                                   (SVG.Element.prototype.resize.defaults = { snapToAngle: 0.1, snapToGrid: 1, constraint: {}, saveAspectRatio: !1 });
                         }.call(this));
                    })();
               },
               function (t, e, i) {
                    "use strict";
                    var n =
                         "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                              ? function (t) {
                                     return typeof t;
                                }
                              : function (t) {
                                     return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                };
                    !(function () {
                         function t(t) {
                              (this.el = t).remember("_selectHandler", this), (this.pointSelection = { isSelected: !1 }), (this.rectSelection = { isSelected: !1 });
                         }
                         (t.prototype.init = function (t, e) {
                              var i = this.el.bbox();
                              for (var n in ((this.options = {}), this.el.selectize.defaults)) (this.options[n] = this.el.selectize.defaults[n]), void 0 !== e[n] && (this.options[n] = e[n]);
                              (this.parent = this.el.parent()),
                                   (this.nested = this.nested || this.parent.group()),
                                   this.nested.matrix(new SVG.Matrix(this.el).translate(i.x, i.y)),
                                   this.options.deepSelect && -1 !== ["line", "polyline", "polygon"].indexOf(this.el.type) ? this.selectPoints(t) : this.selectRect(t),
                                   this.observe(),
                                   this.cleanup();
                         }),
                              (t.prototype.selectPoints = function (t) {
                                   return (this.pointSelection.isSelected = t), this.pointSelection.set || ((this.pointSelection.set = this.parent.set()), this.drawCircles()), this;
                              }),
                              (t.prototype.getPointArray = function () {
                                   var t = this.el.bbox();
                                   return this.el
                                        .array()
                                        .valueOf()
                                        .map(function (e) {
                                             return [e[0] - t.x, e[1] - t.y];
                                        });
                              }),
                              (t.prototype.drawCircles = function () {
                                   for (var t = this, e = this.getPointArray(), i = 0, n = e.length; i < n; ++i) {
                                        var r = (function (e) {
                                             return function (i) {
                                                  (i = i || window.event).preventDefault ? i.preventDefault() : (i.returnValue = !1), i.stopPropagation();
                                                  var n = i.pageX || i.touches[0].pageX,
                                                       r = i.pageY || i.touches[0].pageY;
                                                  t.el.fire("point", { x: n, y: r, i: e, event: i });
                                             };
                                        })(i);
                                        this.pointSelection.set.add(
                                             this.nested
                                                  .circle(this.options.radius)
                                                  .center(e[i][0], e[i][1])
                                                  .addClass(this.options.classPoints)
                                                  .addClass(this.options.classPoints + "_point")
                                                  .on("touchstart", r)
                                                  .on("mousedown", r)
                                        );
                                   }
                              }),
                              (t.prototype.updatePointSelection = function () {
                                   var t = this.getPointArray();
                                   this.pointSelection.set.each(function (e) {
                                        (this.cx() === t[e][0] && this.cy() === t[e][1]) || this.center(t[e][0], t[e][1]);
                                   });
                              }),
                              (t.prototype.updateRectSelection = function () {
                                   var t = this.el.bbox();
                                   this.rectSelection.set.get(0).attr({ width: t.width, height: t.height }),
                                        this.options.points &&
                                             (this.rectSelection.set.get(2).center(t.width, 0),
                                             this.rectSelection.set.get(3).center(t.width, t.height),
                                             this.rectSelection.set.get(4).center(0, t.height),
                                             this.rectSelection.set.get(5).center(t.width / 2, 0),
                                             this.rectSelection.set.get(6).center(t.width, t.height / 2),
                                             this.rectSelection.set.get(7).center(t.width / 2, t.height),
                                             this.rectSelection.set.get(8).center(0, t.height / 2)),
                                        this.options.rotationPoint && (this.options.points ? this.rectSelection.set.get(9).center(t.width / 2, 20) : this.rectSelection.set.get(1).center(t.width / 2, 20));
                              }),
                              (t.prototype.selectRect = function (t) {
                                   var e = this,
                                        i = this.el.bbox();
                                   function n(t) {
                                        return function (i) {
                                             (i = i || window.event).preventDefault ? i.preventDefault() : (i.returnValue = !1), i.stopPropagation();
                                             var n = i.pageX || i.touches[0].pageX,
                                                  r = i.pageY || i.touches[0].pageY;
                                             e.el.fire(t, { x: n, y: r, event: i });
                                        };
                                   }
                                   if (
                                        ((this.rectSelection.isSelected = t),
                                        (this.rectSelection.set = this.rectSelection.set || this.parent.set()),
                                        this.rectSelection.set.get(0) || this.rectSelection.set.add(this.nested.rect(i.width, i.height).addClass(this.options.classRect)),
                                        this.options.points && !this.rectSelection.set.get(1))
                                   ) {
                                        var r = "touchstart",
                                             o = "mousedown";
                                        this.rectSelection.set.add(
                                             this.nested
                                                  .circle(this.options.radius)
                                                  .center(0, 0)
                                                  .attr("class", this.options.classPoints + "_lt")
                                                  .on(o, n("lt"))
                                                  .on(r, n("lt"))
                                        ),
                                             this.rectSelection.set.add(
                                                  this.nested
                                                       .circle(this.options.radius)
                                                       .center(i.width, 0)
                                                       .attr("class", this.options.classPoints + "_rt")
                                                       .on(o, n("rt"))
                                                       .on(r, n("rt"))
                                             ),
                                             this.rectSelection.set.add(
                                                  this.nested
                                                       .circle(this.options.radius)
                                                       .center(i.width, i.height)
                                                       .attr("class", this.options.classPoints + "_rb")
                                                       .on(o, n("rb"))
                                                       .on(r, n("rb"))
                                             ),
                                             this.rectSelection.set.add(
                                                  this.nested
                                                       .circle(this.options.radius)
                                                       .center(0, i.height)
                                                       .attr("class", this.options.classPoints + "_lb")
                                                       .on(o, n("lb"))
                                                       .on(r, n("lb"))
                                             ),
                                             this.rectSelection.set.add(
                                                  this.nested
                                                       .circle(this.options.radius)
                                                       .center(i.width / 2, 0)
                                                       .attr("class", this.options.classPoints + "_t")
                                                       .on(o, n("t"))
                                                       .on(r, n("t"))
                                             ),
                                             this.rectSelection.set.add(
                                                  this.nested
                                                       .circle(this.options.radius)
                                                       .center(i.width, i.height / 2)
                                                       .attr("class", this.options.classPoints + "_r")
                                                       .on(o, n("r"))
                                                       .on(r, n("r"))
                                             ),
                                             this.rectSelection.set.add(
                                                  this.nested
                                                       .circle(this.options.radius)
                                                       .center(i.width / 2, i.height)
                                                       .attr("class", this.options.classPoints + "_b")
                                                       .on(o, n("b"))
                                                       .on(r, n("b"))
                                             ),
                                             this.rectSelection.set.add(
                                                  this.nested
                                                       .circle(this.options.radius)
                                                       .center(0, i.height / 2)
                                                       .attr("class", this.options.classPoints + "_l")
                                                       .on(o, n("l"))
                                                       .on(r, n("l"))
                                             ),
                                             this.rectSelection.set.each(function () {
                                                  this.addClass(e.options.classPoints);
                                             });
                                   }
                                   if (this.options.rotationPoint && ((this.options.points && !this.rectSelection.set.get(9)) || (!this.options.points && !this.rectSelection.set.get(1)))) {
                                        var a = function (t) {
                                             (t = t || window.event).preventDefault ? t.preventDefault() : (t.returnValue = !1), t.stopPropagation();
                                             var i = t.pageX || t.touches[0].pageX,
                                                  n = t.pageY || t.touches[0].pageY;
                                             e.el.fire("rot", { x: i, y: n, event: t });
                                        };
                                        this.rectSelection.set.add(
                                             this.nested
                                                  .circle(this.options.radius)
                                                  .center(i.width / 2, 20)
                                                  .attr("class", this.options.classPoints + "_rot")
                                                  .on("touchstart", a)
                                                  .on("mousedown", a)
                                        );
                                   }
                              }),
                              (t.prototype.handler = function () {
                                   var t = this.el.bbox();
                                   this.nested.matrix(new SVG.Matrix(this.el).translate(t.x, t.y)), this.rectSelection.isSelected && this.updateRectSelection(), this.pointSelection.isSelected && this.updatePointSelection();
                              }),
                              (t.prototype.observe = function () {
                                   var t = this;
                                   if (MutationObserver)
                                        if (this.rectSelection.isSelected || this.pointSelection.isSelected)
                                             (this.observerInst =
                                                  this.observerInst ||
                                                  new MutationObserver(function () {
                                                       t.handler();
                                                  })),
                                                  this.observerInst.observe(this.el.node, { attributes: !0 });
                                        else
                                             try {
                                                  this.observerInst.disconnect(), delete this.observerInst;
                                             } catch (t) {}
                                   else
                                        this.el.off("DOMAttrModified.select"),
                                             (this.rectSelection.isSelected || this.pointSelection.isSelected) &&
                                                  this.el.on("DOMAttrModified.select", function () {
                                                       t.handler();
                                                  });
                              }),
                              (t.prototype.cleanup = function () {
                                   !this.rectSelection.isSelected &&
                                        this.rectSelection.set &&
                                        (this.rectSelection.set.each(function () {
                                             this.remove();
                                        }),
                                        this.rectSelection.set.clear(),
                                        delete this.rectSelection.set),
                                        !this.pointSelection.isSelected &&
                                             this.pointSelection.set &&
                                             (this.pointSelection.set.each(function () {
                                                  this.remove();
                                             }),
                                             this.pointSelection.set.clear(),
                                             delete this.pointSelection.set),
                                        this.pointSelection.isSelected || this.rectSelection.isSelected || (this.nested.remove(), delete this.nested);
                              }),
                              SVG.extend(SVG.Element, {
                                   selectize: function (e, i) {
                                        return "object" === (void 0 === e ? "undefined" : n(e)) && ((i = e), (e = !0)), (this.remember("_selectHandler") || new t(this)).init(void 0 === e || e, i || {}), this;
                                   },
                              }),
                              (SVG.Element.prototype.selectize.defaults = { points: !0, classRect: "svg_select_boundingRect", classPoints: "svg_select_points", radius: 7, rotationPoint: !0, deepSelect: !1 });
                    })();
               },
               function (t, e, i) {
                    "use strict";
                    var n,
                         r,
                         o,
                         a =
                              "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                   ? function (t) {
                                          return typeof t;
                                     }
                                   : function (t) {
                                          return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                     };
                    (r = "undefined" != typeof window ? window : void 0),
                         (o = function (t, e) {
                              var i = ((void 0 !== this ? this : t).SVG = function (t) {
                                   if (i.supported) return (t = new i.Doc(t)), i.parser.draw || i.prepare(), t;
                              });
                              if (((i.ns = "http://www.w3.org/2000/svg"), (i.xmlns = "http://www.w3.org/2000/xmlns/"), (i.xlink = "http://www.w3.org/1999/xlink"), (i.svgjs = "http://svgjs.com/svgjs"), (i.supported = !0), !i.supported))
                                   return !1;
                              (i.did = 1e3),
                                   (i.eid = function (t) {
                                        return "Svgjs" + h(t) + i.did++;
                                   }),
                                   (i.create = function (t) {
                                        var i = e.createElementNS(this.ns, t);
                                        return i.setAttribute("id", this.eid(t)), i;
                                   }),
                                   (i.extend = function () {
                                        var t, e, n, r;
                                        for (e = (t = [].slice.call(arguments)).pop(), r = t.length - 1; 0 <= r; r--) if (t[r]) for (n in e) t[r].prototype[n] = e[n];
                                        i.Set && i.Set.inherit && i.Set.inherit();
                                   }),
                                   (i.invent = function (t) {
                                        var e =
                                             "function" == typeof t.create
                                                  ? t.create
                                                  : function () {
                                                         this.constructor.call(this, i.create(t.create));
                                                    };
                                        return t.inherit && (e.prototype = new t.inherit()), t.extend && i.extend(e, t.extend), t.construct && i.extend(t.parent || i.Container, t.construct), e;
                                   }),
                                   (i.adopt = function (e) {
                                        return e
                                             ? e.instance
                                                  ? e.instance
                                                  : (((n =
                                                         "svg" == e.nodeName
                                                              ? e.parentNode instanceof t.SVGElement
                                                                   ? new i.Nested()
                                                                   : new i.Doc()
                                                              : "linearGradient" == e.nodeName
                                                              ? new i.Gradient("linear")
                                                              : "radialGradient" == e.nodeName
                                                              ? new i.Gradient("radial")
                                                              : i[h(e.nodeName)]
                                                              ? new i[h(e.nodeName)]()
                                                              : new i.Element(e)).type = e.nodeName),
                                                    ((n.node = e).instance = n) instanceof i.Doc && n.namespace().defs(),
                                                    n.setData(JSON.parse(e.getAttribute("svgjs:data")) || {}),
                                                    n)
                                             : null;
                                        var n;
                                   }),
                                   (i.prepare = function () {
                                        var t = e.getElementsByTagName("body")[0],
                                             n = (t ? new i.Doc(t) : i.adopt(e.documentElement).nested()).size(2, 0);
                                        i.parser = {
                                             body: t || e.documentElement,
                                             draw: n.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,
                                             poly: n.polyline().node,
                                             path: n.path().node,
                                             native: i.create("svg"),
                                        };
                                   }),
                                   (i.parser = { native: i.create("svg") }),
                                   e.addEventListener(
                                        "DOMContentLoaded",
                                        function () {
                                             i.parser.draw || i.prepare();
                                        },
                                        !1
                                   ),
                                   (i.regex = {
                                        numberAndUnit: /^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,
                                        hex: /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,
                                        rgb: /rgb\((\d+),(\d+),(\d+)\)/,
                                        reference: /#([a-z0-9\-_]+)/i,
                                        transforms: /\)\s*,?\s*/,
                                        whitespace: /\s/g,
                                        isHex: /^#[a-f0-9]{3,6}$/i,
                                        isRgb: /^rgb\(/,
                                        isCss: /[^:]+:[^;]+;?/,
                                        isBlank: /^(\s+)?$/,
                                        isNumber: /^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,
                                        isPercent: /^-?[\d\.]+%$/,
                                        isImage: /\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,
                                        delimiter: /[\s,]+/,
                                        hyphen: /([^e])\-/gi,
                                        pathLetters: /[MLHVCSQTAZ]/gi,
                                        isPathLetter: /[MLHVCSQTAZ]/i,
                                        numbersWithDots: /((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,
                                        dots: /\./g,
                                   }),
                                   (i.utils = {
                                        map: function (t, e) {
                                             var i,
                                                  n = t.length,
                                                  r = [];
                                             for (i = 0; i < n; i++) r.push(e(t[i]));
                                             return r;
                                        },
                                        filter: function (t, e) {
                                             var i,
                                                  n = t.length,
                                                  r = [];
                                             for (i = 0; i < n; i++) e(t[i]) && r.push(t[i]);
                                             return r;
                                        },
                                        radians: function (t) {
                                             return ((t % 360) * Math.PI) / 180;
                                        },
                                        degrees: function (t) {
                                             return ((180 * t) / Math.PI) % 360;
                                        },
                                        filterSVGElements: function (e) {
                                             return this.filter(e, function (e) {
                                                  return e instanceof t.SVGElement;
                                             });
                                        },
                                   }),
                                   (i.defaults = {
                                        attrs: {
                                             "fill-opacity": 1,
                                             "stroke-opacity": 1,
                                             "stroke-width": 0,
                                             "stroke-linejoin": "miter",
                                             "stroke-linecap": "butt",
                                             fill: "#000000",
                                             stroke: "#000000",
                                             opacity: 1,
                                             x: 0,
                                             y: 0,
                                             cx: 0,
                                             cy: 0,
                                             width: 0,
                                             height: 0,
                                             r: 0,
                                             rx: 0,
                                             ry: 0,
                                             offset: 0,
                                             "stop-opacity": 1,
                                             "stop-color": "#000000",
                                             "font-size": 16,
                                             "font-family": "Helvetica, Arial, sans-serif",
                                             "text-anchor": "start",
                                        },
                                   }),
                                   (i.Color = function (t) {
                                        var e, n;
                                        (this.r = 0),
                                             (this.g = 0),
                                             (this.b = 0),
                                             t &&
                                                  ("string" == typeof t
                                                       ? i.regex.isRgb.test(t)
                                                            ? ((e = i.regex.rgb.exec(t.replace(i.regex.whitespace, ""))), (this.r = parseInt(e[1])), (this.g = parseInt(e[2])), (this.b = parseInt(e[3])))
                                                            : i.regex.isHex.test(t) &&
                                                              ((e = i.regex.hex.exec(
                                                                   4 == (n = t).length ? ["#", n.substring(1, 2), n.substring(1, 2), n.substring(2, 3), n.substring(2, 3), n.substring(3, 4), n.substring(3, 4)].join("") : n
                                                              )),
                                                              (this.r = parseInt(e[1], 16)),
                                                              (this.g = parseInt(e[2], 16)),
                                                              (this.b = parseInt(e[3], 16)))
                                                       : "object" === (void 0 === t ? "undefined" : a(t)) && ((this.r = t.r), (this.g = t.g), (this.b = t.b)));
                                   }),
                                   i.extend(i.Color, {
                                        toString: function () {
                                             return this.toHex();
                                        },
                                        toHex: function () {
                                             return "#" + d(this.r) + d(this.g) + d(this.b);
                                        },
                                        toRgb: function () {
                                             return "rgb(" + [this.r, this.g, this.b].join() + ")";
                                        },
                                        brightness: function () {
                                             return (this.r / 255) * 0.3 + (this.g / 255) * 0.59 + (this.b / 255) * 0.11;
                                        },
                                        morph: function (t) {
                                             return (this.destination = new i.Color(t)), this;
                                        },
                                        at: function (t) {
                                             return this.destination
                                                  ? ((t = t < 0 ? 0 : 1 < t ? 1 : t),
                                                    new i.Color({ r: ~~(this.r + (this.destination.r - this.r) * t), g: ~~(this.g + (this.destination.g - this.g) * t), b: ~~(this.b + (this.destination.b - this.b) * t) }))
                                                  : this;
                                        },
                                   }),
                                   (i.Color.test = function (t) {
                                        return (t += ""), i.regex.isHex.test(t) || i.regex.isRgb.test(t);
                                   }),
                                   (i.Color.isRgb = function (t) {
                                        return t && "number" == typeof t.r && "number" == typeof t.g && "number" == typeof t.b;
                                   }),
                                   (i.Color.isColor = function (t) {
                                        return i.Color.isRgb(t) || i.Color.test(t);
                                   }),
                                   (i.Array = function (t, e) {
                                        0 == (t = (t || []).valueOf()).length && e && (t = e.valueOf()), (this.value = this.parse(t));
                                   }),
                                   i.extend(i.Array, {
                                        morph: function (t) {
                                             if (((this.destination = this.parse(t)), this.value.length != this.destination.length)) {
                                                  for (var e = this.value[this.value.length - 1], i = this.destination[this.destination.length - 1]; this.value.length > this.destination.length; ) this.destination.push(i);
                                                  for (; this.value.length < this.destination.length; ) this.value.push(e);
                                             }
                                             return this;
                                        },
                                        settle: function () {
                                             for (var t = 0, e = this.value.length, i = []; t < e; t++) -1 == i.indexOf(this.value[t]) && i.push(this.value[t]);
                                             return (this.value = i);
                                        },
                                        at: function (t) {
                                             if (!this.destination) return this;
                                             for (var e = 0, n = this.value.length, r = []; e < n; e++) r.push(this.value[e] + (this.destination[e] - this.value[e]) * t);
                                             return new i.Array(r);
                                        },
                                        toString: function () {
                                             return this.value.join(" ");
                                        },
                                        valueOf: function () {
                                             return this.value;
                                        },
                                        parse: function (t) {
                                             return (t = t.valueOf()), Array.isArray(t) ? t : this.split(t);
                                        },
                                        split: function (t) {
                                             return t.trim().split(i.regex.delimiter).map(parseFloat);
                                        },
                                        reverse: function () {
                                             return this.value.reverse(), this;
                                        },
                                        clone: function () {
                                             var t = new this.constructor();
                                             return (
                                                  (t.value = (function t(e) {
                                                       for (var i = e.slice(0), n = i.length; n--; ) Array.isArray(i[n]) && (i[n] = t(i[n]));
                                                       return i;
                                                  })(this.value)),
                                                  t
                                             );
                                        },
                                   }),
                                   (i.PointArray = function (t, e) {
                                        i.Array.call(this, t, e || [[0, 0]]);
                                   }),
                                   (i.PointArray.prototype = new i.Array()),
                                   (i.PointArray.prototype.constructor = i.PointArray),
                                   i.extend(i.PointArray, {
                                        toString: function () {
                                             for (var t = 0, e = this.value.length, i = []; t < e; t++) i.push(this.value[t].join(","));
                                             return i.join(" ");
                                        },
                                        toLine: function () {
                                             return { x1: this.value[0][0], y1: this.value[0][1], x2: this.value[1][0], y2: this.value[1][1] };
                                        },
                                        at: function (t) {
                                             if (!this.destination) return this;
                                             for (var e = 0, n = this.value.length, r = []; e < n; e++)
                                                  r.push([this.value[e][0] + (this.destination[e][0] - this.value[e][0]) * t, this.value[e][1] + (this.destination[e][1] - this.value[e][1]) * t]);
                                             return new i.PointArray(r);
                                        },
                                        parse: function (t) {
                                             var e = [];
                                             if (((t = t.valueOf()), Array.isArray(t))) {
                                                  if (Array.isArray(t[0]))
                                                       return t.map(function (t) {
                                                            return t.slice();
                                                       });
                                                  if (null != t[0].x)
                                                       return t.map(function (t) {
                                                            return [t.x, t.y];
                                                       });
                                             } else t = t.trim().split(i.regex.delimiter).map(parseFloat);
                                             t.length % 2 != 0 && t.pop();
                                             for (var n = 0, r = t.length; n < r; n += 2) e.push([t[n], t[n + 1]]);
                                             return e;
                                        },
                                        move: function (t, e) {
                                             var i = this.bbox();
                                             if (((t -= i.x), (e -= i.y), !isNaN(t) && !isNaN(e))) for (var n = this.value.length - 1; 0 <= n; n--) this.value[n] = [this.value[n][0] + t, this.value[n][1] + e];
                                             return this;
                                        },
                                        size: function (t, e) {
                                             var i,
                                                  n = this.bbox();
                                             for (i = this.value.length - 1; 0 <= i; i--)
                                                  n.width && (this.value[i][0] = ((this.value[i][0] - n.x) * t) / n.width + n.x), n.height && (this.value[i][1] = ((this.value[i][1] - n.y) * e) / n.height + n.y);
                                             return this;
                                        },
                                        bbox: function () {
                                             return i.parser.draw || i.prepare(), i.parser.poly.setAttribute("points", this.toString()), i.parser.poly.getBBox();
                                        },
                                   });
                              for (
                                   var n = {
                                             M: function (t, e, i) {
                                                  return (e.x = i.x = t[0]), (e.y = i.y = t[1]), ["M", e.x, e.y];
                                             },
                                             L: function (t, e) {
                                                  return (e.x = t[0]), (e.y = t[1]), ["L", t[0], t[1]];
                                             },
                                             H: function (t, e) {
                                                  return (e.x = t[0]), ["H", t[0]];
                                             },
                                             V: function (t, e) {
                                                  return (e.y = t[0]), ["V", t[0]];
                                             },
                                             C: function (t, e) {
                                                  return (e.x = t[4]), (e.y = t[5]), ["C", t[0], t[1], t[2], t[3], t[4], t[5]];
                                             },
                                             S: function (t, e) {
                                                  return (e.x = t[2]), (e.y = t[3]), ["S", t[0], t[1], t[2], t[3]];
                                             },
                                             Q: function (t, e) {
                                                  return (e.x = t[2]), (e.y = t[3]), ["Q", t[0], t[1], t[2], t[3]];
                                             },
                                             T: function (t, e) {
                                                  return (e.x = t[0]), (e.y = t[1]), ["T", t[0], t[1]];
                                             },
                                             Z: function (t, e, i) {
                                                  return (e.x = i.x), (e.y = i.y), ["Z"];
                                             },
                                             A: function (t, e) {
                                                  return (e.x = t[5]), (e.y = t[6]), ["A", t[0], t[1], t[2], t[3], t[4], t[5], t[6]];
                                             },
                                        },
                                        r = "mlhvqtcsaz".split(""),
                                        o = 0,
                                        s = r.length;
                                   o < s;
                                   ++o
                              )
                                   n[r[o]] = (function (t) {
                                        return function (e, i, r) {
                                             if ("H" == t) e[0] = e[0] + i.x;
                                             else if ("V" == t) e[0] = e[0] + i.y;
                                             else if ("A" == t) (e[5] = e[5] + i.x), (e[6] = e[6] + i.y);
                                             else for (var o = 0, a = e.length; o < a; ++o) e[o] = e[o] + (o % 2 ? i.y : i.x);
                                             return n[t](e, i, r);
                                        };
                                   })(r[o].toUpperCase());
                              (i.PathArray = function (t, e) {
                                   i.Array.call(this, t, e || [["M", 0, 0]]);
                              }),
                                   (i.PathArray.prototype = new i.Array()),
                                   (i.PathArray.prototype.constructor = i.PathArray),
                                   i.extend(i.PathArray, {
                                        toString: function () {
                                             return (function (t) {
                                                  for (var e = 0, i = t.length, n = ""; e < i; e++)
                                                       (n += t[e][0]),
                                                            null != t[e][1] &&
                                                                 ((n += t[e][1]),
                                                                 null != t[e][2] &&
                                                                      ((n += " "),
                                                                      (n += t[e][2]),
                                                                      null != t[e][3] &&
                                                                           ((n += " "),
                                                                           (n += t[e][3]),
                                                                           (n += " "),
                                                                           (n += t[e][4]),
                                                                           null != t[e][5] && ((n += " "), (n += t[e][5]), (n += " "), (n += t[e][6]), null != t[e][7] && ((n += " "), (n += t[e][7]))))));
                                                  return n + " ";
                                             })(this.value);
                                        },
                                        move: function (t, e) {
                                             var i = this.bbox();
                                             if (((t -= i.x), (e -= i.y), !isNaN(t) && !isNaN(e)))
                                                  for (var n, r = this.value.length - 1; 0 <= r; r--)
                                                       "M" == (n = this.value[r][0]) || "L" == n || "T" == n
                                                            ? ((this.value[r][1] += t), (this.value[r][2] += e))
                                                            : "H" == n
                                                            ? (this.value[r][1] += t)
                                                            : "V" == n
                                                            ? (this.value[r][1] += e)
                                                            : "C" == n || "S" == n || "Q" == n
                                                            ? ((this.value[r][1] += t), (this.value[r][2] += e), (this.value[r][3] += t), (this.value[r][4] += e), "C" == n && ((this.value[r][5] += t), (this.value[r][6] += e)))
                                                            : "A" == n && ((this.value[r][6] += t), (this.value[r][7] += e));
                                             return this;
                                        },
                                        size: function (t, e) {
                                             var i,
                                                  n,
                                                  r = this.bbox();
                                             for (i = this.value.length - 1; 0 <= i; i--)
                                                  "M" == (n = this.value[i][0]) || "L" == n || "T" == n
                                                       ? ((this.value[i][1] = ((this.value[i][1] - r.x) * t) / r.width + r.x), (this.value[i][2] = ((this.value[i][2] - r.y) * e) / r.height + r.y))
                                                       : "H" == n
                                                       ? (this.value[i][1] = ((this.value[i][1] - r.x) * t) / r.width + r.x)
                                                       : "V" == n
                                                       ? (this.value[i][1] = ((this.value[i][1] - r.y) * e) / r.height + r.y)
                                                       : "C" == n || "S" == n || "Q" == n
                                                       ? ((this.value[i][1] = ((this.value[i][1] - r.x) * t) / r.width + r.x),
                                                         (this.value[i][2] = ((this.value[i][2] - r.y) * e) / r.height + r.y),
                                                         (this.value[i][3] = ((this.value[i][3] - r.x) * t) / r.width + r.x),
                                                         (this.value[i][4] = ((this.value[i][4] - r.y) * e) / r.height + r.y),
                                                         "C" == n && ((this.value[i][5] = ((this.value[i][5] - r.x) * t) / r.width + r.x), (this.value[i][6] = ((this.value[i][6] - r.y) * e) / r.height + r.y)))
                                                       : "A" == n &&
                                                         ((this.value[i][1] = (this.value[i][1] * t) / r.width),
                                                         (this.value[i][2] = (this.value[i][2] * e) / r.height),
                                                         (this.value[i][6] = ((this.value[i][6] - r.x) * t) / r.width + r.x),
                                                         (this.value[i][7] = ((this.value[i][7] - r.y) * e) / r.height + r.y));
                                             return this;
                                        },
                                        equalCommands: function (t) {
                                             var e, n, r;
                                             for (t = new i.PathArray(t), r = this.value.length === t.value.length, e = 0, n = this.value.length; r && e < n; e++) r = this.value[e][0] === t.value[e][0];
                                             return r;
                                        },
                                        morph: function (t) {
                                             return (t = new i.PathArray(t)), this.equalCommands(t) ? (this.destination = t) : (this.destination = null), this;
                                        },
                                        at: function (t) {
                                             if (!this.destination) return this;
                                             var e,
                                                  n,
                                                  r,
                                                  o,
                                                  a = this.value,
                                                  s = this.destination.value,
                                                  l = [],
                                                  c = new i.PathArray();
                                             for (e = 0, n = a.length; e < n; e++) {
                                                  for (l[e] = [a[e][0]], r = 1, o = a[e].length; r < o; r++) l[e][r] = a[e][r] + (s[e][r] - a[e][r]) * t;
                                                  "A" === l[e][0] && ((l[e][4] = +(0 != l[e][4])), (l[e][5] = +(0 != l[e][5])));
                                             }
                                             return (c.value = l), c;
                                        },
                                        parse: function (t) {
                                             if (t instanceof i.PathArray) return t.valueOf();
                                             var e,
                                                  r = { M: 2, L: 2, H: 1, V: 1, C: 6, S: 4, Q: 4, T: 2, A: 7, Z: 0 };
                                             t =
                                                  "string" == typeof t
                                                       ? t.replace(i.regex.numbersWithDots, c).replace(i.regex.pathLetters, " $& ").replace(i.regex.hyphen, "$1 -").trim().split(i.regex.delimiter)
                                                       : t.reduce(function (t, e) {
                                                              return [].concat.call(t, e);
                                                         }, []);
                                             for (
                                                  var o = [], a = new i.Point(), s = new i.Point(), l = 0, u = t.length;
                                                  i.regex.isPathLetter.test(t[l]) ? ((e = t[l]), ++l) : "M" == e ? (e = "L") : "m" == e && (e = "l"),
                                                       o.push(n[e].call(null, t.slice(l, (l += r[e.toUpperCase()])).map(parseFloat), a, s)),
                                                       l < u;

                                             );
                                             return o;
                                        },
                                        bbox: function () {
                                             return i.parser.draw || i.prepare(), i.parser.path.setAttribute("d", this.toString()), i.parser.path.getBBox();
                                        },
                                   }),
                                   (i.Number = i.invent({
                                        create: function (t, e) {
                                             (this.value = 0),
                                                  (this.unit = e || ""),
                                                  "number" == typeof t
                                                       ? (this.value = isNaN(t) ? 0 : isFinite(t) ? t : t < 0 ? -34e37 : 34e37)
                                                       : "string" == typeof t
                                                       ? (e = t.match(i.regex.numberAndUnit)) && ((this.value = parseFloat(e[1])), "%" == e[5] ? (this.value /= 100) : "s" == e[5] && (this.value *= 1e3), (this.unit = e[5]))
                                                       : t instanceof i.Number && ((this.value = t.valueOf()), (this.unit = t.unit));
                                        },
                                        extend: {
                                             toString: function () {
                                                  return ("%" == this.unit ? ~~(1e8 * this.value) / 1e6 : "s" == this.unit ? this.value / 1e3 : this.value) + this.unit;
                                             },
                                             toJSON: function () {
                                                  return this.toString();
                                             },
                                             valueOf: function () {
                                                  return this.value;
                                             },
                                             plus: function (t) {
                                                  return (t = new i.Number(t)), new i.Number(this + t, this.unit || t.unit);
                                             },
                                             minus: function (t) {
                                                  return (t = new i.Number(t)), new i.Number(this - t, this.unit || t.unit);
                                             },
                                             times: function (t) {
                                                  return (t = new i.Number(t)), new i.Number(this * t, this.unit || t.unit);
                                             },
                                             divide: function (t) {
                                                  return (t = new i.Number(t)), new i.Number(this / t, this.unit || t.unit);
                                             },
                                             to: function (t) {
                                                  var e = new i.Number(this);
                                                  return "string" == typeof t && (e.unit = t), e;
                                             },
                                             morph: function (t) {
                                                  return (this.destination = new i.Number(t)), t.relative && (this.destination.value += this.value), this;
                                             },
                                             at: function (t) {
                                                  return this.destination ? new i.Number(this.destination).minus(this).times(t).plus(this) : this;
                                             },
                                        },
                                   })),
                                   (i.Element = i.invent({
                                        create: function (t) {
                                             (this._stroke = i.defaults.attrs.stroke),
                                                  (this._event = null),
                                                  (this.dom = {}),
                                                  (this.node = t) && ((this.type = t.nodeName), ((this.node.instance = this)._stroke = t.getAttribute("stroke") || this._stroke));
                                        },
                                        extend: {
                                             x: function (t) {
                                                  return this.attr("x", t);
                                             },
                                             y: function (t) {
                                                  return this.attr("y", t);
                                             },
                                             cx: function (t) {
                                                  return null == t ? this.x() + this.width() / 2 : this.x(t - this.width() / 2);
                                             },
                                             cy: function (t) {
                                                  return null == t ? this.y() + this.height() / 2 : this.y(t - this.height() / 2);
                                             },
                                             move: function (t, e) {
                                                  return this.x(t).y(e);
                                             },
                                             center: function (t, e) {
                                                  return this.cx(t).cy(e);
                                             },
                                             width: function (t) {
                                                  return this.attr("width", t);
                                             },
                                             height: function (t) {
                                                  return this.attr("height", t);
                                             },
                                             size: function (t, e) {
                                                  var n = p(this, t, e);
                                                  return this.width(new i.Number(n.width)).height(new i.Number(n.height));
                                             },
                                             clone: function (t) {
                                                  this.writeDataToDom();
                                                  var e = v(this.node.cloneNode(!0));
                                                  return t ? t.add(e) : this.after(e), e;
                                             },
                                             remove: function () {
                                                  return this.parent() && this.parent().removeElement(this), this;
                                             },
                                             replace: function (t) {
                                                  return this.after(t).remove(), t;
                                             },
                                             addTo: function (t) {
                                                  return t.put(this);
                                             },
                                             putIn: function (t) {
                                                  return t.add(this);
                                             },
                                             id: function (t) {
                                                  return this.attr("id", t);
                                             },
                                             inside: function (t, e) {
                                                  var i = this.bbox();
                                                  return t > i.x && e > i.y && t < i.x + i.width && e < i.y + i.height;
                                             },
                                             show: function () {
                                                  return this.style("display", "");
                                             },
                                             hide: function () {
                                                  return this.style("display", "none");
                                             },
                                             visible: function () {
                                                  return "none" != this.style("display");
                                             },
                                             toString: function () {
                                                  return this.attr("id");
                                             },
                                             classes: function () {
                                                  var t = this.attr("class");
                                                  return null == t ? [] : t.trim().split(i.regex.delimiter);
                                             },
                                             hasClass: function (t) {
                                                  return -1 != this.classes().indexOf(t);
                                             },
                                             addClass: function (t) {
                                                  if (!this.hasClass(t)) {
                                                       var e = this.classes();
                                                       e.push(t), this.attr("class", e.join(" "));
                                                  }
                                                  return this;
                                             },
                                             removeClass: function (t) {
                                                  return (
                                                       this.hasClass(t) &&
                                                            this.attr(
                                                                 "class",
                                                                 this.classes()
                                                                      .filter(function (e) {
                                                                           return e != t;
                                                                      })
                                                                      .join(" ")
                                                            ),
                                                       this
                                                  );
                                             },
                                             toggleClass: function (t) {
                                                  return this.hasClass(t) ? this.removeClass(t) : this.addClass(t);
                                             },
                                             reference: function (t) {
                                                  return i.get(this.attr(t));
                                             },
                                             parent: function (e) {
                                                  var n = this;
                                                  if (!n.node.parentNode) return null;
                                                  if (((n = i.adopt(n.node.parentNode)), !e)) return n;
                                                  for (; n && n.node instanceof t.SVGElement; ) {
                                                       if ("string" == typeof e ? n.matches(e) : n instanceof e) return n;
                                                       if (!n.node.parentNode || "#document" == n.node.parentNode.nodeName) return null;
                                                       n = i.adopt(n.node.parentNode);
                                                  }
                                             },
                                             doc: function () {
                                                  return this instanceof i.Doc ? this : this.parent(i.Doc);
                                             },
                                             parents: function (t) {
                                                  var e = [],
                                                       i = this;
                                                  do {
                                                       if (!(i = i.parent(t)) || !i.node) break;
                                                       e.push(i);
                                                  } while (i.parent);
                                                  return e;
                                             },
                                             matches: function (t) {
                                                  return (i = t), ((e = this.node).matches || e.matchesSelector || e.msMatchesSelector || e.mozMatchesSelector || e.webkitMatchesSelector || e.oMatchesSelector).call(e, i);
                                                  var e, i;
                                             },
                                             native: function () {
                                                  return this.node;
                                             },
                                             svg: function (t) {
                                                  var n = e.createElement("svg");
                                                  if (!(t && this instanceof i.Parent))
                                                       return n.appendChild((t = e.createElement("svg"))), this.writeDataToDom(), t.appendChild(this.node.cloneNode(!0)), n.innerHTML.replace(/^<svg>/, "").replace(/<\/svg>$/, "");
                                                  n.innerHTML = "<svg>" + t.replace(/\n/, "").replace(/<([\w:-]+)([^<]+?)\/>/g, "<$1$2></$1>") + "</svg>";
                                                  for (var r = 0, o = n.firstChild.childNodes.length; r < o; r++) this.node.appendChild(n.firstChild.firstChild);
                                                  return this;
                                             },
                                             writeDataToDom: function () {
                                                  return (
                                                       (this.each || this.lines) &&
                                                            (this.each ? this : this.lines()).each(function () {
                                                                 this.writeDataToDom();
                                                            }),
                                                       this.node.removeAttribute("svgjs:data"),
                                                       Object.keys(this.dom).length && this.node.setAttribute("svgjs:data", JSON.stringify(this.dom)),
                                                       this
                                                  );
                                             },
                                             setData: function (t) {
                                                  return (this.dom = t), this;
                                             },
                                             is: function (t) {
                                                  return this instanceof t;
                                             },
                                        },
                                   })),
                                   (i.easing = {
                                        "-": function (t) {
                                             return t;
                                        },
                                        "<>": function (t) {
                                             return -Math.cos(t * Math.PI) / 2 + 0.5;
                                        },
                                        ">": function (t) {
                                             return Math.sin((t * Math.PI) / 2);
                                        },
                                        "<": function (t) {
                                             return 1 - Math.cos((t * Math.PI) / 2);
                                        },
                                   }),
                                   (i.morph = function (t) {
                                        return function (e, n) {
                                             return new i.MorphObj(e, n).at(t);
                                        };
                                   }),
                                   (i.Situation = i.invent({
                                        create: function (t) {
                                             (this.init = !1),
                                                  (this.reversed = !1),
                                                  (this.reversing = !1),
                                                  (this.duration = new i.Number(t.duration).valueOf()),
                                                  (this.delay = new i.Number(t.delay).valueOf()),
                                                  (this.start = +new Date() + this.delay),
                                                  (this.finish = this.start + this.duration),
                                                  (this.ease = t.ease),
                                                  (this.loop = 0),
                                                  (this.loops = !1),
                                                  (this.animations = {}),
                                                  (this.attrs = {}),
                                                  (this.styles = {}),
                                                  (this.transforms = []),
                                                  (this.once = {});
                                        },
                                   })),
                                   (i.FX = i.invent({
                                        create: function (t) {
                                             (this._target = t), (this.situations = []), (this.active = !1), (this.situation = null), (this.paused = !1), (this.lastPos = 0), (this.pos = 0), (this.absPos = 0), (this._speed = 1);
                                        },
                                        extend: {
                                             animate: function (t, e, n) {
                                                  "object" === (void 0 === t ? "undefined" : a(t)) && ((e = t.ease), (n = t.delay), (t = t.duration));
                                                  var r = new i.Situation({ duration: t || 1e3, delay: n || 0, ease: i.easing[e || "-"] || e });
                                                  return this.queue(r), this;
                                             },
                                             delay: function (t) {
                                                  var e = new i.Situation({ duration: t, delay: 0, ease: i.easing["-"] });
                                                  return this.queue(e);
                                             },
                                             target: function (t) {
                                                  return t && t instanceof i.Element ? ((this._target = t), this) : this._target;
                                             },
                                             timeToAbsPos: function (t) {
                                                  return (t - this.situation.start) / (this.situation.duration / this._speed);
                                             },
                                             absPosToTime: function (t) {
                                                  return (this.situation.duration / this._speed) * t + this.situation.start;
                                             },
                                             startAnimFrame: function () {
                                                  this.stopAnimFrame(),
                                                       (this.animationFrame = t.requestAnimationFrame(
                                                            function () {
                                                                 this.step();
                                                            }.bind(this)
                                                       ));
                                             },
                                             stopAnimFrame: function () {
                                                  t.cancelAnimationFrame(this.animationFrame);
                                             },
                                             start: function () {
                                                  return !this.active && this.situation && ((this.active = !0), this.startCurrent()), this;
                                             },
                                             startCurrent: function () {
                                                  return (
                                                       (this.situation.start = +new Date() + this.situation.delay / this._speed),
                                                       (this.situation.finish = this.situation.start + this.situation.duration / this._speed),
                                                       this.initAnimations().step()
                                                  );
                                             },
                                             queue: function (t) {
                                                  return ("function" == typeof t || t instanceof i.Situation) && this.situations.push(t), this.situation || (this.situation = this.situations.shift()), this;
                                             },
                                             dequeue: function () {
                                                  return this.stop(), (this.situation = this.situations.shift()), this.situation && (this.situation instanceof i.Situation ? this.start() : this.situation.call(this)), this;
                                             },
                                             initAnimations: function () {
                                                  var t,
                                                       e,
                                                       n,
                                                       r = this.situation;
                                                  if (r.init) return this;
                                                  for (t in r.animations)
                                                       for (n = this.target()[t](), Array.isArray(n) || (n = [n]), Array.isArray(r.animations[t]) || (r.animations[t] = [r.animations[t]]), e = n.length; e--; )
                                                            r.animations[t][e] instanceof i.Number && (n[e] = new i.Number(n[e])), (r.animations[t][e] = n[e].morph(r.animations[t][e]));
                                                  for (t in r.attrs) r.attrs[t] = new i.MorphObj(this.target().attr(t), r.attrs[t]);
                                                  for (t in r.styles) r.styles[t] = new i.MorphObj(this.target().style(t), r.styles[t]);
                                                  return (r.initialTransformation = this.target().matrixify()), (r.init = !0), this;
                                             },
                                             clearQueue: function () {
                                                  return (this.situations = []), this;
                                             },
                                             clearCurrent: function () {
                                                  return (this.situation = null), this;
                                             },
                                             stop: function (t, e) {
                                                  var i = this.active;
                                                  return (this.active = !1), e && this.clearQueue(), t && this.situation && (!i && this.startCurrent(), this.atEnd()), this.stopAnimFrame(), this.clearCurrent();
                                             },
                                             reset: function () {
                                                  if (this.situation) {
                                                       var t = this.situation;
                                                       this.stop(), (this.situation = t), this.atStart();
                                                  }
                                                  return this;
                                             },
                                             finish: function () {
                                                  for (this.stop(!0, !1); this.dequeue().situation && this.stop(!0, !1); );
                                                  return this.clearQueue().clearCurrent(), this;
                                             },
                                             atStart: function () {
                                                  return this.at(0, !0);
                                             },
                                             atEnd: function () {
                                                  return !0 === this.situation.loops && (this.situation.loops = this.situation.loop + 1), "number" == typeof this.situation.loops ? this.at(this.situation.loops, !0) : this.at(1, !0);
                                             },
                                             at: function (t, e) {
                                                  var i = this.situation.duration / this._speed;
                                                  return (
                                                       (this.absPos = t),
                                                       e || (this.situation.reversed && (this.absPos = 1 - this.absPos), (this.absPos += this.situation.loop)),
                                                       (this.situation.start = +new Date() - this.absPos * i),
                                                       (this.situation.finish = this.situation.start + i),
                                                       this.step(!0)
                                                  );
                                             },
                                             speed: function (t) {
                                                  return 0 === t ? this.pause() : t ? ((this._speed = t), this.at(this.absPos, !0)) : this._speed;
                                             },
                                             loop: function (t, e) {
                                                  var i = this.last();
                                                  return (i.loops = null == t || t), (i.loop = 0), e && (i.reversing = !0), this;
                                             },
                                             pause: function () {
                                                  return (this.paused = !0), this.stopAnimFrame(), this;
                                             },
                                             play: function () {
                                                  return this.paused ? ((this.paused = !1), this.at(this.absPos, !0)) : this;
                                             },
                                             reverse: function (t) {
                                                  var e = this.last();
                                                  return (e.reversed = void 0 === t ? !e.reversed : t), this;
                                             },
                                             progress: function (t) {
                                                  return t ? this.situation.ease(this.pos) : this.pos;
                                             },
                                             after: function (t) {
                                                  var e = this.last();
                                                  return (
                                                       this.target().on("finished.fx", function i(n) {
                                                            n.detail.situation == e && (t.call(this, e), this.off("finished.fx", i));
                                                       }),
                                                       this._callStart()
                                                  );
                                             },
                                             during: function (t) {
                                                  var e = this.last(),
                                                       n = function (n) {
                                                            n.detail.situation == e && t.call(this, n.detail.pos, i.morph(n.detail.pos), n.detail.eased, e);
                                                       };
                                                  return (
                                                       this.target().off("during.fx", n).on("during.fx", n),
                                                       this.after(function () {
                                                            this.off("during.fx", n);
                                                       }),
                                                       this._callStart()
                                                  );
                                             },
                                             afterAll: function (t) {
                                                  var e = function e(i) {
                                                       t.call(this), this.off("allfinished.fx", e);
                                                  };
                                                  return this.target().off("allfinished.fx", e).on("allfinished.fx", e), this._callStart();
                                             },
                                             duringAll: function (t) {
                                                  var e = function (e) {
                                                       t.call(this, e.detail.pos, i.morph(e.detail.pos), e.detail.eased, e.detail.situation);
                                                  };
                                                  return (
                                                       this.target().off("during.fx", e).on("during.fx", e),
                                                       this.afterAll(function () {
                                                            this.off("during.fx", e);
                                                       }),
                                                       this._callStart()
                                                  );
                                             },
                                             last: function () {
                                                  return this.situations.length ? this.situations[this.situations.length - 1] : this.situation;
                                             },
                                             add: function (t, e, i) {
                                                  return (this.last()[i || "animations"][t] = e), this._callStart();
                                             },
                                             step: function (t) {
                                                  var e, i, n;
                                                  t || (this.absPos = this.timeToAbsPos(+new Date())),
                                                       !1 !== this.situation.loops
                                                            ? ((e = Math.max(this.absPos, 0)),
                                                              (i = Math.floor(e)),
                                                              !0 === this.situation.loops || i < this.situation.loops
                                                                   ? ((this.pos = e - i), (n = this.situation.loop), (this.situation.loop = i))
                                                                   : ((this.absPos = this.situation.loops), (this.pos = 1), (n = this.situation.loop - 1), (this.situation.loop = this.situation.loops)),
                                                              this.situation.reversing && (this.situation.reversed = this.situation.reversed != Boolean((this.situation.loop - n) % 2)))
                                                            : ((this.absPos = Math.min(this.absPos, 1)), (this.pos = this.absPos)),
                                                       this.pos < 0 && (this.pos = 0),
                                                       this.situation.reversed && (this.pos = 1 - this.pos);
                                                  var r = this.situation.ease(this.pos);
                                                  for (var o in this.situation.once) o > this.lastPos && o <= r && (this.situation.once[o].call(this.target(), this.pos, r), delete this.situation.once[o]);
                                                  return (
                                                       this.active && this.target().fire("during", { pos: this.pos, eased: r, fx: this, situation: this.situation }),
                                                       this.situation &&
                                                            (this.eachAt(),
                                                            (1 == this.pos && !this.situation.reversed) || (this.situation.reversed && 0 == this.pos)
                                                                 ? (this.stopAnimFrame(),
                                                                   this.target().fire("finished", { fx: this, situation: this.situation }),
                                                                   this.situations.length || (this.target().fire("allfinished"), this.situations.length || (this.target().off(".fx"), (this.active = !1))),
                                                                   this.active ? this.dequeue() : this.clearCurrent())
                                                                 : !this.paused && this.active && this.startAnimFrame(),
                                                            (this.lastPos = r)),
                                                       this
                                                  );
                                             },
                                             eachAt: function () {
                                                  var t,
                                                       e,
                                                       n,
                                                       r = this,
                                                       o = this.target(),
                                                       a = this.situation;
                                                  for (t in a.animations)
                                                       (n = [].concat(a.animations[t]).map(function (t) {
                                                            return "string" != typeof t && t.at ? t.at(a.ease(r.pos), r.pos) : t;
                                                       })),
                                                            o[t].apply(o, n);
                                                  for (t in a.attrs)
                                                       (n = [t].concat(a.attrs[t]).map(function (t) {
                                                            return "string" != typeof t && t.at ? t.at(a.ease(r.pos), r.pos) : t;
                                                       })),
                                                            o.attr.apply(o, n);
                                                  for (t in a.styles)
                                                       (n = [t].concat(a.styles[t]).map(function (t) {
                                                            return "string" != typeof t && t.at ? t.at(a.ease(r.pos), r.pos) : t;
                                                       })),
                                                            o.style.apply(o, n);
                                                  if (a.transforms.length) {
                                                       for (n = a.initialTransformation, t = 0, e = a.transforms.length; t < e; t++) {
                                                            var s = a.transforms[t];
                                                            s instanceof i.Matrix
                                                                 ? (n = s.relative ? n.multiply(new i.Matrix().morph(s).at(a.ease(this.pos))) : n.morph(s).at(a.ease(this.pos)))
                                                                 : (s.relative || s.undo(n.extract()), (n = n.multiply(s.at(a.ease(this.pos)))));
                                                       }
                                                       o.matrix(n);
                                                  }
                                                  return this;
                                             },
                                             once: function (t, e, i) {
                                                  var n = this.last();
                                                  return i || (t = n.ease(t)), (n.once[t] = e), this;
                                             },
                                             _callStart: function () {
                                                  return (
                                                       setTimeout(
                                                            function () {
                                                                 this.start();
                                                            }.bind(this),
                                                            0
                                                       ),
                                                       this
                                                  );
                                             },
                                        },
                                        parent: i.Element,
                                        construct: {
                                             animate: function (t, e, n) {
                                                  return (this.fx || (this.fx = new i.FX(this))).animate(t, e, n);
                                             },
                                             delay: function (t) {
                                                  return (this.fx || (this.fx = new i.FX(this))).delay(t);
                                             },
                                             stop: function (t, e) {
                                                  return this.fx && this.fx.stop(t, e), this;
                                             },
                                             finish: function () {
                                                  return this.fx && this.fx.finish(), this;
                                             },
                                             pause: function () {
                                                  return this.fx && this.fx.pause(), this;
                                             },
                                             play: function () {
                                                  return this.fx && this.fx.play(), this;
                                             },
                                             speed: function (t) {
                                                  if (this.fx) {
                                                       if (null == t) return this.fx.speed();
                                                       this.fx.speed(t);
                                                  }
                                                  return this;
                                             },
                                        },
                                   })),
                                   (i.MorphObj = i.invent({
                                        create: function (t, e) {
                                             return i.Color.isColor(e)
                                                  ? new i.Color(t).morph(e)
                                                  : i.regex.delimiter.test(t)
                                                  ? i.regex.pathLetters.test(t)
                                                       ? new i.PathArray(t).morph(e)
                                                       : new i.Array(t).morph(e)
                                                  : i.regex.numberAndUnit.test(e)
                                                  ? new i.Number(t).morph(e)
                                                  : ((this.value = t), void (this.destination = e));
                                        },
                                        extend: {
                                             at: function (t, e) {
                                                  return e < 1 ? this.value : this.destination;
                                             },
                                             valueOf: function () {
                                                  return this.value;
                                             },
                                        },
                                   })),
                                   i.extend(i.FX, {
                                        attr: function (t, e, i) {
                                             if ("object" === (void 0 === t ? "undefined" : a(t))) for (var n in t) this.attr(n, t[n]);
                                             else this.add(t, e, "attrs");
                                             return this;
                                        },
                                        style: function (t, e) {
                                             if ("object" === (void 0 === t ? "undefined" : a(t))) for (var i in t) this.style(i, t[i]);
                                             else this.add(t, e, "styles");
                                             return this;
                                        },
                                        x: function (t, e) {
                                             if (this.target() instanceof i.G) return this.transform({ x: t }, e), this;
                                             var n = new i.Number(t);
                                             return (n.relative = e), this.add("x", n);
                                        },
                                        y: function (t, e) {
                                             if (this.target() instanceof i.G) return this.transform({ y: t }, e), this;
                                             var n = new i.Number(t);
                                             return (n.relative = e), this.add("y", n);
                                        },
                                        cx: function (t) {
                                             return this.add("cx", new i.Number(t));
                                        },
                                        cy: function (t) {
                                             return this.add("cy", new i.Number(t));
                                        },
                                        move: function (t, e) {
                                             return this.x(t).y(e);
                                        },
                                        center: function (t, e) {
                                             return this.cx(t).cy(e);
                                        },
                                        size: function (t, e) {
                                             var n;
                                             return (
                                                  this.target() instanceof i.Text
                                                       ? this.attr("font-size", t)
                                                       : ((t && e) || (n = this.target().bbox()), t || (t = (n.width / n.height) * e), e || (e = (n.height / n.width) * t), this.add("width", new i.Number(t)).add("height", new i.Number(e))),
                                                  this
                                             );
                                        },
                                        width: function (t) {
                                             return this.add("width", new i.Number(t));
                                        },
                                        height: function (t) {
                                             return this.add("height", new i.Number(t));
                                        },
                                        plot: function (t, e, i, n) {
                                             return 4 == arguments.length ? this.plot([t, e, i, n]) : this.add("plot", new (this.target().morphArray)(t));
                                        },
                                        leading: function (t) {
                                             return this.target().leading ? this.add("leading", new i.Number(t)) : this;
                                        },
                                        viewbox: function (t, e, n, r) {
                                             return this.target() instanceof i.Container && this.add("viewbox", new i.ViewBox(t, e, n, r)), this;
                                        },
                                        update: function (t) {
                                             if (this.target() instanceof i.Stop) {
                                                  if ("number" == typeof t || t instanceof i.Number) return this.update({ offset: t, color: arguments[1], opacity: arguments[2] });
                                                  null != t.opacity && this.attr("stop-opacity", t.opacity), null != t.color && this.attr("stop-color", t.color), null != t.offset && this.attr("offset", t.offset);
                                             }
                                             return this;
                                        },
                                   }),
                                   (i.Box = i.invent({
                                        create: function (t, e, n, r) {
                                             if (!("object" !== (void 0 === t ? "undefined" : a(t)) || t instanceof i.Element)) return i.Box.call(this, null != t.left ? t.left : t.x, null != t.top ? t.top : t.y, t.width, t.height);
                                             4 == arguments.length && ((this.x = t), (this.y = e), (this.width = n), (this.height = r)), y(this);
                                        },
                                        extend: {
                                             merge: function (t) {
                                                  var e = new this.constructor();
                                                  return (
                                                       (e.x = Math.min(this.x, t.x)),
                                                       (e.y = Math.min(this.y, t.y)),
                                                       (e.width = Math.max(this.x + this.width, t.x + t.width) - e.x),
                                                       (e.height = Math.max(this.y + this.height, t.y + t.height) - e.y),
                                                       y(e)
                                                  );
                                             },
                                             transform: function (t) {
                                                  var e,
                                                       n = 1 / 0,
                                                       r = -1 / 0,
                                                       o = 1 / 0,
                                                       a = -1 / 0;
                                                  return (
                                                       [new i.Point(this.x, this.y), new i.Point(this.x2, this.y), new i.Point(this.x, this.y2), new i.Point(this.x2, this.y2)].forEach(function (e) {
                                                            (e = e.transform(t)), (n = Math.min(n, e.x)), (r = Math.max(r, e.x)), (o = Math.min(o, e.y)), (a = Math.max(a, e.y));
                                                       }),
                                                       ((e = new this.constructor()).x = n),
                                                       (e.width = r - n),
                                                       (e.y = o),
                                                       (e.height = a - o),
                                                       y(e),
                                                       e
                                                  );
                                             },
                                        },
                                   })),
                                   (i.BBox = i.invent({
                                        create: function (t) {
                                             if ((i.Box.apply(this, [].slice.call(arguments)), t instanceof i.Element)) {
                                                  var n;
                                                  try {
                                                       if (!e.documentElement.contains) {
                                                            for (var r = t.node; r.parentNode; ) r = r.parentNode;
                                                            if (r != e) throw new Error("Element not in the dom");
                                                       }
                                                       n = t.node.getBBox();
                                                  } catch (r) {
                                                       if (t instanceof i.Shape) {
                                                            i.parser.draw || i.prepare();
                                                            var o = t.clone(i.parser.draw.instance).show();
                                                            (n = o.node.getBBox()), o.remove();
                                                       } else n = { x: t.node.clientLeft, y: t.node.clientTop, width: t.node.clientWidth, height: t.node.clientHeight };
                                                  }
                                                  i.Box.call(this, n);
                                             }
                                        },
                                        inherit: i.Box,
                                        parent: i.Element,
                                        construct: {
                                             bbox: function () {
                                                  return new i.BBox(this);
                                             },
                                        },
                                   })),
                                   (i.BBox.prototype.constructor = i.BBox),
                                   i.extend(i.Element, {
                                        tbox: function () {
                                             return console.warn("Use of TBox is deprecated and mapped to RBox. Use .rbox() instead."), this.rbox(this.doc());
                                        },
                                   }),
                                   (i.RBox = i.invent({
                                        create: function (t) {
                                             i.Box.apply(this, [].slice.call(arguments)), t instanceof i.Element && i.Box.call(this, t.node.getBoundingClientRect());
                                        },
                                        inherit: i.Box,
                                        parent: i.Element,
                                        extend: {
                                             addOffset: function () {
                                                  return (this.x += t.pageXOffset), (this.y += t.pageYOffset), this;
                                             },
                                        },
                                        construct: {
                                             rbox: function (t) {
                                                  return t ? new i.RBox(this).transform(t.screenCTM().inverse()) : new i.RBox(this).addOffset();
                                             },
                                        },
                                   })),
                                   (i.RBox.prototype.constructor = i.RBox),
                                   (i.Matrix = i.invent({
                                        create: function (t) {
                                             var e,
                                                  n = m([1, 0, 0, 1, 0, 0]);
                                             for (
                                                  t =
                                                       t instanceof i.Element
                                                            ? t.matrixify()
                                                            : "string" == typeof t
                                                            ? m(t.split(i.regex.delimiter).map(parseFloat))
                                                            : 6 == arguments.length
                                                            ? m([].slice.call(arguments))
                                                            : Array.isArray(t)
                                                            ? m(t)
                                                            : "object" === (void 0 === t ? "undefined" : a(t))
                                                            ? t
                                                            : n,
                                                       e = _.length - 1;
                                                  0 <= e;
                                                  --e
                                             )
                                                  this[_[e]] = null != t[_[e]] ? t[_[e]] : n[_[e]];
                                        },
                                        extend: {
                                             extract: function () {
                                                  var t = f(this, 0, 1),
                                                       e = f(this, 1, 0),
                                                       n = (180 / Math.PI) * Math.atan2(t.y, t.x) - 90;
                                                  return {
                                                       x: this.e,
                                                       y: this.f,
                                                       transformedX: (this.e * Math.cos((n * Math.PI) / 180) + this.f * Math.sin((n * Math.PI) / 180)) / Math.sqrt(this.a * this.a + this.b * this.b),
                                                       transformedY: (this.f * Math.cos((n * Math.PI) / 180) + this.e * Math.sin((-n * Math.PI) / 180)) / Math.sqrt(this.c * this.c + this.d * this.d),
                                                       skewX: -n,
                                                       skewY: (180 / Math.PI) * Math.atan2(e.y, e.x),
                                                       scaleX: Math.sqrt(this.a * this.a + this.b * this.b),
                                                       scaleY: Math.sqrt(this.c * this.c + this.d * this.d),
                                                       rotation: n,
                                                       a: this.a,
                                                       b: this.b,
                                                       c: this.c,
                                                       d: this.d,
                                                       e: this.e,
                                                       f: this.f,
                                                       matrix: new i.Matrix(this),
                                                  };
                                             },
                                             clone: function () {
                                                  return new i.Matrix(this);
                                             },
                                             morph: function (t) {
                                                  return (this.destination = new i.Matrix(t)), this;
                                             },
                                             at: function (t) {
                                                  return this.destination
                                                       ? new i.Matrix({
                                                              a: this.a + (this.destination.a - this.a) * t,
                                                              b: this.b + (this.destination.b - this.b) * t,
                                                              c: this.c + (this.destination.c - this.c) * t,
                                                              d: this.d + (this.destination.d - this.d) * t,
                                                              e: this.e + (this.destination.e - this.e) * t,
                                                              f: this.f + (this.destination.f - this.f) * t,
                                                         })
                                                       : this;
                                             },
                                             multiply: function (t) {
                                                  return new i.Matrix(
                                                       this.native().multiply(
                                                            (function (t) {
                                                                 return t instanceof i.Matrix || (t = new i.Matrix(t)), t;
                                                            })(t).native()
                                                       )
                                                  );
                                             },
                                             inverse: function () {
                                                  return new i.Matrix(this.native().inverse());
                                             },
                                             translate: function (t, e) {
                                                  return new i.Matrix(this.native().translate(t || 0, e || 0));
                                             },
                                             scale: function (t, e, n, r) {
                                                  return 1 == arguments.length ? (e = t) : 3 == arguments.length && ((r = n), (n = e), (e = t)), this.around(n, r, new i.Matrix(t, 0, 0, e, 0, 0));
                                             },
                                             rotate: function (t, e, n) {
                                                  return (t = i.utils.radians(t)), this.around(e, n, new i.Matrix(Math.cos(t), Math.sin(t), -Math.sin(t), Math.cos(t), 0, 0));
                                             },
                                             flip: function (t, e) {
                                                  return "x" == t ? this.scale(-1, 1, e, 0) : "y" == t ? this.scale(1, -1, 0, e) : this.scale(-1, -1, t, null != e ? e : t);
                                             },
                                             skew: function (t, e, n, r) {
                                                  return (
                                                       1 == arguments.length ? (e = t) : 3 == arguments.length && ((r = n), (n = e), (e = t)),
                                                       (t = i.utils.radians(t)),
                                                       (e = i.utils.radians(e)),
                                                       this.around(n, r, new i.Matrix(1, Math.tan(e), Math.tan(t), 1, 0, 0))
                                                  );
                                             },
                                             skewX: function (t, e, i) {
                                                  return this.skew(t, 0, e, i);
                                             },
                                             skewY: function (t, e, i) {
                                                  return this.skew(0, t, e, i);
                                             },
                                             around: function (t, e, n) {
                                                  return this.multiply(new i.Matrix(1, 0, 0, 1, t || 0, e || 0))
                                                       .multiply(n)
                                                       .multiply(new i.Matrix(1, 0, 0, 1, -t || 0, -e || 0));
                                             },
                                             native: function () {
                                                  for (var t = i.parser.native.createSVGMatrix(), e = _.length - 1; 0 <= e; e--) t[_[e]] = this[_[e]];
                                                  return t;
                                             },
                                             toString: function () {
                                                  return "matrix(" + b(this.a) + "," + b(this.b) + "," + b(this.c) + "," + b(this.d) + "," + b(this.e) + "," + b(this.f) + ")";
                                             },
                                        },
                                        parent: i.Element,
                                        construct: {
                                             ctm: function () {
                                                  return new i.Matrix(this.node.getCTM());
                                             },
                                             screenCTM: function () {
                                                  if (this instanceof i.Nested) {
                                                       var t = this.rect(1, 1),
                                                            e = t.node.getScreenCTM();
                                                       return t.remove(), new i.Matrix(e);
                                                  }
                                                  return new i.Matrix(this.node.getScreenCTM());
                                             },
                                        },
                                   })),
                                   (i.Point = i.invent({
                                        create: function (t, e) {
                                             var i;
                                             (i = Array.isArray(t) ? { x: t[0], y: t[1] } : "object" === (void 0 === t ? "undefined" : a(t)) ? { x: t.x, y: t.y } : null != t ? { x: t, y: null != e ? e : t } : { x: 0, y: 0 }),
                                                  (this.x = i.x),
                                                  (this.y = i.y);
                                        },
                                        extend: {
                                             clone: function () {
                                                  return new i.Point(this);
                                             },
                                             morph: function (t, e) {
                                                  return (this.destination = new i.Point(t, e)), this;
                                             },
                                             at: function (t) {
                                                  return this.destination ? new i.Point({ x: this.x + (this.destination.x - this.x) * t, y: this.y + (this.destination.y - this.y) * t }) : this;
                                             },
                                             native: function () {
                                                  var t = i.parser.native.createSVGPoint();
                                                  return (t.x = this.x), (t.y = this.y), t;
                                             },
                                             transform: function (t) {
                                                  return new i.Point(this.native().matrixTransform(t.native()));
                                             },
                                        },
                                   })),
                                   i.extend(i.Element, {
                                        point: function (t, e) {
                                             return new i.Point(t, e).transform(this.screenCTM().inverse());
                                        },
                                   }),
                                   i.extend(i.Element, {
                                        attr: function (t, e, n) {
                                             if (null == t) {
                                                  for (t = {}, n = (e = this.node.attributes).length - 1; 0 <= n; n--) t[e[n].nodeName] = i.regex.isNumber.test(e[n].nodeValue) ? parseFloat(e[n].nodeValue) : e[n].nodeValue;
                                                  return t;
                                             }
                                             if ("object" === (void 0 === t ? "undefined" : a(t))) for (e in t) this.attr(e, t[e]);
                                             else if (null === e) this.node.removeAttribute(t);
                                             else {
                                                  if (null == e) return null == (e = this.node.getAttribute(t)) ? i.defaults.attrs[t] : i.regex.isNumber.test(e) ? parseFloat(e) : e;
                                                  "stroke-width" == t ? this.attr("stroke", 0 < parseFloat(e) ? this._stroke : null) : "stroke" == t && (this._stroke = e),
                                                       ("fill" != t && "stroke" != t) ||
                                                            (i.regex.isImage.test(e) && (e = this.doc().defs().image(e, 0, 0)),
                                                            e instanceof i.Image &&
                                                                 (e = this.doc()
                                                                      .defs()
                                                                      .pattern(0, 0, function () {
                                                                           this.add(e);
                                                                      }))),
                                                       "number" == typeof e ? (e = new i.Number(e)) : i.Color.isColor(e) ? (e = new i.Color(e)) : Array.isArray(e) && (e = new i.Array(e)),
                                                       "leading" == t ? this.leading && this.leading(e) : "string" == typeof n ? this.node.setAttributeNS(n, t, e.toString()) : this.node.setAttribute(t, e.toString()),
                                                       !this.rebuild || ("font-size" != t && "x" != t) || this.rebuild(t, e);
                                             }
                                             return this;
                                        },
                                   }),
                                   i.extend(i.Element, {
                                        transform: function (t, e) {
                                             var n, r;
                                             if ("object" !== (void 0 === t ? "undefined" : a(t))) return (n = new i.Matrix(this).extract()), "string" == typeof t ? n[t] : n;
                                             if (((n = new i.Matrix(this)), (e = !!e || !!t.relative), null != t.a)) n = e ? n.multiply(new i.Matrix(t)) : new i.Matrix(t);
                                             else if (null != t.rotation) g(t, this), (n = e ? n.rotate(t.rotation, t.cx, t.cy) : n.rotate(t.rotation - n.extract().rotation, t.cx, t.cy));
                                             else if (null != t.scale || null != t.scaleX || null != t.scaleY) {
                                                  if ((g(t, this), (t.scaleX = null != t.scale ? t.scale : null != t.scaleX ? t.scaleX : 1), (t.scaleY = null != t.scale ? t.scale : null != t.scaleY ? t.scaleY : 1), !e)) {
                                                       var o = n.extract();
                                                       (t.scaleX = (1 * t.scaleX) / o.scaleX), (t.scaleY = (1 * t.scaleY) / o.scaleY);
                                                  }
                                                  n = n.scale(t.scaleX, t.scaleY, t.cx, t.cy);
                                             } else
                                                  null != t.skew || null != t.skewX || null != t.skewY
                                                       ? (g(t, this),
                                                         (t.skewX = null != t.skew ? t.skew : null != t.skewX ? t.skewX : 0),
                                                         (t.skewY = null != t.skew ? t.skew : null != t.skewY ? t.skewY : 0),
                                                         e || ((o = n.extract()), (n = n.multiply(new i.Matrix().skew(o.skewX, o.skewY, t.cx, t.cy).inverse()))),
                                                         (n = n.skew(t.skewX, t.skewY, t.cx, t.cy)))
                                                       : t.flip
                                                       ? ("x" == t.flip || "y" == t.flip
                                                              ? (t.offset = null == t.offset ? this.bbox()["c" + t.flip] : t.offset)
                                                              : null == t.offset
                                                              ? ((r = this.bbox()), (t.flip = r.cx), (t.offset = r.cy))
                                                              : (t.flip = t.offset),
                                                         (n = new i.Matrix().flip(t.flip, t.offset)))
                                                       : (null == t.x && null == t.y) || (e ? (n = n.translate(t.x, t.y)) : (null != t.x && (n.e = t.x), null != t.y && (n.f = t.y)));
                                             return this.attr("transform", n);
                                        },
                                   }),
                                   i.extend(i.FX, {
                                        transform: function (t, e) {
                                             var n,
                                                  r,
                                                  o = this.target();
                                             return "object" !== (void 0 === t ? "undefined" : a(t))
                                                  ? ((n = new i.Matrix(o).extract()), "string" == typeof t ? n[t] : n)
                                                  : ((e = !!e || !!t.relative),
                                                    null != t.a
                                                         ? (n = new i.Matrix(t))
                                                         : null != t.rotation
                                                         ? (g(t, o), (n = new i.Rotate(t.rotation, t.cx, t.cy)))
                                                         : null != t.scale || null != t.scaleX || null != t.scaleY
                                                         ? (g(t, o),
                                                           (t.scaleX = null != t.scale ? t.scale : null != t.scaleX ? t.scaleX : 1),
                                                           (t.scaleY = null != t.scale ? t.scale : null != t.scaleY ? t.scaleY : 1),
                                                           (n = new i.Scale(t.scaleX, t.scaleY, t.cx, t.cy)))
                                                         : null != t.skewX || null != t.skewY
                                                         ? (g(t, o), (t.skewX = null != t.skewX ? t.skewX : 0), (t.skewY = null != t.skewY ? t.skewY : 0), (n = new i.Skew(t.skewX, t.skewY, t.cx, t.cy)))
                                                         : t.flip
                                                         ? ("x" == t.flip || "y" == t.flip
                                                                ? (t.offset = null == t.offset ? o.bbox()["c" + t.flip] : t.offset)
                                                                : null == t.offset
                                                                ? ((r = o.bbox()), (t.flip = r.cx), (t.offset = r.cy))
                                                                : (t.flip = t.offset),
                                                           (n = new i.Matrix().flip(t.flip, t.offset)))
                                                         : (null == t.x && null == t.y) || (n = new i.Translate(t.x, t.y)),
                                                    n ? ((n.relative = e), this.last().transforms.push(n), this._callStart()) : this);
                                        },
                                   }),
                                   i.extend(i.Element, {
                                        untransform: function () {
                                             return this.attr("transform", null);
                                        },
                                        matrixify: function () {
                                             return (this.attr("transform") || "")
                                                  .split(i.regex.transforms)
                                                  .slice(0, -1)
                                                  .map(function (t) {
                                                       var e = t.trim().split("(");
                                                       return [
                                                            e[0],
                                                            e[1].split(i.regex.delimiter).map(function (t) {
                                                                 return parseFloat(t);
                                                            }),
                                                       ];
                                                  })
                                                  .reduce(function (t, e) {
                                                       return "matrix" == e[0] ? t.multiply(m(e[1])) : t[e[0]].apply(t, e[1]);
                                                  }, new i.Matrix());
                                        },
                                        toParent: function (t) {
                                             if (this == t) return this;
                                             var e = this.screenCTM(),
                                                  i = t.screenCTM().inverse();
                                             return this.addTo(t).untransform().transform(i.multiply(e)), this;
                                        },
                                        toDoc: function () {
                                             return this.toParent(this.doc());
                                        },
                                   }),
                                   (i.Transformation = i.invent({
                                        create: function (t, e) {
                                             if (1 < arguments.length && "boolean" != typeof e) return this.constructor.call(this, [].slice.call(arguments));
                                             if (Array.isArray(t)) for (var i = 0, n = this.arguments.length; i < n; ++i) this[this.arguments[i]] = t[i];
                                             else if ("object" === (void 0 === t ? "undefined" : a(t))) for (i = 0, n = this.arguments.length; i < n; ++i) this[this.arguments[i]] = t[this.arguments[i]];
                                             !(this.inversed = !1) === e && (this.inversed = !0);
                                        },
                                        extend: {
                                             arguments: [],
                                             method: "",
                                             at: function (t) {
                                                  for (var e = [], n = 0, r = this.arguments.length; n < r; ++n) e.push(this[this.arguments[n]]);
                                                  var o = this._undo || new i.Matrix();
                                                  return (o = new i.Matrix().morph(i.Matrix.prototype[this.method].apply(o, e)).at(t)), this.inversed ? o.inverse() : o;
                                             },
                                             undo: function (t) {
                                                  for (var e = 0, n = this.arguments.length; e < n; ++e) t[this.arguments[e]] = void 0 === this[this.arguments[e]] ? 0 : t[this.arguments[e]];
                                                  return (t.cx = this.cx), (t.cy = this.cy), (this._undo = new i[h(this.method)](t, !0).at(1)), this;
                                             },
                                        },
                                   })),
                                   (i.Translate = i.invent({
                                        parent: i.Matrix,
                                        inherit: i.Transformation,
                                        create: function (t, e) {
                                             this.constructor.apply(this, [].slice.call(arguments));
                                        },
                                        extend: { arguments: ["transformedX", "transformedY"], method: "translate" },
                                   })),
                                   (i.Rotate = i.invent({
                                        parent: i.Matrix,
                                        inherit: i.Transformation,
                                        create: function (t, e) {
                                             this.constructor.apply(this, [].slice.call(arguments));
                                        },
                                        extend: {
                                             arguments: ["rotation", "cx", "cy"],
                                             method: "rotate",
                                             at: function (t) {
                                                  var e = new i.Matrix().rotate(new i.Number().morph(this.rotation - (this._undo ? this._undo.rotation : 0)).at(t), this.cx, this.cy);
                                                  return this.inversed ? e.inverse() : e;
                                             },
                                             undo: function (t) {
                                                  return (this._undo = t), this;
                                             },
                                        },
                                   })),
                                   (i.Scale = i.invent({
                                        parent: i.Matrix,
                                        inherit: i.Transformation,
                                        create: function (t, e) {
                                             this.constructor.apply(this, [].slice.call(arguments));
                                        },
                                        extend: { arguments: ["scaleX", "scaleY", "cx", "cy"], method: "scale" },
                                   })),
                                   (i.Skew = i.invent({
                                        parent: i.Matrix,
                                        inherit: i.Transformation,
                                        create: function (t, e) {
                                             this.constructor.apply(this, [].slice.call(arguments));
                                        },
                                        extend: { arguments: ["skewX", "skewY", "cx", "cy"], method: "skew" },
                                   })),
                                   i.extend(i.Element, {
                                        style: function (t, e) {
                                             if (0 == arguments.length) return this.node.style.cssText || "";
                                             if (arguments.length < 2)
                                                  if ("object" === (void 0 === t ? "undefined" : a(t))) for (e in t) this.style(e, t[e]);
                                                  else {
                                                       if (!i.regex.isCss.test(t)) return this.node.style[u(t)];
                                                       for (
                                                            t = t
                                                                 .split(/\s*;\s*/)
                                                                 .filter(function (t) {
                                                                      return !!t;
                                                                 })
                                                                 .map(function (t) {
                                                                      return t.split(/\s*:\s*/);
                                                                 });
                                                            (e = t.pop());

                                                       )
                                                            this.style(e[0], e[1]);
                                                  }
                                             else this.node.style[u(t)] = null === e || i.regex.isBlank.test(e) ? "" : e;
                                             return this;
                                        },
                                   }),
                                   (i.Parent = i.invent({
                                        create: function (t) {
                                             this.constructor.call(this, t);
                                        },
                                        inherit: i.Element,
                                        extend: {
                                             children: function () {
                                                  return i.utils.map(i.utils.filterSVGElements(this.node.childNodes), function (t) {
                                                       return i.adopt(t);
                                                  });
                                             },
                                             add: function (t, e) {
                                                  return null == e ? this.node.appendChild(t.node) : t.node != this.node.childNodes[e] && this.node.insertBefore(t.node, this.node.childNodes[e]), this;
                                             },
                                             put: function (t, e) {
                                                  return this.add(t, e), t;
                                             },
                                             has: function (t) {
                                                  return 0 <= this.index(t);
                                             },
                                             index: function (t) {
                                                  return [].slice.call(this.node.childNodes).indexOf(t.node);
                                             },
                                             get: function (t) {
                                                  return i.adopt(this.node.childNodes[t]);
                                             },
                                             first: function () {
                                                  return this.get(0);
                                             },
                                             last: function () {
                                                  return this.get(this.node.childNodes.length - 1);
                                             },
                                             each: function (t, e) {
                                                  var n,
                                                       r,
                                                       o = this.children();
                                                  for (n = 0, r = o.length; n < r; n++) o[n] instanceof i.Element && t.apply(o[n], [n, o]), e && o[n] instanceof i.Container && o[n].each(t, e);
                                                  return this;
                                             },
                                             removeElement: function (t) {
                                                  return this.node.removeChild(t.node), this;
                                             },
                                             clear: function () {
                                                  for (; this.node.hasChildNodes(); ) this.node.removeChild(this.node.lastChild);
                                                  return delete this._defs, this;
                                             },
                                             defs: function () {
                                                  return this.doc().defs();
                                             },
                                        },
                                   })),
                                   i.extend(i.Parent, {
                                        ungroup: function (t, e) {
                                             return (
                                                  0 === e ||
                                                       this instanceof i.Defs ||
                                                       this.node == i.parser.draw ||
                                                       ((t = t || (this instanceof i.Doc ? this : this.parent(i.Parent))),
                                                       (e = e || 1 / 0),
                                                       this.each(function () {
                                                            return this instanceof i.Defs ? this : this instanceof i.Parent ? this.ungroup(t, e - 1) : this.toParent(t);
                                                       }),
                                                       this.node.firstChild || this.remove()),
                                                  this
                                             );
                                        },
                                        flatten: function (t, e) {
                                             return this.ungroup(t, e);
                                        },
                                   }),
                                   (i.Container = i.invent({
                                        create: function (t) {
                                             this.constructor.call(this, t);
                                        },
                                        inherit: i.Parent,
                                   })),
                                   (i.ViewBox = i.invent({
                                        create: function (t) {
                                             var e,
                                                  n,
                                                  r,
                                                  o,
                                                  s,
                                                  l,
                                                  c,
                                                  u = 1,
                                                  h = 1,
                                                  d = /[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/gi;
                                             if (t instanceof i.Element) {
                                                  for (s = ((c = l = t).attr("viewBox") || "").match(d), t.bbox, r = new i.Number(t.width()), o = new i.Number(t.height()); "%" == r.unit; )
                                                       (u *= r.value), (r = new i.Number(l instanceof i.Doc ? l.parent().offsetWidth : l.parent().width())), (l = l.parent());
                                                  for (; "%" == o.unit; ) (h *= o.value), (o = new i.Number(c instanceof i.Doc ? c.parent().offsetHeight : c.parent().height())), (c = c.parent());
                                                  (this.x = 0),
                                                       (this.y = 0),
                                                       (this.width = r * u),
                                                       (this.height = o * h),
                                                       (this.zoom = 1),
                                                       s &&
                                                            ((e = parseFloat(s[0])),
                                                            (n = parseFloat(s[1])),
                                                            (r = parseFloat(s[2])),
                                                            (o = parseFloat(s[3])),
                                                            (this.zoom = this.width / this.height > r / o ? this.height / o : this.width / r),
                                                            (this.x = e),
                                                            (this.y = n),
                                                            (this.width = r),
                                                            (this.height = o));
                                             } else
                                                  (t =
                                                       "string" == typeof t
                                                            ? t.match(d).map(function (t) {
                                                                   return parseFloat(t);
                                                              })
                                                            : Array.isArray(t)
                                                            ? t
                                                            : "object" === (void 0 === t ? "undefined" : a(t))
                                                            ? [t.x, t.y, t.width, t.height]
                                                            : 4 == arguments.length
                                                            ? [].slice.call(arguments)
                                                            : [0, 0, 0, 0]),
                                                       (this.x = t[0]),
                                                       (this.y = t[1]),
                                                       (this.width = t[2]),
                                                       (this.height = t[3]);
                                        },
                                        extend: {
                                             toString: function () {
                                                  return this.x + " " + this.y + " " + this.width + " " + this.height;
                                             },
                                             morph: function (t, e, n, r) {
                                                  return (this.destination = new i.ViewBox(t, e, n, r)), this;
                                             },
                                             at: function (t) {
                                                  return this.destination
                                                       ? new i.ViewBox([
                                                              this.x + (this.destination.x - this.x) * t,
                                                              this.y + (this.destination.y - this.y) * t,
                                                              this.width + (this.destination.width - this.width) * t,
                                                              this.height + (this.destination.height - this.height) * t,
                                                         ])
                                                       : this;
                                             },
                                        },
                                        parent: i.Container,
                                        construct: {
                                             viewbox: function (t, e, n, r) {
                                                  return 0 == arguments.length ? new i.ViewBox(this) : this.attr("viewBox", new i.ViewBox(t, e, n, r));
                                             },
                                        },
                                   })),
                                   ["click", "dblclick", "mousedown", "mouseup", "mouseover", "mouseout", "mousemove", "touchstart", "touchmove", "touchleave", "touchend", "touchcancel"].forEach(function (t) {
                                        i.Element.prototype[t] = function (e) {
                                             return i.on(this.node, t, e), this;
                                        };
                                   }),
                                   (i.listeners = []),
                                   (i.handlerMap = []),
                                   (i.listenerId = 0),
                                   (i.on = function (t, e, n, r, o) {
                                        var a = n.bind(r || t.instance || t),
                                             s = (i.handlerMap.indexOf(t) + 1 || i.handlerMap.push(t)) - 1,
                                             l = e.split(".")[0],
                                             c = e.split(".")[1] || "*";
                                        (i.listeners[s] = i.listeners[s] || {}),
                                             (i.listeners[s][l] = i.listeners[s][l] || {}),
                                             (i.listeners[s][l][c] = i.listeners[s][l][c] || {}),
                                             n._svgjsListenerId || (n._svgjsListenerId = ++i.listenerId),
                                             (i.listeners[s][l][c][n._svgjsListenerId] = a),
                                             t.addEventListener(l, a, o || !1);
                                   }),
                                   (i.off = function (t, e, n) {
                                        var r = i.handlerMap.indexOf(t),
                                             o = e && e.split(".")[0],
                                             a = e && e.split(".")[1],
                                             s = "";
                                        if (-1 != r)
                                             if (n) {
                                                  if (("function" == typeof n && (n = n._svgjsListenerId), !n)) return;
                                                  i.listeners[r][o] && i.listeners[r][o][a || "*"] && (t.removeEventListener(o, i.listeners[r][o][a || "*"][n], !1), delete i.listeners[r][o][a || "*"][n]);
                                             } else if (a && o) {
                                                  if (i.listeners[r][o] && i.listeners[r][o][a]) {
                                                       for (n in i.listeners[r][o][a]) i.off(t, [o, a].join("."), n);
                                                       delete i.listeners[r][o][a];
                                                  }
                                             } else if (a) for (e in i.listeners[r]) for (s in i.listeners[r][e]) a === s && i.off(t, [e, a].join("."));
                                             else if (o) {
                                                  if (i.listeners[r][o]) {
                                                       for (s in i.listeners[r][o]) i.off(t, [o, s].join("."));
                                                       delete i.listeners[r][o];
                                                  }
                                             } else {
                                                  for (e in i.listeners[r]) i.off(t, e);
                                                  delete i.listeners[r], delete i.handlerMap[r];
                                             }
                                   }),
                                   i.extend(i.Element, {
                                        on: function (t, e, n, r) {
                                             return i.on(this.node, t, e, n, r), this;
                                        },
                                        off: function (t, e) {
                                             return i.off(this.node, t, e), this;
                                        },
                                        fire: function (e, n) {
                                             return e instanceof t.Event ? this.node.dispatchEvent(e) : this.node.dispatchEvent((e = new i.CustomEvent(e, { detail: n, cancelable: !0 }))), (this._event = e), this;
                                        },
                                        event: function () {
                                             return this._event;
                                        },
                                   }),
                                   (i.Defs = i.invent({ create: "defs", inherit: i.Container })),
                                   (i.G = i.invent({
                                        create: "g",
                                        inherit: i.Container,
                                        extend: {
                                             x: function (t) {
                                                  return null == t ? this.transform("x") : this.transform({ x: t - this.x() }, !0);
                                             },
                                             y: function (t) {
                                                  return null == t ? this.transform("y") : this.transform({ y: t - this.y() }, !0);
                                             },
                                             cx: function (t) {
                                                  return null == t ? this.gbox().cx : this.x(t - this.gbox().width / 2);
                                             },
                                             cy: function (t) {
                                                  return null == t ? this.gbox().cy : this.y(t - this.gbox().height / 2);
                                             },
                                             gbox: function () {
                                                  var t = this.bbox(),
                                                       e = this.transform();
                                                  return (t.x += e.x), (t.x2 += e.x), (t.cx += e.x), (t.y += e.y), (t.y2 += e.y), (t.cy += e.y), t;
                                             },
                                        },
                                        construct: {
                                             group: function () {
                                                  return this.put(new i.G());
                                             },
                                        },
                                   })),
                                   (i.Doc = i.invent({
                                        create: function (t) {
                                             t &&
                                                  ("svg" == (t = "string" == typeof t ? e.getElementById(t) : t).nodeName
                                                       ? this.constructor.call(this, t)
                                                       : (this.constructor.call(this, i.create("svg")), t.appendChild(this.node), this.size("100%", "100%")),
                                                  this.namespace().defs());
                                        },
                                        inherit: i.Container,
                                        extend: {
                                             namespace: function () {
                                                  return this.attr({ xmlns: i.ns, version: "1.1" }).attr("xmlns:xlink", i.xlink, i.xmlns).attr("xmlns:svgjs", i.svgjs, i.xmlns);
                                             },
                                             defs: function () {
                                                  var t;
                                                  return this._defs || ((t = this.node.getElementsByTagName("defs")[0]) ? (this._defs = i.adopt(t)) : (this._defs = new i.Defs()), this.node.appendChild(this._defs.node)), this._defs;
                                             },
                                             parent: function () {
                                                  return this.node.parentNode && "#document" != this.node.parentNode.nodeName ? this.node.parentNode : null;
                                             },
                                             spof: function () {
                                                  var t = this.node.getScreenCTM();
                                                  return t && this.style("left", (-t.e % 1) + "px").style("top", (-t.f % 1) + "px"), this;
                                             },
                                             remove: function () {
                                                  return this.parent() && this.parent().removeChild(this.node), this;
                                             },
                                             clear: function () {
                                                  for (; this.node.hasChildNodes(); ) this.node.removeChild(this.node.lastChild);
                                                  return delete this._defs, i.parser.draw && !i.parser.draw.parentNode && this.node.appendChild(i.parser.draw), this;
                                             },
                                             clone: function (t) {
                                                  this.writeDataToDom();
                                                  var e = this.node,
                                                       i = v(e.cloneNode(!0));
                                                  return t ? (t.node || t).appendChild(i.node) : e.parentNode.insertBefore(i.node, e.nextSibling), i;
                                             },
                                        },
                                   })),
                                   i.extend(i.Element, {
                                        siblings: function () {
                                             return this.parent().children();
                                        },
                                        position: function () {
                                             return this.parent().index(this);
                                        },
                                        next: function () {
                                             return this.siblings()[this.position() + 1];
                                        },
                                        previous: function () {
                                             return this.siblings()[this.position() - 1];
                                        },
                                        forward: function () {
                                             var t = this.position() + 1,
                                                  e = this.parent();
                                             return e.removeElement(this).add(this, t), e instanceof i.Doc && e.node.appendChild(e.defs().node), this;
                                        },
                                        backward: function () {
                                             var t = this.position();
                                             return (
                                                  0 < t &&
                                                       this.parent()
                                                            .removeElement(this)
                                                            .add(this, t - 1),
                                                  this
                                             );
                                        },
                                        front: function () {
                                             var t = this.parent();
                                             return t.node.appendChild(this.node), t instanceof i.Doc && t.node.appendChild(t.defs().node), this;
                                        },
                                        back: function () {
                                             return 0 < this.position() && this.parent().removeElement(this).add(this, 0), this;
                                        },
                                        before: function (t) {
                                             t.remove();
                                             var e = this.position();
                                             return this.parent().add(t, e), this;
                                        },
                                        after: function (t) {
                                             t.remove();
                                             var e = this.position();
                                             return this.parent().add(t, e + 1), this;
                                        },
                                   }),
                                   (i.Mask = i.invent({
                                        create: function () {
                                             this.constructor.call(this, i.create("mask")), (this.targets = []);
                                        },
                                        inherit: i.Container,
                                        extend: {
                                             remove: function () {
                                                  for (var t = this.targets.length - 1; 0 <= t; t--) this.targets[t] && this.targets[t].unmask();
                                                  return (this.targets = []), i.Element.prototype.remove.call(this), this;
                                             },
                                        },
                                        construct: {
                                             mask: function () {
                                                  return this.defs().put(new i.Mask());
                                             },
                                        },
                                   })),
                                   i.extend(i.Element, {
                                        maskWith: function (t) {
                                             return (this.masker = t instanceof i.Mask ? t : this.parent().mask().add(t)), this.masker.targets.push(this), this.attr("mask", 'url("#' + this.masker.attr("id") + '")');
                                        },
                                        unmask: function () {
                                             return delete this.masker, this.attr("mask", null);
                                        },
                                   }),
                                   (i.ClipPath = i.invent({
                                        create: function () {
                                             this.constructor.call(this, i.create("clipPath")), (this.targets = []);
                                        },
                                        inherit: i.Container,
                                        extend: {
                                             remove: function () {
                                                  for (var t = this.targets.length - 1; 0 <= t; t--) this.targets[t] && this.targets[t].unclip();
                                                  return (this.targets = []), this.parent().removeElement(this), this;
                                             },
                                        },
                                        construct: {
                                             clip: function () {
                                                  return this.defs().put(new i.ClipPath());
                                             },
                                        },
                                   })),
                                   i.extend(i.Element, {
                                        clipWith: function (t) {
                                             return (this.clipper = t instanceof i.ClipPath ? t : this.parent().clip().add(t)), this.clipper.targets.push(this), this.attr("clip-path", 'url("#' + this.clipper.attr("id") + '")');
                                        },
                                        unclip: function () {
                                             return delete this.clipper, this.attr("clip-path", null);
                                        },
                                   }),
                                   (i.Gradient = i.invent({
                                        create: function (t) {
                                             this.constructor.call(this, i.create(t + "Gradient")), (this.type = t);
                                        },
                                        inherit: i.Container,
                                        extend: {
                                             at: function (t, e, n) {
                                                  return this.put(new i.Stop()).update(t, e, n);
                                             },
                                             update: function (t) {
                                                  return this.clear(), "function" == typeof t && t.call(this, this), this;
                                             },
                                             fill: function () {
                                                  return "url(#" + this.id() + ")";
                                             },
                                             toString: function () {
                                                  return this.fill();
                                             },
                                             attr: function (t, e, n) {
                                                  return "transform" == t && (t = "gradientTransform"), i.Container.prototype.attr.call(this, t, e, n);
                                             },
                                        },
                                        construct: {
                                             gradient: function (t, e) {
                                                  return this.defs().gradient(t, e);
                                             },
                                        },
                                   })),
                                   i.extend(i.Gradient, i.FX, {
                                        from: function (t, e) {
                                             return "radial" == (this._target || this).type ? this.attr({ fx: new i.Number(t), fy: new i.Number(e) }) : this.attr({ x1: new i.Number(t), y1: new i.Number(e) });
                                        },
                                        to: function (t, e) {
                                             return "radial" == (this._target || this).type ? this.attr({ cx: new i.Number(t), cy: new i.Number(e) }) : this.attr({ x2: new i.Number(t), y2: new i.Number(e) });
                                        },
                                   }),
                                   i.extend(i.Defs, {
                                        gradient: function (t, e) {
                                             return this.put(new i.Gradient(t)).update(e);
                                        },
                                   }),
                                   (i.Stop = i.invent({
                                        create: "stop",
                                        inherit: i.Element,
                                        extend: {
                                             update: function (t) {
                                                  return (
                                                       ("number" == typeof t || t instanceof i.Number) && (t = { offset: arguments[0], color: arguments[1], opacity: arguments[2] }),
                                                       null != t.opacity && this.attr("stop-opacity", t.opacity),
                                                       null != t.color && this.attr("stop-color", t.color),
                                                       null != t.offset && this.attr("offset", new i.Number(t.offset)),
                                                       this
                                                  );
                                             },
                                        },
                                   })),
                                   (i.Pattern = i.invent({
                                        create: "pattern",
                                        inherit: i.Container,
                                        extend: {
                                             fill: function () {
                                                  return "url(#" + this.id() + ")";
                                             },
                                             update: function (t) {
                                                  return this.clear(), "function" == typeof t && t.call(this, this), this;
                                             },
                                             toString: function () {
                                                  return this.fill();
                                             },
                                             attr: function (t, e, n) {
                                                  return "transform" == t && (t = "patternTransform"), i.Container.prototype.attr.call(this, t, e, n);
                                             },
                                        },
                                        construct: {
                                             pattern: function (t, e, i) {
                                                  return this.defs().pattern(t, e, i);
                                             },
                                        },
                                   })),
                                   i.extend(i.Defs, {
                                        pattern: function (t, e, n) {
                                             return this.put(new i.Pattern()).update(n).attr({ x: 0, y: 0, width: t, height: e, patternUnits: "userSpaceOnUse" });
                                        },
                                   }),
                                   (i.Shape = i.invent({
                                        create: function (t) {
                                             this.constructor.call(this, t);
                                        },
                                        inherit: i.Element,
                                   })),
                                   (i.Bare = i.invent({
                                        create: function (t, e) {
                                             if ((this.constructor.call(this, i.create(t)), e)) for (var n in e.prototype) "function" == typeof e.prototype[n] && (this[n] = e.prototype[n]);
                                        },
                                        inherit: i.Element,
                                        extend: {
                                             words: function (t) {
                                                  for (; this.node.hasChildNodes(); ) this.node.removeChild(this.node.lastChild);
                                                  return this.node.appendChild(e.createTextNode(t)), this;
                                             },
                                        },
                                   })),
                                   i.extend(i.Parent, {
                                        element: function (t, e) {
                                             return this.put(new i.Bare(t, e));
                                        },
                                   }),
                                   (i.Symbol = i.invent({
                                        create: "symbol",
                                        inherit: i.Container,
                                        construct: {
                                             symbol: function () {
                                                  return this.put(new i.Symbol());
                                             },
                                        },
                                   })),
                                   (i.Use = i.invent({
                                        create: "use",
                                        inherit: i.Shape,
                                        extend: {
                                             element: function (t, e) {
                                                  return this.attr("href", (e || "") + "#" + t, i.xlink);
                                             },
                                        },
                                        construct: {
                                             use: function (t, e) {
                                                  return this.put(new i.Use()).element(t, e);
                                             },
                                        },
                                   })),
                                   (i.Rect = i.invent({
                                        create: "rect",
                                        inherit: i.Shape,
                                        construct: {
                                             rect: function (t, e) {
                                                  return this.put(new i.Rect()).size(t, e);
                                             },
                                        },
                                   })),
                                   (i.Circle = i.invent({
                                        create: "circle",
                                        inherit: i.Shape,
                                        construct: {
                                             circle: function (t) {
                                                  return this.put(new i.Circle()).rx(new i.Number(t).divide(2)).move(0, 0);
                                             },
                                        },
                                   })),
                                   i.extend(i.Circle, i.FX, {
                                        rx: function (t) {
                                             return this.attr("r", t);
                                        },
                                        ry: function (t) {
                                             return this.rx(t);
                                        },
                                   }),
                                   (i.Ellipse = i.invent({
                                        create: "ellipse",
                                        inherit: i.Shape,
                                        construct: {
                                             ellipse: function (t, e) {
                                                  return this.put(new i.Ellipse()).size(t, e).move(0, 0);
                                             },
                                        },
                                   })),
                                   i.extend(i.Ellipse, i.Rect, i.FX, {
                                        rx: function (t) {
                                             return this.attr("rx", t);
                                        },
                                        ry: function (t) {
                                             return this.attr("ry", t);
                                        },
                                   }),
                                   i.extend(i.Circle, i.Ellipse, {
                                        x: function (t) {
                                             return null == t ? this.cx() - this.rx() : this.cx(t + this.rx());
                                        },
                                        y: function (t) {
                                             return null == t ? this.cy() - this.ry() : this.cy(t + this.ry());
                                        },
                                        cx: function (t) {
                                             return null == t ? this.attr("cx") : this.attr("cx", t);
                                        },
                                        cy: function (t) {
                                             return null == t ? this.attr("cy") : this.attr("cy", t);
                                        },
                                        width: function (t) {
                                             return null == t ? 2 * this.rx() : this.rx(new i.Number(t).divide(2));
                                        },
                                        height: function (t) {
                                             return null == t ? 2 * this.ry() : this.ry(new i.Number(t).divide(2));
                                        },
                                        size: function (t, e) {
                                             var n = p(this, t, e);
                                             return this.rx(new i.Number(n.width).divide(2)).ry(new i.Number(n.height).divide(2));
                                        },
                                   }),
                                   (i.Line = i.invent({
                                        create: "line",
                                        inherit: i.Shape,
                                        extend: {
                                             array: function () {
                                                  return new i.PointArray([
                                                       [this.attr("x1"), this.attr("y1")],
                                                       [this.attr("x2"), this.attr("y2")],
                                                  ]);
                                             },
                                             plot: function (t, e, n, r) {
                                                  return null == t ? this.array() : ((t = void 0 !== e ? { x1: t, y1: e, x2: n, y2: r } : new i.PointArray(t).toLine()), this.attr(t));
                                             },
                                             move: function (t, e) {
                                                  return this.attr(this.array().move(t, e).toLine());
                                             },
                                             size: function (t, e) {
                                                  var i = p(this, t, e);
                                                  return this.attr(this.array().size(i.width, i.height).toLine());
                                             },
                                        },
                                        construct: {
                                             line: function (t, e, n, r) {
                                                  return i.Line.prototype.plot.apply(this.put(new i.Line()), null != t ? [t, e, n, r] : [0, 0, 0, 0]);
                                             },
                                        },
                                   })),
                                   (i.Polyline = i.invent({
                                        create: "polyline",
                                        inherit: i.Shape,
                                        construct: {
                                             polyline: function (t) {
                                                  return this.put(new i.Polyline()).plot(t || new i.PointArray());
                                             },
                                        },
                                   })),
                                   (i.Polygon = i.invent({
                                        create: "polygon",
                                        inherit: i.Shape,
                                        construct: {
                                             polygon: function (t) {
                                                  return this.put(new i.Polygon()).plot(t || new i.PointArray());
                                             },
                                        },
                                   })),
                                   i.extend(i.Polyline, i.Polygon, {
                                        array: function () {
                                             return this._array || (this._array = new i.PointArray(this.attr("points")));
                                        },
                                        plot: function (t) {
                                             return null == t ? this.array() : this.clear().attr("points", "string" == typeof t ? t : (this._array = new i.PointArray(t)));
                                        },
                                        clear: function () {
                                             return delete this._array, this;
                                        },
                                        move: function (t, e) {
                                             return this.attr("points", this.array().move(t, e));
                                        },
                                        size: function (t, e) {
                                             var i = p(this, t, e);
                                             return this.attr("points", this.array().size(i.width, i.height));
                                        },
                                   }),
                                   i.extend(i.Line, i.Polyline, i.Polygon, {
                                        morphArray: i.PointArray,
                                        x: function (t) {
                                             return null == t ? this.bbox().x : this.move(t, this.bbox().y);
                                        },
                                        y: function (t) {
                                             return null == t ? this.bbox().y : this.move(this.bbox().x, t);
                                        },
                                        width: function (t) {
                                             var e = this.bbox();
                                             return null == t ? e.width : this.size(t, e.height);
                                        },
                                        height: function (t) {
                                             var e = this.bbox();
                                             return null == t ? e.height : this.size(e.width, t);
                                        },
                                   }),
                                   (i.Path = i.invent({
                                        create: "path",
                                        inherit: i.Shape,
                                        extend: {
                                             morphArray: i.PathArray,
                                             array: function () {
                                                  return this._array || (this._array = new i.PathArray(this.attr("d")));
                                             },
                                             plot: function (t) {
                                                  return null == t ? this.array() : this.clear().attr("d", "string" == typeof t ? t : (this._array = new i.PathArray(t)));
                                             },
                                             clear: function () {
                                                  return delete this._array, this;
                                             },
                                             move: function (t, e) {
                                                  return this.attr("d", this.array().move(t, e));
                                             },
                                             x: function (t) {
                                                  return null == t ? this.bbox().x : this.move(t, this.bbox().y);
                                             },
                                             y: function (t) {
                                                  return null == t ? this.bbox().y : this.move(this.bbox().x, t);
                                             },
                                             size: function (t, e) {
                                                  var i = p(this, t, e);
                                                  return this.attr("d", this.array().size(i.width, i.height));
                                             },
                                             width: function (t) {
                                                  return null == t ? this.bbox().width : this.size(t, this.bbox().height);
                                             },
                                             height: function (t) {
                                                  return null == t ? this.bbox().height : this.size(this.bbox().width, t);
                                             },
                                        },
                                        construct: {
                                             path: function (t) {
                                                  return this.put(new i.Path()).plot(t || new i.PathArray());
                                             },
                                        },
                                   })),
                                   (i.Image = i.invent({
                                        create: "image",
                                        inherit: i.Shape,
                                        extend: {
                                             load: function (e) {
                                                  if (!e) return this;
                                                  var n = this,
                                                       r = new t.Image();
                                                  return (
                                                       i.on(r, "load", function () {
                                                            i.off(r);
                                                            var t = n.parent(i.Pattern);
                                                            null !== t &&
                                                                 (0 == n.width() && 0 == n.height() && n.size(r.width, r.height),
                                                                 t && 0 == t.width() && 0 == t.height() && t.size(n.width(), n.height()),
                                                                 "function" == typeof n._loaded && n._loaded.call(n, { width: r.width, height: r.height, ratio: r.width / r.height, url: e }));
                                                       }),
                                                       i.on(r, "error", function (t) {
                                                            i.off(r), "function" == typeof n._error && n._error.call(n, t);
                                                       }),
                                                       this.attr("href", (r.src = this.src = e), i.xlink)
                                                  );
                                             },
                                             loaded: function (t) {
                                                  return (this._loaded = t), this;
                                             },
                                             error: function (t) {
                                                  return (this._error = t), this;
                                             },
                                        },
                                        construct: {
                                             image: function (t, e, n) {
                                                  return this.put(new i.Image())
                                                       .load(t)
                                                       .size(e || 0, n || e || 0);
                                             },
                                        },
                                   })),
                                   (i.Text = i.invent({
                                        create: function () {
                                             this.constructor.call(this, i.create("text")), (this.dom.leading = new i.Number(1.3)), (this._rebuild = !0), (this._build = !1), this.attr("font-family", i.defaults.attrs["font-family"]);
                                        },
                                        inherit: i.Shape,
                                        extend: {
                                             x: function (t) {
                                                  return null == t ? this.attr("x") : this.attr("x", t);
                                             },
                                             y: function (t) {
                                                  var e = this.attr("y"),
                                                       i = "number" == typeof e ? e - this.bbox().y : 0;
                                                  return null == t ? ("number" == typeof e ? e - i : e) : this.attr("y", "number" == typeof t.valueOf() ? t + i : t);
                                             },
                                             cx: function (t) {
                                                  return null == t ? this.bbox().cx : this.x(t - this.bbox().width / 2);
                                             },
                                             cy: function (t) {
                                                  return null == t ? this.bbox().cy : this.y(t - this.bbox().height / 2);
                                             },
                                             text: function (t) {
                                                  if (void 0 === t) {
                                                       t = "";
                                                       for (var e = this.node.childNodes, n = 0, r = e.length; n < r; ++n) 0 != n && 3 != e[n].nodeType && 1 == i.adopt(e[n]).dom.newLined && (t += "\n"), (t += e[n].textContent);
                                                       return t;
                                                  }
                                                  if ((this.clear().build(!0), "function" == typeof t)) t.call(this, this);
                                                  else {
                                                       n = 0;
                                                       for (var o = (t = t.split("\n")).length; n < o; n++) this.tspan(t[n]).newLine();
                                                  }
                                                  return this.build(!1).rebuild();
                                             },
                                             size: function (t) {
                                                  return this.attr("font-size", t).rebuild();
                                             },
                                             leading: function (t) {
                                                  return null == t ? this.dom.leading : ((this.dom.leading = new i.Number(t)), this.rebuild());
                                             },
                                             lines: function () {
                                                  var t = ((this.textPath && this.textPath()) || this).node,
                                                       e = i.utils.map(i.utils.filterSVGElements(t.childNodes), function (t) {
                                                            return i.adopt(t);
                                                       });
                                                  return new i.Set(e);
                                             },
                                             rebuild: function (t) {
                                                  if (("boolean" == typeof t && (this._rebuild = t), this._rebuild)) {
                                                       var e = this,
                                                            n = 0,
                                                            r = this.dom.leading * new i.Number(this.attr("font-size"));
                                                       this.lines().each(function () {
                                                            this.dom.newLined && (e.textPath() || this.attr("x", e.attr("x")), "\n" == this.text() ? (n += r) : (this.attr("dy", r + n), (n = 0)));
                                                       }),
                                                            this.fire("rebuild");
                                                  }
                                                  return this;
                                             },
                                             build: function (t) {
                                                  return (this._build = !!t), this;
                                             },
                                             setData: function (t) {
                                                  return (this.dom = t), (this.dom.leading = new i.Number(t.leading || 1.3)), this;
                                             },
                                        },
                                        construct: {
                                             text: function (t) {
                                                  return this.put(new i.Text()).text(t);
                                             },
                                             plain: function (t) {
                                                  return this.put(new i.Text()).plain(t);
                                             },
                                        },
                                   })),
                                   (i.Tspan = i.invent({
                                        create: "tspan",
                                        inherit: i.Shape,
                                        extend: {
                                             text: function (t) {
                                                  return null == t ? this.node.textContent + (this.dom.newLined ? "\n" : "") : ("function" == typeof t ? t.call(this, this) : this.plain(t), this);
                                             },
                                             dx: function (t) {
                                                  return this.attr("dx", t);
                                             },
                                             dy: function (t) {
                                                  return this.attr("dy", t);
                                             },
                                             newLine: function () {
                                                  var t = this.parent(i.Text);
                                                  return (this.dom.newLined = !0), this.dy(t.dom.leading * t.attr("font-size")).attr("x", t.x());
                                             },
                                        },
                                   })),
                                   i.extend(i.Text, i.Tspan, {
                                        plain: function (t) {
                                             return !1 === this._build && this.clear(), this.node.appendChild(e.createTextNode(t)), this;
                                        },
                                        tspan: function (t) {
                                             var e = ((this.textPath && this.textPath()) || this).node,
                                                  n = new i.Tspan();
                                             return !1 === this._build && this.clear(), e.appendChild(n.node), n.text(t);
                                        },
                                        clear: function () {
                                             for (var t = ((this.textPath && this.textPath()) || this).node; t.hasChildNodes(); ) t.removeChild(t.lastChild);
                                             return this;
                                        },
                                        length: function () {
                                             return this.node.getComputedTextLength();
                                        },
                                   }),
                                   (i.TextPath = i.invent({
                                        create: "textPath",
                                        inherit: i.Parent,
                                        parent: i.Text,
                                        construct: {
                                             morphArray: i.PathArray,
                                             path: function (t) {
                                                  for (var e = new i.TextPath(), n = this.doc().defs().path(t); this.node.hasChildNodes(); ) e.node.appendChild(this.node.firstChild);
                                                  return this.node.appendChild(e.node), e.attr("href", "#" + n, i.xlink), this;
                                             },
                                             array: function () {
                                                  var t = this.track();
                                                  return t ? t.array() : null;
                                             },
                                             plot: function (t) {
                                                  var e = this.track(),
                                                       i = null;
                                                  return e && (i = e.plot(t)), null == t ? i : this;
                                             },
                                             track: function () {
                                                  var t = this.textPath();
                                                  if (t) return t.reference("href");
                                             },
                                             textPath: function () {
                                                  if (this.node.firstChild && "textPath" == this.node.firstChild.nodeName) return i.adopt(this.node.firstChild);
                                             },
                                        },
                                   })),
                                   (i.Nested = i.invent({
                                        create: function () {
                                             this.constructor.call(this, i.create("svg")), this.style("overflow", "visible");
                                        },
                                        inherit: i.Container,
                                        construct: {
                                             nested: function () {
                                                  return this.put(new i.Nested());
                                             },
                                        },
                                   })),
                                   (i.A = i.invent({
                                        create: "a",
                                        inherit: i.Container,
                                        extend: {
                                             to: function (t) {
                                                  return this.attr("href", t, i.xlink);
                                             },
                                             show: function (t) {
                                                  return this.attr("show", t, i.xlink);
                                             },
                                             target: function (t) {
                                                  return this.attr("target", t);
                                             },
                                        },
                                        construct: {
                                             link: function (t) {
                                                  return this.put(new i.A()).to(t);
                                             },
                                        },
                                   })),
                                   i.extend(i.Element, {
                                        linkTo: function (t) {
                                             var e = new i.A();
                                             return "function" == typeof t ? t.call(e, e) : e.to(t), this.parent().put(e).put(this);
                                        },
                                   }),
                                   (i.Marker = i.invent({
                                        create: "marker",
                                        inherit: i.Container,
                                        extend: {
                                             width: function (t) {
                                                  return this.attr("markerWidth", t);
                                             },
                                             height: function (t) {
                                                  return this.attr("markerHeight", t);
                                             },
                                             ref: function (t, e) {
                                                  return this.attr("refX", t).attr("refY", e);
                                             },
                                             update: function (t) {
                                                  return this.clear(), "function" == typeof t && t.call(this, this), this;
                                             },
                                             toString: function () {
                                                  return "url(#" + this.id() + ")";
                                             },
                                        },
                                        construct: {
                                             marker: function (t, e, i) {
                                                  return this.defs().marker(t, e, i);
                                             },
                                        },
                                   })),
                                   i.extend(i.Defs, {
                                        marker: function (t, e, n) {
                                             return this.put(new i.Marker())
                                                  .size(t, e)
                                                  .ref(t / 2, e / 2)
                                                  .viewbox(0, 0, t, e)
                                                  .attr("orient", "auto")
                                                  .update(n);
                                        },
                                   }),
                                   i.extend(i.Line, i.Polyline, i.Polygon, i.Path, {
                                        marker: function (t, e, n, r) {
                                             var o = ["marker"];
                                             return "all" != t && o.push(t), (o = o.join("-")), (t = e instanceof i.Marker ? e : this.doc().marker(e, n, r)), this.attr(o, t);
                                        },
                                   });
                              var l = {
                                   stroke: ["color", "width", "opacity", "linecap", "linejoin", "miterlimit", "dasharray", "dashoffset"],
                                   fill: ["color", "opacity", "rule"],
                                   prefix: function (t, e) {
                                        return "color" == e ? t : t + "-" + e;
                                   },
                              };
                              function c(t, e, n, r) {
                                   return n + r.replace(i.regex.dots, " .");
                              }
                              function u(t) {
                                   return t.toLowerCase().replace(/-(.)/g, function (t, e) {
                                        return e.toUpperCase();
                                   });
                              }
                              function h(t) {
                                   return t.charAt(0).toUpperCase() + t.slice(1);
                              }
                              function d(t) {
                                   var e = t.toString(16);
                                   return 1 == e.length ? "0" + e : e;
                              }
                              function p(t, e, i) {
                                   if (null == e || null == i) {
                                        var n = t.bbox();
                                        null == e ? (e = (n.width / n.height) * i) : null == i && (i = (n.height / n.width) * e);
                                   }
                                   return { width: e, height: i };
                              }
                              function f(t, e, i) {
                                   return { x: e * t.a + i * t.c + 0, y: e * t.b + i * t.d + 0 };
                              }
                              function m(t) {
                                   return { a: t[0], b: t[1], c: t[2], d: t[3], e: t[4], f: t[5] };
                              }
                              function g(t, e) {
                                   (t.cx = null == t.cx ? e.bbox().cx : t.cx), (t.cy = null == t.cy ? e.bbox().cy : t.cy);
                              }
                              function v(e) {
                                   for (var n = e.childNodes.length - 1; 0 <= n; n--) e.childNodes[n] instanceof t.SVGElement && v(e.childNodes[n]);
                                   return i.adopt(e).id(i.eid(e.nodeName));
                              }
                              function y(t) {
                                   return (
                                        null == t.x && ((t.x = 0), (t.y = 0), (t.width = 0), (t.height = 0)),
                                        (t.w = t.width),
                                        (t.h = t.height),
                                        (t.x2 = t.x + t.width),
                                        (t.y2 = t.y + t.height),
                                        (t.cx = t.x + t.width / 2),
                                        (t.cy = t.y + t.height / 2),
                                        t
                                   );
                              }
                              function b(t) {
                                   return 1e-37 < Math.abs(t) ? t : 0;
                              }
                              ["fill", "stroke"].forEach(function (t) {
                                   var e,
                                        n = {};
                                   (n[t] = function (n) {
                                        if (void 0 === n) return this;
                                        if ("string" == typeof n || i.Color.isRgb(n) || (n && "function" == typeof n.fill)) this.attr(t, n);
                                        else for (e = l[t].length - 1; 0 <= e; e--) null != n[l[t][e]] && this.attr(l.prefix(t, l[t][e]), n[l[t][e]]);
                                        return this;
                                   }),
                                        i.extend(i.Element, i.FX, n);
                              }),
                                   i.extend(i.Element, i.FX, {
                                        rotate: function (t, e, i) {
                                             return this.transform({ rotation: t, cx: e, cy: i });
                                        },
                                        skew: function (t, e, i, n) {
                                             return 1 == arguments.length || 3 == arguments.length ? this.transform({ skew: t, cx: e, cy: i }) : this.transform({ skewX: t, skewY: e, cx: i, cy: n });
                                        },
                                        scale: function (t, e, i, n) {
                                             return 1 == arguments.length || 3 == arguments.length ? this.transform({ scale: t, cx: e, cy: i }) : this.transform({ scaleX: t, scaleY: e, cx: i, cy: n });
                                        },
                                        translate: function (t, e) {
                                             return this.transform({ x: t, y: e });
                                        },
                                        flip: function (t, e) {
                                             return (e = "number" == typeof t ? t : e), this.transform({ flip: t || "both", offset: e });
                                        },
                                        matrix: function (t) {
                                             return this.attr("transform", new i.Matrix(6 == arguments.length ? [].slice.call(arguments) : t));
                                        },
                                        opacity: function (t) {
                                             return this.attr("opacity", t);
                                        },
                                        dx: function (t) {
                                             return this.x(new i.Number(t).plus(this instanceof i.FX ? 0 : this.x()), !0);
                                        },
                                        dy: function (t) {
                                             return this.y(new i.Number(t).plus(this instanceof i.FX ? 0 : this.y()), !0);
                                        },
                                        dmove: function (t, e) {
                                             return this.dx(t).dy(e);
                                        },
                                   }),
                                   i.extend(i.Rect, i.Ellipse, i.Circle, i.Gradient, i.FX, {
                                        radius: function (t, e) {
                                             var n = (this._target || this).type;
                                             return "radial" == n || "circle" == n ? this.attr("r", new i.Number(t)) : this.rx(t).ry(null == e ? t : e);
                                        },
                                   }),
                                   i.extend(i.Path, {
                                        length: function () {
                                             return this.node.getTotalLength();
                                        },
                                        pointAt: function (t) {
                                             return this.node.getPointAtLength(t);
                                        },
                                   }),
                                   i.extend(i.Parent, i.Text, i.Tspan, i.FX, {
                                        font: function (t, e) {
                                             if ("object" === (void 0 === t ? "undefined" : a(t))) for (e in t) this.font(e, t[e]);
                                             return "leading" == t
                                                  ? this.leading(e)
                                                  : "anchor" == t
                                                  ? this.attr("text-anchor", e)
                                                  : "size" == t || "family" == t || "weight" == t || "stretch" == t || "variant" == t || "style" == t
                                                  ? this.attr("font-" + t, e)
                                                  : this.attr(t, e);
                                        },
                                   }),
                                   (i.Set = i.invent({
                                        create: function (t) {
                                             Array.isArray(t) ? (this.members = t) : this.clear();
                                        },
                                        extend: {
                                             add: function () {
                                                  var t,
                                                       e,
                                                       i = [].slice.call(arguments);
                                                  for (t = 0, e = i.length; t < e; t++) this.members.push(i[t]);
                                                  return this;
                                             },
                                             remove: function (t) {
                                                  var e = this.index(t);
                                                  return -1 < e && this.members.splice(e, 1), this;
                                             },
                                             each: function (t) {
                                                  for (var e = 0, i = this.members.length; e < i; e++) t.apply(this.members[e], [e, this.members]);
                                                  return this;
                                             },
                                             clear: function () {
                                                  return (this.members = []), this;
                                             },
                                             length: function () {
                                                  return this.members.length;
                                             },
                                             has: function (t) {
                                                  return 0 <= this.index(t);
                                             },
                                             index: function (t) {
                                                  return this.members.indexOf(t);
                                             },
                                             get: function (t) {
                                                  return this.members[t];
                                             },
                                             first: function () {
                                                  return this.get(0);
                                             },
                                             last: function () {
                                                  return this.get(this.members.length - 1);
                                             },
                                             valueOf: function () {
                                                  return this.members;
                                             },
                                             bbox: function () {
                                                  if (0 == this.members.length) return new i.RBox();
                                                  var t = this.members[0].rbox(this.members[0].doc());
                                                  return (
                                                       this.each(function () {
                                                            t = t.merge(this.rbox(this.doc()));
                                                       }),
                                                       t
                                                  );
                                             },
                                        },
                                        construct: {
                                             set: function (t) {
                                                  return new i.Set(t);
                                             },
                                        },
                                   })),
                                   (i.FX.Set = i.invent({
                                        create: function (t) {
                                             this.set = t;
                                        },
                                   })),
                                   (i.Set.inherit = function () {
                                        var t = [];
                                        for (var e in i.Shape.prototype) "function" == typeof i.Shape.prototype[e] && "function" != typeof i.Set.prototype[e] && t.push(e);
                                        for (var e in (t.forEach(function (t) {
                                             i.Set.prototype[t] = function () {
                                                  for (var e = 0, n = this.members.length; e < n; e++) this.members[e] && "function" == typeof this.members[e][t] && this.members[e][t].apply(this.members[e], arguments);
                                                  return "animate" == t ? this.fx || (this.fx = new i.FX.Set(this)) : this;
                                             };
                                        }),
                                        (t = []),
                                        i.FX.prototype))
                                             "function" == typeof i.FX.prototype[e] && "function" != typeof i.FX.Set.prototype[e] && t.push(e);
                                        t.forEach(function (t) {
                                             i.FX.Set.prototype[t] = function () {
                                                  for (var e = 0, i = this.set.members.length; e < i; e++) this.set.members[e].fx[t].apply(this.set.members[e].fx, arguments);
                                                  return this;
                                             };
                                        });
                                   }),
                                   i.extend(i.Element, {
                                        data: function (t, e, i) {
                                             if ("object" === (void 0 === t ? "undefined" : a(t))) for (e in t) this.data(e, t[e]);
                                             else if (arguments.length < 2)
                                                  try {
                                                       return JSON.parse(this.attr("data-" + t));
                                                  } catch (e) {
                                                       return this.attr("data-" + t);
                                                  }
                                             else this.attr("data-" + t, null === e ? null : !0 === i || "string" == typeof e || "number" == typeof e ? e : JSON.stringify(e));
                                             return this;
                                        },
                                   }),
                                   i.extend(i.Element, {
                                        remember: function (t, e) {
                                             if ("object" === a(t)) for (var e in t) this.remember(e, t[e]);
                                             else {
                                                  if (1 == arguments.length) return this.memory()[t];
                                                  this.memory()[t] = e;
                                             }
                                             return this;
                                        },
                                        forget: function () {
                                             if (0 == arguments.length) this._memory = {};
                                             else for (var t = arguments.length - 1; 0 <= t; t--) delete this.memory()[arguments[t]];
                                             return this;
                                        },
                                        memory: function () {
                                             return this._memory || (this._memory = {});
                                        },
                                   }),
                                   (i.get = function (t) {
                                        var n = e.getElementById(
                                             (function (t) {
                                                  var e = (t || "").toString().match(i.regex.reference);
                                                  if (e) return e[1];
                                             })(t) || t
                                        );
                                        return i.adopt(n);
                                   }),
                                   (i.select = function (t, n) {
                                        return new i.Set(
                                             i.utils.map((n || e).querySelectorAll(t), function (t) {
                                                  return i.adopt(t);
                                             })
                                        );
                                   }),
                                   i.extend(i.Parent, {
                                        select: function (t) {
                                             return i.select(t, this.node);
                                        },
                                   });
                              var _ = "abcdef".split("");
                              if ("function" != typeof t.CustomEvent) {
                                   var x = function (t, i) {
                                        i = i || { bubbles: !1, cancelable: !1, detail: void 0 };
                                        var n = e.createEvent("CustomEvent");
                                        return n.initCustomEvent(t, i.bubbles, i.cancelable, i.detail), n;
                                   };
                                   (x.prototype = t.Event.prototype), (i.CustomEvent = x);
                              } else i.CustomEvent = t.CustomEvent;
                              return (
                                   (function (e) {
                                        for (var i = 0, n = ["moz", "webkit"], r = 0; r < n.length && !t.requestAnimationFrame; ++r)
                                             (e.requestAnimationFrame = e[n[r] + "RequestAnimationFrame"]), (e.cancelAnimationFrame = e[n[r] + "CancelAnimationFrame"] || e[n[r] + "CancelRequestAnimationFrame"]);
                                        (e.requestAnimationFrame =
                                             e.requestAnimationFrame ||
                                             function (t) {
                                                  var n = new Date().getTime(),
                                                       r = Math.max(0, 16 - (n - i)),
                                                       o = e.setTimeout(function () {
                                                            t(n + r);
                                                       }, r);
                                                  return (i = n + r), o;
                                             }),
                                             (e.cancelAnimationFrame = e.cancelAnimationFrame || e.clearTimeout);
                                   })(t),
                                   i
                              );
                         }),
                         void 0 ===
                              (n = function () {
                                   return o(r, r.document);
                              }.call(e, i, e, t)) || (t.exports = n);
               },
               function (t, e, i) {
                    "use strict";
                    "document" in self &&
                         (("classList" in document.createElement("_") && (!document.createElementNS || "classList" in document.createElementNS("http://www.w3.org/2000/svg", "g"))) ||
                              (function (t) {
                                   if ("Element" in t) {
                                        var e = "classList",
                                             i = "prototype",
                                             n = t.Element[i],
                                             r = Object,
                                             o =
                                                  String[i].trim ||
                                                  function () {
                                                       return this.replace(/^\s+|\s+$/g, "");
                                                  },
                                             a =
                                                  Array[i].indexOf ||
                                                  function (t) {
                                                       for (var e = 0, i = this.length; e < i; e++) if (e in this && this[e] === t) return e;
                                                       return -1;
                                                  },
                                             s = function (t, e) {
                                                  (this.name = t), (this.code = DOMException[t]), (this.message = e);
                                             },
                                             l = function (t, e) {
                                                  if ("" === e) throw new s("SYNTAX_ERR", "The token must not be empty.");
                                                  if (/\s/.test(e)) throw new s("INVALID_CHARACTER_ERR", "The token must not contain space characters.");
                                                  return a.call(t, e);
                                             },
                                             c = function (t) {
                                                  for (var e = o.call(t.getAttribute("class") || ""), i = e ? e.split(/\s+/) : [], n = 0, r = i.length; n < r; n++) this.push(i[n]);
                                                  this._updateClassName = function () {
                                                       t.setAttribute("class", this.toString());
                                                  };
                                             },
                                             u = (c[i] = []),
                                             h = function () {
                                                  return new c(this);
                                             };
                                        if (
                                             ((s[i] = Error[i]),
                                             (u.item = function (t) {
                                                  return this[t] || null;
                                             }),
                                             (u.contains = function (t) {
                                                  return ~l(this, t + "");
                                             }),
                                             (u.add = function () {
                                                  for (var t, e = arguments, i = 0, n = e.length, r = !1; (t = e[i] + ""), ~l(this, t) || (this.push(t), (r = !0)), ++i < n; );
                                                  r && this._updateClassName();
                                             }),
                                             (u.remove = function () {
                                                  var t,
                                                       e,
                                                       i = arguments,
                                                       n = 0,
                                                       r = i.length,
                                                       o = !1;
                                                  do {
                                                       for (t = i[n] + "", e = l(this, t); ~e; ) this.splice(e, 1), (o = !0), (e = l(this, t));
                                                  } while (++n < r);
                                                  o && this._updateClassName();
                                             }),
                                             (u.toggle = function (t, e) {
                                                  var i = this.contains(t),
                                                       n = i ? !0 !== e && "remove" : !1 !== e && "add";
                                                  return n && this[n](t), !0 === e || !1 === e ? e : !i;
                                             }),
                                             (u.replace = function (t, e) {
                                                  var i = l(t + "");
                                                  ~i && (this.splice(i, 1, e), this._updateClassName());
                                             }),
                                             (u.toString = function () {
                                                  return this.join(" ");
                                             }),
                                             r.defineProperty)
                                        ) {
                                             var d = { get: h, enumerable: !0, configurable: !0 };
                                             try {
                                                  r.defineProperty(n, e, d);
                                             } catch (t) {
                                                  (void 0 !== t.number && -2146823252 !== t.number) || ((d.enumerable = !1), r.defineProperty(n, e, d));
                                             }
                                        } else r[i].__defineGetter__ && n.__defineGetter__(e, h);
                                   }
                              })(self),
                         (function () {
                              var t = document.createElement("_");
                              if ((t.classList.add("c1", "c2"), !t.classList.contains("c2"))) {
                                   var e = function (t) {
                                        var e = DOMTokenList.prototype[t];
                                        DOMTokenList.prototype[t] = function (t) {
                                             var i,
                                                  n = arguments.length;
                                             for (i = 0; i < n; i++) (t = arguments[i]), e.call(this, t);
                                        };
                                   };
                                   e("add"), e("remove");
                              }
                              if ((t.classList.toggle("c3", !1), t.classList.contains("c3"))) {
                                   var i = DOMTokenList.prototype.toggle;
                                   DOMTokenList.prototype.toggle = function (t, e) {
                                        return 1 in arguments && !this.contains(t) == !e ? e : i.call(this, t);
                                   };
                              }
                              "replace" in document.createElement("_").classList ||
                                   (DOMTokenList.prototype.replace = function (t, e) {
                                        var i = this.toString().split(" "),
                                             n = i.indexOf(t + "");
                                        ~n && ((i = i.slice(n)), this.remove.apply(this, i), this.add(e), this.add.apply(this, i.slice(1)));
                                   }),
                                   (t = null);
                         })());
               },
               function (t, e, i) {
                    "use strict";
                    !(function () {
                         var t = !1;
                         function e(t) {
                              var e = t.__resizeTriggers__,
                                   i = e.firstElementChild,
                                   n = e.lastElementChild,
                                   r = i.firstElementChild;
                              (n.scrollLeft = n.scrollWidth),
                                   (n.scrollTop = n.scrollHeight),
                                   (r.style.width = i.offsetWidth + 1 + "px"),
                                   (r.style.height = i.offsetHeight + 1 + "px"),
                                   (i.scrollLeft = i.scrollWidth),
                                   (i.scrollTop = i.scrollHeight);
                         }
                         function i(t) {
                              var i = this;
                              e(this),
                                   this.__resizeRAF__ && a(this.__resizeRAF__),
                                   (this.__resizeRAF__ = o(function () {
                                        var e;
                                        ((e = i).offsetWidth != e.__resizeLast__.width || e.offsetHeight != e.__resizeLast__.height) &&
                                             ((i.__resizeLast__.width = i.offsetWidth),
                                             (i.__resizeLast__.height = i.offsetHeight),
                                             i.__resizeListeners__.forEach(function (e) {
                                                  e.call(t);
                                             }));
                                   }));
                         }
                         var n,
                              r,
                              o =
                                   ((n =
                                        window.requestAnimationFrame ||
                                        window.mozRequestAnimationFrame ||
                                        window.webkitRequestAnimationFrame ||
                                        function (t) {
                                             return window.setTimeout(t, 20);
                                        }),
                                   function (t) {
                                        return n(t);
                                   }),
                              a =
                                   ((r = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout),
                                   function (t) {
                                        return r(t);
                                   }),
                              s = !1,
                              l = "",
                              c = "animationstart",
                              u = "Webkit Moz O ms".split(" "),
                              h = "webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),
                              d = document.createElement("fakeelement");
                         if ((void 0 !== d.style.animationName && (s = !0), !1 === s))
                              for (var p = 0; p < u.length; p++)
                                   if (void 0 !== d.style[u[p] + "AnimationName"]) {
                                        (l = "-" + u[p].toLowerCase() + "-"), (c = h[p]);
                                        break;
                                   }
                         var f = "resizeanim",
                              m = "@" + l + "keyframes " + f + " { from { opacity: 0; } to { opacity: 0; } } ",
                              g = l + "animation: 1ms " + f + "; ";
                         (window.addResizeListener = function (n, r) {
                              n.__resizeTriggers__ ||
                                   ("static" == getComputedStyle(n).position && (n.style.position = "relative"),
                                   (function () {
                                        if (!t) {
                                             var e =
                                                       (m || "") +
                                                       ".resize-triggers { " +
                                                       (g || "") +
                                                       'visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',
                                                  i = document.head || document.getElementsByTagName("head")[0],
                                                  n = document.createElement("style");
                                             (n.type = "text/css"), n.styleSheet ? (n.styleSheet.cssText = e) : n.appendChild(document.createTextNode(e)), i.appendChild(n), (t = !0);
                                        }
                                   })(),
                                   (n.__resizeLast__ = {}),
                                   (n.__resizeListeners__ = []),
                                   ((n.__resizeTriggers__ = document.createElement("div")).className = "resize-triggers"),
                                   (n.__resizeTriggers__.innerHTML = '<div class="expand-trigger"><div></div></div><div class="contract-trigger"></div>'),
                                   n.appendChild(n.__resizeTriggers__),
                                   e(n),
                                   n.addEventListener("scroll", i, !0),
                                   c &&
                                        n.__resizeTriggers__.addEventListener(c, function (t) {
                                             t.animationName == f && e(n);
                                        })),
                                   n.__resizeListeners__.push(r);
                         }),
                              (window.removeResizeListener = function (t, e) {
                                   t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(e), 1), t.__resizeListeners__.length || (t.removeEventListener("scroll", i), (t.__resizeTriggers__ = !t.removeChild(t.__resizeTriggers__)));
                              });
                    })();
               },
               function (t, e, i) {
                    (t.exports = i(126)(!1)).push([
                         t.i,
                         '.apexcharts-canvas {\n  position: relative;\n  user-select: none;\n  /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\n}\n\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\n.apexcharts-canvas ::-webkit-scrollbar {\n  -webkit-appearance: none;\n  width: 6px;\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.legend-mouseover-inactive {\n  transition: 0.15s ease all;\n  opacity: 0.20;\n}\n\n.apexcharts-series-collapsed {\n  opacity: 0;\n}\n\n.apexcharts-gridline, .apexcharts-text {\n  pointer-events: none;\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  overflow: hidden;\n  white-space: nowrap;\n  z-index: 12;\n  transition: 0.15s ease all;\n}\n.apexcharts-tooltip.light {\n  border: 1px solid #e3e3e3;\n  background: rgba(255, 255, 255, 0.96);\n}\n.apexcharts-tooltip.dark {\n  color: #fff;\n  background: rgba(30,30,30, 0.8);\n}\n\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-line {\n  pointer-events: none;\n}\n\n.apexcharts-tooltip.active {\n  opacity: 1;\n  transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip-title {\n  padding: 6px;\n  font-size: 15px;\n  margin-bottom: 4px;\n}\n.apexcharts-tooltip.light .apexcharts-tooltip-title {\n  background: #ECEFF1;\n  border-bottom: 1px solid #ddd;\n}\n.apexcharts-tooltip.dark .apexcharts-tooltip-title {\n  background: rgba(0, 0, 0, 0.7);\n  border-bottom: 1px solid #222;\n}\n\n.apexcharts-tooltip-text-value,\n.apexcharts-tooltip-text-z-value {\n  display: inline-block;\n  font-weight: 600;\n  margin-left: 5px;\n}\n\n.apexcharts-tooltip-text-z-label:empty,\n.apexcharts-tooltip-text-z-value:empty {\n  display: none;\n}\n\n.apexcharts-tooltip-text-value, \n.apexcharts-tooltip-text-z-value {\n  font-weight: 600;\n}\n\n.apexcharts-tooltip-marker {\n  width: 12px;\n  height: 12px;\n  position: relative;\n  top: 0px;\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.active .apexcharts-tooltip-marker {\n  opacity: 1;\n}\n.apexcharts-tooltip-series-group.active, .apexcharts-tooltip-series-group:last-child {\n  padding-bottom: 4px;\n}\n.apexcharts-tooltip-y-group {\n  padding: 6px 0 5px;\n}\n.apexcharts-tooltip-candlestick {\n  padding: 4px 8px;\n}\n.apexcharts-tooltip-candlestick > div {\n  margin: 4px 0;\n}\n.apexcharts-tooltip-candlestick span.value {\n  font-weight: bold;\n}\n\n.apexcharts-xaxistooltip {\n  opacity: 0;\n  padding: 9px 10px;\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\tbackground: #ECEFF1;\n  border: 1px solid #90A4AE;\n  transition: 0.15s ease all;\n}\n\n.apexcharts-xaxistooltip:after, .apexcharts-xaxistooltip:before {\n\tleft: 50%;\n\tborder: solid transparent;\n\tcontent: " ";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n}\n\n.apexcharts-xaxistooltip:after {\n\tborder-color: rgba(236, 239, 241, 0);\n\tborder-width: 6px;\n\tmargin-left: -6px;\n}\n.apexcharts-xaxistooltip:before {\n\tborder-color: rgba(144, 164, 174, 0);\n\tborder-width: 7px;\n\tmargin-left: -7px;\n}\n\n.apexcharts-xaxistooltip-bottom:after, .apexcharts-xaxistooltip-bottom:before {\n  bottom: 100%;\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n  border-bottom-color: #ECEFF1;\n}\n.apexcharts-xaxistooltip-bottom:before {\n  border-bottom-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-top:after, .apexcharts-xaxistooltip-top:before {\n  top: 100%;\n}\n.apexcharts-xaxistooltip-top:after {\n  border-top-color: #ECEFF1;\n}\n.apexcharts-xaxistooltip-top:before {\n  border-top-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip.active {\n  opacity: 1;\n  transition: 0.15s ease all;\n}\n\n.apexcharts-yaxistooltip {\n  opacity: 0;\n  padding: 4px 10px;\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\tbackground: #ECEFF1;\n  border: 1px solid #90A4AE;\n}\n\n.apexcharts-yaxistooltip:after, .apexcharts-yaxistooltip:before {\n\ttop: 50%;\n\tborder: solid transparent;\n\tcontent: " ";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n}\n.apexcharts-yaxistooltip:after {\n\tborder-color: rgba(236, 239, 241, 0);\n\tborder-width: 6px;\n\tmargin-top: -6px;\n}\n.apexcharts-yaxistooltip:before {\n\tborder-color: rgba(144, 164, 174, 0);\n\tborder-width: 7px;\n\tmargin-top: -7px;\n}\n\n.apexcharts-yaxistooltip-left:after, .apexcharts-yaxistooltip-left:before {\n  left: 100%;\n}\n.apexcharts-yaxistooltip-left:after {\n  border-left-color: #ECEFF1;\n}\n.apexcharts-yaxistooltip-left:before {\n  border-left-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-right:after, .apexcharts-yaxistooltip-right:before {\n  right: 100%;\n}\n.apexcharts-yaxistooltip-right:after {\n  border-right-color: #ECEFF1;\n}\n.apexcharts-yaxistooltip-right:before {\n  border-right-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip.active {\n  opacity: 1;\n}\n\n.apexcharts-xcrosshairs, .apexcharts-ycrosshairs {\n  pointer-events: none;\n  opacity: 0;\n  transition: 0.15s ease all;\n}\n\n.apexcharts-xcrosshairs.active, .apexcharts-ycrosshairs.active {\n  opacity: 1;\n  transition: 0.15s ease all;\n}\n\n.apexcharts-ycrosshairs-hidden {\n  opacity: 0;\n}\n\n.apexcharts-zoom-rect {\n  pointer-events: none;\n}\n.apexcharts-selection-rect {\n  cursor: move;\n}\n\n.svg_select_points, .svg_select_points_rot {\n  opacity: 0;\n  visibility: hidden;\n}\n.svg_select_points_l, .svg_select_points_r {\n  cursor: ew-resize;\n  opacity: 1;\n  visibility: visible;\n  fill: #888;\n}\n.apexcharts-canvas.zoomable .hovering-zoom {\n  cursor: crosshair\n}\n.apexcharts-canvas.zoomable .hovering-pan {\n  cursor: move\n}\n\n.apexcharts-xaxis,\n.apexcharts-yaxis {\n  pointer-events: none;\n}\n\n.apexcharts-zoom-icon, \n.apexcharts-zoom-in-icon,\n.apexcharts-zoom-out-icon,\n.apexcharts-reset-zoom-icon, \n.apexcharts-pan-icon, \n.apexcharts-selection-icon,\n.apexcharts-menu-icon {\n  cursor: pointer;\n  width: 20px;\n  height: 20px;\n  text-align: center;\n}\n\n\n.apexcharts-zoom-icon svg, \n.apexcharts-zoom-in-icon svg,\n.apexcharts-zoom-out-icon svg,\n.apexcharts-reset-zoom-icon svg,\n.apexcharts-menu-icon svg {\n  fill: #6E8192;\n}\n.apexcharts-selection-icon svg {\n  fill: #444;\n  transform: scale(0.86)\n}\n.apexcharts-zoom-icon.selected svg, \n.apexcharts-selection-icon.selected svg, \n.apexcharts-reset-zoom-icon.selected svg {\n  fill: #008FFB;\n}\n.apexcharts-selection-icon:not(.selected):hover svg,\n.apexcharts-zoom-icon:not(.selected):hover svg, \n.apexcharts-zoom-in-icon:hover svg, \n.apexcharts-zoom-out-icon:hover svg, \n.apexcharts-reset-zoom-icon:hover svg, \n.apexcharts-menu-icon:hover svg {\n  fill: #333;\n}\n\n.apexcharts-selection-icon, .apexcharts-menu-icon {\n  margin-right: 3px;\n  margin-left: 5px;\n  position: relative;\n  top: 1px;\n}\n.apexcharts-reset-zoom-icon {\n  margin-left: 7px;\n}\n.apexcharts-zoom-icon {\n  transform: scale(1);\n}\n\n.apexcharts-zoom-in-icon, .apexcharts-zoom-out-icon {\n  transform: scale(0.8)\n}\n\n.apexcharts-zoom-out-icon {\n  margin-right: 3px;\n}\n\n.apexcharts-pan-icon {\n  transform: scale(0.72);\n  position: relative;\n  left: 1px;\n  top: 0px;\n}\n.apexcharts-pan-icon svg {\n  fill: #fff;\n  stroke: #6E8192;\n  stroke-width: 2;\n}\n.apexcharts-pan-icon.selected svg {\n  stroke: #008FFB;\n}\n.apexcharts-pan-icon:not(.selected):hover svg {\n  stroke: #333;\n}\n\n.apexcharts-toolbar {\n  position: absolute;\n  z-index: 11;\n  top: 0px;\n  right: 3px;\n  max-width: 176px;\n  text-align: right;\n  border-radius: 3px;\n  padding: 0px 6px 2px 6px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center; \n}\n\n.apexcharts-toolbar svg {\n  pointer-events: none;\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: 0.15s ease all;\n  pointer-events: none;\n}\n\n.apexcharts-menu.open {\n  opacity: 1;\n  pointer-events: all;\n  transition: 0.15s ease all;\n}\n\n.apexcharts-menu-item {\n  padding: 6px 7px;\n  font-size: 12px;\n  cursor: pointer;\n}\n.apexcharts-menu-item:hover {\n  background: #eee;\n}\n\n@media screen and (min-width: 768px) {\n  .apexcharts-toolbar {\n    /*opacity: 0;*/\n  }\n\n  .apexcharts-canvas:hover .apexcharts-toolbar {\n    opacity: 1;\n  } \n}\n\n.apexcharts-datalabel.hidden {\n  opacity: 0;\n}\n\n.apexcharts-pie-label,\n.apexcharts-datalabel, .apexcharts-datalabel-label, .apexcharts-datalabel-value {\n  cursor: default;\n  pointer-events: none;\n}\n\n.apexcharts-pie-label-delay {\n  opacity: 0;\n  animation-name: opaque;\n  animation-duration: 0.3s;\n  animation-fill-mode: forwards;\n  animation-timing-function: ease;\n}\n\n.apexcharts-canvas .hidden {\n  opacity: 0;\n}\n\n.apexcharts-hide .apexcharts-series-points {\n  opacity: 0;\n}\n\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events, .apexcharts-radar-series path, .apexcharts-radar-series polygon {\n  pointer-events: none;\n}\n\n/* markers */\n\n.apexcharts-marker {\n  transition: 0.15s ease all;\n}\n\n@keyframes opaque {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}',
                         "",
                    ]);
               },
               function (t, e, i) {
                    var n = i(159);
                    "string" == typeof n && (n = [[t.i, n, ""]]), i(161)(n, { hmr: !0, transform: void 0, insertInto: void 0 }), n.locals && (t.exports = n.locals);
               },
               function (t, e, i) {
                    var n,
                         r,
                         o,
                         a = {},
                         s =
                              ((n = function () {
                                   return window && document && document.all && !window.atob;
                              }),
                              function () {
                                   return void 0 === r && (r = n.apply(this, arguments)), r;
                              }),
                         l =
                              ((o = {}),
                              function (t) {
                                   if ("function" == typeof t) return t();
                                   if (void 0 === o[t]) {
                                        var e = function (t) {
                                             return document.querySelector(t);
                                        }.call(this, t);
                                        if (window.HTMLIFrameElement && e instanceof window.HTMLIFrameElement)
                                             try {
                                                  e = e.contentDocument.head;
                                             } catch (t) {
                                                  e = null;
                                             }
                                        o[t] = e;
                                   }
                                   return o[t];
                              }),
                         c = null,
                         u = 0,
                         h = [],
                         d = i(150);
                    function p(t, e) {
                         for (var i = 0; i < t.length; i++) {
                              var n = t[i],
                                   r = a[n.id];
                              if (r) {
                                   r.refs++;
                                   for (var o = 0; o < r.parts.length; o++) r.parts[o](n.parts[o]);
                                   for (; o < n.parts.length; o++) r.parts.push(b(n.parts[o], e));
                              } else {
                                   var s = [];
                                   for (o = 0; o < n.parts.length; o++) s.push(b(n.parts[o], e));
                                   a[n.id] = { id: n.id, refs: 1, parts: s };
                              }
                         }
                    }
                    function f(t, e) {
                         for (var i = [], n = {}, r = 0; r < t.length; r++) {
                              var o = t[r],
                                   a = e.base ? o[0] + e.base : o[0],
                                   s = { css: o[1], media: o[2], sourceMap: o[3] };
                              n[a] ? n[a].parts.push(s) : i.push((n[a] = { id: a, parts: [s] }));
                         }
                         return i;
                    }
                    function m(t, e) {
                         var i = l(t.insertInto);
                         if (!i) throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
                         var n = h[h.length - 1];
                         if ("top" === t.insertAt) n ? (n.nextSibling ? i.insertBefore(e, n.nextSibling) : i.appendChild(e)) : i.insertBefore(e, i.firstChild), h.push(e);
                         else if ("bottom" === t.insertAt) i.appendChild(e);
                         else {
                              if ("object" != typeof t.insertAt || !t.insertAt.before)
                                   throw new Error(
                                        "[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n"
                                   );
                              var r = l(t.insertInto + " " + t.insertAt.before);
                              i.insertBefore(e, r);
                         }
                    }
                    function g(t) {
                         if (null === t.parentNode) return !1;
                         t.parentNode.removeChild(t);
                         var e = h.indexOf(t);
                         0 <= e && h.splice(e, 1);
                    }
                    function v(t) {
                         var e = document.createElement("style");
                         return (t.attrs.type = "text/css"), y(e, t.attrs), m(t, e), e;
                    }
                    function y(t, e) {
                         Object.keys(e).forEach(function (i) {
                              t.setAttribute(i, e[i]);
                         });
                    }
                    function b(t, e) {
                         var i, n, r, o, a, s;
                         if (e.transform && t.css) {
                              if (!(o = e.transform(t.css))) return function () {};
                              t.css = o;
                         }
                         if (e.singleton) {
                              var l = u++;
                              (i = c || (c = v(e))), (n = w.bind(null, i, l, !1)), (r = w.bind(null, i, l, !0));
                         } else
                              r =
                                   t.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa
                                        ? ((a = e),
                                          (s = document.createElement("link")),
                                          (a.attrs.type = "text/css"),
                                          (a.attrs.rel = "stylesheet"),
                                          y(s, a.attrs),
                                          m(a, s),
                                          (n = function (t, e, i) {
                                               var n = i.css,
                                                    r = i.sourceMap,
                                                    o = void 0 === e.convertToAbsoluteUrls && r;
                                               (e.convertToAbsoluteUrls || o) && (n = d(n)), r && (n += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(r)))) + " */");
                                               var a = new Blob([n], { type: "text/css" }),
                                                    s = t.href;
                                               (t.href = URL.createObjectURL(a)), s && URL.revokeObjectURL(s);
                                          }.bind(null, (i = s), e)),
                                          function () {
                                               g(i), i.href && URL.revokeObjectURL(i.href);
                                          })
                                        : ((i = v(e)),
                                          (n = function (t, e) {
                                               var i = e.css,
                                                    n = e.media;
                                               if ((n && t.setAttribute("media", n), t.styleSheet)) t.styleSheet.cssText = i;
                                               else {
                                                    for (; t.firstChild; ) t.removeChild(t.firstChild);
                                                    t.appendChild(document.createTextNode(i));
                                               }
                                          }.bind(null, i)),
                                          function () {
                                               g(i);
                                          });
                         return (
                              n(t),
                              function (e) {
                                   if (e) {
                                        if (e.css === t.css && e.media === t.media && e.sourceMap === t.sourceMap) return;
                                        n((t = e));
                                   } else r();
                              }
                         );
                    }
                    t.exports = function (t, e) {
                         if ("undefined" != typeof DEBUG && DEBUG && "object" != typeof document) throw new Error("The style-loader cannot be used in a non-browser environment");
                         ((e = e || {}).attrs = "object" == typeof e.attrs ? e.attrs : {}),
                              e.singleton || "boolean" == typeof e.singleton || (e.singleton = s()),
                              e.insertInto || (e.insertInto = "head"),
                              e.insertAt || (e.insertAt = "bottom");
                         var i = f(t, e);
                         return (
                              p(i, e),
                              function (t) {
                                   for (var n = [], r = 0; r < i.length; r++) {
                                        var o = i[r];
                                        (s = a[o.id]).refs--, n.push(s);
                                   }
                                   for (t && p(f(t, e), e), r = 0; r < n.length; r++) {
                                        var s;
                                        if (0 === (s = n[r]).refs) {
                                             for (var l = 0; l < s.parts.length; l++) s.parts[l]();
                                             delete a[s.id];
                                        }
                                   }
                              }
                         );
                    };
                    var _,
                         x =
                              ((_ = []),
                              function (t, e) {
                                   return (_[t] = e), _.filter(Boolean).join("\n");
                              });
                    function w(t, e, i, n) {
                         var r = i ? "" : n.css;
                         if (t.styleSheet) t.styleSheet.cssText = x(e, r);
                         else {
                              var o = document.createTextNode(r),
                                   a = t.childNodes;
                              a[e] && t.removeChild(a[e]), a.length ? t.insertBefore(o, a[e]) : t.appendChild(o);
                         }
                    }
               },
               function (t, e) {
                    t.exports = '<svg fill="#000000" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>';
               },
               function (t, e) {
                    t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"></path><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path></svg>';
               },
               function (t, e) {
                    t.exports =
                         '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"></path><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"></path></svg>';
               },
               function (t, e) {
                    t.exports =
                         '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#000000" viewBox="0 0 24 24"><defs><path d="M0 0h24v24H0z" id="a"></path></defs><clipPath id="b"><use overflow="visible" xlink:href="#a"></use></clipPath><path clip-path="url(#b)" d="M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-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"></path></svg>';
               },
               function (t, e) {
                    t.exports =
                         '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"></path><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"></path></svg>';
               },
               function (t, e) {
                    t.exports =
                         '<svg fill="#6E8192" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"></path><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"></path></svg>';
               },
               function (t, e) {
                    t.exports =
                         '<svg xmlns="http://www.w3.org/2000/svg" fill="#000000" viewBox="0 0 24 24"><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"></path><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"></path></svg>';
               },
               function (t, e, i) {
                    i(88), i(86), i(87), i(85), i(84), i(89), (t.exports = i(90));
               },
          ]);
     },
     function (t, e, i) {
          var n, r;
          i(165),
               (n = [i(1)]),
               void 0 ===
                    (r = function (t) {
                         return (function () {
                              var e,
                                   i,
                                   n,
                                   r = 0,
                                   o = "error",
                                   a = "info",
                                   s = "success",
                                   l = "warning",
                                   c = {
                                        clear: function (i, n) {
                                             var r = f();
                                             e || u(r),
                                                  h(i, r, n) ||
                                                       (function (i) {
                                                            for (var n = e.children(), r = n.length - 1; r >= 0; r--) h(t(n[r]), i);
                                                       })(r);
                                        },
                                        remove: function (i) {
                                             var n = f();
                                             e || u(n), i && 0 === t(":focus", i).length ? m(i) : e.children().length && e.remove();
                                        },
                                        error: function (t, e, i) {
                                             return p({ type: o, iconClass: f().iconClasses.error, message: t, optionsOverride: i, title: e });
                                        },
                                        getContainer: u,
                                        info: function (t, e, i) {
                                             return p({ type: a, iconClass: f().iconClasses.info, message: t, optionsOverride: i, title: e });
                                        },
                                        options: {},
                                        subscribe: function (t) {
                                             i = t;
                                        },
                                        success: function (t, e, i) {
                                             return p({ type: s, iconClass: f().iconClasses.success, message: t, optionsOverride: i, title: e });
                                        },
                                        version: "2.1.4",
                                        warning: function (t, e, i) {
                                             return p({ type: l, iconClass: f().iconClasses.warning, message: t, optionsOverride: i, title: e });
                                        },
                                   };
                              return c;
                              function u(i, n) {
                                   return (
                                        i || (i = f()),
                                        (e = t("#" + i.containerId)).length ||
                                             (n &&
                                                  (e = (function (i) {
                                                       return (e = t("<div/>").attr("id", i.containerId).addClass(i.positionClass)).appendTo(t(i.target)), e;
                                                  })(i))),
                                        e
                                   );
                              }
                              function h(e, i, n) {
                                   var r = !(!n || !n.force) && n.force;
                                   return !(
                                        !e ||
                                        (!r && 0 !== t(":focus", e).length) ||
                                        (e[i.hideMethod]({
                                             duration: i.hideDuration,
                                             easing: i.hideEasing,
                                             complete: function () {
                                                  m(e);
                                             },
                                        }),
                                        0)
                                   );
                              }
                              function d(t) {
                                   i && i(t);
                              }
                              function p(i) {
                                   var o = f(),
                                        a = i.iconClass || o.iconClass;
                                   if (
                                        (void 0 !== i.optionsOverride && ((o = t.extend(o, i.optionsOverride)), (a = i.optionsOverride.iconClass || a)),
                                        !(function (t, e) {
                                             if (t.preventDuplicates) {
                                                  if (e.message === n) return !0;
                                                  n = e.message;
                                             }
                                             return !1;
                                        })(o, i))
                                   ) {
                                        r++, (e = u(o, !0));
                                        var s = null,
                                             l = t("<div/>"),
                                             c = t("<div/>"),
                                             h = t("<div/>"),
                                             p = t("<div/>"),
                                             g = t(o.closeHtml),
                                             v = { intervalId: null, hideEta: null, maxHideTime: null },
                                             y = { toastId: r, state: "visible", startTime: new Date(), options: o, map: i };
                                        return (
                                             i.iconClass && l.addClass(o.toastClass).addClass(a),
                                             (function () {
                                                  if (i.title) {
                                                       var t = i.title;
                                                       o.escapeHtml && (t = b(i.title)), c.append(t).addClass(o.titleClass), l.append(c);
                                                  }
                                             })(),
                                             (function () {
                                                  if (i.message) {
                                                       var t = i.message;
                                                       o.escapeHtml && (t = b(i.message)), h.append(t).addClass(o.messageClass), l.append(h);
                                                  }
                                             })(),
                                             o.closeButton && (g.addClass(o.closeClass).attr("role", "button"), l.prepend(g)),
                                             o.progressBar && (p.addClass(o.progressClass), l.prepend(p)),
                                             o.rtl && l.addClass("rtl"),
                                             o.newestOnTop ? e.prepend(l) : e.append(l),
                                             (function () {
                                                  var t = "";
                                                  switch (i.iconClass) {
                                                       case "toast-success":
                                                       case "toast-info":
                                                            t = "polite";
                                                            break;
                                                       default:
                                                            t = "assertive";
                                                  }
                                                  l.attr("aria-live", t);
                                             })(),
                                             l.hide(),
                                             l[o.showMethod]({ duration: o.showDuration, easing: o.showEasing, complete: o.onShown }),
                                             o.timeOut > 0 &&
                                                  ((s = setTimeout(_, o.timeOut)), (v.maxHideTime = parseFloat(o.timeOut)), (v.hideEta = new Date().getTime() + v.maxHideTime), o.progressBar && (v.intervalId = setInterval(k, 10))),
                                             o.closeOnHover && l.hover(w, x),
                                             !o.onclick && o.tapToDismiss && l.click(_),
                                             o.closeButton &&
                                                  g &&
                                                  g.click(function (t) {
                                                       t.stopPropagation ? t.stopPropagation() : void 0 !== t.cancelBubble && !0 !== t.cancelBubble && (t.cancelBubble = !0), o.onCloseClick && o.onCloseClick(t), _(!0);
                                                  }),
                                             o.onclick &&
                                                  l.click(function (t) {
                                                       o.onclick(t), _();
                                                  }),
                                             d(y),
                                             o.debug && console && console.log(y),
                                             l
                                        );
                                   }
                                   function b(t) {
                                        return null == t && (t = ""), t.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
                                   }
                                   function _(e) {
                                        var i = e && !1 !== o.closeMethod ? o.closeMethod : o.hideMethod,
                                             n = e && !1 !== o.closeDuration ? o.closeDuration : o.hideDuration,
                                             r = e && !1 !== o.closeEasing ? o.closeEasing : o.hideEasing;
                                        if (!t(":focus", l).length || e)
                                             return (
                                                  clearTimeout(v.intervalId),
                                                  l[i]({
                                                       duration: n,
                                                       easing: r,
                                                       complete: function () {
                                                            m(l), clearTimeout(s), o.onHidden && "hidden" !== y.state && o.onHidden(), (y.state = "hidden"), (y.endTime = new Date()), d(y);
                                                       },
                                                  })
                                             );
                                   }
                                   function x() {
                                        (o.timeOut > 0 || o.extendedTimeOut > 0) && ((s = setTimeout(_, o.extendedTimeOut)), (v.maxHideTime = parseFloat(o.extendedTimeOut)), (v.hideEta = new Date().getTime() + v.maxHideTime));
                                   }
                                   function w() {
                                        clearTimeout(s), (v.hideEta = 0), l.stop(!0, !0)[o.showMethod]({ duration: o.showDuration, easing: o.showEasing });
                                   }
                                   function k() {
                                        var t = ((v.hideEta - new Date().getTime()) / v.maxHideTime) * 100;
                                        p.width(t + "%");
                                   }
                              }
                              function f() {
                                   return t.extend(
                                        {},
                                        {
                                             tapToDismiss: !0,
                                             toastClass: "toast",
                                             containerId: "toast-container",
                                             debug: !1,
                                             showMethod: "fadeIn",
                                             showDuration: 300,
                                             showEasing: "swing",
                                             onShown: void 0,
                                             hideMethod: "fadeOut",
                                             hideDuration: 1e3,
                                             hideEasing: "swing",
                                             onHidden: void 0,
                                             closeMethod: !1,
                                             closeDuration: !1,
                                             closeEasing: !1,
                                             closeOnHover: !0,
                                             extendedTimeOut: 1e3,
                                             iconClasses: { error: "toast-error", info: "toast-info", success: "toast-success", warning: "toast-warning" },
                                             iconClass: "toast-info",
                                             positionClass: "toast-top-right",
                                             timeOut: 5e3,
                                             titleClass: "toast-title",
                                             messageClass: "toast-message",
                                             escapeHtml: !1,
                                             target: "body",
                                             closeHtml: '<button type="button">&times;</button>',
                                             closeClass: "toast-close-button",
                                             newestOnTop: !0,
                                             preventDuplicates: !1,
                                             progressBar: !1,
                                             progressClass: "toast-progress",
                                             rtl: !1,
                                        },
                                        c.options
                                   );
                              }
                              function m(t) {
                                   e || (e = u()), t.is(":visible") || (t.remove(), (t = null), 0 === e.children().length && (e.remove(), (n = void 0)));
                              }
                         })();
                    }.apply(e, n)) || (t.exports = r);
     },
     function (t, e, i) {
          /*!
           * Chart.js v2.9.3
           * https://www.chartjs.org
           * (c) 2019 Chart.js Contributors
           * Released under the MIT License
           */ t.exports = (function (t) {
               "use strict";
               t = t && t.hasOwnProperty("default") ? t.default : t;
               var e = {
                         aliceblue: [240, 248, 255],
                         antiquewhite: [250, 235, 215],
                         aqua: [0, 255, 255],
                         aquamarine: [127, 255, 212],
                         azure: [240, 255, 255],
                         beige: [245, 245, 220],
                         bisque: [255, 228, 196],
                         black: [0, 0, 0],
                         blanchedalmond: [255, 235, 205],
                         blue: [0, 0, 255],
                         blueviolet: [138, 43, 226],
                         brown: [165, 42, 42],
                         burlywood: [222, 184, 135],
                         cadetblue: [95, 158, 160],
                         chartreuse: [127, 255, 0],
                         chocolate: [210, 105, 30],
                         coral: [255, 127, 80],
                         cornflowerblue: [100, 149, 237],
                         cornsilk: [255, 248, 220],
                         crimson: [220, 20, 60],
                         cyan: [0, 255, 255],
                         darkblue: [0, 0, 139],
                         darkcyan: [0, 139, 139],
                         darkgoldenrod: [184, 134, 11],
                         darkgray: [169, 169, 169],
                         darkgreen: [0, 100, 0],
                         darkgrey: [169, 169, 169],
                         darkkhaki: [189, 183, 107],
                         darkmagenta: [139, 0, 139],
                         darkolivegreen: [85, 107, 47],
                         darkorange: [255, 140, 0],
                         darkorchid: [153, 50, 204],
                         darkred: [139, 0, 0],
                         darksalmon: [233, 150, 122],
                         darkseagreen: [143, 188, 143],
                         darkslateblue: [72, 61, 139],
                         darkslategray: [47, 79, 79],
                         darkslategrey: [47, 79, 79],
                         darkturquoise: [0, 206, 209],
                         darkviolet: [148, 0, 211],
                         deeppink: [255, 20, 147],
                         deepskyblue: [0, 191, 255],
                         dimgray: [105, 105, 105],
                         dimgrey: [105, 105, 105],
                         dodgerblue: [30, 144, 255],
                         firebrick: [178, 34, 34],
                         floralwhite: [255, 250, 240],
                         forestgreen: [34, 139, 34],
                         fuchsia: [255, 0, 255],
                         gainsboro: [220, 220, 220],
                         ghostwhite: [248, 248, 255],
                         gold: [255, 215, 0],
                         goldenrod: [218, 165, 32],
                         gray: [128, 128, 128],
                         green: [0, 128, 0],
                         greenyellow: [173, 255, 47],
                         grey: [128, 128, 128],
                         honeydew: [240, 255, 240],
                         hotpink: [255, 105, 180],
                         indianred: [205, 92, 92],
                         indigo: [75, 0, 130],
                         ivory: [255, 255, 240],
                         khaki: [240, 230, 140],
                         lavender: [230, 230, 250],
                         lavenderblush: [255, 240, 245],
                         lawngreen: [124, 252, 0],
                         lemonchiffon: [255, 250, 205],
                         lightblue: [173, 216, 230],
                         lightcoral: [240, 128, 128],
                         lightcyan: [224, 255, 255],
                         lightgoldenrodyellow: [250, 250, 210],
                         lightgray: [211, 211, 211],
                         lightgreen: [144, 238, 144],
                         lightgrey: [211, 211, 211],
                         lightpink: [255, 182, 193],
                         lightsalmon: [255, 160, 122],
                         lightseagreen: [32, 178, 170],
                         lightskyblue: [135, 206, 250],
                         lightslategray: [119, 136, 153],
                         lightslategrey: [119, 136, 153],
                         lightsteelblue: [176, 196, 222],
                         lightyellow: [255, 255, 224],
                         lime: [0, 255, 0],
                         limegreen: [50, 205, 50],
                         linen: [250, 240, 230],
                         magenta: [255, 0, 255],
                         maroon: [128, 0, 0],
                         mediumaquamarine: [102, 205, 170],
                         mediumblue: [0, 0, 205],
                         mediumorchid: [186, 85, 211],
                         mediumpurple: [147, 112, 219],
                         mediumseagreen: [60, 179, 113],
                         mediumslateblue: [123, 104, 238],
                         mediumspringgreen: [0, 250, 154],
                         mediumturquoise: [72, 209, 204],
                         mediumvioletred: [199, 21, 133],
                         midnightblue: [25, 25, 112],
                         mintcream: [245, 255, 250],
                         mistyrose: [255, 228, 225],
                         moccasin: [255, 228, 181],
                         navajowhite: [255, 222, 173],
                         navy: [0, 0, 128],
                         oldlace: [253, 245, 230],
                         olive: [128, 128, 0],
                         olivedrab: [107, 142, 35],
                         orange: [255, 165, 0],
                         orangered: [255, 69, 0],
                         orchid: [218, 112, 214],
                         palegoldenrod: [238, 232, 170],
                         palegreen: [152, 251, 152],
                         paleturquoise: [175, 238, 238],
                         palevioletred: [219, 112, 147],
                         papayawhip: [255, 239, 213],
                         peachpuff: [255, 218, 185],
                         peru: [205, 133, 63],
                         pink: [255, 192, 203],
                         plum: [221, 160, 221],
                         powderblue: [176, 224, 230],
                         purple: [128, 0, 128],
                         rebeccapurple: [102, 51, 153],
                         red: [255, 0, 0],
                         rosybrown: [188, 143, 143],
                         royalblue: [65, 105, 225],
                         saddlebrown: [139, 69, 19],
                         salmon: [250, 128, 114],
                         sandybrown: [244, 164, 96],
                         seagreen: [46, 139, 87],
                         seashell: [255, 245, 238],
                         sienna: [160, 82, 45],
                         silver: [192, 192, 192],
                         skyblue: [135, 206, 235],
                         slateblue: [106, 90, 205],
                         slategray: [112, 128, 144],
                         slategrey: [112, 128, 144],
                         snow: [255, 250, 250],
                         springgreen: [0, 255, 127],
                         steelblue: [70, 130, 180],
                         tan: [210, 180, 140],
                         teal: [0, 128, 128],
                         thistle: [216, 191, 216],
                         tomato: [255, 99, 71],
                         turquoise: [64, 224, 208],
                         violet: [238, 130, 238],
                         wheat: [245, 222, 179],
                         white: [255, 255, 255],
                         whitesmoke: [245, 245, 245],
                         yellow: [255, 255, 0],
                         yellowgreen: [154, 205, 50],
                    },
                    i = (function (t, e) {
                         return t((e = { exports: {} }), e.exports), e.exports;
                    })(function (t) {
                         var i = {};
                         for (var n in e) e.hasOwnProperty(n) && (i[e[n]] = n);
                         var r = (t.exports = {
                              rgb: { channels: 3, labels: "rgb" },
                              hsl: { channels: 3, labels: "hsl" },
                              hsv: { channels: 3, labels: "hsv" },
                              hwb: { channels: 3, labels: "hwb" },
                              cmyk: { channels: 4, labels: "cmyk" },
                              xyz: { channels: 3, labels: "xyz" },
                              lab: { channels: 3, labels: "lab" },
                              lch: { channels: 3, labels: "lch" },
                              hex: { channels: 1, labels: ["hex"] },
                              keyword: { channels: 1, labels: ["keyword"] },
                              ansi16: { channels: 1, labels: ["ansi16"] },
                              ansi256: { channels: 1, labels: ["ansi256"] },
                              hcg: { channels: 3, labels: ["h", "c", "g"] },
                              apple: { channels: 3, labels: ["r16", "g16", "b16"] },
                              gray: { channels: 1, labels: ["gray"] },
                         });
                         for (var o in r)
                              if (r.hasOwnProperty(o)) {
                                   if (!("channels" in r[o])) throw new Error("missing channels property: " + o);
                                   if (!("labels" in r[o])) throw new Error("missing channel labels property: " + o);
                                   if (r[o].labels.length !== r[o].channels) throw new Error("channel and label counts mismatch: " + o);
                                   var a = r[o].channels,
                                        s = r[o].labels;
                                   delete r[o].channels, delete r[o].labels, Object.defineProperty(r[o], "channels", { value: a }), Object.defineProperty(r[o], "labels", { value: s });
                              }
                         (r.rgb.hsl = function (t) {
                              var e,
                                   i,
                                   n = t[0] / 255,
                                   r = t[1] / 255,
                                   o = t[2] / 255,
                                   a = Math.min(n, r, o),
                                   s = Math.max(n, r, o),
                                   l = s - a;
                              return (
                                   s === a ? (e = 0) : n === s ? (e = (r - o) / l) : r === s ? (e = 2 + (o - n) / l) : o === s && (e = 4 + (n - r) / l),
                                   (e = Math.min(60 * e, 360)) < 0 && (e += 360),
                                   (i = (a + s) / 2),
                                   [e, 100 * (s === a ? 0 : i <= 0.5 ? l / (s + a) : l / (2 - s - a)), 100 * i]
                              );
                         }),
                              (r.rgb.hsv = function (t) {
                                   var e,
                                        i,
                                        n,
                                        r,
                                        o,
                                        a = t[0] / 255,
                                        s = t[1] / 255,
                                        l = t[2] / 255,
                                        c = Math.max(a, s, l),
                                        u = c - Math.min(a, s, l),
                                        h = function (t) {
                                             return (c - t) / 6 / u + 0.5;
                                        };
                                   return (
                                        0 === u ? (r = o = 0) : ((o = u / c), (e = h(a)), (i = h(s)), (n = h(l)), a === c ? (r = n - i) : s === c ? (r = 1 / 3 + e - n) : l === c && (r = 2 / 3 + i - e), r < 0 ? (r += 1) : r > 1 && (r -= 1)),
                                        [360 * r, 100 * o, 100 * c]
                                   );
                              }),
                              (r.rgb.hwb = function (t) {
                                   var e = t[0],
                                        i = t[1],
                                        n = t[2];
                                   return [r.rgb.hsl(t)[0], (1 / 255) * Math.min(e, Math.min(i, n)) * 100, 100 * (n = 1 - (1 / 255) * Math.max(e, Math.max(i, n)))];
                              }),
                              (r.rgb.cmyk = function (t) {
                                   var e,
                                        i = t[0] / 255,
                                        n = t[1] / 255,
                                        r = t[2] / 255;
                                   return [100 * ((1 - i - (e = Math.min(1 - i, 1 - n, 1 - r))) / (1 - e) || 0), 100 * ((1 - n - e) / (1 - e) || 0), 100 * ((1 - r - e) / (1 - e) || 0), 100 * e];
                              }),
                              (r.rgb.keyword = function (t) {
                                   var n = i[t];
                                   if (n) return n;
                                   var r,
                                        o,
                                        a,
                                        s = 1 / 0;
                                   for (var l in e)
                                        if (e.hasOwnProperty(l)) {
                                             var c = e[l],
                                                  u = ((o = t), (a = c), Math.pow(o[0] - a[0], 2) + Math.pow(o[1] - a[1], 2) + Math.pow(o[2] - a[2], 2));
                                             u < s && ((s = u), (r = l));
                                        }
                                   return r;
                              }),
                              (r.keyword.rgb = function (t) {
                                   return e[t];
                              }),
                              (r.rgb.xyz = function (t) {
                                   var e = t[0] / 255,
                                        i = t[1] / 255,
                                        n = t[2] / 255;
                                   return [
                                        100 *
                                             (0.4124 * (e = e > 0.04045 ? Math.pow((e + 0.055) / 1.055, 2.4) : e / 12.92) +
                                                  0.3576 * (i = i > 0.04045 ? Math.pow((i + 0.055) / 1.055, 2.4) : i / 12.92) +
                                                  0.1805 * (n = n > 0.04045 ? Math.pow((n + 0.055) / 1.055, 2.4) : n / 12.92)),
                                        100 * (0.2126 * e + 0.7152 * i + 0.0722 * n),
                                        100 * (0.0193 * e + 0.1192 * i + 0.9505 * n),
                                   ];
                              }),
                              (r.rgb.lab = function (t) {
                                   var e = r.rgb.xyz(t),
                                        i = e[0],
                                        n = e[1],
                                        o = e[2];
                                   return (
                                        (n /= 100),
                                        (o /= 108.883),
                                        (i = (i /= 95.047) > 0.008856 ? Math.pow(i, 1 / 3) : 7.787 * i + 16 / 116),
                                        [116 * (n = n > 0.008856 ? Math.pow(n, 1 / 3) : 7.787 * n + 16 / 116) - 16, 500 * (i - n), 200 * (n - (o = o > 0.008856 ? Math.pow(o, 1 / 3) : 7.787 * o + 16 / 116))]
                                   );
                              }),
                              (r.hsl.rgb = function (t) {
                                   var e,
                                        i,
                                        n,
                                        r,
                                        o,
                                        a = t[0] / 360,
                                        s = t[1] / 100,
                                        l = t[2] / 100;
                                   if (0 === s) return [(o = 255 * l), o, o];
                                   (e = 2 * l - (i = l < 0.5 ? l * (1 + s) : l + s - l * s)), (r = [0, 0, 0]);
                                   for (var c = 0; c < 3; c++) (n = a + (1 / 3) * -(c - 1)) < 0 && n++, n > 1 && n--, (o = 6 * n < 1 ? e + 6 * (i - e) * n : 2 * n < 1 ? i : 3 * n < 2 ? e + (i - e) * (2 / 3 - n) * 6 : e), (r[c] = 255 * o);
                                   return r;
                              }),
                              (r.hsl.hsv = function (t) {
                                   var e = t[0],
                                        i = t[1] / 100,
                                        n = t[2] / 100,
                                        r = i,
                                        o = Math.max(n, 0.01);
                                   return (i *= (n *= 2) <= 1 ? n : 2 - n), (r *= o <= 1 ? o : 2 - o), [e, 100 * (0 === n ? (2 * r) / (o + r) : (2 * i) / (n + i)), ((n + i) / 2) * 100];
                              }),
                              (r.hsv.rgb = function (t) {
                                   var e = t[0] / 60,
                                        i = t[1] / 100,
                                        n = t[2] / 100,
                                        r = Math.floor(e) % 6,
                                        o = e - Math.floor(e),
                                        a = 255 * n * (1 - i),
                                        s = 255 * n * (1 - i * o),
                                        l = 255 * n * (1 - i * (1 - o));
                                   switch (((n *= 255), r)) {
                                        case 0:
                                             return [n, l, a];
                                        case 1:
                                             return [s, n, a];
                                        case 2:
                                             return [a, n, l];
                                        case 3:
                                             return [a, s, n];
                                        case 4:
                                             return [l, a, n];
                                        case 5:
                                             return [n, a, s];
                                   }
                              }),
                              (r.hsv.hsl = function (t) {
                                   var e,
                                        i,
                                        n,
                                        r = t[0],
                                        o = t[1] / 100,
                                        a = t[2] / 100,
                                        s = Math.max(a, 0.01);
                                   return (n = (2 - o) * a), (i = o * s), [r, 100 * (i = (i /= (e = (2 - o) * s) <= 1 ? e : 2 - e) || 0), 100 * (n /= 2)];
                              }),
                              (r.hwb.rgb = function (t) {
                                   var e,
                                        i,
                                        n,
                                        r,
                                        o,
                                        a,
                                        s,
                                        l = t[0] / 360,
                                        c = t[1] / 100,
                                        u = t[2] / 100,
                                        h = c + u;
                                   switch ((h > 1 && ((c /= h), (u /= h)), (n = 6 * l - (e = Math.floor(6 * l))), 0 != (1 & e) && (n = 1 - n), (r = c + n * ((i = 1 - u) - c)), e)) {
                                        default:
                                        case 6:
                                        case 0:
                                             (o = i), (a = r), (s = c);
                                             break;
                                        case 1:
                                             (o = r), (a = i), (s = c);
                                             break;
                                        case 2:
                                             (o = c), (a = i), (s = r);
                                             break;
                                        case 3:
                                             (o = c), (a = r), (s = i);
                                             break;
                                        case 4:
                                             (o = r), (a = c), (s = i);
                                             break;
                                        case 5:
                                             (o = i), (a = c), (s = r);
                                   }
                                   return [255 * o, 255 * a, 255 * s];
                              }),
                              (r.cmyk.rgb = function (t) {
                                   var e = t[0] / 100,
                                        i = t[1] / 100,
                                        n = t[2] / 100,
                                        r = t[3] / 100;
                                   return [255 * (1 - Math.min(1, e * (1 - r) + r)), 255 * (1 - Math.min(1, i * (1 - r) + r)), 255 * (1 - Math.min(1, n * (1 - r) + r))];
                              }),
                              (r.xyz.rgb = function (t) {
                                   var e,
                                        i,
                                        n,
                                        r = t[0] / 100,
                                        o = t[1] / 100,
                                        a = t[2] / 100;
                                   return (
                                        (i = -0.9689 * r + 1.8758 * o + 0.0415 * a),
                                        (n = 0.0557 * r + -0.204 * o + 1.057 * a),
                                        (e = (e = 3.2406 * r + -1.5372 * o + -0.4986 * a) > 0.0031308 ? 1.055 * Math.pow(e, 1 / 2.4) - 0.055 : 12.92 * e),
                                        (i = i > 0.0031308 ? 1.055 * Math.pow(i, 1 / 2.4) - 0.055 : 12.92 * i),
                                        (n = n > 0.0031308 ? 1.055 * Math.pow(n, 1 / 2.4) - 0.055 : 12.92 * n),
                                        [255 * (e = Math.min(Math.max(0, e), 1)), 255 * (i = Math.min(Math.max(0, i), 1)), 255 * (n = Math.min(Math.max(0, n), 1))]
                                   );
                              }),
                              (r.xyz.lab = function (t) {
                                   var e = t[0],
                                        i = t[1],
                                        n = t[2];
                                   return (
                                        (i /= 100),
                                        (n /= 108.883),
                                        (e = (e /= 95.047) > 0.008856 ? Math.pow(e, 1 / 3) : 7.787 * e + 16 / 116),
                                        [116 * (i = i > 0.008856 ? Math.pow(i, 1 / 3) : 7.787 * i + 16 / 116) - 16, 500 * (e - i), 200 * (i - (n = n > 0.008856 ? Math.pow(n, 1 / 3) : 7.787 * n + 16 / 116))]
                                   );
                              }),
                              (r.lab.xyz = function (t) {
                                   var e,
                                        i,
                                        n,
                                        r = t[0];
                                   (e = t[1] / 500 + (i = (r + 16) / 116)), (n = i - t[2] / 200);
                                   var o = Math.pow(i, 3),
                                        a = Math.pow(e, 3),
                                        s = Math.pow(n, 3);
                                   return (i = o > 0.008856 ? o : (i - 16 / 116) / 7.787), (e = a > 0.008856 ? a : (e - 16 / 116) / 7.787), (n = s > 0.008856 ? s : (n - 16 / 116) / 7.787), [(e *= 95.047), (i *= 100), (n *= 108.883)];
                              }),
                              (r.lab.lch = function (t) {
                                   var e,
                                        i = t[0],
                                        n = t[1],
                                        r = t[2];
                                   return (e = (360 * Math.atan2(r, n)) / 2 / Math.PI) < 0 && (e += 360), [i, Math.sqrt(n * n + r * r), e];
                              }),
                              (r.lch.lab = function (t) {
                                   var e,
                                        i = t[0],
                                        n = t[1];
                                   return (e = (t[2] / 360) * 2 * Math.PI), [i, n * Math.cos(e), n * Math.sin(e)];
                              }),
                              (r.rgb.ansi16 = function (t) {
                                   var e = t[0],
                                        i = t[1],
                                        n = t[2],
                                        o = 1 in arguments ? arguments[1] : r.rgb.hsv(t)[2];
                                   if (0 === (o = Math.round(o / 50))) return 30;
                                   var a = 30 + ((Math.round(n / 255) << 2) | (Math.round(i / 255) << 1) | Math.round(e / 255));
                                   return 2 === o && (a += 60), a;
                              }),
                              (r.hsv.ansi16 = function (t) {
                                   return r.rgb.ansi16(r.hsv.rgb(t), t[2]);
                              }),
                              (r.rgb.ansi256 = function (t) {
                                   var e = t[0],
                                        i = t[1],
                                        n = t[2];
                                   return e === i && i === n ? (e < 8 ? 16 : e > 248 ? 231 : Math.round(((e - 8) / 247) * 24) + 232) : 16 + 36 * Math.round((e / 255) * 5) + 6 * Math.round((i / 255) * 5) + Math.round((n / 255) * 5);
                              }),
                              (r.ansi16.rgb = function (t) {
                                   var e = t % 10;
                                   if (0 === e || 7 === e) return t > 50 && (e += 3.5), [(e = (e / 10.5) * 255), e, e];
                                   var i = 0.5 * (1 + ~~(t > 50));
                                   return [(1 & e) * i * 255, ((e >> 1) & 1) * i * 255, ((e >> 2) & 1) * i * 255];
                              }),
                              (r.ansi256.rgb = function (t) {
                                   if (t >= 232) {
                                        var e = 10 * (t - 232) + 8;
                                        return [e, e, e];
                                   }
                                   var i;
                                   return (t -= 16), [(Math.floor(t / 36) / 5) * 255, (Math.floor((i = t % 36) / 6) / 5) * 255, ((i % 6) / 5) * 255];
                              }),
                              (r.rgb.hex = function (t) {
                                   var e = (((255 & Math.round(t[0])) << 16) + ((255 & Math.round(t[1])) << 8) + (255 & Math.round(t[2]))).toString(16).toUpperCase();
                                   return "000000".substring(e.length) + e;
                              }),
                              (r.hex.rgb = function (t) {
                                   var e = t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
                                   if (!e) return [0, 0, 0];
                                   var i = e[0];
                                   3 === e[0].length &&
                                        (i = i
                                             .split("")
                                             .map(function (t) {
                                                  return t + t;
                                             })
                                             .join(""));
                                   var n = parseInt(i, 16);
                                   return [(n >> 16) & 255, (n >> 8) & 255, 255 & n];
                              }),
                              (r.rgb.hcg = function (t) {
                                   var e,
                                        i = t[0] / 255,
                                        n = t[1] / 255,
                                        r = t[2] / 255,
                                        o = Math.max(Math.max(i, n), r),
                                        a = Math.min(Math.min(i, n), r),
                                        s = o - a;
                                   return (e = s <= 0 ? 0 : o === i ? ((n - r) / s) % 6 : o === n ? 2 + (r - i) / s : 4 + (i - n) / s + 4), (e /= 6), [360 * (e %= 1), 100 * s, 100 * (s < 1 ? a / (1 - s) : 0)];
                              }),
                              (r.hsl.hcg = function (t) {
                                   var e = t[1] / 100,
                                        i = t[2] / 100,
                                        n = 1,
                                        r = 0;
                                   return (n = i < 0.5 ? 2 * e * i : 2 * e * (1 - i)) < 1 && (r = (i - 0.5 * n) / (1 - n)), [t[0], 100 * n, 100 * r];
                              }),
                              (r.hsv.hcg = function (t) {
                                   var e = t[1] / 100,
                                        i = t[2] / 100,
                                        n = e * i,
                                        r = 0;
                                   return n < 1 && (r = (i - n) / (1 - n)), [t[0], 100 * n, 100 * r];
                              }),
                              (r.hcg.rgb = function (t) {
                                   var e = t[0] / 360,
                                        i = t[1] / 100,
                                        n = t[2] / 100;
                                   if (0 === i) return [255 * n, 255 * n, 255 * n];
                                   var r,
                                        o = [0, 0, 0],
                                        a = (e % 1) * 6,
                                        s = a % 1,
                                        l = 1 - s;
                                   switch (Math.floor(a)) {
                                        case 0:
                                             (o[0] = 1), (o[1] = s), (o[2] = 0);
                                             break;
                                        case 1:
                                             (o[0] = l), (o[1] = 1), (o[2] = 0);
                                             break;
                                        case 2:
                                             (o[0] = 0), (o[1] = 1), (o[2] = s);
                                             break;
                                        case 3:
                                             (o[0] = 0), (o[1] = l), (o[2] = 1);
                                             break;
                                        case 4:
                                             (o[0] = s), (o[1] = 0), (o[2] = 1);
                                             break;
                                        default:
                                             (o[0] = 1), (o[1] = 0), (o[2] = l);
                                   }
                                   return (r = (1 - i) * n), [255 * (i * o[0] + r), 255 * (i * o[1] + r), 255 * (i * o[2] + r)];
                              }),
                              (r.hcg.hsv = function (t) {
                                   var e = t[1] / 100,
                                        i = e + (t[2] / 100) * (1 - e),
                                        n = 0;
                                   return i > 0 && (n = e / i), [t[0], 100 * n, 100 * i];
                              }),
                              (r.hcg.hsl = function (t) {
                                   var e = t[1] / 100,
                                        i = (t[2] / 100) * (1 - e) + 0.5 * e,
                                        n = 0;
                                   return i > 0 && i < 0.5 ? (n = e / (2 * i)) : i >= 0.5 && i < 1 && (n = e / (2 * (1 - i))), [t[0], 100 * n, 100 * i];
                              }),
                              (r.hcg.hwb = function (t) {
                                   var e = t[1] / 100,
                                        i = e + (t[2] / 100) * (1 - e);
                                   return [t[0], 100 * (i - e), 100 * (1 - i)];
                              }),
                              (r.hwb.hcg = function (t) {
                                   var e = t[1] / 100,
                                        i = 1 - t[2] / 100,
                                        n = i - e,
                                        r = 0;
                                   return n < 1 && (r = (i - n) / (1 - n)), [t[0], 100 * n, 100 * r];
                              }),
                              (r.apple.rgb = function (t) {
                                   return [(t[0] / 65535) * 255, (t[1] / 65535) * 255, (t[2] / 65535) * 255];
                              }),
                              (r.rgb.apple = function (t) {
                                   return [(t[0] / 255) * 65535, (t[1] / 255) * 65535, (t[2] / 255) * 65535];
                              }),
                              (r.gray.rgb = function (t) {
                                   return [(t[0] / 100) * 255, (t[0] / 100) * 255, (t[0] / 100) * 255];
                              }),
                              (r.gray.hsl = r.gray.hsv = function (t) {
                                   return [0, 0, t[0]];
                              }),
                              (r.gray.hwb = function (t) {
                                   return [0, 100, t[0]];
                              }),
                              (r.gray.cmyk = function (t) {
                                   return [0, 0, 0, t[0]];
                              }),
                              (r.gray.lab = function (t) {
                                   return [t[0], 0, 0];
                              }),
                              (r.gray.hex = function (t) {
                                   var e = 255 & Math.round((t[0] / 100) * 255),
                                        i = ((e << 16) + (e << 8) + e).toString(16).toUpperCase();
                                   return "000000".substring(i.length) + i;
                              }),
                              (r.rgb.gray = function (t) {
                                   return [((t[0] + t[1] + t[2]) / 3 / 255) * 100];
                              });
                    });
               function n(t) {
                    var e = (function () {
                              for (var t = {}, e = Object.keys(i), n = e.length, r = 0; r < n; r++) t[e[r]] = { distance: -1, parent: null };
                              return t;
                         })(),
                         n = [t];
                    for (e[t].distance = 0; n.length; )
                         for (var r = n.pop(), o = Object.keys(i[r]), a = o.length, s = 0; s < a; s++) {
                              var l = o[s],
                                   c = e[l];
                              -1 === c.distance && ((c.distance = e[r].distance + 1), (c.parent = r), n.unshift(l));
                         }
                    return e;
               }
               function r(t, e) {
                    return function (i) {
                         return e(t(i));
                    };
               }
               function o(t, e) {
                    for (var n = [e[t].parent, t], o = i[e[t].parent][t], a = e[t].parent; e[a].parent; ) n.unshift(e[a].parent), (o = r(i[e[a].parent][a], o)), (a = e[a].parent);
                    return (o.conversion = n), o;
               }
               i.rgb, i.hsl, i.hsv, i.hwb, i.cmyk, i.xyz, i.lab, i.lch, i.hex, i.keyword, i.ansi16, i.ansi256, i.hcg, i.apple, i.gray;
               var a = {};
               Object.keys(i).forEach(function (t) {
                    (a[t] = {}), Object.defineProperty(a[t], "channels", { value: i[t].channels }), Object.defineProperty(a[t], "labels", { value: i[t].labels });
                    var e = (function (t) {
                         for (var e = n(t), i = {}, r = Object.keys(e), a = r.length, s = 0; s < a; s++) {
                              var l = r[s];
                              null !== e[l].parent && (i[l] = o(l, e));
                         }
                         return i;
                    })(t);
                    Object.keys(e).forEach(function (i) {
                         var n = e[i];
                         (a[t][i] = (function (t) {
                              var e = function (e) {
                                   if (null == e) return e;
                                   arguments.length > 1 && (e = Array.prototype.slice.call(arguments));
                                   var i = t(e);
                                   if ("object" == typeof i) for (var n = i.length, r = 0; r < n; r++) i[r] = Math.round(i[r]);
                                   return i;
                              };
                              return "conversion" in t && (e.conversion = t.conversion), e;
                         })(n)),
                              (a[t][i].raw = (function (t) {
                                   var e = function (e) {
                                        return null == e ? e : (arguments.length > 1 && (e = Array.prototype.slice.call(arguments)), t(e));
                                   };
                                   return "conversion" in t && (e.conversion = t.conversion), e;
                              })(n));
                    });
               });
               var s = a,
                    l = {
                         aliceblue: [240, 248, 255],
                         antiquewhite: [250, 235, 215],
                         aqua: [0, 255, 255],
                         aquamarine: [127, 255, 212],
                         azure: [240, 255, 255],
                         beige: [245, 245, 220],
                         bisque: [255, 228, 196],
                         black: [0, 0, 0],
                         blanchedalmond: [255, 235, 205],
                         blue: [0, 0, 255],
                         blueviolet: [138, 43, 226],
                         brown: [165, 42, 42],
                         burlywood: [222, 184, 135],
                         cadetblue: [95, 158, 160],
                         chartreuse: [127, 255, 0],
                         chocolate: [210, 105, 30],
                         coral: [255, 127, 80],
                         cornflowerblue: [100, 149, 237],
                         cornsilk: [255, 248, 220],
                         crimson: [220, 20, 60],
                         cyan: [0, 255, 255],
                         darkblue: [0, 0, 139],
                         darkcyan: [0, 139, 139],
                         darkgoldenrod: [184, 134, 11],
                         darkgray: [169, 169, 169],
                         darkgreen: [0, 100, 0],
                         darkgrey: [169, 169, 169],
                         darkkhaki: [189, 183, 107],
                         darkmagenta: [139, 0, 139],
                         darkolivegreen: [85, 107, 47],
                         darkorange: [255, 140, 0],
                         darkorchid: [153, 50, 204],
                         darkred: [139, 0, 0],
                         darksalmon: [233, 150, 122],
                         darkseagreen: [143, 188, 143],
                         darkslateblue: [72, 61, 139],
                         darkslategray: [47, 79, 79],
                         darkslategrey: [47, 79, 79],
                         darkturquoise: [0, 206, 209],
                         darkviolet: [148, 0, 211],
                         deeppink: [255, 20, 147],
                         deepskyblue: [0, 191, 255],
                         dimgray: [105, 105, 105],
                         dimgrey: [105, 105, 105],
                         dodgerblue: [30, 144, 255],
                         firebrick: [178, 34, 34],
                         floralwhite: [255, 250, 240],
                         forestgreen: [34, 139, 34],
                         fuchsia: [255, 0, 255],
                         gainsboro: [220, 220, 220],
                         ghostwhite: [248, 248, 255],
                         gold: [255, 215, 0],
                         goldenrod: [218, 165, 32],
                         gray: [128, 128, 128],
                         green: [0, 128, 0],
                         greenyellow: [173, 255, 47],
                         grey: [128, 128, 128],
                         honeydew: [240, 255, 240],
                         hotpink: [255, 105, 180],
                         indianred: [205, 92, 92],
                         indigo: [75, 0, 130],
                         ivory: [255, 255, 240],
                         khaki: [240, 230, 140],
                         lavender: [230, 230, 250],
                         lavenderblush: [255, 240, 245],
                         lawngreen: [124, 252, 0],
                         lemonchiffon: [255, 250, 205],
                         lightblue: [173, 216, 230],
                         lightcoral: [240, 128, 128],
                         lightcyan: [224, 255, 255],
                         lightgoldenrodyellow: [250, 250, 210],
                         lightgray: [211, 211, 211],
                         lightgreen: [144, 238, 144],
                         lightgrey: [211, 211, 211],
                         lightpink: [255, 182, 193],
                         lightsalmon: [255, 160, 122],
                         lightseagreen: [32, 178, 170],
                         lightskyblue: [135, 206, 250],
                         lightslategray: [119, 136, 153],
                         lightslategrey: [119, 136, 153],
                         lightsteelblue: [176, 196, 222],
                         lightyellow: [255, 255, 224],
                         lime: [0, 255, 0],
                         limegreen: [50, 205, 50],
                         linen: [250, 240, 230],
                         magenta: [255, 0, 255],
                         maroon: [128, 0, 0],
                         mediumaquamarine: [102, 205, 170],
                         mediumblue: [0, 0, 205],
                         mediumorchid: [186, 85, 211],
                         mediumpurple: [147, 112, 219],
                         mediumseagreen: [60, 179, 113],
                         mediumslateblue: [123, 104, 238],
                         mediumspringgreen: [0, 250, 154],
                         mediumturquoise: [72, 209, 204],
                         mediumvioletred: [199, 21, 133],
                         midnightblue: [25, 25, 112],
                         mintcream: [245, 255, 250],
                         mistyrose: [255, 228, 225],
                         moccasin: [255, 228, 181],
                         navajowhite: [255, 222, 173],
                         navy: [0, 0, 128],
                         oldlace: [253, 245, 230],
                         olive: [128, 128, 0],
                         olivedrab: [107, 142, 35],
                         orange: [255, 165, 0],
                         orangered: [255, 69, 0],
                         orchid: [218, 112, 214],
                         palegoldenrod: [238, 232, 170],
                         palegreen: [152, 251, 152],
                         paleturquoise: [175, 238, 238],
                         palevioletred: [219, 112, 147],
                         papayawhip: [255, 239, 213],
                         peachpuff: [255, 218, 185],
                         peru: [205, 133, 63],
                         pink: [255, 192, 203],
                         plum: [221, 160, 221],
                         powderblue: [176, 224, 230],
                         purple: [128, 0, 128],
                         rebeccapurple: [102, 51, 153],
                         red: [255, 0, 0],
                         rosybrown: [188, 143, 143],
                         royalblue: [65, 105, 225],
                         saddlebrown: [139, 69, 19],
                         salmon: [250, 128, 114],
                         sandybrown: [244, 164, 96],
                         seagreen: [46, 139, 87],
                         seashell: [255, 245, 238],
                         sienna: [160, 82, 45],
                         silver: [192, 192, 192],
                         skyblue: [135, 206, 235],
                         slateblue: [106, 90, 205],
                         slategray: [112, 128, 144],
                         slategrey: [112, 128, 144],
                         snow: [255, 250, 250],
                         springgreen: [0, 255, 127],
                         steelblue: [70, 130, 180],
                         tan: [210, 180, 140],
                         teal: [0, 128, 128],
                         thistle: [216, 191, 216],
                         tomato: [255, 99, 71],
                         turquoise: [64, 224, 208],
                         violet: [238, 130, 238],
                         wheat: [245, 222, 179],
                         white: [255, 255, 255],
                         whitesmoke: [245, 245, 245],
                         yellow: [255, 255, 0],
                         yellowgreen: [154, 205, 50],
                    },
                    c = {
                         getRgba: u,
                         getHsla: h,
                         getRgb: function (t) {
                              var e = u(t);
                              return e && e.slice(0, 3);
                         },
                         getHsl: function (t) {
                              var e = h(t);
                              return e && e.slice(0, 3);
                         },
                         getHwb: d,
                         getAlpha: function (t) {
                              var e = u(t);
                              return e || (e = h(t)) || (e = d(t)) ? e[3] : void 0;
                         },
                         hexString: function (t, e) {
                              return (e = void 0 !== e && 3 === t.length ? e : t[3]), "#" + v(t[0]) + v(t[1]) + v(t[2]) + (e >= 0 && e < 1 ? v(Math.round(255 * e)) : "");
                         },
                         rgbString: function (t, e) {
                              return e < 1 || (t[3] && t[3] < 1) ? p(t, e) : "rgb(" + t[0] + ", " + t[1] + ", " + t[2] + ")";
                         },
                         rgbaString: p,
                         percentString: function (t, e) {
                              if (e < 1 || (t[3] && t[3] < 1)) return f(t, e);
                              var i = Math.round((t[0] / 255) * 100),
                                   n = Math.round((t[1] / 255) * 100),
                                   r = Math.round((t[2] / 255) * 100);
                              return "rgb(" + i + "%, " + n + "%, " + r + "%)";
                         },
                         percentaString: f,
                         hslString: function (t, e) {
                              return e < 1 || (t[3] && t[3] < 1) ? m(t, e) : "hsl(" + t[0] + ", " + t[1] + "%, " + t[2] + "%)";
                         },
                         hslaString: m,
                         hwbString: function (t, e) {
                              return void 0 === e && (e = void 0 !== t[3] ? t[3] : 1), "hwb(" + t[0] + ", " + t[1] + "%, " + t[2] + "%" + (void 0 !== e && 1 !== e ? ", " + e : "") + ")";
                         },
                         keyword: function (t) {
                              return y[t.slice(0, 3)];
                         },
                    };
               function u(t) {
                    if (t) {
                         var e = [0, 0, 0],
                              i = 1,
                              n = t.match(/^#([a-fA-F0-9]{3,4})$/i),
                              r = "";
                         if (n) {
                              r = (n = n[1])[3];
                              for (var o = 0; o < e.length; o++) e[o] = parseInt(n[o] + n[o], 16);
                              r && (i = Math.round((parseInt(r + r, 16) / 255) * 100) / 100);
                         } else if ((n = t.match(/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i))) {
                              for (r = n[2], n = n[1], o = 0; o < e.length; o++) e[o] = parseInt(n.slice(2 * o, 2 * o + 2), 16);
                              r && (i = Math.round((parseInt(r, 16) / 255) * 100) / 100);
                         } else if ((n = t.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i))) {
                              for (o = 0; o < e.length; o++) e[o] = parseInt(n[o + 1]);
                              i = parseFloat(n[4]);
                         } else if ((n = t.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i))) {
                              for (o = 0; o < e.length; o++) e[o] = Math.round(2.55 * parseFloat(n[o + 1]));
                              i = parseFloat(n[4]);
                         } else if ((n = t.match(/(\w+)/))) {
                              if ("transparent" == n[1]) return [0, 0, 0, 0];
                              if (!(e = l[n[1]])) return;
                         }
                         for (o = 0; o < e.length; o++) e[o] = g(e[o], 0, 255);
                         return (i = i || 0 == i ? g(i, 0, 1) : 1), (e[3] = i), e;
                    }
               }
               function h(t) {
                    if (t) {
                         var e = t.match(/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);
                         if (e) {
                              var i = parseFloat(e[4]);
                              return [g(parseInt(e[1]), 0, 360), g(parseFloat(e[2]), 0, 100), g(parseFloat(e[3]), 0, 100), g(isNaN(i) ? 1 : i, 0, 1)];
                         }
                    }
               }
               function d(t) {
                    if (t) {
                         var e = t.match(/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);
                         if (e) {
                              var i = parseFloat(e[4]);
                              return [g(parseInt(e[1]), 0, 360), g(parseFloat(e[2]), 0, 100), g(parseFloat(e[3]), 0, 100), g(isNaN(i) ? 1 : i, 0, 1)];
                         }
                    }
               }
               function p(t, e) {
                    return void 0 === e && (e = void 0 !== t[3] ? t[3] : 1), "rgba(" + t[0] + ", " + t[1] + ", " + t[2] + ", " + e + ")";
               }
               function f(t, e) {
                    return "rgba(" + Math.round((t[0] / 255) * 100) + "%, " + Math.round((t[1] / 255) * 100) + "%, " + Math.round((t[2] / 255) * 100) + "%, " + (e || t[3] || 1) + ")";
               }
               function m(t, e) {
                    return void 0 === e && (e = void 0 !== t[3] ? t[3] : 1), "hsla(" + t[0] + ", " + t[1] + "%, " + t[2] + "%, " + e + ")";
               }
               function g(t, e, i) {
                    return Math.min(Math.max(e, t), i);
               }
               function v(t) {
                    var e = t.toString(16).toUpperCase();
                    return e.length < 2 ? "0" + e : e;
               }
               var y = {};
               for (var b in l) y[l[b]] = b;
               var _ = function (t) {
                    return t instanceof _
                         ? t
                         : this instanceof _
                         ? ((this.valid = !1),
                           (this.values = { rgb: [0, 0, 0], hsl: [0, 0, 0], hsv: [0, 0, 0], hwb: [0, 0, 0], cmyk: [0, 0, 0, 0], alpha: 1 }),
                           void ("string" == typeof t
                                ? (e = c.getRgba(t))
                                     ? this.setValues("rgb", e)
                                     : (e = c.getHsla(t))
                                     ? this.setValues("hsl", e)
                                     : (e = c.getHwb(t)) && this.setValues("hwb", e)
                                : "object" == typeof t &&
                                  (void 0 !== (e = t).r || void 0 !== e.red
                                       ? this.setValues("rgb", e)
                                       : void 0 !== e.l || void 0 !== e.lightness
                                       ? this.setValues("hsl", e)
                                       : void 0 !== e.v || void 0 !== e.value
                                       ? this.setValues("hsv", e)
                                       : void 0 !== e.w || void 0 !== e.whiteness
                                       ? this.setValues("hwb", e)
                                       : (void 0 === e.c && void 0 === e.cyan) || this.setValues("cmyk", e))))
                         : new _(t);
                    var e;
               };
               (_.prototype = {
                    isValid: function () {
                         return this.valid;
                    },
                    rgb: function () {
                         return this.setSpace("rgb", arguments);
                    },
                    hsl: function () {
                         return this.setSpace("hsl", arguments);
                    },
                    hsv: function () {
                         return this.setSpace("hsv", arguments);
                    },
                    hwb: function () {
                         return this.setSpace("hwb", arguments);
                    },
                    cmyk: function () {
                         return this.setSpace("cmyk", arguments);
                    },
                    rgbArray: function () {
                         return this.values.rgb;
                    },
                    hslArray: function () {
                         return this.values.hsl;
                    },
                    hsvArray: function () {
                         return this.values.hsv;
                    },
                    hwbArray: function () {
                         var t = this.values;
                         return 1 !== t.alpha ? t.hwb.concat([t.alpha]) : t.hwb;
                    },
                    cmykArray: function () {
                         return this.values.cmyk;
                    },
                    rgbaArray: function () {
                         var t = this.values;
                         return t.rgb.concat([t.alpha]);
                    },
                    hslaArray: function () {
                         var t = this.values;
                         return t.hsl.concat([t.alpha]);
                    },
                    alpha: function (t) {
                         return void 0 === t ? this.values.alpha : (this.setValues("alpha", t), this);
                    },
                    red: function (t) {
                         return this.setChannel("rgb", 0, t);
                    },
                    green: function (t) {
                         return this.setChannel("rgb", 1, t);
                    },
                    blue: function (t) {
                         return this.setChannel("rgb", 2, t);
                    },
                    hue: function (t) {
                         return t && (t = (t %= 360) < 0 ? 360 + t : t), this.setChannel("hsl", 0, t);
                    },
                    saturation: function (t) {
                         return this.setChannel("hsl", 1, t);
                    },
                    lightness: function (t) {
                         return this.setChannel("hsl", 2, t);
                    },
                    saturationv: function (t) {
                         return this.setChannel("hsv", 1, t);
                    },
                    whiteness: function (t) {
                         return this.setChannel("hwb", 1, t);
                    },
                    blackness: function (t) {
                         return this.setChannel("hwb", 2, t);
                    },
                    value: function (t) {
                         return this.setChannel("hsv", 2, t);
                    },
                    cyan: function (t) {
                         return this.setChannel("cmyk", 0, t);
                    },
                    magenta: function (t) {
                         return this.setChannel("cmyk", 1, t);
                    },
                    yellow: function (t) {
                         return this.setChannel("cmyk", 2, t);
                    },
                    black: function (t) {
                         return this.setChannel("cmyk", 3, t);
                    },
                    hexString: function () {
                         return c.hexString(this.values.rgb);
                    },
                    rgbString: function () {
                         return c.rgbString(this.values.rgb, this.values.alpha);
                    },
                    rgbaString: function () {
                         return c.rgbaString(this.values.rgb, this.values.alpha);
                    },
                    percentString: function () {
                         return c.percentString(this.values.rgb, this.values.alpha);
                    },
                    hslString: function () {
                         return c.hslString(this.values.hsl, this.values.alpha);
                    },
                    hslaString: function () {
                         return c.hslaString(this.values.hsl, this.values.alpha);
                    },
                    hwbString: function () {
                         return c.hwbString(this.values.hwb, this.values.alpha);
                    },
                    keyword: function () {
                         return c.keyword(this.values.rgb, this.values.alpha);
                    },
                    rgbNumber: function () {
                         var t = this.values.rgb;
                         return (t[0] << 16) | (t[1] << 8) | t[2];
                    },
                    luminosity: function () {
                         for (var t = this.values.rgb, e = [], i = 0; i < t.length; i++) {
                              var n = t[i] / 255;
                              e[i] = n <= 0.03928 ? n / 12.92 : Math.pow((n + 0.055) / 1.055, 2.4);
                         }
                         return 0.2126 * e[0] + 0.7152 * e[1] + 0.0722 * e[2];
                    },
                    contrast: function (t) {
                         var e = this.luminosity(),
                              i = t.luminosity();
                         return e > i ? (e + 0.05) / (i + 0.05) : (i + 0.05) / (e + 0.05);
                    },
                    level: function (t) {
                         var e = this.contrast(t);
                         return e >= 7.1 ? "AAA" : e >= 4.5 ? "AA" : "";
                    },
                    dark: function () {
                         var t = this.values.rgb;
                         return (299 * t[0] + 587 * t[1] + 114 * t[2]) / 1e3 < 128;
                    },
                    light: function () {
                         return !this.dark();
                    },
                    negate: function () {
                         for (var t = [], e = 0; e < 3; e++) t[e] = 255 - this.values.rgb[e];
                         return this.setValues("rgb", t), this;
                    },
                    lighten: function (t) {
                         var e = this.values.hsl;
                         return (e[2] += e[2] * t), this.setValues("hsl", e), this;
                    },
                    darken: function (t) {
                         var e = this.values.hsl;
                         return (e[2] -= e[2] * t), this.setValues("hsl", e), this;
                    },
                    saturate: function (t) {
                         var e = this.values.hsl;
                         return (e[1] += e[1] * t), this.setValues("hsl", e), this;
                    },
                    desaturate: function (t) {
                         var e = this.values.hsl;
                         return (e[1] -= e[1] * t), this.setValues("hsl", e), this;
                    },
                    whiten: function (t) {
                         var e = this.values.hwb;
                         return (e[1] += e[1] * t), this.setValues("hwb", e), this;
                    },
                    blacken: function (t) {
                         var e = this.values.hwb;
                         return (e[2] += e[2] * t), this.setValues("hwb", e), this;
                    },
                    greyscale: function () {
                         var t = this.values.rgb,
                              e = 0.3 * t[0] + 0.59 * t[1] + 0.11 * t[2];
                         return this.setValues("rgb", [e, e, e]), this;
                    },
                    clearer: function (t) {
                         var e = this.values.alpha;
                         return this.setValues("alpha", e - e * t), this;
                    },
                    opaquer: function (t) {
                         var e = this.values.alpha;
                         return this.setValues("alpha", e + e * t), this;
                    },
                    rotate: function (t) {
                         var e = this.values.hsl,
                              i = (e[0] + t) % 360;
                         return (e[0] = i < 0 ? 360 + i : i), this.setValues("hsl", e), this;
                    },
                    mix: function (t, e) {
                         var i = t,
                              n = void 0 === e ? 0.5 : e,
                              r = 2 * n - 1,
                              o = this.alpha() - i.alpha(),
                              a = ((r * o == -1 ? r : (r + o) / (1 + r * o)) + 1) / 2,
                              s = 1 - a;
                         return this.rgb(a * this.red() + s * i.red(), a * this.green() + s * i.green(), a * this.blue() + s * i.blue()).alpha(this.alpha() * n + i.alpha() * (1 - n));
                    },
                    toJSON: function () {
                         return this.rgb();
                    },
                    clone: function () {
                         var t,
                              e,
                              i = new _(),
                              n = this.values,
                              r = i.values;
                         for (var o in n) n.hasOwnProperty(o) && ((t = n[o]), "[object Array]" === (e = {}.toString.call(t)) ? (r[o] = t.slice(0)) : "[object Number]" === e ? (r[o] = t) : console.error("unexpected color value:", t));
                         return i;
                    },
               }),
                    (_.prototype.spaces = {
                         rgb: ["red", "green", "blue"],
                         hsl: ["hue", "saturation", "lightness"],
                         hsv: ["hue", "saturation", "value"],
                         hwb: ["hue", "whiteness", "blackness"],
                         cmyk: ["cyan", "magenta", "yellow", "black"],
                    }),
                    (_.prototype.maxes = { rgb: [255, 255, 255], hsl: [360, 100, 100], hsv: [360, 100, 100], hwb: [360, 100, 100], cmyk: [100, 100, 100, 100] }),
                    (_.prototype.getValues = function (t) {
                         for (var e = this.values, i = {}, n = 0; n < t.length; n++) i[t.charAt(n)] = e[t][n];
                         return 1 !== e.alpha && (i.a = e.alpha), i;
                    }),
                    (_.prototype.setValues = function (t, e) {
                         var i,
                              n,
                              r = this.values,
                              o = this.spaces,
                              a = this.maxes,
                              l = 1;
                         if (((this.valid = !0), "alpha" === t)) l = e;
                         else if (e.length) (r[t] = e.slice(0, t.length)), (l = e[t.length]);
                         else if (void 0 !== e[t.charAt(0)]) {
                              for (i = 0; i < t.length; i++) r[t][i] = e[t.charAt(i)];
                              l = e.a;
                         } else if (void 0 !== e[o[t][0]]) {
                              var c = o[t];
                              for (i = 0; i < t.length; i++) r[t][i] = e[c[i]];
                              l = e.alpha;
                         }
                         if (((r.alpha = Math.max(0, Math.min(1, void 0 === l ? r.alpha : l))), "alpha" === t)) return !1;
                         for (i = 0; i < t.length; i++) (n = Math.max(0, Math.min(a[t][i], r[t][i]))), (r[t][i] = Math.round(n));
                         for (var u in o) u !== t && (r[u] = s[t][u](r[t]));
                         return !0;
                    }),
                    (_.prototype.setSpace = function (t, e) {
                         var i = e[0];
                         return void 0 === i ? this.getValues(t) : ("number" == typeof i && (i = Array.prototype.slice.call(e)), this.setValues(t, i), this);
                    }),
                    (_.prototype.setChannel = function (t, e, i) {
                         var n = this.values[t];
                         return void 0 === i ? n[e] : (i === n[e] || ((n[e] = i), this.setValues(t, n)), this);
                    }),
                    "undefined" != typeof window && (window.Color = _);
               var x,
                    w = _,
                    k = {
                         noop: function () {},
                         uid:
                              ((x = 0),
                              function () {
                                   return x++;
                              }),
                         isNullOrUndef: function (t) {
                              return null == t;
                         },
                         isArray: function (t) {
                              if (Array.isArray && Array.isArray(t)) return !0;
                              var e = Object.prototype.toString.call(t);
                              return "[object" === e.substr(0, 7) && "Array]" === e.substr(-6);
                         },
                         isObject: function (t) {
                              return null !== t && "[object Object]" === Object.prototype.toString.call(t);
                         },
                         isFinite: function (t) {
                              return ("number" == typeof t || t instanceof Number) && isFinite(t);
                         },
                         valueOrDefault: function (t, e) {
                              return void 0 === t ? e : t;
                         },
                         valueAtIndexOrDefault: function (t, e, i) {
                              return k.valueOrDefault(k.isArray(t) ? t[e] : t, i);
                         },
                         callback: function (t, e, i) {
                              if (t && "function" == typeof t.call) return t.apply(i, e);
                         },
                         each: function (t, e, i, n) {
                              var r, o, a;
                              if (k.isArray(t))
                                   if (((o = t.length), n)) for (r = o - 1; r >= 0; r--) e.call(i, t[r], r);
                                   else for (r = 0; r < o; r++) e.call(i, t[r], r);
                              else if (k.isObject(t)) for (o = (a = Object.keys(t)).length, r = 0; r < o; r++) e.call(i, t[a[r]], a[r]);
                         },
                         arrayEquals: function (t, e) {
                              var i, n, r, o;
                              if (!t || !e || t.length !== e.length) return !1;
                              for (i = 0, n = t.length; i < n; ++i)
                                   if (((r = t[i]), (o = e[i]), r instanceof Array && o instanceof Array)) {
                                        if (!k.arrayEquals(r, o)) return !1;
                                   } else if (r !== o) return !1;
                              return !0;
                         },
                         clone: function (t) {
                              if (k.isArray(t)) return t.map(k.clone);
                              if (k.isObject(t)) {
                                   for (var e = {}, i = Object.keys(t), n = i.length, r = 0; r < n; ++r) e[i[r]] = k.clone(t[i[r]]);
                                   return e;
                              }
                              return t;
                         },
                         _merger: function (t, e, i, n) {
                              var r = e[t],
                                   o = i[t];
                              k.isObject(r) && k.isObject(o) ? k.merge(r, o, n) : (e[t] = k.clone(o));
                         },
                         _mergerIf: function (t, e, i) {
                              var n = e[t],
                                   r = i[t];
                              k.isObject(n) && k.isObject(r) ? k.mergeIf(n, r) : e.hasOwnProperty(t) || (e[t] = k.clone(r));
                         },
                         merge: function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l = k.isArray(e) ? e : [e],
                                   c = l.length;
                              if (!k.isObject(t)) return t;
                              for (n = (i = i || {}).merger || k._merger, r = 0; r < c; ++r) if (((e = l[r]), k.isObject(e))) for (s = 0, a = (o = Object.keys(e)).length; s < a; ++s) n(o[s], t, e, i);
                              return t;
                         },
                         mergeIf: function (t, e) {
                              return k.merge(t, e, { merger: k._mergerIf });
                         },
                         extend:
                              Object.assign ||
                              function (t) {
                                   return k.merge(t, [].slice.call(arguments, 1), {
                                        merger: function (t, e, i) {
                                             e[t] = i[t];
                                        },
                                   });
                              },
                         inherits: function (t) {
                              var e = this,
                                   i =
                                        t && t.hasOwnProperty("constructor")
                                             ? t.constructor
                                             : function () {
                                                    return e.apply(this, arguments);
                                               },
                                   n = function () {
                                        this.constructor = i;
                                   };
                              return (n.prototype = e.prototype), (i.prototype = new n()), (i.extend = k.inherits), t && k.extend(i.prototype, t), (i.__super__ = e.prototype), i;
                         },
                         _deprecated: function (t, e, i, n) {
                              void 0 !== e && console.warn(t + ': "' + i + '" is deprecated. Please use "' + n + '" instead');
                         },
                    },
                    S = k;
               (k.callCallback = k.callback),
                    (k.indexOf = function (t, e, i) {
                         return Array.prototype.indexOf.call(t, e, i);
                    }),
                    (k.getValueOrDefault = k.valueOrDefault),
                    (k.getValueAtIndexOrDefault = k.valueAtIndexOrDefault);
               var M = {
                         linear: function (t) {
                              return t;
                         },
                         easeInQuad: function (t) {
                              return t * t;
                         },
                         easeOutQuad: function (t) {
                              return -t * (t - 2);
                         },
                         easeInOutQuad: function (t) {
                              return (t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1);
                         },
                         easeInCubic: function (t) {
                              return t * t * t;
                         },
                         easeOutCubic: function (t) {
                              return (t -= 1) * t * t + 1;
                         },
                         easeInOutCubic: function (t) {
                              return (t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2);
                         },
                         easeInQuart: function (t) {
                              return t * t * t * t;
                         },
                         easeOutQuart: function (t) {
                              return -((t -= 1) * t * t * t - 1);
                         },
                         easeInOutQuart: function (t) {
                              return (t /= 0.5) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2);
                         },
                         easeInQuint: function (t) {
                              return t * t * t * t * t;
                         },
                         easeOutQuint: function (t) {
                              return (t -= 1) * t * t * t * t + 1;
                         },
                         easeInOutQuint: function (t) {
                              return (t /= 0.5) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2);
                         },
                         easeInSine: function (t) {
                              return 1 - Math.cos(t * (Math.PI / 2));
                         },
                         easeOutSine: function (t) {
                              return Math.sin(t * (Math.PI / 2));
                         },
                         easeInOutSine: function (t) {
                              return -0.5 * (Math.cos(Math.PI * t) - 1);
                         },
                         easeInExpo: function (t) {
                              return 0 === t ? 0 : Math.pow(2, 10 * (t - 1));
                         },
                         easeOutExpo: function (t) {
                              return 1 === t ? 1 : 1 - Math.pow(2, -10 * t);
                         },
                         easeInOutExpo: function (t) {
                              return 0 === t ? 0 : 1 === t ? 1 : (t /= 0.5) < 1 ? 0.5 * Math.pow(2, 10 * (t - 1)) : 0.5 * (2 - Math.pow(2, -10 * --t));
                         },
                         easeInCirc: function (t) {
                              return t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1);
                         },
                         easeOutCirc: function (t) {
                              return Math.sqrt(1 - (t -= 1) * t);
                         },
                         easeInOutCirc: function (t) {
                              return (t /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);
                         },
                         easeInElastic: function (t) {
                              var e = 1.70158,
                                   i = 0,
                                   n = 1;
                              return 0 === t ? 0 : 1 === t ? 1 : (i || (i = 0.3), n < 1 ? ((n = 1), (e = i / 4)) : (e = (i / (2 * Math.PI)) * Math.asin(1 / n)), -n * Math.pow(2, 10 * (t -= 1)) * Math.sin(((t - e) * (2 * Math.PI)) / i));
                         },
                         easeOutElastic: function (t) {
                              var e = 1.70158,
                                   i = 0,
                                   n = 1;
                              return 0 === t ? 0 : 1 === t ? 1 : (i || (i = 0.3), n < 1 ? ((n = 1), (e = i / 4)) : (e = (i / (2 * Math.PI)) * Math.asin(1 / n)), n * Math.pow(2, -10 * t) * Math.sin(((t - e) * (2 * Math.PI)) / i) + 1);
                         },
                         easeInOutElastic: function (t) {
                              var e = 1.70158,
                                   i = 0,
                                   n = 1;
                              return 0 === t
                                   ? 0
                                   : 2 == (t /= 0.5)
                                   ? 1
                                   : (i || (i = 0.45),
                                     n < 1 ? ((n = 1), (e = i / 4)) : (e = (i / (2 * Math.PI)) * Math.asin(1 / n)),
                                     t < 1 ? n * Math.pow(2, 10 * (t -= 1)) * Math.sin(((t - e) * (2 * Math.PI)) / i) * -0.5 : n * Math.pow(2, -10 * (t -= 1)) * Math.sin(((t - e) * (2 * Math.PI)) / i) * 0.5 + 1);
                         },
                         easeInBack: function (t) {
                              var e = 1.70158;
                              return t * t * ((e + 1) * t - e);
                         },
                         easeOutBack: function (t) {
                              var e = 1.70158;
                              return (t -= 1) * t * ((e + 1) * t + e) + 1;
                         },
                         easeInOutBack: function (t) {
                              var e = 1.70158;
                              return (t /= 0.5) < 1 ? t * t * ((1 + (e *= 1.525)) * t - e) * 0.5 : 0.5 * ((t -= 2) * t * ((1 + (e *= 1.525)) * t + e) + 2);
                         },
                         easeInBounce: function (t) {
                              return 1 - M.easeOutBounce(1 - t);
                         },
                         easeOutBounce: function (t) {
                              return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375 : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375;
                         },
                         easeInOutBounce: function (t) {
                              return t < 0.5 ? 0.5 * M.easeInBounce(2 * t) : 0.5 * M.easeOutBounce(2 * t - 1) + 0.5;
                         },
                    },
                    T = { effects: M };
               S.easingEffects = M;
               var C = Math.PI,
                    D = C / 180,
                    L = 2 * C,
                    E = C / 2,
                    A = C / 4,
                    P = (2 * C) / 3,
                    I = {
                         clear: function (t) {
                              t.ctx.clearRect(0, 0, t.width, t.height);
                         },
                         roundedRect: function (t, e, i, n, r, o) {
                              if (o) {
                                   var a = Math.min(o, r / 2, n / 2),
                                        s = e + a,
                                        l = i + a,
                                        c = e + n - a,
                                        u = i + r - a;
                                   t.moveTo(e, l),
                                        s < c && l < u
                                             ? (t.arc(s, l, a, -C, -E), t.arc(c, l, a, -E, 0), t.arc(c, u, a, 0, E), t.arc(s, u, a, E, C))
                                             : s < c
                                             ? (t.moveTo(s, i), t.arc(c, l, a, -E, E), t.arc(s, l, a, E, C + E))
                                             : l < u
                                             ? (t.arc(s, l, a, -C, 0), t.arc(s, u, a, 0, C))
                                             : t.arc(s, l, a, -C, C),
                                        t.closePath(),
                                        t.moveTo(e, i);
                              } else t.rect(e, i, n, r);
                         },
                         drawPoint: function (t, e, i, n, r, o) {
                              var a,
                                   s,
                                   l,
                                   c,
                                   u,
                                   h = (o || 0) * D;
                              if (e && "object" == typeof e && ("[object HTMLImageElement]" === (a = e.toString()) || "[object HTMLCanvasElement]" === a))
                                   return t.save(), t.translate(n, r), t.rotate(h), t.drawImage(e, -e.width / 2, -e.height / 2, e.width, e.height), void t.restore();
                              if (!(isNaN(i) || i <= 0)) {
                                   switch ((t.beginPath(), e)) {
                                        default:
                                             t.arc(n, r, i, 0, L), t.closePath();
                                             break;
                                        case "triangle":
                                             t.moveTo(n + Math.sin(h) * i, r - Math.cos(h) * i), (h += P), t.lineTo(n + Math.sin(h) * i, r - Math.cos(h) * i), (h += P), t.lineTo(n + Math.sin(h) * i, r - Math.cos(h) * i), t.closePath();
                                             break;
                                        case "rectRounded":
                                             (c = i - (u = 0.516 * i)),
                                                  (s = Math.cos(h + A) * c),
                                                  (l = Math.sin(h + A) * c),
                                                  t.arc(n - s, r - l, u, h - C, h - E),
                                                  t.arc(n + l, r - s, u, h - E, h),
                                                  t.arc(n + s, r + l, u, h, h + E),
                                                  t.arc(n - l, r + s, u, h + E, h + C),
                                                  t.closePath();
                                             break;
                                        case "rect":
                                             if (!o) {
                                                  (c = Math.SQRT1_2 * i), t.rect(n - c, r - c, 2 * c, 2 * c);
                                                  break;
                                             }
                                             h += A;
                                        case "rectRot":
                                             (s = Math.cos(h) * i), (l = Math.sin(h) * i), t.moveTo(n - s, r - l), t.lineTo(n + l, r - s), t.lineTo(n + s, r + l), t.lineTo(n - l, r + s), t.closePath();
                                             break;
                                        case "crossRot":
                                             h += A;
                                        case "cross":
                                             (s = Math.cos(h) * i), (l = Math.sin(h) * i), t.moveTo(n - s, r - l), t.lineTo(n + s, r + l), t.moveTo(n + l, r - s), t.lineTo(n - l, r + s);
                                             break;
                                        case "star":
                                             (s = Math.cos(h) * i),
                                                  (l = Math.sin(h) * i),
                                                  t.moveTo(n - s, r - l),
                                                  t.lineTo(n + s, r + l),
                                                  t.moveTo(n + l, r - s),
                                                  t.lineTo(n - l, r + s),
                                                  (h += A),
                                                  (s = Math.cos(h) * i),
                                                  (l = Math.sin(h) * i),
                                                  t.moveTo(n - s, r - l),
                                                  t.lineTo(n + s, r + l),
                                                  t.moveTo(n + l, r - s),
                                                  t.lineTo(n - l, r + s);
                                             break;
                                        case "line":
                                             (s = Math.cos(h) * i), (l = Math.sin(h) * i), t.moveTo(n - s, r - l), t.lineTo(n + s, r + l);
                                             break;
                                        case "dash":
                                             t.moveTo(n, r), t.lineTo(n + Math.cos(h) * i, r + Math.sin(h) * i);
                                   }
                                   t.fill(), t.stroke();
                              }
                         },
                         _isPointInArea: function (t, e) {
                              return t.x > e.left - 1e-6 && t.x < e.right + 1e-6 && t.y > e.top - 1e-6 && t.y < e.bottom + 1e-6;
                         },
                         clipArea: function (t, e) {
                              t.save(), t.beginPath(), t.rect(e.left, e.top, e.right - e.left, e.bottom - e.top), t.clip();
                         },
                         unclipArea: function (t) {
                              t.restore();
                         },
                         lineTo: function (t, e, i, n) {
                              var r = i.steppedLine;
                              if (r) {
                                   if ("middle" === r) {
                                        var o = (e.x + i.x) / 2;
                                        t.lineTo(o, n ? i.y : e.y), t.lineTo(o, n ? e.y : i.y);
                                   } else ("after" === r && !n) || ("after" !== r && n) ? t.lineTo(e.x, i.y) : t.lineTo(i.x, e.y);
                                   t.lineTo(i.x, i.y);
                              } else
                                   i.tension
                                        ? t.bezierCurveTo(
                                               n ? e.controlPointPreviousX : e.controlPointNextX,
                                               n ? e.controlPointPreviousY : e.controlPointNextY,
                                               n ? i.controlPointNextX : i.controlPointPreviousX,
                                               n ? i.controlPointNextY : i.controlPointPreviousY,
                                               i.x,
                                               i.y
                                          )
                                        : t.lineTo(i.x, i.y);
                         },
                    },
                    O = I;
               (S.clear = I.clear),
                    (S.drawRoundedRectangle = function (t) {
                         t.beginPath(), I.roundedRect.apply(I, arguments);
                    });
               var Y = {
                    _set: function (t, e) {
                         return S.merge(this[t] || (this[t] = {}), e);
                    },
               };
               Y._set("global", {
                    defaultColor: "rgba(0,0,0,0.1)",
                    defaultFontColor: "#666",
                    defaultFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
                    defaultFontSize: 12,
                    defaultFontStyle: "normal",
                    defaultLineHeight: 1.2,
                    showLines: !0,
               });
               var z = Y,
                    R = S.valueOrDefault,
                    F = {
                         toLineHeight: function (t, e) {
                              var i = ("" + t).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);
                              if (!i || "normal" === i[1]) return 1.2 * e;
                              switch (((t = +i[2]), i[3])) {
                                   case "px":
                                        return t;
                                   case "%":
                                        t /= 100;
                              }
                              return e * t;
                         },
                         toPadding: function (t) {
                              var e, i, n, r;
                              return S.isObject(t) ? ((e = +t.top || 0), (i = +t.right || 0), (n = +t.bottom || 0), (r = +t.left || 0)) : (e = i = n = r = +t || 0), { top: e, right: i, bottom: n, left: r, height: e + n, width: r + i };
                         },
                         _parseFont: function (t) {
                              var e = z.global,
                                   i = R(t.fontSize, e.defaultFontSize),
                                   n = {
                                        family: R(t.fontFamily, e.defaultFontFamily),
                                        lineHeight: S.options.toLineHeight(R(t.lineHeight, e.defaultLineHeight), i),
                                        size: i,
                                        style: R(t.fontStyle, e.defaultFontStyle),
                                        weight: null,
                                        string: "",
                                   };
                              return (
                                   (n.string = (function (t) {
                                        return !t || S.isNullOrUndef(t.size) || S.isNullOrUndef(t.family) ? null : (t.style ? t.style + " " : "") + (t.weight ? t.weight + " " : "") + t.size + "px " + t.family;
                                   })(n)),
                                   n
                              );
                         },
                         resolve: function (t, e, i, n) {
                              var r,
                                   o,
                                   a,
                                   s = !0;
                              for (r = 0, o = t.length; r < o; ++r)
                                   if (void 0 !== (a = t[r]) && (void 0 !== e && "function" == typeof a && ((a = a(e)), (s = !1)), void 0 !== i && S.isArray(a) && ((a = a[i]), (s = !1)), void 0 !== a))
                                        return n && !s && (n.cacheable = !1), a;
                         },
                    },
                    H = {
                         _factorize: function (t) {
                              var e,
                                   i = [],
                                   n = Math.sqrt(t);
                              for (e = 1; e < n; e++) t % e == 0 && (i.push(e), i.push(t / e));
                              return (
                                   n === (0 | n) && i.push(n),
                                   i
                                        .sort(function (t, e) {
                                             return t - e;
                                        })
                                        .pop(),
                                   i
                              );
                         },
                         log10:
                              Math.log10 ||
                              function (t) {
                                   var e = Math.log(t) * Math.LOG10E,
                                        i = Math.round(e);
                                   return t === Math.pow(10, i) ? i : e;
                              },
                    },
                    j = H;
               S.log10 = H.log10;
               var N = S,
                    B = T,
                    W = O,
                    V = F,
                    U = j,
                    q = {
                         getRtlAdapter: function (t, e, i) {
                              return t
                                   ? (function (t, e) {
                                          return {
                                               x: function (i) {
                                                    return t + t + e - i;
                                               },
                                               setWidth: function (t) {
                                                    e = t;
                                               },
                                               textAlign: function (t) {
                                                    return "center" === t ? t : "right" === t ? "left" : "right";
                                               },
                                               xPlus: function (t, e) {
                                                    return t - e;
                                               },
                                               leftForLtr: function (t, e) {
                                                    return t - e;
                                               },
                                          };
                                     })(e, i)
                                   : {
                                          x: function (t) {
                                               return t;
                                          },
                                          setWidth: function (t) {},
                                          textAlign: function (t) {
                                               return t;
                                          },
                                          xPlus: function (t, e) {
                                               return t + e;
                                          },
                                          leftForLtr: function (t, e) {
                                               return t;
                                          },
                                     };
                         },
                         overrideTextDirection: function (t, e) {
                              var i, n;
                              ("ltr" !== e && "rtl" !== e) || ((n = [(i = t.canvas.style).getPropertyValue("direction"), i.getPropertyPriority("direction")]), i.setProperty("direction", e, "important"), (t.prevTextDirection = n));
                         },
                         restoreTextDirection: function (t) {
                              var e = t.prevTextDirection;
                              void 0 !== e && (delete t.prevTextDirection, t.canvas.style.setProperty("direction", e[0], e[1]));
                         },
                    };
               (N.easing = B), (N.canvas = W), (N.options = V), (N.math = U), (N.rtl = q);
               var $ = function (t) {
                    N.extend(this, t), this.initialize.apply(this, arguments);
               };
               N.extend($.prototype, {
                    _type: void 0,
                    initialize: function () {
                         this.hidden = !1;
                    },
                    pivot: function () {
                         var t = this;
                         return t._view || (t._view = N.extend({}, t._model)), (t._start = {}), t;
                    },
                    transition: function (t) {
                         var e = this,
                              i = e._model,
                              n = e._start,
                              r = e._view;
                         return i && 1 !== t
                              ? (r || (r = e._view = {}),
                                n || (n = e._start = {}),
                                (function (t, e, i, n) {
                                     var r,
                                          o,
                                          a,
                                          s,
                                          l,
                                          c,
                                          u,
                                          h,
                                          d,
                                          p = Object.keys(i);
                                     for (r = 0, o = p.length; r < o; ++r)
                                          if (((c = i[(a = p[r])]), e.hasOwnProperty(a) || (e[a] = c), (s = e[a]) !== c && "_" !== a[0])) {
                                               if ((t.hasOwnProperty(a) || (t[a] = s), (u = typeof c) == typeof (l = t[a])))
                                                    if ("string" === u) {
                                                         if ((h = w(l)).valid && (d = w(c)).valid) {
                                                              e[a] = d.mix(h, n).rgbString();
                                                              continue;
                                                         }
                                                    } else if (N.isFinite(l) && N.isFinite(c)) {
                                                         e[a] = l + (c - l) * n;
                                                         continue;
                                                    }
                                               e[a] = c;
                                          }
                                })(n, r, i, t),
                                e)
                              : ((e._view = N.extend({}, i)), (e._start = null), e);
                    },
                    tooltipPosition: function () {
                         return { x: this._model.x, y: this._model.y };
                    },
                    hasValue: function () {
                         return N.isNumber(this._model.x) && N.isNumber(this._model.y);
                    },
               }),
                    ($.extend = N.inherits);
               var X = $,
                    G = X.extend({ chart: null, currentStep: 0, numSteps: 60, easing: "", render: null, onAnimationProgress: null, onAnimationComplete: null }),
                    Z = G;
               Object.defineProperty(G.prototype, "animationObject", {
                    get: function () {
                         return this;
                    },
               }),
                    Object.defineProperty(G.prototype, "chartInstance", {
                         get: function () {
                              return this.chart;
                         },
                         set: function (t) {
                              this.chart = t;
                         },
                    }),
                    z._set("global", { animation: { duration: 1e3, easing: "easeOutQuart", onProgress: N.noop, onComplete: N.noop } });
               var J = {
                         animations: [],
                         request: null,
                         addAnimation: function (t, e, i, n) {
                              var r,
                                   o,
                                   a = this.animations;
                              for (e.chart = t, e.startTime = Date.now(), e.duration = i, n || (t.animating = !0), r = 0, o = a.length; r < o; ++r) if (a[r].chart === t) return void (a[r] = e);
                              a.push(e), 1 === a.length && this.requestAnimationFrame();
                         },
                         cancelAnimation: function (t) {
                              var e = N.findIndex(this.animations, function (e) {
                                   return e.chart === t;
                              });
                              -1 !== e && (this.animations.splice(e, 1), (t.animating = !1));
                         },
                         requestAnimationFrame: function () {
                              var t = this;
                              null === t.request &&
                                   (t.request = N.requestAnimFrame.call(window, function () {
                                        (t.request = null), t.startDigest();
                                   }));
                         },
                         startDigest: function () {
                              this.advance(), this.animations.length > 0 && this.requestAnimationFrame();
                         },
                         advance: function () {
                              for (var t, e, i, n, r = this.animations, o = 0; o < r.length; )
                                   (e = (t = r[o]).chart),
                                        (i = t.numSteps),
                                        (n = Math.floor(((Date.now() - t.startTime) / t.duration) * i) + 1),
                                        (t.currentStep = Math.min(n, i)),
                                        N.callback(t.render, [e, t], e),
                                        N.callback(t.onAnimationProgress, [t], e),
                                        t.currentStep >= i ? (N.callback(t.onAnimationComplete, [t], e), (e.animating = !1), r.splice(o, 1)) : ++o;
                         },
                    },
                    K = N.options.resolve,
                    Q = ["push", "pop", "shift", "splice", "unshift"];
               function tt(t, e) {
                    var i = t._chartjs;
                    if (i) {
                         var n = i.listeners,
                              r = n.indexOf(e);
                         -1 !== r && n.splice(r, 1),
                              n.length > 0 ||
                                   (Q.forEach(function (e) {
                                        delete t[e];
                                   }),
                                   delete t._chartjs);
                    }
               }
               var et = function (t, e) {
                    this.initialize(t, e);
               };
               N.extend(et.prototype, {
                    datasetElementType: null,
                    dataElementType: null,
                    _datasetElementOptions: ["backgroundColor", "borderCapStyle", "borderColor", "borderDash", "borderDashOffset", "borderJoinStyle", "borderWidth"],
                    _dataElementOptions: ["backgroundColor", "borderColor", "borderWidth", "pointStyle"],
                    initialize: function (t, e) {
                         var i = this;
                         (i.chart = t), (i.index = e), i.linkScales(), i.addElements(), (i._type = i.getMeta().type);
                    },
                    updateIndex: function (t) {
                         this.index = t;
                    },
                    linkScales: function () {
                         var t = this.getMeta(),
                              e = this.chart,
                              i = e.scales,
                              n = this.getDataset(),
                              r = e.options.scales;
                         (null !== t.xAxisID && t.xAxisID in i && !n.xAxisID) || (t.xAxisID = n.xAxisID || r.xAxes[0].id), (null !== t.yAxisID && t.yAxisID in i && !n.yAxisID) || (t.yAxisID = n.yAxisID || r.yAxes[0].id);
                    },
                    getDataset: function () {
                         return this.chart.data.datasets[this.index];
                    },
                    getMeta: function () {
                         return this.chart.getDatasetMeta(this.index);
                    },
                    getScaleForId: function (t) {
                         return this.chart.scales[t];
                    },
                    _getValueScaleId: function () {
                         return this.getMeta().yAxisID;
                    },
                    _getIndexScaleId: function () {
                         return this.getMeta().xAxisID;
                    },
                    _getValueScale: function () {
                         return this.getScaleForId(this._getValueScaleId());
                    },
                    _getIndexScale: function () {
                         return this.getScaleForId(this._getIndexScaleId());
                    },
                    reset: function () {
                         this._update(!0);
                    },
                    destroy: function () {
                         this._data && tt(this._data, this);
                    },
                    createMetaDataset: function () {
                         var t = this.datasetElementType;
                         return t && new t({ _chart: this.chart, _datasetIndex: this.index });
                    },
                    createMetaData: function (t) {
                         var e = this.dataElementType;
                         return e && new e({ _chart: this.chart, _datasetIndex: this.index, _index: t });
                    },
                    addElements: function () {
                         var t,
                              e,
                              i = this.getMeta(),
                              n = this.getDataset().data || [],
                              r = i.data;
                         for (t = 0, e = n.length; t < e; ++t) r[t] = r[t] || this.createMetaData(t);
                         i.dataset = i.dataset || this.createMetaDataset();
                    },
                    addElementAndReset: function (t) {
                         var e = this.createMetaData(t);
                         this.getMeta().data.splice(t, 0, e), this.updateElement(e, t, !0);
                    },
                    buildOrUpdateElements: function () {
                         var t,
                              e,
                              i = this,
                              n = i.getDataset(),
                              r = n.data || (n.data = []);
                         i._data !== r &&
                              (i._data && tt(i._data, i),
                              r &&
                                   Object.isExtensible(r) &&
                                   ((e = i),
                                   (t = r)._chartjs
                                        ? t._chartjs.listeners.push(e)
                                        : (Object.defineProperty(t, "_chartjs", { configurable: !0, enumerable: !1, value: { listeners: [e] } }),
                                          Q.forEach(function (e) {
                                               var i = "onData" + e.charAt(0).toUpperCase() + e.slice(1),
                                                    n = t[e];
                                               Object.defineProperty(t, e, {
                                                    configurable: !0,
                                                    enumerable: !1,
                                                    value: function () {
                                                         var e = Array.prototype.slice.call(arguments),
                                                              r = n.apply(this, e);
                                                         return (
                                                              N.each(t._chartjs.listeners, function (t) {
                                                                   "function" == typeof t[i] && t[i].apply(t, e);
                                                              }),
                                                              r
                                                         );
                                                    },
                                               });
                                          }))),
                              (i._data = r)),
                              i.resyncElements();
                    },
                    _configure: function () {
                         this._config = N.merge({}, [this.chart.options.datasets[this._type], this.getDataset()], {
                              merger: function (t, e, i) {
                                   "_meta" !== t && "data" !== t && N._merger(t, e, i);
                              },
                         });
                    },
                    _update: function (t) {
                         this._configure(), (this._cachedDataOpts = null), this.update(t);
                    },
                    update: N.noop,
                    transition: function (t) {
                         for (var e = this.getMeta(), i = e.data || [], n = i.length, r = 0; r < n; ++r) i[r].transition(t);
                         e.dataset && e.dataset.transition(t);
                    },
                    draw: function () {
                         var t = this.getMeta(),
                              e = t.data || [],
                              i = e.length,
                              n = 0;
                         for (t.dataset && t.dataset.draw(); n < i; ++n) e[n].draw();
                    },
                    getStyle: function (t) {
                         var e,
                              i = this.getMeta(),
                              n = i.dataset;
                         return (
                              this._configure(),
                              n && void 0 === t ? (e = this._resolveDatasetElementOptions(n || {})) : ((t = t || 0), (e = this._resolveDataElementOptions(i.data[t] || {}, t))),
                              (!1 !== e.fill && null !== e.fill) || (e.backgroundColor = e.borderColor),
                              e
                         );
                    },
                    _resolveDatasetElementOptions: function (t, e) {
                         var i,
                              n,
                              r,
                              o,
                              a = this,
                              s = a.chart,
                              l = a._config,
                              c = t.custom || {},
                              u = s.options.elements[a.datasetElementType.prototype._type] || {},
                              h = a._datasetElementOptions,
                              d = {},
                              p = { chart: s, dataset: a.getDataset(), datasetIndex: a.index, hover: e };
                         for (i = 0, n = h.length; i < n; ++i) (r = h[i]), (o = e ? "hover" + r.charAt(0).toUpperCase() + r.slice(1) : r), (d[r] = K([c[o], l[o], u[o]], p));
                         return d;
                    },
                    _resolveDataElementOptions: function (t, e) {
                         var i = this,
                              n = t && t.custom,
                              r = i._cachedDataOpts;
                         if (r && !n) return r;
                         var o,
                              a,
                              s,
                              l,
                              c = i.chart,
                              u = i._config,
                              h = c.options.elements[i.dataElementType.prototype._type] || {},
                              d = i._dataElementOptions,
                              p = {},
                              f = { chart: c, dataIndex: e, dataset: i.getDataset(), datasetIndex: i.index },
                              m = { cacheable: !n };
                         if (((n = n || {}), N.isArray(d))) for (a = 0, s = d.length; a < s; ++a) p[(l = d[a])] = K([n[l], u[l], h[l]], f, e, m);
                         else for (a = 0, s = (o = Object.keys(d)).length; a < s; ++a) p[(l = o[a])] = K([n[l], u[d[l]], u[l], h[l]], f, e, m);
                         return m.cacheable && (i._cachedDataOpts = Object.freeze(p)), p;
                    },
                    removeHoverStyle: function (t) {
                         N.merge(t._model, t.$previousStyle || {}), delete t.$previousStyle;
                    },
                    setHoverStyle: function (t) {
                         var e = this.chart.data.datasets[t._datasetIndex],
                              i = t._index,
                              n = t.custom || {},
                              r = t._model,
                              o = N.getHoverColor;
                         (t.$previousStyle = { backgroundColor: r.backgroundColor, borderColor: r.borderColor, borderWidth: r.borderWidth }),
                              (r.backgroundColor = K([n.hoverBackgroundColor, e.hoverBackgroundColor, o(r.backgroundColor)], void 0, i)),
                              (r.borderColor = K([n.hoverBorderColor, e.hoverBorderColor, o(r.borderColor)], void 0, i)),
                              (r.borderWidth = K([n.hoverBorderWidth, e.hoverBorderWidth, r.borderWidth], void 0, i));
                    },
                    _removeDatasetHoverStyle: function () {
                         var t = this.getMeta().dataset;
                         t && this.removeHoverStyle(t);
                    },
                    _setDatasetHoverStyle: function () {
                         var t,
                              e,
                              i,
                              n,
                              r,
                              o,
                              a = this.getMeta().dataset,
                              s = {};
                         if (a) {
                              for (o = a._model, r = this._resolveDatasetElementOptions(a, !0), t = 0, e = (n = Object.keys(r)).length; t < e; ++t) (s[(i = n[t])] = o[i]), (o[i] = r[i]);
                              a.$previousStyle = s;
                         }
                    },
                    resyncElements: function () {
                         var t = this.getMeta(),
                              e = this.getDataset().data,
                              i = t.data.length,
                              n = e.length;
                         n < i ? t.data.splice(n, i - n) : n > i && this.insertElements(i, n - i);
                    },
                    insertElements: function (t, e) {
                         for (var i = 0; i < e; ++i) this.addElementAndReset(t + i);
                    },
                    onDataPush: function () {
                         var t = arguments.length;
                         this.insertElements(this.getDataset().data.length - t, t);
                    },
                    onDataPop: function () {
                         this.getMeta().data.pop();
                    },
                    onDataShift: function () {
                         this.getMeta().data.shift();
                    },
                    onDataSplice: function (t, e) {
                         this.getMeta().data.splice(t, e), this.insertElements(t, arguments.length - 2);
                    },
                    onDataUnshift: function () {
                         this.insertElements(0, arguments.length);
                    },
               }),
                    (et.extend = N.inherits);
               var it = et,
                    nt = 2 * Math.PI;
               function rt(t, e) {
                    var i = e.startAngle,
                         n = e.endAngle,
                         r = e.pixelMargin,
                         o = r / e.outerRadius,
                         a = e.x,
                         s = e.y;
                    t.beginPath(),
                         t.arc(a, s, e.outerRadius, i - o, n + o),
                         e.innerRadius > r ? ((o = r / e.innerRadius), t.arc(a, s, e.innerRadius - r, n + o, i - o, !0)) : t.arc(a, s, r, n + Math.PI / 2, i - Math.PI / 2),
                         t.closePath(),
                         t.clip();
               }
               function ot(t, e, i) {
                    var n = "inner" === e.borderAlign;
                    n ? ((t.lineWidth = 2 * e.borderWidth), (t.lineJoin = "round")) : ((t.lineWidth = e.borderWidth), (t.lineJoin = "bevel")),
                         i.fullCircles &&
                              (function (t, e, i, n) {
                                   var r,
                                        o = i.endAngle;
                                   for (
                                        n && ((i.endAngle = i.startAngle + nt), rt(t, i), (i.endAngle = o), i.endAngle === i.startAngle && i.fullCircles && ((i.endAngle += nt), i.fullCircles--)),
                                             t.beginPath(),
                                             t.arc(i.x, i.y, i.innerRadius, i.startAngle + nt, i.startAngle, !0),
                                             r = 0;
                                        r < i.fullCircles;
                                        ++r
                                   )
                                        t.stroke();
                                   for (t.beginPath(), t.arc(i.x, i.y, e.outerRadius, i.startAngle, i.startAngle + nt), r = 0; r < i.fullCircles; ++r) t.stroke();
                              })(t, e, i, n),
                         n && rt(t, i),
                         t.beginPath(),
                         t.arc(i.x, i.y, e.outerRadius, i.startAngle, i.endAngle),
                         t.arc(i.x, i.y, i.innerRadius, i.endAngle, i.startAngle, !0),
                         t.closePath(),
                         t.stroke();
               }
               z._set("global", { elements: { arc: { backgroundColor: z.global.defaultColor, borderColor: "#fff", borderWidth: 2, borderAlign: "center" } } });
               var at = X.extend({
                         _type: "arc",
                         inLabelRange: function (t) {
                              var e = this._view;
                              return !!e && Math.pow(t - e.x, 2) < Math.pow(e.radius + e.hoverRadius, 2);
                         },
                         inRange: function (t, e) {
                              var i = this._view;
                              if (i) {
                                   for (var n = N.getAngleFromPoint(i, { x: t, y: e }), r = n.angle, o = n.distance, a = i.startAngle, s = i.endAngle; s < a; ) s += nt;
                                   for (; r > s; ) r -= nt;
                                   for (; r < a; ) r += nt;
                                   var l = r >= a && r <= s,
                                        c = o >= i.innerRadius && o <= i.outerRadius;
                                   return l && c;
                              }
                              return !1;
                         },
                         getCenterPoint: function () {
                              var t = this._view,
                                   e = (t.startAngle + t.endAngle) / 2,
                                   i = (t.innerRadius + t.outerRadius) / 2;
                              return { x: t.x + Math.cos(e) * i, y: t.y + Math.sin(e) * i };
                         },
                         getArea: function () {
                              var t = this._view;
                              return Math.PI * ((t.endAngle - t.startAngle) / (2 * Math.PI)) * (Math.pow(t.outerRadius, 2) - Math.pow(t.innerRadius, 2));
                         },
                         tooltipPosition: function () {
                              var t = this._view,
                                   e = t.startAngle + (t.endAngle - t.startAngle) / 2,
                                   i = (t.outerRadius - t.innerRadius) / 2 + t.innerRadius;
                              return { x: t.x + Math.cos(e) * i, y: t.y + Math.sin(e) * i };
                         },
                         draw: function () {
                              var t,
                                   e = this._chart.ctx,
                                   i = this._view,
                                   n = "inner" === i.borderAlign ? 0.33 : 0,
                                   r = {
                                        x: i.x,
                                        y: i.y,
                                        innerRadius: i.innerRadius,
                                        outerRadius: Math.max(i.outerRadius - n, 0),
                                        pixelMargin: n,
                                        startAngle: i.startAngle,
                                        endAngle: i.endAngle,
                                        fullCircles: Math.floor(i.circumference / nt),
                                   };
                              if ((e.save(), (e.fillStyle = i.backgroundColor), (e.strokeStyle = i.borderColor), r.fullCircles)) {
                                   for (
                                        r.endAngle = r.startAngle + nt, e.beginPath(), e.arc(r.x, r.y, r.outerRadius, r.startAngle, r.endAngle), e.arc(r.x, r.y, r.innerRadius, r.endAngle, r.startAngle, !0), e.closePath(), t = 0;
                                        t < r.fullCircles;
                                        ++t
                                   )
                                        e.fill();
                                   r.endAngle = r.startAngle + (i.circumference % nt);
                              }
                              e.beginPath(), e.arc(r.x, r.y, r.outerRadius, r.startAngle, r.endAngle), e.arc(r.x, r.y, r.innerRadius, r.endAngle, r.startAngle, !0), e.closePath(), e.fill(), i.borderWidth && ot(e, i, r), e.restore();
                         },
                    }),
                    st = N.valueOrDefault,
                    lt = z.global.defaultColor;
               z._set("global", {
                    elements: { line: { tension: 0.4, backgroundColor: lt, borderWidth: 3, borderColor: lt, borderCapStyle: "butt", borderDash: [], borderDashOffset: 0, borderJoinStyle: "miter", capBezierPoints: !0, fill: !0 } },
               });
               var ct = X.extend({
                         _type: "line",
                         draw: function () {
                              var t,
                                   e,
                                   i,
                                   n = this,
                                   r = n._view,
                                   o = n._chart.ctx,
                                   a = r.spanGaps,
                                   s = n._children.slice(),
                                   l = z.global,
                                   c = l.elements.line,
                                   u = -1,
                                   h = n._loop;
                              if (s.length) {
                                   if (n._loop) {
                                        for (t = 0; t < s.length; ++t)
                                             if (((e = N.previousItem(s, t)), !s[t]._view.skip && e._view.skip)) {
                                                  (s = s.slice(t).concat(s.slice(0, t))), (h = a);
                                                  break;
                                             }
                                        h && s.push(s[0]);
                                   }
                                   for (
                                        o.save(),
                                             o.lineCap = r.borderCapStyle || c.borderCapStyle,
                                             o.setLineDash && o.setLineDash(r.borderDash || c.borderDash),
                                             o.lineDashOffset = st(r.borderDashOffset, c.borderDashOffset),
                                             o.lineJoin = r.borderJoinStyle || c.borderJoinStyle,
                                             o.lineWidth = st(r.borderWidth, c.borderWidth),
                                             o.strokeStyle = r.borderColor || l.defaultColor,
                                             o.beginPath(),
                                             (i = s[0]._view).skip || (o.moveTo(i.x, i.y), (u = 0)),
                                             t = 1;
                                        t < s.length;
                                        ++t
                                   )
                                        (i = s[t]._view), (e = -1 === u ? N.previousItem(s, t) : s[u]), i.skip || ((u !== t - 1 && !a) || -1 === u ? o.moveTo(i.x, i.y) : N.canvas.lineTo(o, e._view, i), (u = t));
                                   h && o.closePath(), o.stroke(), o.restore();
                              }
                         },
                    }),
                    ut = N.valueOrDefault,
                    ht = z.global.defaultColor;
               function dt(t) {
                    var e = this._view;
                    return !!e && Math.abs(t - e.x) < e.radius + e.hitRadius;
               }
               z._set("global", { elements: { point: { radius: 3, pointStyle: "circle", backgroundColor: ht, borderColor: ht, borderWidth: 1, hitRadius: 1, hoverRadius: 4, hoverBorderWidth: 1 } } });
               var pt = X.extend({
                         _type: "point",
                         inRange: function (t, e) {
                              var i = this._view;
                              return !!i && Math.pow(t - i.x, 2) + Math.pow(e - i.y, 2) < Math.pow(i.hitRadius + i.radius, 2);
                         },
                         inLabelRange: dt,
                         inXRange: dt,
                         inYRange: function (t) {
                              var e = this._view;
                              return !!e && Math.abs(t - e.y) < e.radius + e.hitRadius;
                         },
                         getCenterPoint: function () {
                              var t = this._view;
                              return { x: t.x, y: t.y };
                         },
                         getArea: function () {
                              return Math.PI * Math.pow(this._view.radius, 2);
                         },
                         tooltipPosition: function () {
                              var t = this._view;
                              return { x: t.x, y: t.y, padding: t.radius + t.borderWidth };
                         },
                         draw: function (t) {
                              var e = this._view,
                                   i = this._chart.ctx,
                                   n = e.pointStyle,
                                   r = e.rotation,
                                   o = e.radius,
                                   a = e.x,
                                   s = e.y,
                                   l = z.global,
                                   c = l.defaultColor;
                              e.skip ||
                                   ((void 0 === t || N.canvas._isPointInArea(e, t)) &&
                                        ((i.strokeStyle = e.borderColor || c), (i.lineWidth = ut(e.borderWidth, l.elements.point.borderWidth)), (i.fillStyle = e.backgroundColor || c), N.canvas.drawPoint(i, n, o, a, s, r)));
                         },
                    }),
                    ft = z.global.defaultColor;
               function mt(t) {
                    return t && void 0 !== t.width;
               }
               function gt(t) {
                    var e, i, n, r, o;
                    return (
                         mt(t)
                              ? ((o = t.width / 2), (e = t.x - o), (i = t.x + o), (n = Math.min(t.y, t.base)), (r = Math.max(t.y, t.base)))
                              : ((o = t.height / 2), (e = Math.min(t.x, t.base)), (i = Math.max(t.x, t.base)), (n = t.y - o), (r = t.y + o)),
                         { left: e, top: n, right: i, bottom: r }
                    );
               }
               function vt(t, e, i) {
                    return t === e ? i : t === i ? e : t;
               }
               function yt(t, e, i) {
                    var n,
                         r,
                         o,
                         a,
                         s = t.borderWidth,
                         l = (function (t) {
                              var e = t.borderSkipped,
                                   i = {};
                              return e ? (t.horizontal ? t.base > t.x && (e = vt(e, "left", "right")) : t.base < t.y && (e = vt(e, "bottom", "top")), (i[e] = !0), i) : i;
                         })(t);
                    return (
                         N.isObject(s) ? ((n = +s.top || 0), (r = +s.right || 0), (o = +s.bottom || 0), (a = +s.left || 0)) : (n = r = o = a = +s || 0),
                         { t: l.top || n < 0 ? 0 : n > i ? i : n, r: l.right || r < 0 ? 0 : r > e ? e : r, b: l.bottom || o < 0 ? 0 : o > i ? i : o, l: l.left || a < 0 ? 0 : a > e ? e : a }
                    );
               }
               function bt(t, e, i) {
                    var n = null === e,
                         r = null === i,
                         o = !(!t || (n && r)) && gt(t);
                    return o && (n || (e >= o.left && e <= o.right)) && (r || (i >= o.top && i <= o.bottom));
               }
               z._set("global", { elements: { rectangle: { backgroundColor: ft, borderColor: ft, borderSkipped: "bottom", borderWidth: 0 } } });
               var _t = X.extend({
                         _type: "rectangle",
                         draw: function () {
                              var t = this._chart.ctx,
                                   e = this._view,
                                   i = (function (t) {
                                        var e = gt(t),
                                             i = e.right - e.left,
                                             n = e.bottom - e.top,
                                             r = yt(t, i / 2, n / 2);
                                        return { outer: { x: e.left, y: e.top, w: i, h: n }, inner: { x: e.left + r.l, y: e.top + r.t, w: i - r.l - r.r, h: n - r.t - r.b } };
                                   })(e),
                                   n = i.outer,
                                   r = i.inner;
                              (t.fillStyle = e.backgroundColor),
                                   t.fillRect(n.x, n.y, n.w, n.h),
                                   (n.w === r.w && n.h === r.h) || (t.save(), t.beginPath(), t.rect(n.x, n.y, n.w, n.h), t.clip(), (t.fillStyle = e.borderColor), t.rect(r.x, r.y, r.w, r.h), t.fill("evenodd"), t.restore());
                         },
                         height: function () {
                              var t = this._view;
                              return t.base - t.y;
                         },
                         inRange: function (t, e) {
                              return bt(this._view, t, e);
                         },
                         inLabelRange: function (t, e) {
                              var i = this._view;
                              return mt(i) ? bt(i, t, null) : bt(i, null, e);
                         },
                         inXRange: function (t) {
                              return bt(this._view, t, null);
                         },
                         inYRange: function (t) {
                              return bt(this._view, null, t);
                         },
                         getCenterPoint: function () {
                              var t,
                                   e,
                                   i = this._view;
                              return mt(i) ? ((t = i.x), (e = (i.y + i.base) / 2)) : ((t = (i.x + i.base) / 2), (e = i.y)), { x: t, y: e };
                         },
                         getArea: function () {
                              var t = this._view;
                              return mt(t) ? t.width * Math.abs(t.y - t.base) : t.height * Math.abs(t.x - t.base);
                         },
                         tooltipPosition: function () {
                              var t = this._view;
                              return { x: t.x, y: t.y };
                         },
                    }),
                    xt = {},
                    wt = at,
                    kt = ct,
                    St = pt,
                    Mt = _t;
               (xt.Arc = wt), (xt.Line = kt), (xt.Point = St), (xt.Rectangle = Mt);
               var Tt = N._deprecated,
                    Ct = N.valueOrDefault;
               function Dt(t, e, i) {
                    var n,
                         r,
                         o = i.barThickness,
                         a = e.stackCount,
                         s = e.pixels[t],
                         l = N.isNullOrUndef(o)
                              ? (function (t, e) {
                                     var i,
                                          n,
                                          r,
                                          o,
                                          a = t._length;
                                     for (r = 1, o = e.length; r < o; ++r) a = Math.min(a, Math.abs(e[r] - e[r - 1]));
                                     for (r = 0, o = t.getTicks().length; r < o; ++r) (n = t.getPixelForTick(r)), (a = r > 0 ? Math.min(a, Math.abs(n - i)) : a), (i = n);
                                     return a;
                                })(e.scale, e.pixels)
                              : -1;
                    return N.isNullOrUndef(o) ? ((n = l * i.categoryPercentage), (r = i.barPercentage)) : ((n = o * a), (r = 1)), { chunk: n / a, ratio: r, start: s - n / 2 };
               }
               z._set("bar", { hover: { mode: "label" }, scales: { xAxes: [{ type: "category", offset: !0, gridLines: { offsetGridLines: !0 } }], yAxes: [{ type: "linear" }] } }),
                    z._set("global", { datasets: { bar: { categoryPercentage: 0.8, barPercentage: 0.9 } } });
               var Lt = it.extend({
                         dataElementType: xt.Rectangle,
                         _dataElementOptions: ["backgroundColor", "borderColor", "borderSkipped", "borderWidth", "barPercentage", "barThickness", "categoryPercentage", "maxBarThickness", "minBarLength"],
                         initialize: function () {
                              var t,
                                   e,
                                   i = this;
                              it.prototype.initialize.apply(i, arguments),
                                   ((t = i.getMeta()).stack = i.getDataset().stack),
                                   (t.bar = !0),
                                   (e = i._getIndexScale().options),
                                   Tt("bar chart", e.barPercentage, "scales.[x/y]Axes.barPercentage", "dataset.barPercentage"),
                                   Tt("bar chart", e.barThickness, "scales.[x/y]Axes.barThickness", "dataset.barThickness"),
                                   Tt("bar chart", e.categoryPercentage, "scales.[x/y]Axes.categoryPercentage", "dataset.categoryPercentage"),
                                   Tt("bar chart", i._getValueScale().options.minBarLength, "scales.[x/y]Axes.minBarLength", "dataset.minBarLength"),
                                   Tt("bar chart", e.maxBarThickness, "scales.[x/y]Axes.maxBarThickness", "dataset.maxBarThickness");
                         },
                         update: function (t) {
                              var e,
                                   i,
                                   n = this.getMeta().data;
                              for (this._ruler = this.getRuler(), e = 0, i = n.length; e < i; ++e) this.updateElement(n[e], e, t);
                         },
                         updateElement: function (t, e, i) {
                              var n = this,
                                   r = n.getMeta(),
                                   o = n.getDataset(),
                                   a = n._resolveDataElementOptions(t, e);
                              (t._xScale = n.getScaleForId(r.xAxisID)),
                                   (t._yScale = n.getScaleForId(r.yAxisID)),
                                   (t._datasetIndex = n.index),
                                   (t._index = e),
                                   (t._model = { backgroundColor: a.backgroundColor, borderColor: a.borderColor, borderSkipped: a.borderSkipped, borderWidth: a.borderWidth, datasetLabel: o.label, label: n.chart.data.labels[e] }),
                                   N.isArray(o.data[e]) && (t._model.borderSkipped = null),
                                   n._updateElementGeometry(t, e, i, a),
                                   t.pivot();
                         },
                         _updateElementGeometry: function (t, e, i, n) {
                              var r = this,
                                   o = t._model,
                                   a = r._getValueScale(),
                                   s = a.getBasePixel(),
                                   l = a.isHorizontal(),
                                   c = r._ruler || r.getRuler(),
                                   u = r.calculateBarValuePixels(r.index, e, n),
                                   h = r.calculateBarIndexPixels(r.index, e, c, n);
                              (o.horizontal = l), (o.base = i ? s : u.base), (o.x = l ? (i ? s : u.head) : h.center), (o.y = l ? h.center : i ? s : u.head), (o.height = l ? h.size : void 0), (o.width = l ? void 0 : h.size);
                         },
                         _getStacks: function (t) {
                              var e,
                                   i,
                                   n = this._getIndexScale(),
                                   r = n._getMatchingVisibleMetas(this._type),
                                   o = n.options.stacked,
                                   a = r.length,
                                   s = [];
                              for (e = 0; e < a && ((i = r[e]), (!1 === o || -1 === s.indexOf(i.stack) || (void 0 === o && void 0 === i.stack)) && s.push(i.stack), i.index !== t); ++e);
                              return s;
                         },
                         getStackCount: function () {
                              return this._getStacks().length;
                         },
                         getStackIndex: function (t, e) {
                              var i = this._getStacks(t),
                                   n = void 0 !== e ? i.indexOf(e) : -1;
                              return -1 === n ? i.length - 1 : n;
                         },
                         getRuler: function () {
                              var t,
                                   e,
                                   i = this._getIndexScale(),
                                   n = [];
                              for (t = 0, e = this.getMeta().data.length; t < e; ++t) n.push(i.getPixelForValue(null, t, this.index));
                              return { pixels: n, start: i._startPixel, end: i._endPixel, stackCount: this.getStackCount(), scale: i };
                         },
                         calculateBarValuePixels: function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c,
                                   u = this.chart,
                                   h = this._getValueScale(),
                                   d = h.isHorizontal(),
                                   p = u.data.datasets,
                                   f = h._getMatchingVisibleMetas(this._type),
                                   m = h._parseValue(p[t].data[e]),
                                   g = i.minBarLength,
                                   v = h.options.stacked,
                                   y = this.getMeta().stack,
                                   b = void 0 === m.start ? 0 : m.max >= 0 && m.min >= 0 ? m.min : m.max,
                                   _ = void 0 === m.start ? m.end : m.max >= 0 && m.min >= 0 ? m.max - m.min : m.min - m.max,
                                   x = f.length;
                              if (v || (void 0 === v && void 0 !== y))
                                   for (n = 0; n < x && (r = f[n]).index !== t; ++n)
                                        r.stack === y && ((o = void 0 === (c = h._parseValue(p[r.index].data[e])).start ? c.end : c.min >= 0 && c.max >= 0 ? c.max : c.min), ((m.min < 0 && o < 0) || (m.max >= 0 && o > 0)) && (b += o));
                              return (
                                   (a = h.getPixelForValue(b)),
                                   (l = (s = h.getPixelForValue(b + _)) - a),
                                   void 0 !== g && Math.abs(l) < g && ((l = g), (s = (_ >= 0 && !d) || (_ < 0 && d) ? a - g : a + g)),
                                   { size: l, base: a, head: s, center: s + l / 2 }
                              );
                         },
                         calculateBarIndexPixels: function (t, e, i, n) {
                              var r =
                                        "flex" === n.barThickness
                                             ? (function (t, e, i) {
                                                    var n,
                                                         r = e.pixels,
                                                         o = r[t],
                                                         a = t > 0 ? r[t - 1] : null,
                                                         s = t < r.length - 1 ? r[t + 1] : null,
                                                         l = i.categoryPercentage;
                                                    return (
                                                         null === a && (a = o - (null === s ? e.end - e.start : s - o)),
                                                         null === s && (s = o + o - a),
                                                         (n = o - ((o - Math.min(a, s)) / 2) * l),
                                                         { chunk: ((Math.abs(s - a) / 2) * l) / e.stackCount, ratio: i.barPercentage, start: n }
                                                    );
                                               })(e, i, n)
                                             : Dt(e, i, n),
                                   o = this.getStackIndex(t, this.getMeta().stack),
                                   a = r.start + r.chunk * o + r.chunk / 2,
                                   s = Math.min(Ct(n.maxBarThickness, 1 / 0), r.chunk * r.ratio);
                              return { base: a - s / 2, head: a + s / 2, center: a, size: s };
                         },
                         draw: function () {
                              var t = this.chart,
                                   e = this._getValueScale(),
                                   i = this.getMeta().data,
                                   n = this.getDataset(),
                                   r = i.length,
                                   o = 0;
                              for (N.canvas.clipArea(t.ctx, t.chartArea); o < r; ++o) {
                                   var a = e._parseValue(n.data[o]);
                                   isNaN(a.min) || isNaN(a.max) || i[o].draw();
                              }
                              N.canvas.unclipArea(t.ctx);
                         },
                         _resolveDataElementOptions: function () {
                              var t = this,
                                   e = N.extend({}, it.prototype._resolveDataElementOptions.apply(t, arguments)),
                                   i = t._getIndexScale().options,
                                   n = t._getValueScale().options;
                              return (
                                   (e.barPercentage = Ct(i.barPercentage, e.barPercentage)),
                                   (e.barThickness = Ct(i.barThickness, e.barThickness)),
                                   (e.categoryPercentage = Ct(i.categoryPercentage, e.categoryPercentage)),
                                   (e.maxBarThickness = Ct(i.maxBarThickness, e.maxBarThickness)),
                                   (e.minBarLength = Ct(n.minBarLength, e.minBarLength)),
                                   e
                              );
                         },
                    }),
                    Et = N.valueOrDefault,
                    At = N.options.resolve;
               z._set("bubble", {
                    hover: { mode: "single" },
                    scales: { xAxes: [{ type: "linear", position: "bottom", id: "x-axis-0" }], yAxes: [{ type: "linear", position: "left", id: "y-axis-0" }] },
                    tooltips: {
                         callbacks: {
                              title: function () {
                                   return "";
                              },
                              label: function (t, e) {
                                   var i = e.datasets[t.datasetIndex].label || "",
                                        n = e.datasets[t.datasetIndex].data[t.index];
                                   return i + ": (" + t.xLabel + ", " + t.yLabel + ", " + n.r + ")";
                              },
                         },
                    },
               });
               var Pt = it.extend({
                         dataElementType: xt.Point,
                         _dataElementOptions: ["backgroundColor", "borderColor", "borderWidth", "hoverBackgroundColor", "hoverBorderColor", "hoverBorderWidth", "hoverRadius", "hitRadius", "pointStyle", "rotation"],
                         update: function (t) {
                              var e = this,
                                   i = e.getMeta().data;
                              N.each(i, function (i, n) {
                                   e.updateElement(i, n, t);
                              });
                         },
                         updateElement: function (t, e, i) {
                              var n = this,
                                   r = n.getMeta(),
                                   o = t.custom || {},
                                   a = n.getScaleForId(r.xAxisID),
                                   s = n.getScaleForId(r.yAxisID),
                                   l = n._resolveDataElementOptions(t, e),
                                   c = n.getDataset().data[e],
                                   u = n.index,
                                   h = i ? a.getPixelForDecimal(0.5) : a.getPixelForValue("object" == typeof c ? c : NaN, e, u),
                                   d = i ? s.getBasePixel() : s.getPixelForValue(c, e, u);
                              (t._xScale = a),
                                   (t._yScale = s),
                                   (t._options = l),
                                   (t._datasetIndex = u),
                                   (t._index = e),
                                   (t._model = {
                                        backgroundColor: l.backgroundColor,
                                        borderColor: l.borderColor,
                                        borderWidth: l.borderWidth,
                                        hitRadius: l.hitRadius,
                                        pointStyle: l.pointStyle,
                                        rotation: l.rotation,
                                        radius: i ? 0 : l.radius,
                                        skip: o.skip || isNaN(h) || isNaN(d),
                                        x: h,
                                        y: d,
                                   }),
                                   t.pivot();
                         },
                         setHoverStyle: function (t) {
                              var e = t._model,
                                   i = t._options,
                                   n = N.getHoverColor;
                              (t.$previousStyle = { backgroundColor: e.backgroundColor, borderColor: e.borderColor, borderWidth: e.borderWidth, radius: e.radius }),
                                   (e.backgroundColor = Et(i.hoverBackgroundColor, n(i.backgroundColor))),
                                   (e.borderColor = Et(i.hoverBorderColor, n(i.borderColor))),
                                   (e.borderWidth = Et(i.hoverBorderWidth, i.borderWidth)),
                                   (e.radius = i.radius + i.hoverRadius);
                         },
                         _resolveDataElementOptions: function (t, e) {
                              var i = this,
                                   n = i.chart,
                                   r = i.getDataset(),
                                   o = t.custom || {},
                                   a = r.data[e] || {},
                                   s = it.prototype._resolveDataElementOptions.apply(i, arguments),
                                   l = { chart: n, dataIndex: e, dataset: r, datasetIndex: i.index };
                              return i._cachedDataOpts === s && (s = N.extend({}, s)), (s.radius = At([o.radius, a.r, i._config.radius, n.options.elements.point.radius], l, e)), s;
                         },
                    }),
                    It = N.valueOrDefault,
                    Ot = Math.PI,
                    Yt = 2 * Ot,
                    zt = Ot / 2;
               z._set("doughnut", {
                    animation: { animateRotate: !0, animateScale: !1 },
                    hover: { mode: "single" },
                    legendCallback: function (t) {
                         var e,
                              i,
                              n,
                              r = document.createElement("ul"),
                              o = t.data,
                              a = o.datasets,
                              s = o.labels;
                         if ((r.setAttribute("class", t.id + "-legend"), a.length))
                              for (e = 0, i = a[0].data.length; e < i; ++e)
                                   ((n = r.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor = a[0].backgroundColor[e]), s[e] && n.appendChild(document.createTextNode(s[e]));
                         return r.outerHTML;
                    },
                    legend: {
                         labels: {
                              generateLabels: function (t) {
                                   var e = t.data;
                                   return e.labels.length && e.datasets.length
                                        ? e.labels.map(function (i, n) {
                                               var r = t.getDatasetMeta(0),
                                                    o = r.controller.getStyle(n);
                                               return { text: i, fillStyle: o.backgroundColor, strokeStyle: o.borderColor, lineWidth: o.borderWidth, hidden: isNaN(e.datasets[0].data[n]) || r.data[n].hidden, index: n };
                                          })
                                        : [];
                              },
                         },
                         onClick: function (t, e) {
                              var i,
                                   n,
                                   r,
                                   o = e.index,
                                   a = this.chart;
                              for (i = 0, n = (a.data.datasets || []).length; i < n; ++i) (r = a.getDatasetMeta(i)).data[o] && (r.data[o].hidden = !r.data[o].hidden);
                              a.update();
                         },
                    },
                    cutoutPercentage: 50,
                    rotation: -zt,
                    circumference: Yt,
                    tooltips: {
                         callbacks: {
                              title: function () {
                                   return "";
                              },
                              label: function (t, e) {
                                   var i = e.labels[t.index],
                                        n = ": " + e.datasets[t.datasetIndex].data[t.index];
                                   return N.isArray(i) ? ((i = i.slice())[0] += n) : (i += n), i;
                              },
                         },
                    },
               });
               var Rt = it.extend({
                    dataElementType: xt.Arc,
                    linkScales: N.noop,
                    _dataElementOptions: ["backgroundColor", "borderColor", "borderWidth", "borderAlign", "hoverBackgroundColor", "hoverBorderColor", "hoverBorderWidth"],
                    getRingIndex: function (t) {
                         for (var e = 0, i = 0; i < t; ++i) this.chart.isDatasetVisible(i) && ++e;
                         return e;
                    },
                    update: function (t) {
                         var e,
                              i,
                              n,
                              r,
                              o = this,
                              a = o.chart,
                              s = a.chartArea,
                              l = a.options,
                              c = 1,
                              u = 1,
                              h = 0,
                              d = 0,
                              p = o.getMeta(),
                              f = p.data,
                              m = l.cutoutPercentage / 100 || 0,
                              g = l.circumference,
                              v = o._getRingWeight(o.index);
                         if (g < Yt) {
                              var y = l.rotation % Yt,
                                   b = (y += y >= Ot ? -Yt : y < -Ot ? Yt : 0) + g,
                                   _ = Math.cos(y),
                                   x = Math.sin(y),
                                   w = Math.cos(b),
                                   k = Math.sin(b),
                                   S = (y <= 0 && b >= 0) || b >= Yt,
                                   M = (y <= zt && b >= zt) || b >= Yt + zt,
                                   T = (y <= -zt && b >= -zt) || b >= Ot + zt,
                                   C = y === -Ot || b >= Ot ? -1 : Math.min(_, _ * m, w, w * m),
                                   D = T ? -1 : Math.min(x, x * m, k, k * m),
                                   L = S ? 1 : Math.max(_, _ * m, w, w * m),
                                   E = M ? 1 : Math.max(x, x * m, k, k * m);
                              (c = (L - C) / 2), (u = (E - D) / 2), (h = -(L + C) / 2), (d = -(E + D) / 2);
                         }
                         for (n = 0, r = f.length; n < r; ++n) f[n]._options = o._resolveDataElementOptions(f[n], n);
                         for (
                              a.borderWidth = o.getMaxBorderWidth(),
                                   e = (s.right - s.left - a.borderWidth) / c,
                                   i = (s.bottom - s.top - a.borderWidth) / u,
                                   a.outerRadius = Math.max(Math.min(e, i) / 2, 0),
                                   a.innerRadius = Math.max(a.outerRadius * m, 0),
                                   a.radiusLength = (a.outerRadius - a.innerRadius) / (o._getVisibleDatasetWeightTotal() || 1),
                                   a.offsetX = h * a.outerRadius,
                                   a.offsetY = d * a.outerRadius,
                                   p.total = o.calculateTotal(),
                                   o.outerRadius = a.outerRadius - a.radiusLength * o._getRingWeightOffset(o.index),
                                   o.innerRadius = Math.max(o.outerRadius - a.radiusLength * v, 0),
                                   n = 0,
                                   r = f.length;
                              n < r;
                              ++n
                         )
                              o.updateElement(f[n], n, t);
                    },
                    updateElement: function (t, e, i) {
                         var n = this,
                              r = n.chart,
                              o = r.chartArea,
                              a = r.options,
                              s = a.animation,
                              l = (o.left + o.right) / 2,
                              c = (o.top + o.bottom) / 2,
                              u = a.rotation,
                              h = a.rotation,
                              d = n.getDataset(),
                              p = (i && s.animateRotate) || t.hidden ? 0 : n.calculateCircumference(d.data[e]) * (a.circumference / Yt),
                              f = i && s.animateScale ? 0 : n.innerRadius,
                              m = i && s.animateScale ? 0 : n.outerRadius,
                              g = t._options || {};
                         N.extend(t, {
                              _datasetIndex: n.index,
                              _index: e,
                              _model: {
                                   backgroundColor: g.backgroundColor,
                                   borderColor: g.borderColor,
                                   borderWidth: g.borderWidth,
                                   borderAlign: g.borderAlign,
                                   x: l + r.offsetX,
                                   y: c + r.offsetY,
                                   startAngle: u,
                                   endAngle: h,
                                   circumference: p,
                                   outerRadius: m,
                                   innerRadius: f,
                                   label: N.valueAtIndexOrDefault(d.label, e, r.data.labels[e]),
                              },
                         });
                         var v = t._model;
                         (i && s.animateRotate) || ((v.startAngle = 0 === e ? a.rotation : n.getMeta().data[e - 1]._model.endAngle), (v.endAngle = v.startAngle + v.circumference)), t.pivot();
                    },
                    calculateTotal: function () {
                         var t,
                              e = this.getDataset(),
                              i = this.getMeta(),
                              n = 0;
                         return (
                              N.each(i.data, function (i, r) {
                                   (t = e.data[r]), isNaN(t) || i.hidden || (n += Math.abs(t));
                              }),
                              n
                         );
                    },
                    calculateCircumference: function (t) {
                         var e = this.getMeta().total;
                         return e > 0 && !isNaN(t) ? Yt * (Math.abs(t) / e) : 0;
                    },
                    getMaxBorderWidth: function (t) {
                         var e,
                              i,
                              n,
                              r,
                              o,
                              a,
                              s,
                              l,
                              c = 0,
                              u = this.chart;
                         if (!t)
                              for (e = 0, i = u.data.datasets.length; e < i; ++e)
                                   if (u.isDatasetVisible(e)) {
                                        (t = (n = u.getDatasetMeta(e)).data), e !== this.index && (o = n.controller);
                                        break;
                                   }
                         if (!t) return 0;
                         for (e = 0, i = t.length; e < i; ++e)
                              (r = t[e]), o ? (o._configure(), (a = o._resolveDataElementOptions(r, e))) : (a = r._options), "inner" !== a.borderAlign && ((s = a.borderWidth), (c = (l = a.hoverBorderWidth) > (c = s > c ? s : c) ? l : c));
                         return c;
                    },
                    setHoverStyle: function (t) {
                         var e = t._model,
                              i = t._options,
                              n = N.getHoverColor;
                         (t.$previousStyle = { backgroundColor: e.backgroundColor, borderColor: e.borderColor, borderWidth: e.borderWidth }),
                              (e.backgroundColor = It(i.hoverBackgroundColor, n(i.backgroundColor))),
                              (e.borderColor = It(i.hoverBorderColor, n(i.borderColor))),
                              (e.borderWidth = It(i.hoverBorderWidth, i.borderWidth));
                    },
                    _getRingWeightOffset: function (t) {
                         for (var e = 0, i = 0; i < t; ++i) this.chart.isDatasetVisible(i) && (e += this._getRingWeight(i));
                         return e;
                    },
                    _getRingWeight: function (t) {
                         return Math.max(It(this.chart.data.datasets[t].weight, 1), 0);
                    },
                    _getVisibleDatasetWeightTotal: function () {
                         return this._getRingWeightOffset(this.chart.data.datasets.length);
                    },
               });
               z._set("horizontalBar", {
                    hover: { mode: "index", axis: "y" },
                    scales: { xAxes: [{ type: "linear", position: "bottom" }], yAxes: [{ type: "category", position: "left", offset: !0, gridLines: { offsetGridLines: !0 } }] },
                    elements: { rectangle: { borderSkipped: "left" } },
                    tooltips: { mode: "index", axis: "y" },
               }),
                    z._set("global", { datasets: { horizontalBar: { categoryPercentage: 0.8, barPercentage: 0.9 } } });
               var Ft = Lt.extend({
                         _getValueScaleId: function () {
                              return this.getMeta().xAxisID;
                         },
                         _getIndexScaleId: function () {
                              return this.getMeta().yAxisID;
                         },
                    }),
                    Ht = N.valueOrDefault,
                    jt = N.options.resolve,
                    Nt = N.canvas._isPointInArea;
               function Bt(t, e) {
                    var i = (t && t.options.ticks) || {},
                         n = i.reverse,
                         r = void 0 === i.min ? e : 0,
                         o = void 0 === i.max ? e : 0;
                    return { start: n ? o : r, end: n ? r : o };
               }
               function Wt(t, e, i) {
                    var n = i / 2,
                         r = Bt(t, n),
                         o = Bt(e, n);
                    return { top: o.end, right: r.end, bottom: o.start, left: r.start };
               }
               function Vt(t) {
                    var e, i, n, r;
                    return N.isObject(t) ? ((e = t.top), (i = t.right), (n = t.bottom), (r = t.left)) : (e = i = n = r = t), { top: e, right: i, bottom: n, left: r };
               }
               z._set("line", { showLines: !0, spanGaps: !1, hover: { mode: "label" }, scales: { xAxes: [{ type: "category", id: "x-axis-0" }], yAxes: [{ type: "linear", id: "y-axis-0" }] } });
               var Ut = it.extend({
                         datasetElementType: xt.Line,
                         dataElementType: xt.Point,
                         _datasetElementOptions: ["backgroundColor", "borderCapStyle", "borderColor", "borderDash", "borderDashOffset", "borderJoinStyle", "borderWidth", "cubicInterpolationMode", "fill"],
                         _dataElementOptions: {
                              backgroundColor: "pointBackgroundColor",
                              borderColor: "pointBorderColor",
                              borderWidth: "pointBorderWidth",
                              hitRadius: "pointHitRadius",
                              hoverBackgroundColor: "pointHoverBackgroundColor",
                              hoverBorderColor: "pointHoverBorderColor",
                              hoverBorderWidth: "pointHoverBorderWidth",
                              hoverRadius: "pointHoverRadius",
                              pointStyle: "pointStyle",
                              radius: "pointRadius",
                              rotation: "pointRotation",
                         },
                         update: function (t) {
                              var e,
                                   i,
                                   n = this,
                                   r = n.getMeta(),
                                   o = r.dataset,
                                   a = r.data || [],
                                   s = n.chart.options,
                                   l = n._config,
                                   c = (n._showLine = Ht(l.showLine, s.showLines));
                              for (
                                   n._xScale = n.getScaleForId(r.xAxisID),
                                        n._yScale = n.getScaleForId(r.yAxisID),
                                        c &&
                                             (void 0 !== l.tension && void 0 === l.lineTension && (l.lineTension = l.tension),
                                             (o._scale = n._yScale),
                                             (o._datasetIndex = n.index),
                                             (o._children = a),
                                             (o._model = n._resolveDatasetElementOptions(o)),
                                             o.pivot()),
                                        e = 0,
                                        i = a.length;
                                   e < i;
                                   ++e
                              )
                                   n.updateElement(a[e], e, t);
                              for (c && 0 !== o._model.tension && n.updateBezierControlPoints(), e = 0, i = a.length; e < i; ++e) a[e].pivot();
                         },
                         updateElement: function (t, e, i) {
                              var n,
                                   r,
                                   o = this,
                                   a = o.getMeta(),
                                   s = t.custom || {},
                                   l = o.getDataset(),
                                   c = o.index,
                                   u = l.data[e],
                                   h = o._xScale,
                                   d = o._yScale,
                                   p = a.dataset._model,
                                   f = o._resolveDataElementOptions(t, e);
                              (n = h.getPixelForValue("object" == typeof u ? u : NaN, e, c)),
                                   (r = i ? d.getBasePixel() : o.calculatePointY(u, e, c)),
                                   (t._xScale = h),
                                   (t._yScale = d),
                                   (t._options = f),
                                   (t._datasetIndex = c),
                                   (t._index = e),
                                   (t._model = {
                                        x: n,
                                        y: r,
                                        skip: s.skip || isNaN(n) || isNaN(r),
                                        radius: f.radius,
                                        pointStyle: f.pointStyle,
                                        rotation: f.rotation,
                                        backgroundColor: f.backgroundColor,
                                        borderColor: f.borderColor,
                                        borderWidth: f.borderWidth,
                                        tension: Ht(s.tension, p ? p.tension : 0),
                                        steppedLine: !!p && p.steppedLine,
                                        hitRadius: f.hitRadius,
                                   });
                         },
                         _resolveDatasetElementOptions: function (t) {
                              var e = this,
                                   i = e._config,
                                   n = t.custom || {},
                                   r = e.chart.options,
                                   o = r.elements.line,
                                   a = it.prototype._resolveDatasetElementOptions.apply(e, arguments);
                              return (
                                   (a.spanGaps = Ht(i.spanGaps, r.spanGaps)),
                                   (a.tension = Ht(i.lineTension, o.tension)),
                                   (a.steppedLine = jt([n.steppedLine, i.steppedLine, o.stepped])),
                                   (a.clip = Vt(Ht(i.clip, Wt(e._xScale, e._yScale, a.borderWidth)))),
                                   a
                              );
                         },
                         calculatePointY: function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c,
                                   u = this.chart,
                                   h = this._yScale,
                                   d = 0,
                                   p = 0;
                              if (h.options.stacked) {
                                   for (s = +h.getRightValue(t), c = (l = u._getSortedVisibleDatasetMetas()).length, n = 0; n < c && (o = l[n]).index !== i; ++n)
                                        (r = u.data.datasets[o.index]), "line" === o.type && o.yAxisID === h.id && ((a = +h.getRightValue(r.data[e])) < 0 ? (p += a || 0) : (d += a || 0));
                                   return s < 0 ? h.getPixelForValue(p + s) : h.getPixelForValue(d + s);
                              }
                              return h.getPixelForValue(t);
                         },
                         updateBezierControlPoints: function () {
                              var t,
                                   e,
                                   i,
                                   n,
                                   r = this.chart,
                                   o = this.getMeta(),
                                   a = o.dataset._model,
                                   s = r.chartArea,
                                   l = o.data || [];
                              function c(t, e, i) {
                                   return Math.max(Math.min(t, i), e);
                              }
                              if (
                                   (a.spanGaps &&
                                        (l = l.filter(function (t) {
                                             return !t._model.skip;
                                        })),
                                   "monotone" === a.cubicInterpolationMode)
                              )
                                   N.splineCurveMonotone(l);
                              else
                                   for (t = 0, e = l.length; t < e; ++t)
                                        (i = l[t]._model),
                                             (n = N.splineCurve(N.previousItem(l, t)._model, i, N.nextItem(l, t)._model, a.tension)),
                                             (i.controlPointPreviousX = n.previous.x),
                                             (i.controlPointPreviousY = n.previous.y),
                                             (i.controlPointNextX = n.next.x),
                                             (i.controlPointNextY = n.next.y);
                              if (r.options.elements.line.capBezierPoints)
                                   for (t = 0, e = l.length; t < e; ++t)
                                        (i = l[t]._model),
                                             Nt(i, s) &&
                                                  (t > 0 && Nt(l[t - 1]._model, s) && ((i.controlPointPreviousX = c(i.controlPointPreviousX, s.left, s.right)), (i.controlPointPreviousY = c(i.controlPointPreviousY, s.top, s.bottom))),
                                                  t < l.length - 1 && Nt(l[t + 1]._model, s) && ((i.controlPointNextX = c(i.controlPointNextX, s.left, s.right)), (i.controlPointNextY = c(i.controlPointNextY, s.top, s.bottom))));
                         },
                         draw: function () {
                              var t,
                                   e = this.chart,
                                   i = this.getMeta(),
                                   n = i.data || [],
                                   r = e.chartArea,
                                   o = e.canvas,
                                   a = 0,
                                   s = n.length;
                              for (
                                   this._showLine &&
                                   ((t = i.dataset._model.clip),
                                   N.canvas.clipArea(e.ctx, {
                                        left: !1 === t.left ? 0 : r.left - t.left,
                                        right: !1 === t.right ? o.width : r.right + t.right,
                                        top: !1 === t.top ? 0 : r.top - t.top,
                                        bottom: !1 === t.bottom ? o.height : r.bottom + t.bottom,
                                   }),
                                   i.dataset.draw(),
                                   N.canvas.unclipArea(e.ctx));
                                   a < s;
                                   ++a
                              )
                                   n[a].draw(r);
                         },
                         setHoverStyle: function (t) {
                              var e = t._model,
                                   i = t._options,
                                   n = N.getHoverColor;
                              (t.$previousStyle = { backgroundColor: e.backgroundColor, borderColor: e.borderColor, borderWidth: e.borderWidth, radius: e.radius }),
                                   (e.backgroundColor = Ht(i.hoverBackgroundColor, n(i.backgroundColor))),
                                   (e.borderColor = Ht(i.hoverBorderColor, n(i.borderColor))),
                                   (e.borderWidth = Ht(i.hoverBorderWidth, i.borderWidth)),
                                   (e.radius = Ht(i.hoverRadius, i.radius));
                         },
                    }),
                    qt = N.options.resolve;
               z._set("polarArea", {
                    scale: { type: "radialLinear", angleLines: { display: !1 }, gridLines: { circular: !0 }, pointLabels: { display: !1 }, ticks: { beginAtZero: !0 } },
                    animation: { animateRotate: !0, animateScale: !0 },
                    startAngle: -0.5 * Math.PI,
                    legendCallback: function (t) {
                         var e,
                              i,
                              n,
                              r = document.createElement("ul"),
                              o = t.data,
                              a = o.datasets,
                              s = o.labels;
                         if ((r.setAttribute("class", t.id + "-legend"), a.length))
                              for (e = 0, i = a[0].data.length; e < i; ++e)
                                   ((n = r.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor = a[0].backgroundColor[e]), s[e] && n.appendChild(document.createTextNode(s[e]));
                         return r.outerHTML;
                    },
                    legend: {
                         labels: {
                              generateLabels: function (t) {
                                   var e = t.data;
                                   return e.labels.length && e.datasets.length
                                        ? e.labels.map(function (i, n) {
                                               var r = t.getDatasetMeta(0),
                                                    o = r.controller.getStyle(n);
                                               return { text: i, fillStyle: o.backgroundColor, strokeStyle: o.borderColor, lineWidth: o.borderWidth, hidden: isNaN(e.datasets[0].data[n]) || r.data[n].hidden, index: n };
                                          })
                                        : [];
                              },
                         },
                         onClick: function (t, e) {
                              var i,
                                   n,
                                   r,
                                   o = e.index,
                                   a = this.chart;
                              for (i = 0, n = (a.data.datasets || []).length; i < n; ++i) (r = a.getDatasetMeta(i)).data[o].hidden = !r.data[o].hidden;
                              a.update();
                         },
                    },
                    tooltips: {
                         callbacks: {
                              title: function () {
                                   return "";
                              },
                              label: function (t, e) {
                                   return e.labels[t.index] + ": " + t.yLabel;
                              },
                         },
                    },
               });
               var $t = it.extend({
                    dataElementType: xt.Arc,
                    linkScales: N.noop,
                    _dataElementOptions: ["backgroundColor", "borderColor", "borderWidth", "borderAlign", "hoverBackgroundColor", "hoverBorderColor", "hoverBorderWidth"],
                    _getIndexScaleId: function () {
                         return this.chart.scale.id;
                    },
                    _getValueScaleId: function () {
                         return this.chart.scale.id;
                    },
                    update: function (t) {
                         var e,
                              i,
                              n,
                              r = this,
                              o = r.getDataset(),
                              a = r.getMeta(),
                              s = r.chart.options.startAngle || 0,
                              l = (r._starts = []),
                              c = (r._angles = []),
                              u = a.data;
                         for (r._updateRadius(), a.count = r.countVisibleElements(), e = 0, i = o.data.length; e < i; e++) (l[e] = s), (n = r._computeAngle(e)), (c[e] = n), (s += n);
                         for (e = 0, i = u.length; e < i; ++e) (u[e]._options = r._resolveDataElementOptions(u[e], e)), r.updateElement(u[e], e, t);
                    },
                    _updateRadius: function () {
                         var t = this,
                              e = t.chart,
                              i = e.chartArea,
                              n = e.options,
                              r = Math.min(i.right - i.left, i.bottom - i.top);
                         (e.outerRadius = Math.max(r / 2, 0)),
                              (e.innerRadius = Math.max(n.cutoutPercentage ? (e.outerRadius / 100) * n.cutoutPercentage : 1, 0)),
                              (e.radiusLength = (e.outerRadius - e.innerRadius) / e.getVisibleDatasetCount()),
                              (t.outerRadius = e.outerRadius - e.radiusLength * t.index),
                              (t.innerRadius = t.outerRadius - e.radiusLength);
                    },
                    updateElement: function (t, e, i) {
                         var n = this,
                              r = n.chart,
                              o = n.getDataset(),
                              a = r.options,
                              s = a.animation,
                              l = r.scale,
                              c = r.data.labels,
                              u = l.xCenter,
                              h = l.yCenter,
                              d = a.startAngle,
                              p = t.hidden ? 0 : l.getDistanceFromCenterForValue(o.data[e]),
                              f = n._starts[e],
                              m = f + (t.hidden ? 0 : n._angles[e]),
                              g = s.animateScale ? 0 : l.getDistanceFromCenterForValue(o.data[e]),
                              v = t._options || {};
                         N.extend(t, {
                              _datasetIndex: n.index,
                              _index: e,
                              _scale: l,
                              _model: {
                                   backgroundColor: v.backgroundColor,
                                   borderColor: v.borderColor,
                                   borderWidth: v.borderWidth,
                                   borderAlign: v.borderAlign,
                                   x: u,
                                   y: h,
                                   innerRadius: 0,
                                   outerRadius: i ? g : p,
                                   startAngle: i && s.animateRotate ? d : f,
                                   endAngle: i && s.animateRotate ? d : m,
                                   label: N.valueAtIndexOrDefault(c, e, c[e]),
                              },
                         }),
                              t.pivot();
                    },
                    countVisibleElements: function () {
                         var t = this.getDataset(),
                              e = this.getMeta(),
                              i = 0;
                         return (
                              N.each(e.data, function (e, n) {
                                   isNaN(t.data[n]) || e.hidden || i++;
                              }),
                              i
                         );
                    },
                    setHoverStyle: function (t) {
                         var e = t._model,
                              i = t._options,
                              n = N.getHoverColor,
                              r = N.valueOrDefault;
                         (t.$previousStyle = { backgroundColor: e.backgroundColor, borderColor: e.borderColor, borderWidth: e.borderWidth }),
                              (e.backgroundColor = r(i.hoverBackgroundColor, n(i.backgroundColor))),
                              (e.borderColor = r(i.hoverBorderColor, n(i.borderColor))),
                              (e.borderWidth = r(i.hoverBorderWidth, i.borderWidth));
                    },
                    _computeAngle: function (t) {
                         var e = this,
                              i = this.getMeta().count,
                              n = e.getDataset(),
                              r = e.getMeta();
                         if (isNaN(n.data[t]) || r.data[t].hidden) return 0;
                         var o = { chart: e.chart, dataIndex: t, dataset: n, datasetIndex: e.index };
                         return qt([e.chart.options.elements.arc.angle, (2 * Math.PI) / i], o, t);
                    },
               });
               z._set("pie", N.clone(z.doughnut)), z._set("pie", { cutoutPercentage: 0 });
               var Xt = Rt,
                    Gt = N.valueOrDefault;
               z._set("radar", { spanGaps: !1, scale: { type: "radialLinear" }, elements: { line: { fill: "start", tension: 0 } } });
               var Zt = it.extend({
                    datasetElementType: xt.Line,
                    dataElementType: xt.Point,
                    linkScales: N.noop,
                    _datasetElementOptions: ["backgroundColor", "borderWidth", "borderColor", "borderCapStyle", "borderDash", "borderDashOffset", "borderJoinStyle", "fill"],
                    _dataElementOptions: {
                         backgroundColor: "pointBackgroundColor",
                         borderColor: "pointBorderColor",
                         borderWidth: "pointBorderWidth",
                         hitRadius: "pointHitRadius",
                         hoverBackgroundColor: "pointHoverBackgroundColor",
                         hoverBorderColor: "pointHoverBorderColor",
                         hoverBorderWidth: "pointHoverBorderWidth",
                         hoverRadius: "pointHoverRadius",
                         pointStyle: "pointStyle",
                         radius: "pointRadius",
                         rotation: "pointRotation",
                    },
                    _getIndexScaleId: function () {
                         return this.chart.scale.id;
                    },
                    _getValueScaleId: function () {
                         return this.chart.scale.id;
                    },
                    update: function (t) {
                         var e,
                              i,
                              n = this,
                              r = n.getMeta(),
                              o = r.dataset,
                              a = r.data || [],
                              s = n.chart.scale,
                              l = n._config;
                         for (
                              void 0 !== l.tension && void 0 === l.lineTension && (l.lineTension = l.tension),
                                   o._scale = s,
                                   o._datasetIndex = n.index,
                                   o._children = a,
                                   o._loop = !0,
                                   o._model = n._resolveDatasetElementOptions(o),
                                   o.pivot(),
                                   e = 0,
                                   i = a.length;
                              e < i;
                              ++e
                         )
                              n.updateElement(a[e], e, t);
                         for (n.updateBezierControlPoints(), e = 0, i = a.length; e < i; ++e) a[e].pivot();
                    },
                    updateElement: function (t, e, i) {
                         var n = this,
                              r = t.custom || {},
                              o = n.getDataset(),
                              a = n.chart.scale,
                              s = a.getPointPositionForValue(e, o.data[e]),
                              l = n._resolveDataElementOptions(t, e),
                              c = n.getMeta().dataset._model,
                              u = i ? a.xCenter : s.x,
                              h = i ? a.yCenter : s.y;
                         (t._scale = a),
                              (t._options = l),
                              (t._datasetIndex = n.index),
                              (t._index = e),
                              (t._model = {
                                   x: u,
                                   y: h,
                                   skip: r.skip || isNaN(u) || isNaN(h),
                                   radius: l.radius,
                                   pointStyle: l.pointStyle,
                                   rotation: l.rotation,
                                   backgroundColor: l.backgroundColor,
                                   borderColor: l.borderColor,
                                   borderWidth: l.borderWidth,
                                   tension: Gt(r.tension, c ? c.tension : 0),
                                   hitRadius: l.hitRadius,
                              });
                    },
                    _resolveDatasetElementOptions: function () {
                         var t = this,
                              e = t._config,
                              i = t.chart.options,
                              n = it.prototype._resolveDatasetElementOptions.apply(t, arguments);
                         return (n.spanGaps = Gt(e.spanGaps, i.spanGaps)), (n.tension = Gt(e.lineTension, i.elements.line.tension)), n;
                    },
                    updateBezierControlPoints: function () {
                         var t,
                              e,
                              i,
                              n,
                              r = this.getMeta(),
                              o = this.chart.chartArea,
                              a = r.data || [];
                         function s(t, e, i) {
                              return Math.max(Math.min(t, i), e);
                         }
                         for (
                              r.dataset._model.spanGaps &&
                                   (a = a.filter(function (t) {
                                        return !t._model.skip;
                                   })),
                                   t = 0,
                                   e = a.length;
                              t < e;
                              ++t
                         )
                              (i = a[t]._model),
                                   (n = N.splineCurve(N.previousItem(a, t, !0)._model, i, N.nextItem(a, t, !0)._model, i.tension)),
                                   (i.controlPointPreviousX = s(n.previous.x, o.left, o.right)),
                                   (i.controlPointPreviousY = s(n.previous.y, o.top, o.bottom)),
                                   (i.controlPointNextX = s(n.next.x, o.left, o.right)),
                                   (i.controlPointNextY = s(n.next.y, o.top, o.bottom));
                    },
                    setHoverStyle: function (t) {
                         var e = t._model,
                              i = t._options,
                              n = N.getHoverColor;
                         (t.$previousStyle = { backgroundColor: e.backgroundColor, borderColor: e.borderColor, borderWidth: e.borderWidth, radius: e.radius }),
                              (e.backgroundColor = Gt(i.hoverBackgroundColor, n(i.backgroundColor))),
                              (e.borderColor = Gt(i.hoverBorderColor, n(i.borderColor))),
                              (e.borderWidth = Gt(i.hoverBorderWidth, i.borderWidth)),
                              (e.radius = Gt(i.hoverRadius, i.radius));
                    },
               });
               z._set("scatter", {
                    hover: { mode: "single" },
                    scales: { xAxes: [{ id: "x-axis-1", type: "linear", position: "bottom" }], yAxes: [{ id: "y-axis-1", type: "linear", position: "left" }] },
                    tooltips: {
                         callbacks: {
                              title: function () {
                                   return "";
                              },
                              label: function (t) {
                                   return "(" + t.xLabel + ", " + t.yLabel + ")";
                              },
                         },
                    },
               }),
                    z._set("global", { datasets: { scatter: { showLine: !1 } } });
               var Jt = { bar: Lt, bubble: Pt, doughnut: Rt, horizontalBar: Ft, line: Ut, polarArea: $t, pie: Xt, radar: Zt, scatter: Ut };
               function Kt(t, e) {
                    return t.native ? { x: t.x, y: t.y } : N.getRelativePosition(t, e);
               }
               function Qt(t, e) {
                    var i,
                         n,
                         r,
                         o,
                         a,
                         s,
                         l = t._getSortedVisibleDatasetMetas();
                    for (n = 0, o = l.length; n < o; ++n) for (r = 0, a = (i = l[n].data).length; r < a; ++r) (s = i[r])._view.skip || e(s);
               }
               function te(t, e) {
                    var i = [];
                    return (
                         Qt(t, function (t) {
                              t.inRange(e.x, e.y) && i.push(t);
                         }),
                         i
                    );
               }
               function ee(t, e, i, n) {
                    var r = Number.POSITIVE_INFINITY,
                         o = [];
                    return (
                         Qt(t, function (t) {
                              if (!i || t.inRange(e.x, e.y)) {
                                   var a = t.getCenterPoint(),
                                        s = n(e, a);
                                   s < r ? ((o = [t]), (r = s)) : s === r && o.push(t);
                              }
                         }),
                         o
                    );
               }
               function ie(t) {
                    var e = -1 !== t.indexOf("x"),
                         i = -1 !== t.indexOf("y");
                    return function (t, n) {
                         var r = e ? Math.abs(t.x - n.x) : 0,
                              o = i ? Math.abs(t.y - n.y) : 0;
                         return Math.sqrt(Math.pow(r, 2) + Math.pow(o, 2));
                    };
               }
               function ne(t, e, i) {
                    var n = Kt(e, t);
                    i.axis = i.axis || "x";
                    var r = ie(i.axis),
                         o = i.intersect ? te(t, n) : ee(t, n, !1, r),
                         a = [];
                    return o.length
                         ? (t._getSortedVisibleDatasetMetas().forEach(function (t) {
                                var e = t.data[o[0]._index];
                                e && !e._view.skip && a.push(e);
                           }),
                           a)
                         : [];
               }
               var re = {
                         modes: {
                              single: function (t, e) {
                                   var i = Kt(e, t),
                                        n = [];
                                   return (
                                        Qt(t, function (t) {
                                             if (t.inRange(i.x, i.y)) return n.push(t), n;
                                        }),
                                        n.slice(0, 1)
                                   );
                              },
                              label: ne,
                              index: ne,
                              dataset: function (t, e, i) {
                                   var n = Kt(e, t);
                                   i.axis = i.axis || "xy";
                                   var r = ie(i.axis),
                                        o = i.intersect ? te(t, n) : ee(t, n, !1, r);
                                   return o.length > 0 && (o = t.getDatasetMeta(o[0]._datasetIndex).data), o;
                              },
                              "x-axis": function (t, e) {
                                   return ne(t, e, { intersect: !1 });
                              },
                              point: function (t, e) {
                                   return te(t, Kt(e, t));
                              },
                              nearest: function (t, e, i) {
                                   var n = Kt(e, t);
                                   i.axis = i.axis || "xy";
                                   var r = ie(i.axis);
                                   return ee(t, n, i.intersect, r);
                              },
                              x: function (t, e, i) {
                                   var n = Kt(e, t),
                                        r = [],
                                        o = !1;
                                   return (
                                        Qt(t, function (t) {
                                             t.inXRange(n.x) && r.push(t), t.inRange(n.x, n.y) && (o = !0);
                                        }),
                                        i.intersect && !o && (r = []),
                                        r
                                   );
                              },
                              y: function (t, e, i) {
                                   var n = Kt(e, t),
                                        r = [],
                                        o = !1;
                                   return (
                                        Qt(t, function (t) {
                                             t.inYRange(n.y) && r.push(t), t.inRange(n.x, n.y) && (o = !0);
                                        }),
                                        i.intersect && !o && (r = []),
                                        r
                                   );
                              },
                         },
                    },
                    oe = N.extend;
               function ae(t, e) {
                    return N.where(t, function (t) {
                         return t.pos === e;
                    });
               }
               function se(t, e) {
                    return t.sort(function (t, i) {
                         var n = e ? i : t,
                              r = e ? t : i;
                         return n.weight === r.weight ? n.index - r.index : n.weight - r.weight;
                    });
               }
               function le(t, e, i, n) {
                    return Math.max(t[i], e[i]) + Math.max(t[n], e[n]);
               }
               function ce(t, e, i) {
                    var n,
                         r,
                         o = i.box,
                         a = t.maxPadding;
                    if ((i.size && (t[i.pos] -= i.size), (i.size = i.horizontal ? o.height : o.width), (t[i.pos] += i.size), o.getPadding)) {
                         var s = o.getPadding();
                         (a.top = Math.max(a.top, s.top)), (a.left = Math.max(a.left, s.left)), (a.bottom = Math.max(a.bottom, s.bottom)), (a.right = Math.max(a.right, s.right));
                    }
                    if (((n = e.outerWidth - le(a, t, "left", "right")), (r = e.outerHeight - le(a, t, "top", "bottom")), n !== t.w || r !== t.h)) return (t.w = n), (t.h = r), i.horizontal ? n !== t.w : r !== t.h;
               }
               function ue(t, e) {
                    var i = e.maxPadding;
                    function n(t) {
                         var n = { left: 0, top: 0, right: 0, bottom: 0 };
                         return (
                              t.forEach(function (t) {
                                   n[t] = Math.max(e[t], i[t]);
                              }),
                              n
                         );
                    }
                    return n(t ? ["left", "right"] : ["top", "bottom"]);
               }
               function he(t, e, i) {
                    var n,
                         r,
                         o,
                         a,
                         s,
                         l,
                         c = [];
                    for (n = 0, r = t.length; n < r; ++n) (a = (o = t[n]).box).update(o.width || e.w, o.height || e.h, ue(o.horizontal, e)), ce(e, i, o) && ((l = !0), c.length && (s = !0)), a.fullWidth || c.push(o);
                    return (s && he(c, e, i)) || l;
               }
               function de(t, e, i) {
                    var n,
                         r,
                         o,
                         a,
                         s = i.padding,
                         l = e.x,
                         c = e.y;
                    for (n = 0, r = t.length; n < r; ++n)
                         (a = (o = t[n]).box),
                              o.horizontal
                                   ? ((a.left = a.fullWidth ? s.left : e.left), (a.right = a.fullWidth ? i.outerWidth - s.right : e.left + e.w), (a.top = c), (a.bottom = c + a.height), (a.width = a.right - a.left), (c = a.bottom))
                                   : ((a.left = l), (a.right = l + a.width), (a.top = e.top), (a.bottom = e.top + e.h), (a.height = a.bottom - a.top), (l = a.right));
                    (e.x = l), (e.y = c);
               }
               z._set("global", { layout: { padding: { top: 0, right: 0, bottom: 0, left: 0 } } });
               var pe,
                    fe = {
                         defaults: {},
                         addBox: function (t, e) {
                              t.boxes || (t.boxes = []),
                                   (e.fullWidth = e.fullWidth || !1),
                                   (e.position = e.position || "top"),
                                   (e.weight = e.weight || 0),
                                   (e._layers =
                                        e._layers ||
                                        function () {
                                             return [
                                                  {
                                                       z: 0,
                                                       draw: function () {
                                                            e.draw.apply(e, arguments);
                                                       },
                                                  },
                                             ];
                                        }),
                                   t.boxes.push(e);
                         },
                         removeBox: function (t, e) {
                              var i = t.boxes ? t.boxes.indexOf(e) : -1;
                              -1 !== i && t.boxes.splice(i, 1);
                         },
                         configure: function (t, e, i) {
                              for (var n, r = ["fullWidth", "position", "weight"], o = r.length, a = 0; a < o; ++a) (n = r[a]), i.hasOwnProperty(n) && (e[n] = i[n]);
                         },
                         update: function (t, e, i) {
                              if (t) {
                                   var n = t.options.layout || {},
                                        r = N.options.toPadding(n.padding),
                                        o = e - r.width,
                                        a = i - r.height,
                                        s = (function (t) {
                                             var e = (function (t) {
                                                       var e,
                                                            i,
                                                            n,
                                                            r = [];
                                                       for (e = 0, i = (t || []).length; e < i; ++e) (n = t[e]), r.push({ index: e, box: n, pos: n.position, horizontal: n.isHorizontal(), weight: n.weight });
                                                       return r;
                                                  })(t),
                                                  i = se(ae(e, "left"), !0),
                                                  n = se(ae(e, "right")),
                                                  r = se(ae(e, "top"), !0),
                                                  o = se(ae(e, "bottom"));
                                             return { leftAndTop: i.concat(r), rightAndBottom: n.concat(o), chartArea: ae(e, "chartArea"), vertical: i.concat(n), horizontal: r.concat(o) };
                                        })(t.boxes),
                                        l = s.vertical,
                                        c = s.horizontal,
                                        u = Object.freeze({ outerWidth: e, outerHeight: i, padding: r, availableWidth: o, vBoxMaxWidth: o / 2 / l.length, hBoxMaxHeight: a / 2 }),
                                        h = oe({ maxPadding: oe({}, r), w: o, h: a, x: r.left, y: r.top }, r);
                                   !(function (t, e) {
                                        var i, n, r;
                                        for (i = 0, n = t.length; i < n; ++i) ((r = t[i]).width = r.horizontal ? r.box.fullWidth && e.availableWidth : e.vBoxMaxWidth), (r.height = r.horizontal && e.hBoxMaxHeight);
                                   })(l.concat(c), u),
                                        he(l, h, u),
                                        he(c, h, u) && he(l, h, u),
                                        (function (t) {
                                             var e = t.maxPadding;
                                             function i(i) {
                                                  var n = Math.max(e[i] - t[i], 0);
                                                  return (t[i] += n), n;
                                             }
                                             (t.y += i("top")), (t.x += i("left")), i("right"), i("bottom");
                                        })(h),
                                        de(s.leftAndTop, h, u),
                                        (h.x += h.w),
                                        (h.y += h.h),
                                        de(s.rightAndBottom, h, u),
                                        (t.chartArea = { left: h.left, top: h.top, right: h.left + h.w, bottom: h.top + h.h }),
                                        N.each(s.chartArea, function (e) {
                                             var i = e.box;
                                             oe(i, t.chartArea), i.update(h.w, h.h);
                                        });
                              }
                         },
                    },
                    me =
                         ((pe = Object.freeze({
                              __proto__: null,
                              default:
                                   "/*\n * DOM element rendering detection\n * https://davidwalsh.name/detect-node-insertion\n */\n@keyframes chartjs-render-animation {\n\tfrom { opacity: 0.99; }\n\tto { opacity: 1; }\n}\n\n.chartjs-render-monitor {\n\tanimation: chartjs-render-animation 0.001s;\n}\n\n/*\n * DOM element resizing detection\n * https://github.com/marcj/css-element-queries\n */\n.chartjs-size-monitor,\n.chartjs-size-monitor-expand,\n.chartjs-size-monitor-shrink {\n\tposition: absolute;\n\tdirection: ltr;\n\tleft: 0;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\toverflow: hidden;\n\tpointer-events: none;\n\tvisibility: hidden;\n\tz-index: -1;\n}\n\n.chartjs-size-monitor-expand > div {\n\tposition: absolute;\n\twidth: 1000000px;\n\theight: 1000000px;\n\tleft: 0;\n\ttop: 0;\n}\n\n.chartjs-size-monitor-shrink > div {\n\tposition: absolute;\n\twidth: 200%;\n\theight: 200%;\n\tleft: 0;\n\ttop: 0;\n}\n",
                         })) &&
                              pe.default) ||
                         pe,
                    ge = ["animationstart", "webkitAnimationStart"],
                    ve = {
                         touchstart: "mousedown",
                         touchmove: "mousemove",
                         touchend: "mouseup",
                         pointerenter: "mouseenter",
                         pointerdown: "mousedown",
                         pointermove: "mousemove",
                         pointerup: "mouseup",
                         pointerleave: "mouseout",
                         pointerout: "mouseout",
                    };
               function ye(t, e) {
                    var i = N.getStyle(t, e),
                         n = i && i.match(/^(\d+)(\.\d+)?px$/);
                    return n ? Number(n[1]) : void 0;
               }
               var be = !!(function () {
                    var t = !1;
                    try {
                         var e = Object.defineProperty({}, "passive", {
                              get: function () {
                                   t = !0;
                              },
                         });
                         window.addEventListener("e", null, e);
                    } catch (t) {}
                    return t;
               })() && { passive: !0 };
               function _e(t, e, i) {
                    t.addEventListener(e, i, be);
               }
               function xe(t, e, i) {
                    t.removeEventListener(e, i, be);
               }
               function we(t, e, i, n, r) {
                    return { type: t, chart: e, native: r || null, x: void 0 !== i ? i : null, y: void 0 !== n ? n : null };
               }
               function ke(t) {
                    var e = document.createElement("div");
                    return (e.className = t || ""), e;
               }
               function Se(t, e, i) {
                    var n,
                         r,
                         o,
                         a,
                         s = t.$chartjs || (t.$chartjs = {}),
                         l = (s.resizer = (function (t) {
                              var e = ke("chartjs-size-monitor"),
                                   i = ke("chartjs-size-monitor-expand"),
                                   n = ke("chartjs-size-monitor-shrink");
                              i.appendChild(ke()),
                                   n.appendChild(ke()),
                                   e.appendChild(i),
                                   e.appendChild(n),
                                   (e._reset = function () {
                                        (i.scrollLeft = 1e6), (i.scrollTop = 1e6), (n.scrollLeft = 1e6), (n.scrollTop = 1e6);
                                   });
                              var r = function () {
                                   e._reset(), t();
                              };
                              return _e(i, "scroll", r.bind(i, "expand")), _e(n, "scroll", r.bind(n, "shrink")), e;
                         })(
                              ((n = function () {
                                   if (s.resizer) {
                                        var n = i.options.maintainAspectRatio && t.parentNode,
                                             r = n ? n.clientWidth : 0;
                                        e(we("resize", i)), n && n.clientWidth < r && i.canvas && e(we("resize", i));
                                   }
                              }),
                              (o = !1),
                              (a = []),
                              function () {
                                   (a = Array.prototype.slice.call(arguments)),
                                        (r = r || this),
                                        o ||
                                             ((o = !0),
                                             N.requestAnimFrame.call(window, function () {
                                                  (o = !1), n.apply(r, a);
                                             }));
                              })
                         ));
                    !(function (t, e) {
                         var i = t.$chartjs || (t.$chartjs = {}),
                              n = (i.renderProxy = function (t) {
                                   "chartjs-render-animation" === t.animationName && e();
                              });
                         N.each(ge, function (e) {
                              _e(t, e, n);
                         }),
                              (i.reflow = !!t.offsetParent),
                              t.classList.add("chartjs-render-monitor");
                    })(t, function () {
                         if (s.resizer) {
                              var e = t.parentNode;
                              e && e !== l.parentNode && e.insertBefore(l, e.firstChild), l._reset();
                         }
                    });
               }
               function Me(t) {
                    var e = t.$chartjs || {},
                         i = e.resizer;
                    delete e.resizer,
                         (function (t) {
                              var e = t.$chartjs || {},
                                   i = e.renderProxy;
                              i &&
                                   (N.each(ge, function (e) {
                                        xe(t, e, i);
                                   }),
                                   delete e.renderProxy),
                                   t.classList.remove("chartjs-render-monitor");
                         })(t),
                         i && i.parentNode && i.parentNode.removeChild(i);
               }
               var Te = {
                    disableCSSInjection: !1,
                    _enabled: "undefined" != typeof window && "undefined" != typeof document,
                    _ensureLoaded: function (t) {
                         if (!this.disableCSSInjection) {
                              var e = t.getRootNode ? t.getRootNode() : document;
                              !(function (t, e) {
                                   var i = t.$chartjs || (t.$chartjs = {});
                                   if (!i.containsStyles) {
                                        (i.containsStyles = !0), (e = "/* Chart.js */\n" + e);
                                        var n = document.createElement("style");
                                        n.setAttribute("type", "text/css"), n.appendChild(document.createTextNode(e)), t.appendChild(n);
                                   }
                              })(e.host ? e : document.head, me);
                         }
                    },
                    acquireContext: function (t, e) {
                         "string" == typeof t ? (t = document.getElementById(t)) : t.length && (t = t[0]), t && t.canvas && (t = t.canvas);
                         var i = t && t.getContext && t.getContext("2d");
                         return i && i.canvas === t
                              ? (this._ensureLoaded(t),
                                (function (t, e) {
                                     var i = t.style,
                                          n = t.getAttribute("height"),
                                          r = t.getAttribute("width");
                                     if (((t.$chartjs = { initial: { height: n, width: r, style: { display: i.display, height: i.height, width: i.width } } }), (i.display = i.display || "block"), null === r || "" === r)) {
                                          var o = ye(t, "width");
                                          void 0 !== o && (t.width = o);
                                     }
                                     if (null === n || "" === n)
                                          if ("" === t.style.height) t.height = t.width / (e.options.aspectRatio || 2);
                                          else {
                                               var a = ye(t, "height");
                                               void 0 !== o && (t.height = a);
                                          }
                                })(t, e),
                                i)
                              : null;
                    },
                    releaseContext: function (t) {
                         var e = t.canvas;
                         if (e.$chartjs) {
                              var i = e.$chartjs.initial;
                              ["height", "width"].forEach(function (t) {
                                   var n = i[t];
                                   N.isNullOrUndef(n) ? e.removeAttribute(t) : e.setAttribute(t, n);
                              }),
                                   N.each(i.style || {}, function (t, i) {
                                        e.style[i] = t;
                                   }),
                                   (e.width = e.width),
                                   delete e.$chartjs;
                         }
                    },
                    addEventListener: function (t, e, i) {
                         var n = t.canvas;
                         if ("resize" !== e) {
                              var r = i.$chartjs || (i.$chartjs = {});
                              _e(
                                   n,
                                   e,
                                   ((r.proxies || (r.proxies = {}))[t.id + "_" + e] = function (e) {
                                        i(
                                             (function (t, e) {
                                                  var i = ve[t.type] || t.type,
                                                       n = N.getRelativePosition(t, e);
                                                  return we(i, e, n.x, n.y, t);
                                             })(e, t)
                                        );
                                   })
                              );
                         } else Se(n, i, t);
                    },
                    removeEventListener: function (t, e, i) {
                         var n = t.canvas;
                         if ("resize" !== e) {
                              var r = ((i.$chartjs || {}).proxies || {})[t.id + "_" + e];
                              r && xe(n, e, r);
                         } else Me(n);
                    },
               };
               (N.addEvent = _e), (N.removeEvent = xe);
               var Ce = Te._enabled
                         ? Te
                         : {
                                acquireContext: function (t) {
                                     return t && t.canvas && (t = t.canvas), (t && t.getContext("2d")) || null;
                                },
                           },
                    De = N.extend({ initialize: function () {}, acquireContext: function () {}, releaseContext: function () {}, addEventListener: function () {}, removeEventListener: function () {} }, Ce);
               z._set("global", { plugins: {} });
               var Le = {
                         _plugins: [],
                         _cacheId: 0,
                         register: function (t) {
                              var e = this._plugins;
                              [].concat(t).forEach(function (t) {
                                   -1 === e.indexOf(t) && e.push(t);
                              }),
                                   this._cacheId++;
                         },
                         unregister: function (t) {
                              var e = this._plugins;
                              [].concat(t).forEach(function (t) {
                                   var i = e.indexOf(t);
                                   -1 !== i && e.splice(i, 1);
                              }),
                                   this._cacheId++;
                         },
                         clear: function () {
                              (this._plugins = []), this._cacheId++;
                         },
                         count: function () {
                              return this._plugins.length;
                         },
                         getAll: function () {
                              return this._plugins;
                         },
                         notify: function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l = this.descriptors(t),
                                   c = l.length;
                              for (n = 0; n < c; ++n) if ("function" == typeof (s = (o = (r = l[n]).plugin)[e]) && ((a = [t].concat(i || [])).push(r.options), !1 === s.apply(o, a))) return !1;
                              return !0;
                         },
                         descriptors: function (t) {
                              var e = t.$plugins || (t.$plugins = {});
                              if (e.id === this._cacheId) return e.descriptors;
                              var i = [],
                                   n = [],
                                   r = (t && t.config) || {},
                                   o = (r.options && r.options.plugins) || {};
                              return (
                                   this._plugins.concat(r.plugins || []).forEach(function (t) {
                                        if (-1 === i.indexOf(t)) {
                                             var e = t.id,
                                                  r = o[e];
                                             !1 !== r && (!0 === r && (r = N.clone(z.global.plugins[e])), i.push(t), n.push({ plugin: t, options: r || {} }));
                                        }
                                   }),
                                   (e.descriptors = n),
                                   (e.id = this._cacheId),
                                   n
                              );
                         },
                         _invalidate: function (t) {
                              delete t.$plugins;
                         },
                    },
                    Ee = {
                         constructors: {},
                         defaults: {},
                         registerScaleType: function (t, e, i) {
                              (this.constructors[t] = e), (this.defaults[t] = N.clone(i));
                         },
                         getScaleConstructor: function (t) {
                              return this.constructors.hasOwnProperty(t) ? this.constructors[t] : void 0;
                         },
                         getScaleDefaults: function (t) {
                              return this.defaults.hasOwnProperty(t) ? N.merge({}, [z.scale, this.defaults[t]]) : {};
                         },
                         updateScaleDefaults: function (t, e) {
                              this.defaults.hasOwnProperty(t) && (this.defaults[t] = N.extend(this.defaults[t], e));
                         },
                         addScalesToLayout: function (t) {
                              N.each(t.scales, function (e) {
                                   (e.fullWidth = e.options.fullWidth), (e.position = e.options.position), (e.weight = e.options.weight), fe.addBox(t, e);
                              });
                         },
                    },
                    Ae = N.valueOrDefault,
                    Pe = N.rtl.getRtlAdapter;
               z._set("global", {
                    tooltips: {
                         enabled: !0,
                         custom: null,
                         mode: "nearest",
                         position: "average",
                         intersect: !0,
                         backgroundColor: "rgba(0,0,0,0.8)",
                         titleFontStyle: "bold",
                         titleSpacing: 2,
                         titleMarginBottom: 6,
                         titleFontColor: "#fff",
                         titleAlign: "left",
                         bodySpacing: 2,
                         bodyFontColor: "#fff",
                         bodyAlign: "left",
                         footerFontStyle: "bold",
                         footerSpacing: 2,
                         footerMarginTop: 6,
                         footerFontColor: "#fff",
                         footerAlign: "left",
                         yPadding: 6,
                         xPadding: 6,
                         caretPadding: 2,
                         caretSize: 5,
                         cornerRadius: 6,
                         multiKeyBackground: "#fff",
                         displayColors: !0,
                         borderColor: "rgba(0,0,0,0)",
                         borderWidth: 0,
                         callbacks: {
                              beforeTitle: N.noop,
                              title: function (t, e) {
                                   var i = "",
                                        n = e.labels,
                                        r = n ? n.length : 0;
                                   if (t.length > 0) {
                                        var o = t[0];
                                        o.label ? (i = o.label) : o.xLabel ? (i = o.xLabel) : r > 0 && o.index < r && (i = n[o.index]);
                                   }
                                   return i;
                              },
                              afterTitle: N.noop,
                              beforeBody: N.noop,
                              beforeLabel: N.noop,
                              label: function (t, e) {
                                   var i = e.datasets[t.datasetIndex].label || "";
                                   return i && (i += ": "), N.isNullOrUndef(t.value) ? (i += t.yLabel) : (i += t.value), i;
                              },
                              labelColor: function (t, e) {
                                   var i = e.getDatasetMeta(t.datasetIndex).data[t.index]._view;
                                   return { borderColor: i.borderColor, backgroundColor: i.backgroundColor };
                              },
                              labelTextColor: function () {
                                   return this._options.bodyFontColor;
                              },
                              afterLabel: N.noop,
                              afterBody: N.noop,
                              beforeFooter: N.noop,
                              footer: N.noop,
                              afterFooter: N.noop,
                         },
                    },
               });
               var Ie = {
                    average: function (t) {
                         if (!t.length) return !1;
                         var e,
                              i,
                              n = 0,
                              r = 0,
                              o = 0;
                         for (e = 0, i = t.length; e < i; ++e) {
                              var a = t[e];
                              if (a && a.hasValue()) {
                                   var s = a.tooltipPosition();
                                   (n += s.x), (r += s.y), ++o;
                              }
                         }
                         return { x: n / o, y: r / o };
                    },
                    nearest: function (t, e) {
                         var i,
                              n,
                              r,
                              o = e.x,
                              a = e.y,
                              s = Number.POSITIVE_INFINITY;
                         for (i = 0, n = t.length; i < n; ++i) {
                              var l = t[i];
                              if (l && l.hasValue()) {
                                   var c = l.getCenterPoint(),
                                        u = N.distanceBetweenPoints(e, c);
                                   u < s && ((s = u), (r = l));
                              }
                         }
                         if (r) {
                              var h = r.tooltipPosition();
                              (o = h.x), (a = h.y);
                         }
                         return { x: o, y: a };
                    },
               };
               function Oe(t, e) {
                    return e && (N.isArray(e) ? Array.prototype.push.apply(t, e) : t.push(e)), t;
               }
               function Ye(t) {
                    return ("string" == typeof t || t instanceof String) && t.indexOf("\n") > -1 ? t.split("\n") : t;
               }
               function ze(t) {
                    var e = z.global;
                    return {
                         xPadding: t.xPadding,
                         yPadding: t.yPadding,
                         xAlign: t.xAlign,
                         yAlign: t.yAlign,
                         rtl: t.rtl,
                         textDirection: t.textDirection,
                         bodyFontColor: t.bodyFontColor,
                         _bodyFontFamily: Ae(t.bodyFontFamily, e.defaultFontFamily),
                         _bodyFontStyle: Ae(t.bodyFontStyle, e.defaultFontStyle),
                         _bodyAlign: t.bodyAlign,
                         bodyFontSize: Ae(t.bodyFontSize, e.defaultFontSize),
                         bodySpacing: t.bodySpacing,
                         titleFontColor: t.titleFontColor,
                         _titleFontFamily: Ae(t.titleFontFamily, e.defaultFontFamily),
                         _titleFontStyle: Ae(t.titleFontStyle, e.defaultFontStyle),
                         titleFontSize: Ae(t.titleFontSize, e.defaultFontSize),
                         _titleAlign: t.titleAlign,
                         titleSpacing: t.titleSpacing,
                         titleMarginBottom: t.titleMarginBottom,
                         footerFontColor: t.footerFontColor,
                         _footerFontFamily: Ae(t.footerFontFamily, e.defaultFontFamily),
                         _footerFontStyle: Ae(t.footerFontStyle, e.defaultFontStyle),
                         footerFontSize: Ae(t.footerFontSize, e.defaultFontSize),
                         _footerAlign: t.footerAlign,
                         footerSpacing: t.footerSpacing,
                         footerMarginTop: t.footerMarginTop,
                         caretSize: t.caretSize,
                         cornerRadius: t.cornerRadius,
                         backgroundColor: t.backgroundColor,
                         opacity: 0,
                         legendColorBackground: t.multiKeyBackground,
                         displayColors: t.displayColors,
                         borderColor: t.borderColor,
                         borderWidth: t.borderWidth,
                    };
               }
               function Re(t, e) {
                    return "center" === e ? t.x + t.width / 2 : "right" === e ? t.x + t.width - t.xPadding : t.x + t.xPadding;
               }
               function Fe(t) {
                    return Oe([], Ye(t));
               }
               var He = X.extend({
                         initialize: function () {
                              (this._model = ze(this._options)), (this._lastActive = []);
                         },
                         getTitle: function () {
                              var t = this,
                                   e = t._options,
                                   i = e.callbacks,
                                   n = i.beforeTitle.apply(t, arguments),
                                   r = i.title.apply(t, arguments),
                                   o = i.afterTitle.apply(t, arguments),
                                   a = [];
                              return (a = Oe(a, Ye(n))), (a = Oe(a, Ye(r))), (a = Oe(a, Ye(o)));
                         },
                         getBeforeBody: function () {
                              return Fe(this._options.callbacks.beforeBody.apply(this, arguments));
                         },
                         getBody: function (t, e) {
                              var i = this,
                                   n = i._options.callbacks,
                                   r = [];
                              return (
                                   N.each(t, function (t) {
                                        var o = { before: [], lines: [], after: [] };
                                        Oe(o.before, Ye(n.beforeLabel.call(i, t, e))), Oe(o.lines, n.label.call(i, t, e)), Oe(o.after, Ye(n.afterLabel.call(i, t, e))), r.push(o);
                                   }),
                                   r
                              );
                         },
                         getAfterBody: function () {
                              return Fe(this._options.callbacks.afterBody.apply(this, arguments));
                         },
                         getFooter: function () {
                              var t = this,
                                   e = t._options.callbacks,
                                   i = e.beforeFooter.apply(t, arguments),
                                   n = e.footer.apply(t, arguments),
                                   r = e.afterFooter.apply(t, arguments),
                                   o = [];
                              return (o = Oe(o, Ye(i))), (o = Oe(o, Ye(n))), (o = Oe(o, Ye(r)));
                         },
                         update: function (t) {
                              var e,
                                   i,
                                   n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c,
                                   u,
                                   h = this,
                                   d = h._options,
                                   p = h._model,
                                   f = (h._model = ze(d)),
                                   m = h._active,
                                   g = h._data,
                                   v = { xAlign: p.xAlign, yAlign: p.yAlign },
                                   y = { x: p.x, y: p.y },
                                   b = { width: p.width, height: p.height },
                                   _ = { x: p.caretX, y: p.caretY };
                              if (m.length) {
                                   f.opacity = 1;
                                   var x = [],
                                        w = [];
                                   _ = Ie[d.position].call(h, m, h._eventPosition);
                                   var k = [];
                                   for (e = 0, i = m.length; e < i; ++e)
                                        k.push(
                                             ((n = m[e]),
                                             (r = void 0),
                                             (o = void 0),
                                             (a = void 0),
                                             (s = void 0),
                                             (l = void 0),
                                             (c = void 0),
                                             (u = void 0),
                                             (r = n._xScale),
                                             (o = n._yScale || n._scale),
                                             (a = n._index),
                                             (s = n._datasetIndex),
                                             (l = n._chart.getDatasetMeta(s).controller),
                                             (c = l._getIndexScale()),
                                             (u = l._getValueScale()),
                                             {
                                                  xLabel: r ? r.getLabelForIndex(a, s) : "",
                                                  yLabel: o ? o.getLabelForIndex(a, s) : "",
                                                  label: c ? "" + c.getLabelForIndex(a, s) : "",
                                                  value: u ? "" + u.getLabelForIndex(a, s) : "",
                                                  index: a,
                                                  datasetIndex: s,
                                                  x: n._model.x,
                                                  y: n._model.y,
                                             })
                                        );
                                   d.filter &&
                                        (k = k.filter(function (t) {
                                             return d.filter(t, g);
                                        })),
                                        d.itemSort &&
                                             (k = k.sort(function (t, e) {
                                                  return d.itemSort(t, e, g);
                                             })),
                                        N.each(k, function (t) {
                                             x.push(d.callbacks.labelColor.call(h, t, h._chart)), w.push(d.callbacks.labelTextColor.call(h, t, h._chart));
                                        }),
                                        (f.title = h.getTitle(k, g)),
                                        (f.beforeBody = h.getBeforeBody(k, g)),
                                        (f.body = h.getBody(k, g)),
                                        (f.afterBody = h.getAfterBody(k, g)),
                                        (f.footer = h.getFooter(k, g)),
                                        (f.x = _.x),
                                        (f.y = _.y),
                                        (f.caretPadding = d.caretPadding),
                                        (f.labelColors = x),
                                        (f.labelTextColors = w),
                                        (f.dataPoints = k),
                                        (b = (function (t, e) {
                                             var i = t._chart.ctx,
                                                  n = 2 * e.yPadding,
                                                  r = 0,
                                                  o = e.body,
                                                  a = o.reduce(function (t, e) {
                                                       return t + e.before.length + e.lines.length + e.after.length;
                                                  }, 0);
                                             a += e.beforeBody.length + e.afterBody.length;
                                             var s = e.title.length,
                                                  l = e.footer.length,
                                                  c = e.titleFontSize,
                                                  u = e.bodyFontSize,
                                                  h = e.footerFontSize;
                                             (n += s * c),
                                                  (n += s ? (s - 1) * e.titleSpacing : 0),
                                                  (n += s ? e.titleMarginBottom : 0),
                                                  (n += a * u),
                                                  (n += a ? (a - 1) * e.bodySpacing : 0),
                                                  (n += l ? e.footerMarginTop : 0),
                                                  (n += l * h),
                                                  (n += l ? (l - 1) * e.footerSpacing : 0);
                                             var d = 0,
                                                  p = function (t) {
                                                       r = Math.max(r, i.measureText(t).width + d);
                                                  };
                                             return (
                                                  (i.font = N.fontString(c, e._titleFontStyle, e._titleFontFamily)),
                                                  N.each(e.title, p),
                                                  (i.font = N.fontString(u, e._bodyFontStyle, e._bodyFontFamily)),
                                                  N.each(e.beforeBody.concat(e.afterBody), p),
                                                  (d = e.displayColors ? u + 2 : 0),
                                                  N.each(o, function (t) {
                                                       N.each(t.before, p), N.each(t.lines, p), N.each(t.after, p);
                                                  }),
                                                  (d = 0),
                                                  (i.font = N.fontString(h, e._footerFontStyle, e._footerFontFamily)),
                                                  N.each(e.footer, p),
                                                  { width: (r += 2 * e.xPadding), height: n }
                                             );
                                        })(this, f)),
                                        (y = (function (t, e, i, n) {
                                             var r = t.x,
                                                  o = t.y,
                                                  a = t.caretSize,
                                                  s = t.caretPadding,
                                                  l = t.cornerRadius,
                                                  c = i.xAlign,
                                                  u = i.yAlign,
                                                  h = a + s,
                                                  d = l + s;
                                             return (
                                                  "right" === c ? (r -= e.width) : "center" === c && ((r -= e.width / 2) + e.width > n.width && (r = n.width - e.width), r < 0 && (r = 0)),
                                                  "top" === u ? (o += h) : (o -= "bottom" === u ? e.height + h : e.height / 2),
                                                  "center" === u ? ("left" === c ? (r += h) : "right" === c && (r -= h)) : "left" === c ? (r -= d) : "right" === c && (r += d),
                                                  { x: r, y: o }
                                             );
                                        })(
                                             f,
                                             b,
                                             (v = (function (t, e) {
                                                  var i,
                                                       n,
                                                       r,
                                                       o,
                                                       a,
                                                       s = t._model,
                                                       l = t._chart,
                                                       c = t._chart.chartArea,
                                                       u = "center",
                                                       h = "center";
                                                  s.y < e.height ? (h = "top") : s.y > l.height - e.height && (h = "bottom");
                                                  var d = (c.left + c.right) / 2,
                                                       p = (c.top + c.bottom) / 2;
                                                  "center" === h
                                                       ? ((i = function (t) {
                                                              return t <= d;
                                                         }),
                                                         (n = function (t) {
                                                              return t > d;
                                                         }))
                                                       : ((i = function (t) {
                                                              return t <= e.width / 2;
                                                         }),
                                                         (n = function (t) {
                                                              return t >= l.width - e.width / 2;
                                                         })),
                                                       (r = function (t) {
                                                            return t + e.width + s.caretSize + s.caretPadding > l.width;
                                                       }),
                                                       (o = function (t) {
                                                            return t - e.width - s.caretSize - s.caretPadding < 0;
                                                       }),
                                                       (a = function (t) {
                                                            return t <= p ? "top" : "bottom";
                                                       }),
                                                       i(s.x) ? ((u = "left"), r(s.x) && ((u = "center"), (h = a(s.y)))) : n(s.x) && ((u = "right"), o(s.x) && ((u = "center"), (h = a(s.y))));
                                                  var f = t._options;
                                                  return { xAlign: f.xAlign ? f.xAlign : u, yAlign: f.yAlign ? f.yAlign : h };
                                             })(this, b)),
                                             h._chart
                                        ));
                              } else f.opacity = 0;
                              return (
                                   (f.xAlign = v.xAlign),
                                   (f.yAlign = v.yAlign),
                                   (f.x = y.x),
                                   (f.y = y.y),
                                   (f.width = b.width),
                                   (f.height = b.height),
                                   (f.caretX = _.x),
                                   (f.caretY = _.y),
                                   (h._model = f),
                                   t && d.custom && d.custom.call(h, f),
                                   h
                              );
                         },
                         drawCaret: function (t, e) {
                              var i = this._chart.ctx,
                                   n = this._view,
                                   r = this.getCaretPosition(t, e, n);
                              i.lineTo(r.x1, r.y1), i.lineTo(r.x2, r.y2), i.lineTo(r.x3, r.y3);
                         },
                         getCaretPosition: function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c = i.caretSize,
                                   u = i.cornerRadius,
                                   h = i.xAlign,
                                   d = i.yAlign,
                                   p = t.x,
                                   f = t.y,
                                   m = e.width,
                                   g = e.height;
                              if ("center" === d) (s = f + g / 2), "left" === h ? ((r = (n = p) - c), (o = n), (a = s + c), (l = s - c)) : ((r = (n = p + m) + c), (o = n), (a = s - c), (l = s + c));
                              else if (("left" === h ? ((n = (r = p + u + c) - c), (o = r + c)) : "right" === h ? ((n = (r = p + m - u - c) - c), (o = r + c)) : ((n = (r = i.caretX) - c), (o = r + c)), "top" === d))
                                   (s = (a = f) - c), (l = a);
                              else {
                                   (s = (a = f + g) + c), (l = a);
                                   var v = o;
                                   (o = n), (n = v);
                              }
                              return { x1: n, x2: r, x3: o, y1: a, y2: s, y3: l };
                         },
                         drawTitle: function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a = e.title,
                                   s = a.length;
                              if (s) {
                                   var l = Pe(e.rtl, e.x, e.width);
                                   for (
                                        t.x = Re(e, e._titleAlign),
                                             i.textAlign = l.textAlign(e._titleAlign),
                                             i.textBaseline = "middle",
                                             n = e.titleFontSize,
                                             r = e.titleSpacing,
                                             i.fillStyle = e.titleFontColor,
                                             i.font = N.fontString(n, e._titleFontStyle, e._titleFontFamily),
                                             o = 0;
                                        o < s;
                                        ++o
                                   )
                                        i.fillText(a[o], l.x(t.x), t.y + n / 2), (t.y += n + r), o + 1 === s && (t.y += e.titleMarginBottom - r);
                              }
                         },
                         drawBody: function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c,
                                   u,
                                   h = e.bodyFontSize,
                                   d = e.bodySpacing,
                                   p = e._bodyAlign,
                                   f = e.body,
                                   m = e.displayColors,
                                   g = 0,
                                   v = m ? Re(e, "left") : 0,
                                   y = Pe(e.rtl, e.x, e.width),
                                   b = function (e) {
                                        i.fillText(e, y.x(t.x + g), t.y + h / 2), (t.y += h + d);
                                   },
                                   _ = y.textAlign(p);
                              for (
                                   i.textAlign = p,
                                        i.textBaseline = "middle",
                                        i.font = N.fontString(h, e._bodyFontStyle, e._bodyFontFamily),
                                        t.x = Re(e, _),
                                        i.fillStyle = e.bodyFontColor,
                                        N.each(e.beforeBody, b),
                                        g = m && "right" !== _ ? ("center" === p ? h / 2 + 1 : h + 2) : 0,
                                        s = 0,
                                        c = f.length;
                                   s < c;
                                   ++s
                              ) {
                                   for (n = f[s], r = e.labelTextColors[s], o = e.labelColors[s], i.fillStyle = r, N.each(n.before, b), l = 0, u = (a = n.lines).length; l < u; ++l) {
                                        if (m) {
                                             var x = y.x(v);
                                             (i.fillStyle = e.legendColorBackground),
                                                  i.fillRect(y.leftForLtr(x, h), t.y, h, h),
                                                  (i.lineWidth = 1),
                                                  (i.strokeStyle = o.borderColor),
                                                  i.strokeRect(y.leftForLtr(x, h), t.y, h, h),
                                                  (i.fillStyle = o.backgroundColor),
                                                  i.fillRect(y.leftForLtr(y.xPlus(x, 1), h - 2), t.y + 1, h - 2, h - 2),
                                                  (i.fillStyle = r);
                                        }
                                        b(a[l]);
                                   }
                                   N.each(n.after, b);
                              }
                              (g = 0), N.each(e.afterBody, b), (t.y -= d);
                         },
                         drawFooter: function (t, e, i) {
                              var n,
                                   r,
                                   o = e.footer,
                                   a = o.length;
                              if (a) {
                                   var s = Pe(e.rtl, e.x, e.width);
                                   for (
                                        t.x = Re(e, e._footerAlign),
                                             t.y += e.footerMarginTop,
                                             i.textAlign = s.textAlign(e._footerAlign),
                                             i.textBaseline = "middle",
                                             n = e.footerFontSize,
                                             i.fillStyle = e.footerFontColor,
                                             i.font = N.fontString(n, e._footerFontStyle, e._footerFontFamily),
                                             r = 0;
                                        r < a;
                                        ++r
                                   )
                                        i.fillText(o[r], s.x(t.x), t.y + n / 2), (t.y += n + e.footerSpacing);
                              }
                         },
                         drawBackground: function (t, e, i, n) {
                              (i.fillStyle = e.backgroundColor), (i.strokeStyle = e.borderColor), (i.lineWidth = e.borderWidth);
                              var r = e.xAlign,
                                   o = e.yAlign,
                                   a = t.x,
                                   s = t.y,
                                   l = n.width,
                                   c = n.height,
                                   u = e.cornerRadius;
                              i.beginPath(),
                                   i.moveTo(a + u, s),
                                   "top" === o && this.drawCaret(t, n),
                                   i.lineTo(a + l - u, s),
                                   i.quadraticCurveTo(a + l, s, a + l, s + u),
                                   "center" === o && "right" === r && this.drawCaret(t, n),
                                   i.lineTo(a + l, s + c - u),
                                   i.quadraticCurveTo(a + l, s + c, a + l - u, s + c),
                                   "bottom" === o && this.drawCaret(t, n),
                                   i.lineTo(a + u, s + c),
                                   i.quadraticCurveTo(a, s + c, a, s + c - u),
                                   "center" === o && "left" === r && this.drawCaret(t, n),
                                   i.lineTo(a, s + u),
                                   i.quadraticCurveTo(a, s, a + u, s),
                                   i.closePath(),
                                   i.fill(),
                                   e.borderWidth > 0 && i.stroke();
                         },
                         draw: function () {
                              var t = this._chart.ctx,
                                   e = this._view;
                              if (0 !== e.opacity) {
                                   var i = { width: e.width, height: e.height },
                                        n = { x: e.x, y: e.y },
                                        r = Math.abs(e.opacity < 0.001) ? 0 : e.opacity,
                                        o = e.title.length || e.beforeBody.length || e.body.length || e.afterBody.length || e.footer.length;
                                   this._options.enabled &&
                                        o &&
                                        (t.save(),
                                        (t.globalAlpha = r),
                                        this.drawBackground(n, e, t, i),
                                        (n.y += e.yPadding),
                                        N.rtl.overrideTextDirection(t, e.textDirection),
                                        this.drawTitle(n, e, t),
                                        this.drawBody(n, e, t),
                                        this.drawFooter(n, e, t),
                                        N.rtl.restoreTextDirection(t, e.textDirection),
                                        t.restore());
                              }
                         },
                         handleEvent: function (t) {
                              var e,
                                   i = this,
                                   n = i._options;
                              return (
                                   (i._lastActive = i._lastActive || []),
                                   "mouseout" === t.type ? (i._active = []) : ((i._active = i._chart.getElementsAtEventForMode(t, n.mode, n)), n.reverse && i._active.reverse()),
                                   (e = !N.arrayEquals(i._active, i._lastActive)) && ((i._lastActive = i._active), (n.enabled || n.custom) && ((i._eventPosition = { x: t.x, y: t.y }), i.update(!0), i.pivot())),
                                   e
                              );
                         },
                    }),
                    je = Ie,
                    Ne = He;
               Ne.positioners = je;
               var Be = N.valueOrDefault;
               function We() {
                    return N.merge({}, [].slice.call(arguments), {
                         merger: function (t, e, i, n) {
                              if ("xAxes" === t || "yAxes" === t) {
                                   var r,
                                        o,
                                        a,
                                        s = i[t].length;
                                   for (e[t] || (e[t] = []), r = 0; r < s; ++r)
                                        (a = i[t][r]),
                                             (o = Be(a.type, "xAxes" === t ? "category" : "linear")),
                                             r >= e[t].length && e[t].push({}),
                                             !e[t][r].type || (a.type && a.type !== e[t][r].type) ? N.merge(e[t][r], [Ee.getScaleDefaults(o), a]) : N.merge(e[t][r], a);
                              } else N._merger(t, e, i, n);
                         },
                    });
               }
               function Ve() {
                    return N.merge({}, [].slice.call(arguments), {
                         merger: function (t, e, i, n) {
                              var r = e[t] || {},
                                   o = i[t];
                              "scales" === t ? (e[t] = We(r, o)) : "scale" === t ? (e[t] = N.merge(r, [Ee.getScaleDefaults(o.type), o])) : N._merger(t, e, i, n);
                         },
                    });
               }
               function Ue(t) {
                    var e = t.options;
                    N.each(t.scales, function (e) {
                         fe.removeBox(t, e);
                    }),
                         (e = Ve(z.global, z[t.config.type], e)),
                         (t.options = t.config.options = e),
                         t.ensureScalesHaveIDs(),
                         t.buildOrUpdateScales(),
                         (t.tooltip._options = e.tooltips),
                         t.tooltip.initialize();
               }
               function qe(t, e, i) {
                    var n,
                         r = function (t) {
                              return t.id === n;
                         };
                    do {
                         n = e + i++;
                    } while (N.findIndex(t, r) >= 0);
                    return n;
               }
               function $e(t) {
                    return "top" === t || "bottom" === t;
               }
               function Xe(t, e) {
                    return function (i, n) {
                         return i[t] === n[t] ? i[e] - n[e] : i[t] - n[t];
                    };
               }
               z._set("global", {
                    elements: {},
                    events: ["mousemove", "mouseout", "click", "touchstart", "touchmove"],
                    hover: { onHover: null, mode: "nearest", intersect: !0, animationDuration: 400 },
                    onClick: null,
                    maintainAspectRatio: !0,
                    responsive: !0,
                    responsiveAnimationDuration: 0,
               });
               var Ge = function (t, e) {
                    return this.construct(t, e), this;
               };
               N.extend(Ge.prototype, {
                    construct: function (t, e) {
                         var i = this;
                         e = (function (t) {
                              var e = ((t = t || {}).data = t.data || {});
                              return (e.datasets = e.datasets || []), (e.labels = e.labels || []), (t.options = Ve(z.global, z[t.type], t.options || {})), t;
                         })(e);
                         var n = De.acquireContext(t, e),
                              r = n && n.canvas,
                              o = r && r.height,
                              a = r && r.width;
                         (i.id = N.uid()),
                              (i.ctx = n),
                              (i.canvas = r),
                              (i.config = e),
                              (i.width = a),
                              (i.height = o),
                              (i.aspectRatio = o ? a / o : null),
                              (i.options = e.options),
                              (i._bufferedRender = !1),
                              (i._layers = []),
                              (i.chart = i),
                              (i.controller = i),
                              (Ge.instances[i.id] = i),
                              Object.defineProperty(i, "data", {
                                   get: function () {
                                        return i.config.data;
                                   },
                                   set: function (t) {
                                        i.config.data = t;
                                   },
                              }),
                              n && r ? (i.initialize(), i.update()) : console.error("Failed to create chart: can't acquire context from the given item");
                    },
                    initialize: function () {
                         var t = this;
                         return Le.notify(t, "beforeInit"), N.retinaScale(t, t.options.devicePixelRatio), t.bindEvents(), t.options.responsive && t.resize(!0), t.initToolTip(), Le.notify(t, "afterInit"), t;
                    },
                    clear: function () {
                         return N.canvas.clear(this), this;
                    },
                    stop: function () {
                         return J.cancelAnimation(this), this;
                    },
                    resize: function (t) {
                         var e = this,
                              i = e.options,
                              n = e.canvas,
                              r = (i.maintainAspectRatio && e.aspectRatio) || null,
                              o = Math.max(0, Math.floor(N.getMaximumWidth(n))),
                              a = Math.max(0, Math.floor(r ? o / r : N.getMaximumHeight(n)));
                         if ((e.width !== o || e.height !== a) && ((n.width = e.width = o), (n.height = e.height = a), (n.style.width = o + "px"), (n.style.height = a + "px"), N.retinaScale(e, i.devicePixelRatio), !t)) {
                              var s = { width: o, height: a };
                              Le.notify(e, "resize", [s]), i.onResize && i.onResize(e, s), e.stop(), e.update({ duration: i.responsiveAnimationDuration });
                         }
                    },
                    ensureScalesHaveIDs: function () {
                         var t = this.options,
                              e = t.scales || {},
                              i = t.scale;
                         N.each(e.xAxes, function (t, i) {
                              t.id || (t.id = qe(e.xAxes, "x-axis-", i));
                         }),
                              N.each(e.yAxes, function (t, i) {
                                   t.id || (t.id = qe(e.yAxes, "y-axis-", i));
                              }),
                              i && (i.id = i.id || "scale");
                    },
                    buildOrUpdateScales: function () {
                         var t = this,
                              e = t.options,
                              i = t.scales || {},
                              n = [],
                              r = Object.keys(i).reduce(function (t, e) {
                                   return (t[e] = !1), t;
                              }, {});
                         e.scales &&
                              (n = n.concat(
                                   (e.scales.xAxes || []).map(function (t) {
                                        return { options: t, dtype: "category", dposition: "bottom" };
                                   }),
                                   (e.scales.yAxes || []).map(function (t) {
                                        return { options: t, dtype: "linear", dposition: "left" };
                                   })
                              )),
                              e.scale && n.push({ options: e.scale, dtype: "radialLinear", isDefault: !0, dposition: "chartArea" }),
                              N.each(n, function (e) {
                                   var n = e.options,
                                        o = n.id,
                                        a = Be(n.type, e.dtype);
                                   $e(n.position) !== $e(e.dposition) && (n.position = e.dposition), (r[o] = !0);
                                   var s = null;
                                   if (o in i && i[o].type === a) ((s = i[o]).options = n), (s.ctx = t.ctx), (s.chart = t);
                                   else {
                                        var l = Ee.getScaleConstructor(a);
                                        if (!l) return;
                                        (s = new l({ id: o, type: a, options: n, ctx: t.ctx, chart: t })), (i[s.id] = s);
                                   }
                                   s.mergeTicksOptions(), e.isDefault && (t.scale = s);
                              }),
                              N.each(r, function (t, e) {
                                   t || delete i[e];
                              }),
                              (t.scales = i),
                              Ee.addScalesToLayout(this);
                    },
                    buildOrUpdateControllers: function () {
                         var t,
                              e,
                              i = this,
                              n = [],
                              r = i.data.datasets;
                         for (t = 0, e = r.length; t < e; t++) {
                              var o = r[t],
                                   a = i.getDatasetMeta(t),
                                   s = o.type || i.config.type;
                              if ((a.type && a.type !== s && (i.destroyDatasetMeta(t), (a = i.getDatasetMeta(t))), (a.type = s), (a.order = o.order || 0), (a.index = t), a.controller)) a.controller.updateIndex(t), a.controller.linkScales();
                              else {
                                   var l = Jt[a.type];
                                   if (void 0 === l) throw new Error('"' + a.type + '" is not a chart type.');
                                   (a.controller = new l(i, t)), n.push(a.controller);
                              }
                         }
                         return n;
                    },
                    resetElements: function () {
                         var t = this;
                         N.each(
                              t.data.datasets,
                              function (e, i) {
                                   t.getDatasetMeta(i).controller.reset();
                              },
                              t
                         );
                    },
                    reset: function () {
                         this.resetElements(), this.tooltip.initialize();
                    },
                    update: function (t) {
                         var e,
                              i,
                              n = this;
                         if (((t && "object" == typeof t) || (t = { duration: t, lazy: arguments[1] }), Ue(n), Le._invalidate(n), !1 !== Le.notify(n, "beforeUpdate"))) {
                              n.tooltip._data = n.data;
                              var r = n.buildOrUpdateControllers();
                              for (e = 0, i = n.data.datasets.length; e < i; e++) n.getDatasetMeta(e).controller.buildOrUpdateElements();
                              n.updateLayout(),
                                   n.options.animation &&
                                        n.options.animation.duration &&
                                        N.each(r, function (t) {
                                             t.reset();
                                        }),
                                   n.updateDatasets(),
                                   n.tooltip.initialize(),
                                   (n.lastActive = []),
                                   Le.notify(n, "afterUpdate"),
                                   n._layers.sort(Xe("z", "_idx")),
                                   n._bufferedRender ? (n._bufferedRequest = { duration: t.duration, easing: t.easing, lazy: t.lazy }) : n.render(t);
                         }
                    },
                    updateLayout: function () {
                         var t = this;
                         !1 !== Le.notify(t, "beforeLayout") &&
                              (fe.update(this, this.width, this.height),
                              (t._layers = []),
                              N.each(
                                   t.boxes,
                                   function (e) {
                                        e._configure && e._configure(), t._layers.push.apply(t._layers, e._layers());
                                   },
                                   t
                              ),
                              t._layers.forEach(function (t, e) {
                                   t._idx = e;
                              }),
                              Le.notify(t, "afterScaleUpdate"),
                              Le.notify(t, "afterLayout"));
                    },
                    updateDatasets: function () {
                         if (!1 !== Le.notify(this, "beforeDatasetsUpdate")) {
                              for (var t = 0, e = this.data.datasets.length; t < e; ++t) this.updateDataset(t);
                              Le.notify(this, "afterDatasetsUpdate");
                         }
                    },
                    updateDataset: function (t) {
                         var e = this.getDatasetMeta(t),
                              i = { meta: e, index: t };
                         !1 !== Le.notify(this, "beforeDatasetUpdate", [i]) && (e.controller._update(), Le.notify(this, "afterDatasetUpdate", [i]));
                    },
                    render: function (t) {
                         var e = this;
                         (t && "object" == typeof t) || (t = { duration: t, lazy: arguments[1] });
                         var i = e.options.animation,
                              n = Be(t.duration, i && i.duration),
                              r = t.lazy;
                         if (!1 !== Le.notify(e, "beforeRender")) {
                              var o = function (t) {
                                   Le.notify(e, "afterRender"), N.callback(i && i.onComplete, [t], e);
                              };
                              if (i && n) {
                                   var a = new Z({
                                        numSteps: n / 16.66,
                                        easing: t.easing || i.easing,
                                        render: function (t, e) {
                                             var i = N.easing.effects[e.easing],
                                                  n = e.currentStep,
                                                  r = n / e.numSteps;
                                             t.draw(i(r), r, n);
                                        },
                                        onAnimationProgress: i.onProgress,
                                        onAnimationComplete: o,
                                   });
                                   J.addAnimation(e, a, n, r);
                              } else e.draw(), o(new Z({ numSteps: 0, chart: e }));
                              return e;
                         }
                    },
                    draw: function (t) {
                         var e,
                              i,
                              n = this;
                         if ((n.clear(), N.isNullOrUndef(t) && (t = 1), n.transition(t), !(n.width <= 0 || n.height <= 0) && !1 !== Le.notify(n, "beforeDraw", [t]))) {
                              for (i = n._layers, e = 0; e < i.length && i[e].z <= 0; ++e) i[e].draw(n.chartArea);
                              for (n.drawDatasets(t); e < i.length; ++e) i[e].draw(n.chartArea);
                              n._drawTooltip(t), Le.notify(n, "afterDraw", [t]);
                         }
                    },
                    transition: function (t) {
                         for (var e = 0, i = (this.data.datasets || []).length; e < i; ++e) this.isDatasetVisible(e) && this.getDatasetMeta(e).controller.transition(t);
                         this.tooltip.transition(t);
                    },
                    _getSortedDatasetMetas: function (t) {
                         var e,
                              i,
                              n = [];
                         for (e = 0, i = (this.data.datasets || []).length; e < i; ++e) (t && !this.isDatasetVisible(e)) || n.push(this.getDatasetMeta(e));
                         return n.sort(Xe("order", "index")), n;
                    },
                    _getSortedVisibleDatasetMetas: function () {
                         return this._getSortedDatasetMetas(!0);
                    },
                    drawDatasets: function (t) {
                         var e, i;
                         if (!1 !== Le.notify(this, "beforeDatasetsDraw", [t])) {
                              for (i = (e = this._getSortedVisibleDatasetMetas()).length - 1; i >= 0; --i) this.drawDataset(e[i], t);
                              Le.notify(this, "afterDatasetsDraw", [t]);
                         }
                    },
                    drawDataset: function (t, e) {
                         var i = { meta: t, index: t.index, easingValue: e };
                         !1 !== Le.notify(this, "beforeDatasetDraw", [i]) && (t.controller.draw(e), Le.notify(this, "afterDatasetDraw", [i]));
                    },
                    _drawTooltip: function (t) {
                         var e = this.tooltip,
                              i = { tooltip: e, easingValue: t };
                         !1 !== Le.notify(this, "beforeTooltipDraw", [i]) && (e.draw(), Le.notify(this, "afterTooltipDraw", [i]));
                    },
                    getElementAtEvent: function (t) {
                         return re.modes.single(this, t);
                    },
                    getElementsAtEvent: function (t) {
                         return re.modes.label(this, t, { intersect: !0 });
                    },
                    getElementsAtXAxis: function (t) {
                         return re.modes["x-axis"](this, t, { intersect: !0 });
                    },
                    getElementsAtEventForMode: function (t, e, i) {
                         var n = re.modes[e];
                         return "function" == typeof n ? n(this, t, i) : [];
                    },
                    getDatasetAtEvent: function (t) {
                         return re.modes.dataset(this, t, { intersect: !0 });
                    },
                    getDatasetMeta: function (t) {
                         var e = this.data.datasets[t];
                         e._meta || (e._meta = {});
                         var i = e._meta[this.id];
                         return i || (i = e._meta[this.id] = { type: null, data: [], dataset: null, controller: null, hidden: null, xAxisID: null, yAxisID: null, order: e.order || 0, index: t }), i;
                    },
                    getVisibleDatasetCount: function () {
                         for (var t = 0, e = 0, i = this.data.datasets.length; e < i; ++e) this.isDatasetVisible(e) && t++;
                         return t;
                    },
                    isDatasetVisible: function (t) {
                         var e = this.getDatasetMeta(t);
                         return "boolean" == typeof e.hidden ? !e.hidden : !this.data.datasets[t].hidden;
                    },
                    generateLegend: function () {
                         return this.options.legendCallback(this);
                    },
                    destroyDatasetMeta: function (t) {
                         var e = this.id,
                              i = this.data.datasets[t],
                              n = i._meta && i._meta[e];
                         n && (n.controller.destroy(), delete i._meta[e]);
                    },
                    destroy: function () {
                         var t,
                              e,
                              i = this,
                              n = i.canvas;
                         for (i.stop(), t = 0, e = i.data.datasets.length; t < e; ++t) i.destroyDatasetMeta(t);
                         n && (i.unbindEvents(), N.canvas.clear(i), De.releaseContext(i.ctx), (i.canvas = null), (i.ctx = null)), Le.notify(i, "destroy"), delete Ge.instances[i.id];
                    },
                    toBase64Image: function () {
                         return this.canvas.toDataURL.apply(this.canvas, arguments);
                    },
                    initToolTip: function () {
                         var t = this;
                         t.tooltip = new Ne({ _chart: t, _chartInstance: t, _data: t.data, _options: t.options.tooltips }, t);
                    },
                    bindEvents: function () {
                         var t = this,
                              e = (t._listeners = {}),
                              i = function () {
                                   t.eventHandler.apply(t, arguments);
                              };
                         N.each(t.options.events, function (n) {
                              De.addEventListener(t, n, i), (e[n] = i);
                         }),
                              t.options.responsive &&
                                   ((i = function () {
                                        t.resize();
                                   }),
                                   De.addEventListener(t, "resize", i),
                                   (e.resize = i));
                    },
                    unbindEvents: function () {
                         var t = this,
                              e = t._listeners;
                         e &&
                              (delete t._listeners,
                              N.each(e, function (e, i) {
                                   De.removeEventListener(t, i, e);
                              }));
                    },
                    updateHoverStyle: function (t, e, i) {
                         var n,
                              r,
                              o,
                              a = i ? "set" : "remove";
                         for (r = 0, o = t.length; r < o; ++r) (n = t[r]) && this.getDatasetMeta(n._datasetIndex).controller[a + "HoverStyle"](n);
                         "dataset" === e && this.getDatasetMeta(t[0]._datasetIndex).controller["_" + a + "DatasetHoverStyle"]();
                    },
                    eventHandler: function (t) {
                         var e = this,
                              i = e.tooltip;
                         if (!1 !== Le.notify(e, "beforeEvent", [t])) {
                              (e._bufferedRender = !0), (e._bufferedRequest = null);
                              var n = e.handleEvent(t);
                              i && (n = i._start ? i.handleEvent(t) : n | i.handleEvent(t)), Le.notify(e, "afterEvent", [t]);
                              var r = e._bufferedRequest;
                              return r ? e.render(r) : n && !e.animating && (e.stop(), e.render({ duration: e.options.hover.animationDuration, lazy: !0 })), (e._bufferedRender = !1), (e._bufferedRequest = null), e;
                         }
                    },
                    handleEvent: function (t) {
                         var e,
                              i = this,
                              n = i.options || {},
                              r = n.hover;
                         return (
                              (i.lastActive = i.lastActive || []),
                              "mouseout" === t.type ? (i.active = []) : (i.active = i.getElementsAtEventForMode(t, r.mode, r)),
                              N.callback(n.onHover || n.hover.onHover, [t.native, i.active], i),
                              ("mouseup" !== t.type && "click" !== t.type) || (n.onClick && n.onClick.call(i, t.native, i.active)),
                              i.lastActive.length && i.updateHoverStyle(i.lastActive, r.mode, !1),
                              i.active.length && r.mode && i.updateHoverStyle(i.active, r.mode, !0),
                              (e = !N.arrayEquals(i.active, i.lastActive)),
                              (i.lastActive = i.active),
                              e
                         );
                    },
               }),
                    (Ge.instances = {});
               var Ze = Ge;
               function Je() {
                    throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.");
               }
               function Ke(t) {
                    this.options = t || {};
               }
               (Ge.Controller = Ge),
                    (Ge.types = {}),
                    (N.configMerge = Ve),
                    (N.scaleMerge = We),
                    N.extend(Ke.prototype, {
                         formats: Je,
                         parse: Je,
                         format: Je,
                         add: Je,
                         diff: Je,
                         startOf: Je,
                         endOf: Je,
                         _create: function (t) {
                              return t;
                         },
                    }),
                    (Ke.override = function (t) {
                         N.extend(Ke.prototype, t);
                    });
               var Qe = { _date: Ke },
                    ti = {
                         formatters: {
                              values: function (t) {
                                   return N.isArray(t) ? t : "" + t;
                              },
                              linear: function (t, e, i) {
                                   var n = i.length > 3 ? i[2] - i[1] : i[1] - i[0];
                                   Math.abs(n) > 1 && t !== Math.floor(t) && (n = t - Math.floor(t));
                                   var r = N.log10(Math.abs(n)),
                                        o = "";
                                   if (0 !== t)
                                        if (Math.max(Math.abs(i[0]), Math.abs(i[i.length - 1])) < 1e-4) {
                                             var a = N.log10(Math.abs(t)),
                                                  s = Math.floor(a) - Math.floor(r);
                                             (s = Math.max(Math.min(s, 20), 0)), (o = t.toExponential(s));
                                        } else {
                                             var l = -1 * Math.floor(r);
                                             (l = Math.max(Math.min(l, 20), 0)), (o = t.toFixed(l));
                                        }
                                   else o = "0";
                                   return o;
                              },
                              logarithmic: function (t, e, i) {
                                   var n = t / Math.pow(10, Math.floor(N.log10(t)));
                                   return 0 === t ? "0" : 1 === n || 2 === n || 5 === n || 0 === e || e === i.length - 1 ? t.toExponential() : "";
                              },
                         },
                    },
                    ei = N.isArray,
                    ii = N.isNullOrUndef,
                    ni = N.valueOrDefault,
                    ri = N.valueAtIndexOrDefault;
               function oi(t, e, i) {
                    var n,
                         r = t.getTicks().length,
                         o = Math.min(e, r - 1),
                         a = t.getPixelForTick(o),
                         s = t._startPixel,
                         l = t._endPixel;
                    if (!(i && ((n = 1 === r ? Math.max(a - s, l - a) : 0 === e ? (t.getPixelForTick(1) - a) / 2 : (a - t.getPixelForTick(o - 1)) / 2), (a += o < e ? n : -n) < s - 1e-6 || a > l + 1e-6))) return a;
               }
               function ai(t, e, i, n) {
                    var r,
                         o,
                         a,
                         s,
                         l,
                         c,
                         u,
                         h,
                         d,
                         p,
                         f,
                         m,
                         g,
                         v = i.length,
                         y = [],
                         b = [],
                         _ = [];
                    for (r = 0; r < v; ++r) {
                         if (((s = i[r].label), (l = i[r].major ? e.major : e.minor), (t.font = c = l.string), (u = n[c] = n[c] || { data: {}, gc: [] }), (h = l.lineHeight), (d = p = 0), ii(s) || ei(s))) {
                              if (ei(s)) for (o = 0, a = s.length; o < a; ++o) (f = s[o]), ii(f) || ei(f) || ((d = N.measureText(t, u.data, u.gc, d, f)), (p += h));
                         } else (d = N.measureText(t, u.data, u.gc, d, s)), (p = h);
                         y.push(d), b.push(p), _.push(h / 2);
                    }
                    function x(t) {
                         return { width: y[t] || 0, height: b[t] || 0, offset: _[t] || 0 };
                    }
                    return (
                         (function (t, e) {
                              N.each(t, function (t) {
                                   var i,
                                        n = t.gc,
                                        r = n.length / 2;
                                   if (r > e) {
                                        for (i = 0; i < r; ++i) delete t.data[n[i]];
                                        n.splice(0, r);
                                   }
                              });
                         })(n, v),
                         (m = y.indexOf(Math.max.apply(null, y))),
                         (g = b.indexOf(Math.max.apply(null, b))),
                         { first: x(0), last: x(v - 1), widest: x(m), highest: x(g) }
                    );
               }
               function si(t) {
                    return t.drawTicks ? t.tickMarkLength : 0;
               }
               function li(t) {
                    var e, i;
                    return t.display ? ((e = N.options._parseFont(t)), (i = N.options.toPadding(t.padding)), e.lineHeight + i.height) : 0;
               }
               function ci(t, e) {
                    return N.extend(N.options._parseFont({ fontFamily: ni(e.fontFamily, t.fontFamily), fontSize: ni(e.fontSize, t.fontSize), fontStyle: ni(e.fontStyle, t.fontStyle), lineHeight: ni(e.lineHeight, t.lineHeight) }), {
                         color: N.options.resolve([e.fontColor, t.fontColor, z.global.defaultFontColor]),
                    });
               }
               function ui(t) {
                    var e = ci(t, t.minor);
                    return { minor: e, major: t.major.enabled ? ci(t, t.major) : e };
               }
               function hi(t) {
                    var e,
                         i,
                         n,
                         r = [];
                    for (i = 0, n = t.length; i < n; ++i) void 0 !== (e = t[i])._index && r.push(e);
                    return r;
               }
               function di(t, e, i, n) {
                    var r,
                         o,
                         a,
                         s,
                         l = ni(i, 0),
                         c = Math.min(ni(n, t.length), t.length),
                         u = 0;
                    for (e = Math.ceil(e), n && (e = (r = n - i) / Math.floor(r / e)), s = l; s < 0; ) u++, (s = Math.round(l + u * e));
                    for (o = Math.max(l, 0); o < c; o++) (a = t[o]), o === s ? ((a._index = o), u++, (s = Math.round(l + u * e))) : delete a.label;
               }
               z._set("scale", {
                    display: !0,
                    position: "left",
                    offset: !1,
                    gridLines: {
                         display: !0,
                         color: "rgba(0,0,0,0.1)",
                         lineWidth: 1,
                         drawBorder: !0,
                         drawOnChartArea: !0,
                         drawTicks: !0,
                         tickMarkLength: 10,
                         zeroLineWidth: 1,
                         zeroLineColor: "rgba(0,0,0,0.25)",
                         zeroLineBorderDash: [],
                         zeroLineBorderDashOffset: 0,
                         offsetGridLines: !1,
                         borderDash: [],
                         borderDashOffset: 0,
                    },
                    scaleLabel: { display: !1, labelString: "", padding: { top: 4, bottom: 4 } },
                    ticks: { beginAtZero: !1, minRotation: 0, maxRotation: 50, mirror: !1, padding: 0, reverse: !1, display: !0, autoSkip: !0, autoSkipPadding: 0, labelOffset: 0, callback: ti.formatters.values, minor: {}, major: {} },
               });
               var pi = X.extend({
                    zeroLineIndex: 0,
                    getPadding: function () {
                         return { left: this.paddingLeft || 0, top: this.paddingTop || 0, right: this.paddingRight || 0, bottom: this.paddingBottom || 0 };
                    },
                    getTicks: function () {
                         return this._ticks;
                    },
                    _getLabels: function () {
                         var t = this.chart.data;
                         return this.options.labels || (this.isHorizontal() ? t.xLabels : t.yLabels) || t.labels || [];
                    },
                    mergeTicksOptions: function () {},
                    beforeUpdate: function () {
                         N.callback(this.options.beforeUpdate, [this]);
                    },
                    update: function (t, e, i) {
                         var n,
                              r,
                              o,
                              a,
                              s,
                              l = this,
                              c = l.options.ticks,
                              u = c.sampleSize;
                         if (
                              (l.beforeUpdate(),
                              (l.maxWidth = t),
                              (l.maxHeight = e),
                              (l.margins = N.extend({ left: 0, right: 0, top: 0, bottom: 0 }, i)),
                              (l._ticks = null),
                              (l.ticks = null),
                              (l._labelSizes = null),
                              (l._maxLabelLines = 0),
                              (l.longestLabelWidth = 0),
                              (l.longestTextCache = l.longestTextCache || {}),
                              (l._gridLineItems = null),
                              (l._labelItems = null),
                              l.beforeSetDimensions(),
                              l.setDimensions(),
                              l.afterSetDimensions(),
                              l.beforeDataLimits(),
                              l.determineDataLimits(),
                              l.afterDataLimits(),
                              l.beforeBuildTicks(),
                              (a = l.buildTicks() || []),
                              (!(a = l.afterBuildTicks(a) || a) || !a.length) && l.ticks)
                         )
                              for (a = [], n = 0, r = l.ticks.length; n < r; ++n) a.push({ value: l.ticks[n], major: !1 });
                         return (
                              (l._ticks = a),
                              (s = u < a.length),
                              (o = l._convertTicksToLabels(
                                   s
                                        ? (function (t, e) {
                                               for (var i = [], n = t.length / e, r = 0, o = t.length; r < o; r += n) i.push(t[Math.floor(r)]);
                                               return i;
                                          })(a, u)
                                        : a
                              )),
                              l._configure(),
                              l.beforeCalculateTickRotation(),
                              l.calculateTickRotation(),
                              l.afterCalculateTickRotation(),
                              l.beforeFit(),
                              l.fit(),
                              l.afterFit(),
                              (l._ticksToDraw = c.display && (c.autoSkip || "auto" === c.source) ? l._autoSkip(a) : a),
                              s && (o = l._convertTicksToLabels(l._ticksToDraw)),
                              (l.ticks = o),
                              l.afterUpdate(),
                              l.minSize
                         );
                    },
                    _configure: function () {
                         var t,
                              e,
                              i = this,
                              n = i.options.ticks.reverse;
                         i.isHorizontal() ? ((t = i.left), (e = i.right)) : ((t = i.top), (e = i.bottom), (n = !n)), (i._startPixel = t), (i._endPixel = e), (i._reversePixels = n), (i._length = e - t);
                    },
                    afterUpdate: function () {
                         N.callback(this.options.afterUpdate, [this]);
                    },
                    beforeSetDimensions: function () {
                         N.callback(this.options.beforeSetDimensions, [this]);
                    },
                    setDimensions: function () {
                         var t = this;
                         t.isHorizontal() ? ((t.width = t.maxWidth), (t.left = 0), (t.right = t.width)) : ((t.height = t.maxHeight), (t.top = 0), (t.bottom = t.height)),
                              (t.paddingLeft = 0),
                              (t.paddingTop = 0),
                              (t.paddingRight = 0),
                              (t.paddingBottom = 0);
                    },
                    afterSetDimensions: function () {
                         N.callback(this.options.afterSetDimensions, [this]);
                    },
                    beforeDataLimits: function () {
                         N.callback(this.options.beforeDataLimits, [this]);
                    },
                    determineDataLimits: N.noop,
                    afterDataLimits: function () {
                         N.callback(this.options.afterDataLimits, [this]);
                    },
                    beforeBuildTicks: function () {
                         N.callback(this.options.beforeBuildTicks, [this]);
                    },
                    buildTicks: N.noop,
                    afterBuildTicks: function (t) {
                         var e = this;
                         return ei(t) && t.length ? N.callback(e.options.afterBuildTicks, [e, t]) : ((e.ticks = N.callback(e.options.afterBuildTicks, [e, e.ticks]) || e.ticks), t);
                    },
                    beforeTickToLabelConversion: function () {
                         N.callback(this.options.beforeTickToLabelConversion, [this]);
                    },
                    convertTicksToLabels: function () {
                         var t = this.options.ticks;
                         this.ticks = this.ticks.map(t.userCallback || t.callback, this);
                    },
                    afterTickToLabelConversion: function () {
                         N.callback(this.options.afterTickToLabelConversion, [this]);
                    },
                    beforeCalculateTickRotation: function () {
                         N.callback(this.options.beforeCalculateTickRotation, [this]);
                    },
                    calculateTickRotation: function () {
                         var t,
                              e,
                              i,
                              n,
                              r,
                              o,
                              a,
                              s = this,
                              l = s.options,
                              c = l.ticks,
                              u = s.getTicks().length,
                              h = c.minRotation || 0,
                              d = c.maxRotation,
                              p = h;
                         !s._isVisible() || !c.display || h >= d || u <= 1 || !s.isHorizontal()
                              ? (s.labelRotation = h)
                              : ((e = (t = s._getLabelSizes()).widest.width),
                                (i = t.highest.height - t.highest.offset),
                                (n = Math.min(s.maxWidth, s.chart.width - e)),
                                e + 6 > (r = l.offset ? s.maxWidth / u : n / (u - 1)) &&
                                     ((r = n / (u - (l.offset ? 0.5 : 1))),
                                     (o = s.maxHeight - si(l.gridLines) - c.padding - li(l.scaleLabel)),
                                     (a = Math.sqrt(e * e + i * i)),
                                     (p = N.toDegrees(Math.min(Math.asin(Math.min((t.highest.height + 6) / r, 1)), Math.asin(Math.min(o / a, 1)) - Math.asin(i / a)))),
                                     (p = Math.max(h, Math.min(d, p)))),
                                (s.labelRotation = p));
                    },
                    afterCalculateTickRotation: function () {
                         N.callback(this.options.afterCalculateTickRotation, [this]);
                    },
                    beforeFit: function () {
                         N.callback(this.options.beforeFit, [this]);
                    },
                    fit: function () {
                         var t = this,
                              e = (t.minSize = { width: 0, height: 0 }),
                              i = t.chart,
                              n = t.options,
                              r = n.ticks,
                              o = n.scaleLabel,
                              a = n.gridLines,
                              s = t._isVisible(),
                              l = "bottom" === n.position,
                              c = t.isHorizontal();
                         if ((c ? (e.width = t.maxWidth) : s && (e.width = si(a) + li(o)), c ? s && (e.height = si(a) + li(o)) : (e.height = t.maxHeight), r.display && s)) {
                              var u = ui(r),
                                   h = t._getLabelSizes(),
                                   d = h.first,
                                   p = h.last,
                                   f = h.widest,
                                   m = h.highest,
                                   g = 0.4 * u.minor.lineHeight,
                                   v = r.padding;
                              if (c) {
                                   var y = 0 !== t.labelRotation,
                                        b = N.toRadians(t.labelRotation),
                                        _ = Math.cos(b),
                                        x = Math.sin(b),
                                        w = x * f.width + _ * (m.height - (y ? m.offset : 0)) + (y ? 0 : g);
                                   e.height = Math.min(t.maxHeight, e.height + w + v);
                                   var k,
                                        S,
                                        M = t.getPixelForTick(0) - t.left,
                                        T = t.right - t.getPixelForTick(t.getTicks().length - 1);
                                   y ? ((k = l ? _ * d.width + x * d.offset : x * (d.height - d.offset)), (S = l ? x * (p.height - p.offset) : _ * p.width + x * p.offset)) : ((k = d.width / 2), (S = p.width / 2)),
                                        (t.paddingLeft = Math.max(((k - M) * t.width) / (t.width - M), 0) + 3),
                                        (t.paddingRight = Math.max(((S - T) * t.width) / (t.width - T), 0) + 3);
                              } else {
                                   var C = r.mirror ? 0 : f.width + v + g;
                                   (e.width = Math.min(t.maxWidth, e.width + C)), (t.paddingTop = d.height / 2), (t.paddingBottom = p.height / 2);
                              }
                         }
                         t.handleMargins(), c ? ((t.width = t._length = i.width - t.margins.left - t.margins.right), (t.height = e.height)) : ((t.width = e.width), (t.height = t._length = i.height - t.margins.top - t.margins.bottom));
                    },
                    handleMargins: function () {
                         var t = this;
                         t.margins &&
                              ((t.margins.left = Math.max(t.paddingLeft, t.margins.left)),
                              (t.margins.top = Math.max(t.paddingTop, t.margins.top)),
                              (t.margins.right = Math.max(t.paddingRight, t.margins.right)),
                              (t.margins.bottom = Math.max(t.paddingBottom, t.margins.bottom)));
                    },
                    afterFit: function () {
                         N.callback(this.options.afterFit, [this]);
                    },
                    isHorizontal: function () {
                         var t = this.options.position;
                         return "top" === t || "bottom" === t;
                    },
                    isFullWidth: function () {
                         return this.options.fullWidth;
                    },
                    getRightValue: function (t) {
                         if (ii(t)) return NaN;
                         if (("number" == typeof t || t instanceof Number) && !isFinite(t)) return NaN;
                         if (t)
                              if (this.isHorizontal()) {
                                   if (void 0 !== t.x) return this.getRightValue(t.x);
                              } else if (void 0 !== t.y) return this.getRightValue(t.y);
                         return t;
                    },
                    _convertTicksToLabels: function (t) {
                         var e,
                              i,
                              n,
                              r = this;
                         for (
                              r.ticks = t.map(function (t) {
                                   return t.value;
                              }),
                                   r.beforeTickToLabelConversion(),
                                   e = r.convertTicksToLabels(t) || r.ticks,
                                   r.afterTickToLabelConversion(),
                                   i = 0,
                                   n = t.length;
                              i < n;
                              ++i
                         )
                              t[i].label = e[i];
                         return e;
                    },
                    _getLabelSizes: function () {
                         var t = this,
                              e = t._labelSizes;
                         return e || ((t._labelSizes = e = ai(t.ctx, ui(t.options.ticks), t.getTicks(), t.longestTextCache)), (t.longestLabelWidth = e.widest.width)), e;
                    },
                    _parseValue: function (t) {
                         var e, i, n, r;
                         return (
                              ei(t) ? ((e = +this.getRightValue(t[0])), (i = +this.getRightValue(t[1])), (n = Math.min(e, i)), (r = Math.max(e, i))) : ((e = void 0), (i = t = +this.getRightValue(t)), (n = t), (r = t)),
                              { min: n, max: r, start: e, end: i }
                         );
                    },
                    _getScaleLabel: function (t) {
                         var e = this._parseValue(t);
                         return void 0 !== e.start ? "[" + e.start + ", " + e.end + "]" : +this.getRightValue(t);
                    },
                    getLabelForIndex: N.noop,
                    getPixelForValue: N.noop,
                    getValueForPixel: N.noop,
                    getPixelForTick: function (t) {
                         var e = this.options.offset,
                              i = this._ticks.length,
                              n = 1 / Math.max(i - (e ? 0 : 1), 1);
                         return t < 0 || t > i - 1 ? null : this.getPixelForDecimal(t * n + (e ? n / 2 : 0));
                    },
                    getPixelForDecimal: function (t) {
                         return this._reversePixels && (t = 1 - t), this._startPixel + t * this._length;
                    },
                    getDecimalForPixel: function (t) {
                         var e = (t - this._startPixel) / this._length;
                         return this._reversePixels ? 1 - e : e;
                    },
                    getBasePixel: function () {
                         return this.getPixelForValue(this.getBaseValue());
                    },
                    getBaseValue: function () {
                         var t = this.min,
                              e = this.max;
                         return this.beginAtZero ? 0 : t < 0 && e < 0 ? e : t > 0 && e > 0 ? t : 0;
                    },
                    _autoSkip: function (t) {
                         var e,
                              i,
                              n,
                              r,
                              o = this.options.ticks,
                              a = this._length,
                              s = o.maxTicksLimit || a / this._tickSize() + 1,
                              l = o.major.enabled
                                   ? (function (t) {
                                          var e,
                                               i,
                                               n = [];
                                          for (e = 0, i = t.length; e < i; e++) t[e].major && n.push(e);
                                          return n;
                                     })(t)
                                   : [],
                              c = l.length,
                              u = l[0],
                              h = l[c - 1];
                         if (c > s)
                              return (
                                   (function (t, e, i) {
                                        var n,
                                             r,
                                             o = 0,
                                             a = e[0];
                                        for (i = Math.ceil(i), n = 0; n < t.length; n++) (r = t[n]), n === a ? ((r._index = n), (a = e[++o * i])) : delete r.label;
                                   })(t, l, c / s),
                                   hi(t)
                              );
                         if (
                              ((n = (function (t, e, i, n) {
                                   var r,
                                        o,
                                        a,
                                        s,
                                        l = (function (t) {
                                             var e,
                                                  i,
                                                  n = t.length;
                                             if (n < 2) return !1;
                                             for (i = t[0], e = 1; e < n; ++e) if (t[e] - t[e - 1] !== i) return !1;
                                             return i;
                                        })(t),
                                        c = (e.length - 1) / n;
                                   if (!l) return Math.max(c, 1);
                                   for (a = 0, s = (r = N.math._factorize(l)).length - 1; a < s; a++) if ((o = r[a]) > c) return o;
                                   return Math.max(c, 1);
                              })(l, t, 0, s)),
                              c > 0)
                         ) {
                              for (e = 0, i = c - 1; e < i; e++) di(t, n, l[e], l[e + 1]);
                              return (r = c > 1 ? (h - u) / (c - 1) : null), di(t, n, N.isNullOrUndef(r) ? 0 : u - r, u), di(t, n, h, N.isNullOrUndef(r) ? t.length : h + r), hi(t);
                         }
                         return di(t, n), hi(t);
                    },
                    _tickSize: function () {
                         var t = this.options.ticks,
                              e = N.toRadians(this.labelRotation),
                              i = Math.abs(Math.cos(e)),
                              n = Math.abs(Math.sin(e)),
                              r = this._getLabelSizes(),
                              o = t.autoSkipPadding || 0,
                              a = r ? r.widest.width + o : 0,
                              s = r ? r.highest.height + o : 0;
                         return this.isHorizontal() ? (s * i > a * n ? a / i : s / n) : s * n < a * i ? s / i : a / n;
                    },
                    _isVisible: function () {
                         var t,
                              e,
                              i,
                              n = this.chart,
                              r = this.options.display;
                         if ("auto" !== r) return !!r;
                         for (t = 0, e = n.data.datasets.length; t < e; ++t) if (n.isDatasetVisible(t) && ((i = n.getDatasetMeta(t)).xAxisID === this.id || i.yAxisID === this.id)) return !0;
                         return !1;
                    },
                    _computeGridLineItems: function (t) {
                         var e,
                              i,
                              n,
                              r,
                              o,
                              a,
                              s,
                              l,
                              c,
                              u,
                              h,
                              d,
                              p,
                              f,
                              m,
                              g,
                              v,
                              y = this,
                              b = y.chart,
                              _ = y.options,
                              x = _.gridLines,
                              w = _.position,
                              k = x.offsetGridLines,
                              S = y.isHorizontal(),
                              M = y._ticksToDraw,
                              T = M.length + (k ? 1 : 0),
                              C = si(x),
                              D = [],
                              L = x.drawBorder ? ri(x.lineWidth, 0, 0) : 0,
                              E = L / 2,
                              A = N._alignPixel,
                              P = function (t) {
                                   return A(b, t, L);
                              };
                         for (
                              "top" === w
                                   ? ((e = P(y.bottom)), (s = y.bottom - C), (c = e - E), (h = P(t.top) + E), (p = t.bottom))
                                   : "bottom" === w
                                   ? ((e = P(y.top)), (h = t.top), (p = P(t.bottom) - E), (s = e + E), (c = y.top + C))
                                   : "left" === w
                                   ? ((e = P(y.right)), (a = y.right - C), (l = e - E), (u = P(t.left) + E), (d = t.right))
                                   : ((e = P(y.left)), (u = t.left), (d = P(t.right) - E), (a = e + E), (l = y.left + C)),
                                   i = 0;
                              i < T;
                              ++i
                         )
                              (n = M[i] || {}),
                                   (ii(n.label) && i < M.length) ||
                                        (i === y.zeroLineIndex && _.offset === k
                                             ? ((f = x.zeroLineWidth), (m = x.zeroLineColor), (g = x.zeroLineBorderDash || []), (v = x.zeroLineBorderDashOffset || 0))
                                             : ((f = ri(x.lineWidth, i, 1)), (m = ri(x.color, i, "rgba(0,0,0,0.1)")), (g = x.borderDash || []), (v = x.borderDashOffset || 0)),
                                        void 0 !== (r = oi(y, n._index || i, k)) &&
                                             ((o = A(b, r, f)), S ? (a = l = u = d = o) : (s = c = h = p = o), D.push({ tx1: a, ty1: s, tx2: l, ty2: c, x1: u, y1: h, x2: d, y2: p, width: f, color: m, borderDash: g, borderDashOffset: v })));
                         return (D.ticksLength = T), (D.borderValue = e), D;
                    },
                    _computeLabelItems: function () {
                         var t,
                              e,
                              i,
                              n,
                              r,
                              o,
                              a,
                              s,
                              l,
                              c,
                              u,
                              h,
                              d = this,
                              p = d.options,
                              f = p.ticks,
                              m = p.position,
                              g = f.mirror,
                              v = d.isHorizontal(),
                              y = d._ticksToDraw,
                              b = ui(f),
                              _ = f.padding,
                              x = si(p.gridLines),
                              w = -N.toRadians(d.labelRotation),
                              k = [];
                         for (
                              "top" === m
                                   ? ((o = d.bottom - x - _), (a = w ? "left" : "center"))
                                   : "bottom" === m
                                   ? ((o = d.top + x + _), (a = w ? "right" : "center"))
                                   : "left" === m
                                   ? ((r = d.right - (g ? 0 : x) - _), (a = g ? "left" : "right"))
                                   : ((r = d.left + (g ? 0 : x) + _), (a = g ? "right" : "left")),
                                   t = 0,
                                   e = y.length;
                              t < e;
                              ++t
                         )
                              (n = (i = y[t]).label),
                                   ii(n) ||
                                        ((s = d.getPixelForTick(i._index || t) + f.labelOffset),
                                        (c = (l = i.major ? b.major : b.minor).lineHeight),
                                        (u = ei(n) ? n.length : 1),
                                        v ? ((r = s), (h = "top" === m ? ((w ? 1 : 0.5) - u) * c : (w ? 0 : 0.5) * c)) : ((o = s), (h = ((1 - u) * c) / 2)),
                                        k.push({ x: r, y: o, rotation: w, label: n, font: l, textOffset: h, textAlign: a }));
                         return k;
                    },
                    _drawGrid: function (t) {
                         var e = this,
                              i = e.options.gridLines;
                         if (i.display) {
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l = e.ctx,
                                   c = e.chart,
                                   u = N._alignPixel,
                                   h = i.drawBorder ? ri(i.lineWidth, 0, 0) : 0,
                                   d = e._gridLineItems || (e._gridLineItems = e._computeGridLineItems(t));
                              for (o = 0, a = d.length; o < a; ++o)
                                   (n = (s = d[o]).width),
                                        (r = s.color),
                                        n &&
                                             r &&
                                             (l.save(),
                                             (l.lineWidth = n),
                                             (l.strokeStyle = r),
                                             l.setLineDash && (l.setLineDash(s.borderDash), (l.lineDashOffset = s.borderDashOffset)),
                                             l.beginPath(),
                                             i.drawTicks && (l.moveTo(s.tx1, s.ty1), l.lineTo(s.tx2, s.ty2)),
                                             i.drawOnChartArea && (l.moveTo(s.x1, s.y1), l.lineTo(s.x2, s.y2)),
                                             l.stroke(),
                                             l.restore());
                              if (h) {
                                   var p,
                                        f,
                                        m,
                                        g,
                                        v = h,
                                        y = ri(i.lineWidth, d.ticksLength - 1, 1),
                                        b = d.borderValue;
                                   e.isHorizontal() ? ((p = u(c, e.left, v) - v / 2), (f = u(c, e.right, y) + y / 2), (m = g = b)) : ((m = u(c, e.top, v) - v / 2), (g = u(c, e.bottom, y) + y / 2), (p = f = b)),
                                        (l.lineWidth = h),
                                        (l.strokeStyle = ri(i.color, 0)),
                                        l.beginPath(),
                                        l.moveTo(p, m),
                                        l.lineTo(f, g),
                                        l.stroke();
                              }
                         }
                    },
                    _drawLabels: function () {
                         var t = this;
                         if (t.options.ticks.display) {
                              var e,
                                   i,
                                   n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c = t.ctx,
                                   u = t._labelItems || (t._labelItems = t._computeLabelItems());
                              for (e = 0, n = u.length; e < n; ++e) {
                                   if (
                                        ((a = (o = u[e]).font),
                                        c.save(),
                                        c.translate(o.x, o.y),
                                        c.rotate(o.rotation),
                                        (c.font = a.string),
                                        (c.fillStyle = a.color),
                                        (c.textBaseline = "middle"),
                                        (c.textAlign = o.textAlign),
                                        (s = o.label),
                                        (l = o.textOffset),
                                        ei(s))
                                   )
                                        for (i = 0, r = s.length; i < r; ++i) c.fillText("" + s[i], 0, l), (l += a.lineHeight);
                                   else c.fillText(s, 0, l);
                                   c.restore();
                              }
                         }
                    },
                    _drawTitle: function () {
                         var t = this,
                              e = t.ctx,
                              i = t.options,
                              n = i.scaleLabel;
                         if (n.display) {
                              var r,
                                   o,
                                   a = ni(n.fontColor, z.global.defaultFontColor),
                                   s = N.options._parseFont(n),
                                   l = N.options.toPadding(n.padding),
                                   c = s.lineHeight / 2,
                                   u = i.position,
                                   h = 0;
                              if (t.isHorizontal()) (r = t.left + t.width / 2), (o = "bottom" === u ? t.bottom - c - l.bottom : t.top + c + l.top);
                              else {
                                   var d = "left" === u;
                                   (r = d ? t.left + c + l.top : t.right - c - l.top), (o = t.top + t.height / 2), (h = d ? -0.5 * Math.PI : 0.5 * Math.PI);
                              }
                              e.save(), e.translate(r, o), e.rotate(h), (e.textAlign = "center"), (e.textBaseline = "middle"), (e.fillStyle = a), (e.font = s.string), e.fillText(n.labelString, 0, 0), e.restore();
                         }
                    },
                    draw: function (t) {
                         this._isVisible() && (this._drawGrid(t), this._drawTitle(), this._drawLabels());
                    },
                    _layers: function () {
                         var t = this,
                              e = t.options,
                              i = (e.ticks && e.ticks.z) || 0,
                              n = (e.gridLines && e.gridLines.z) || 0;
                         return t._isVisible() && i !== n && t.draw === t._draw
                              ? [
                                     {
                                          z: n,
                                          draw: function () {
                                               t._drawGrid.apply(t, arguments), t._drawTitle.apply(t, arguments);
                                          },
                                     },
                                     {
                                          z: i,
                                          draw: function () {
                                               t._drawLabels.apply(t, arguments);
                                          },
                                     },
                                ]
                              : [
                                     {
                                          z: i,
                                          draw: function () {
                                               t.draw.apply(t, arguments);
                                          },
                                     },
                                ];
                    },
                    _getMatchingVisibleMetas: function (t) {
                         var e = this,
                              i = e.isHorizontal();
                         return e.chart._getSortedVisibleDatasetMetas().filter(function (n) {
                              return (!t || n.type === t) && (i ? n.xAxisID === e.id : n.yAxisID === e.id);
                         });
                    },
               });
               pi.prototype._draw = pi.prototype.draw;
               var fi = pi,
                    mi = N.isNullOrUndef,
                    gi = fi.extend({
                         determineDataLimits: function () {
                              var t,
                                   e = this,
                                   i = e._getLabels(),
                                   n = e.options.ticks,
                                   r = n.min,
                                   o = n.max,
                                   a = 0,
                                   s = i.length - 1;
                              void 0 !== r && (t = i.indexOf(r)) >= 0 && (a = t), void 0 !== o && (t = i.indexOf(o)) >= 0 && (s = t), (e.minIndex = a), (e.maxIndex = s), (e.min = i[a]), (e.max = i[s]);
                         },
                         buildTicks: function () {
                              var t = this._getLabels(),
                                   e = this.minIndex,
                                   i = this.maxIndex;
                              this.ticks = 0 === e && i === t.length - 1 ? t : t.slice(e, i + 1);
                         },
                         getLabelForIndex: function (t, e) {
                              var i = this.chart;
                              return i.getDatasetMeta(e).controller._getValueScaleId() === this.id ? this.getRightValue(i.data.datasets[e].data[t]) : this._getLabels()[t];
                         },
                         _configure: function () {
                              var t = this,
                                   e = t.options.offset,
                                   i = t.ticks;
                              fi.prototype._configure.call(t), t.isHorizontal() || (t._reversePixels = !t._reversePixels), i && ((t._startValue = t.minIndex - (e ? 0.5 : 0)), (t._valueRange = Math.max(i.length - (e ? 0 : 1), 1)));
                         },
                         getPixelForValue: function (t, e, i) {
                              var n,
                                   r,
                                   o,
                                   a = this;
                              return (
                                   mi(e) || mi(i) || (t = a.chart.data.datasets[i].data[e]),
                                   mi(t) || (n = a.isHorizontal() ? t.x : t.y),
                                   (void 0 !== n || (void 0 !== t && isNaN(e))) && ((r = a._getLabels()), (t = N.valueOrDefault(n, t)), (e = -1 !== (o = r.indexOf(t)) ? o : e), isNaN(e) && (e = t)),
                                   a.getPixelForDecimal((e - a._startValue) / a._valueRange)
                              );
                         },
                         getPixelForTick: function (t) {
                              var e = this.ticks;
                              return t < 0 || t > e.length - 1 ? null : this.getPixelForValue(e[t], t + this.minIndex);
                         },
                         getValueForPixel: function (t) {
                              var e = Math.round(this._startValue + this.getDecimalForPixel(t) * this._valueRange);
                              return Math.min(Math.max(e, 0), this.ticks.length - 1);
                         },
                         getBasePixel: function () {
                              return this.bottom;
                         },
                    }),
                    vi = { position: "bottom" };
               gi._defaults = vi;
               var yi = N.noop,
                    bi = N.isNullOrUndef,
                    _i = fi.extend({
                         getRightValue: function (t) {
                              return "string" == typeof t ? +t : fi.prototype.getRightValue.call(this, t);
                         },
                         handleTickRangeOptions: function () {
                              var t = this,
                                   e = t.options.ticks;
                              if (e.beginAtZero) {
                                   var i = N.sign(t.min),
                                        n = N.sign(t.max);
                                   i < 0 && n < 0 ? (t.max = 0) : i > 0 && n > 0 && (t.min = 0);
                              }
                              var r = void 0 !== e.min || void 0 !== e.suggestedMin,
                                   o = void 0 !== e.max || void 0 !== e.suggestedMax;
                              void 0 !== e.min ? (t.min = e.min) : void 0 !== e.suggestedMin && (null === t.min ? (t.min = e.suggestedMin) : (t.min = Math.min(t.min, e.suggestedMin))),
                                   void 0 !== e.max ? (t.max = e.max) : void 0 !== e.suggestedMax && (null === t.max ? (t.max = e.suggestedMax) : (t.max = Math.max(t.max, e.suggestedMax))),
                                   r !== o && t.min >= t.max && (r ? (t.max = t.min + 1) : (t.min = t.max - 1)),
                                   t.min === t.max && (t.max++, e.beginAtZero || t.min--);
                         },
                         getTickLimit: function () {
                              var t,
                                   e = this.options.ticks,
                                   i = e.stepSize,
                                   n = e.maxTicksLimit;
                              return i ? (t = Math.ceil(this.max / i) - Math.floor(this.min / i) + 1) : ((t = this._computeTickLimit()), (n = n || 11)), n && (t = Math.min(n, t)), t;
                         },
                         _computeTickLimit: function () {
                              return Number.POSITIVE_INFINITY;
                         },
                         handleDirectionalChanges: yi,
                         buildTicks: function () {
                              var t = this,
                                   e = t.options.ticks,
                                   i = t.getTickLimit(),
                                   n = { maxTicks: (i = Math.max(2, i)), min: e.min, max: e.max, precision: e.precision, stepSize: N.valueOrDefault(e.fixedStepSize, e.stepSize) },
                                   r = (t.ticks = (function (t, e) {
                                        var i,
                                             n,
                                             r,
                                             o,
                                             a = [],
                                             s = t.stepSize,
                                             l = s || 1,
                                             c = t.maxTicks - 1,
                                             u = t.min,
                                             h = t.max,
                                             d = t.precision,
                                             p = e.min,
                                             f = e.max,
                                             m = N.niceNum((f - p) / c / l) * l;
                                        if (m < 1e-14 && bi(u) && bi(h)) return [p, f];
                                        (o = Math.ceil(f / m) - Math.floor(p / m)) > c && (m = N.niceNum((o * m) / c / l) * l),
                                             s || bi(d) ? (i = Math.pow(10, N._decimalPlaces(m))) : ((i = Math.pow(10, d)), (m = Math.ceil(m * i) / i)),
                                             (n = Math.floor(p / m) * m),
                                             (r = Math.ceil(f / m) * m),
                                             s && (!bi(u) && N.almostWhole(u / m, m / 1e3) && (n = u), !bi(h) && N.almostWhole(h / m, m / 1e3) && (r = h)),
                                             (o = (r - n) / m),
                                             (o = N.almostEquals(o, Math.round(o), m / 1e3) ? Math.round(o) : Math.ceil(o)),
                                             (n = Math.round(n * i) / i),
                                             (r = Math.round(r * i) / i),
                                             a.push(bi(u) ? n : u);
                                        for (var g = 1; g < o; ++g) a.push(Math.round((n + g * m) * i) / i);
                                        return a.push(bi(h) ? r : h), a;
                                   })(n, t));
                              t.handleDirectionalChanges(), (t.max = N.max(r)), (t.min = N.min(r)), e.reverse ? (r.reverse(), (t.start = t.max), (t.end = t.min)) : ((t.start = t.min), (t.end = t.max));
                         },
                         convertTicksToLabels: function () {
                              var t = this;
                              (t.ticksAsNumbers = t.ticks.slice()), (t.zeroLineIndex = t.ticks.indexOf(0)), fi.prototype.convertTicksToLabels.call(t);
                         },
                         _configure: function () {
                              var t,
                                   e = this,
                                   i = e.getTicks(),
                                   n = e.min,
                                   r = e.max;
                              fi.prototype._configure.call(e), e.options.offset && i.length && ((n -= t = (r - n) / Math.max(i.length - 1, 1) / 2), (r += t)), (e._startValue = n), (e._endValue = r), (e._valueRange = r - n);
                         },
                    }),
                    xi = { position: "left", ticks: { callback: ti.formatters.linear } };
               function wi(t, e, i, n) {
                    var r,
                         o,
                         a = t.options,
                         s = (function (t, e, i) {
                              var n = [i.type, void 0 === e && void 0 === i.stack ? i.index : "", i.stack].join(".");
                              return void 0 === t[n] && (t[n] = { pos: [], neg: [] }), t[n];
                         })(e, a.stacked, i),
                         l = s.pos,
                         c = s.neg,
                         u = n.length;
                    for (r = 0; r < u; ++r)
                         (o = t._parseValue(n[r])), isNaN(o.min) || isNaN(o.max) || i.data[r].hidden || ((l[r] = l[r] || 0), (c[r] = c[r] || 0), a.relativePoints ? (l[r] = 100) : o.min < 0 || o.max < 0 ? (c[r] += o.min) : (l[r] += o.max));
               }
               function ki(t, e, i) {
                    var n,
                         r,
                         o = i.length;
                    for (n = 0; n < o; ++n) (r = t._parseValue(i[n])), isNaN(r.min) || isNaN(r.max) || e.data[n].hidden || ((t.min = Math.min(t.min, r.min)), (t.max = Math.max(t.max, r.max)));
               }
               var Si = _i.extend({
                         determineDataLimits: function () {
                              var t,
                                   e,
                                   i,
                                   n,
                                   r = this,
                                   o = r.options,
                                   a = r.chart.data.datasets,
                                   s = r._getMatchingVisibleMetas(),
                                   l = o.stacked,
                                   c = {},
                                   u = s.length;
                              if (((r.min = Number.POSITIVE_INFINITY), (r.max = Number.NEGATIVE_INFINITY), void 0 === l)) for (t = 0; !l && t < u; ++t) l = void 0 !== (e = s[t]).stack;
                              for (t = 0; t < u; ++t) (i = a[(e = s[t]).index].data), l ? wi(r, c, e, i) : ki(r, e, i);
                              N.each(c, function (t) {
                                   (n = t.pos.concat(t.neg)), (r.min = Math.min(r.min, N.min(n))), (r.max = Math.max(r.max, N.max(n)));
                              }),
                                   (r.min = N.isFinite(r.min) && !isNaN(r.min) ? r.min : 0),
                                   (r.max = N.isFinite(r.max) && !isNaN(r.max) ? r.max : 1),
                                   r.handleTickRangeOptions();
                         },
                         _computeTickLimit: function () {
                              var t;
                              return this.isHorizontal() ? Math.ceil(this.width / 40) : ((t = N.options._parseFont(this.options.ticks)), Math.ceil(this.height / t.lineHeight));
                         },
                         handleDirectionalChanges: function () {
                              this.isHorizontal() || this.ticks.reverse();
                         },
                         getLabelForIndex: function (t, e) {
                              return this._getScaleLabel(this.chart.data.datasets[e].data[t]);
                         },
                         getPixelForValue: function (t) {
                              return this.getPixelForDecimal((+this.getRightValue(t) - this._startValue) / this._valueRange);
                         },
                         getValueForPixel: function (t) {
                              return this._startValue + this.getDecimalForPixel(t) * this._valueRange;
                         },
                         getPixelForTick: function (t) {
                              var e = this.ticksAsNumbers;
                              return t < 0 || t > e.length - 1 ? null : this.getPixelForValue(e[t]);
                         },
                    }),
                    Mi = xi;
               Si._defaults = Mi;
               var Ti = N.valueOrDefault,
                    Ci = N.math.log10,
                    Di = { position: "left", ticks: { callback: ti.formatters.logarithmic } };
               function Li(t, e) {
                    return N.isFinite(t) && t >= 0 ? t : e;
               }
               var Ei = fi.extend({
                         determineDataLimits: function () {
                              var t,
                                   e,
                                   i,
                                   n,
                                   r,
                                   o,
                                   a = this,
                                   s = a.options,
                                   l = a.chart,
                                   c = l.data.datasets,
                                   u = a.isHorizontal();
                              function h(t) {
                                   return u ? t.xAxisID === a.id : t.yAxisID === a.id;
                              }
                              (a.min = Number.POSITIVE_INFINITY), (a.max = Number.NEGATIVE_INFINITY), (a.minNotZero = Number.POSITIVE_INFINITY);
                              var d = s.stacked;
                              if (void 0 === d)
                                   for (t = 0; t < c.length; t++)
                                        if (((e = l.getDatasetMeta(t)), l.isDatasetVisible(t) && h(e) && void 0 !== e.stack)) {
                                             d = !0;
                                             break;
                                        }
                              if (s.stacked || d) {
                                   var p = {};
                                   for (t = 0; t < c.length; t++) {
                                        var f = [(e = l.getDatasetMeta(t)).type, void 0 === s.stacked && void 0 === e.stack ? t : "", e.stack].join(".");
                                        if (l.isDatasetVisible(t) && h(e))
                                             for (void 0 === p[f] && (p[f] = []), r = 0, o = (n = c[t].data).length; r < o; r++) {
                                                  var m = p[f];
                                                  (i = a._parseValue(n[r])), isNaN(i.min) || isNaN(i.max) || e.data[r].hidden || i.min < 0 || i.max < 0 || ((m[r] = m[r] || 0), (m[r] += i.max));
                                             }
                                   }
                                   N.each(p, function (t) {
                                        if (t.length > 0) {
                                             var e = N.min(t),
                                                  i = N.max(t);
                                             (a.min = Math.min(a.min, e)), (a.max = Math.max(a.max, i));
                                        }
                                   });
                              } else
                                   for (t = 0; t < c.length; t++)
                                        if (((e = l.getDatasetMeta(t)), l.isDatasetVisible(t) && h(e)))
                                             for (r = 0, o = (n = c[t].data).length; r < o; r++)
                                                  (i = a._parseValue(n[r])),
                                                       isNaN(i.min) ||
                                                            isNaN(i.max) ||
                                                            e.data[r].hidden ||
                                                            i.min < 0 ||
                                                            i.max < 0 ||
                                                            ((a.min = Math.min(i.min, a.min)), (a.max = Math.max(i.max, a.max)), 0 !== i.min && (a.minNotZero = Math.min(i.min, a.minNotZero)));
                              (a.min = N.isFinite(a.min) ? a.min : null), (a.max = N.isFinite(a.max) ? a.max : null), (a.minNotZero = N.isFinite(a.minNotZero) ? a.minNotZero : null), this.handleTickRangeOptions();
                         },
                         handleTickRangeOptions: function () {
                              var t = this,
                                   e = t.options.ticks;
                              (t.min = Li(e.min, t.min)),
                                   (t.max = Li(e.max, t.max)),
                                   t.min === t.max && (0 !== t.min && null !== t.min ? ((t.min = Math.pow(10, Math.floor(Ci(t.min)) - 1)), (t.max = Math.pow(10, Math.floor(Ci(t.max)) + 1))) : ((t.min = 1), (t.max = 10))),
                                   null === t.min && (t.min = Math.pow(10, Math.floor(Ci(t.max)) - 1)),
                                   null === t.max && (t.max = 0 !== t.min ? Math.pow(10, Math.floor(Ci(t.min)) + 1) : 10),
                                   null === t.minNotZero && (t.min > 0 ? (t.minNotZero = t.min) : t.max < 1 ? (t.minNotZero = Math.pow(10, Math.floor(Ci(t.max)))) : (t.minNotZero = 1));
                         },
                         buildTicks: function () {
                              var t = this,
                                   e = t.options.ticks,
                                   i = !t.isHorizontal(),
                                   n = { min: Li(e.min), max: Li(e.max) },
                                   r = (t.ticks = (function (t, e) {
                                        var i,
                                             n,
                                             r = [],
                                             o = Ti(t.min, Math.pow(10, Math.floor(Ci(e.min)))),
                                             a = Math.floor(Ci(e.max)),
                                             s = Math.ceil(e.max / Math.pow(10, a));
                                        0 === o
                                             ? ((i = Math.floor(Ci(e.minNotZero))), (n = Math.floor(e.minNotZero / Math.pow(10, i))), r.push(o), (o = n * Math.pow(10, i)))
                                             : ((i = Math.floor(Ci(o))), (n = Math.floor(o / Math.pow(10, i))));
                                        var l = i < 0 ? Math.pow(10, Math.abs(i)) : 1;
                                        do {
                                             r.push(o), 10 == ++n && ((n = 1), (l = ++i >= 0 ? 1 : l)), (o = Math.round(n * Math.pow(10, i) * l) / l);
                                        } while (i < a || (i === a && n < s));
                                        var c = Ti(t.max, o);
                                        return r.push(c), r;
                                   })(n, t));
                              (t.max = N.max(r)), (t.min = N.min(r)), e.reverse ? ((i = !i), (t.start = t.max), (t.end = t.min)) : ((t.start = t.min), (t.end = t.max)), i && r.reverse();
                         },
                         convertTicksToLabels: function () {
                              (this.tickValues = this.ticks.slice()), fi.prototype.convertTicksToLabels.call(this);
                         },
                         getLabelForIndex: function (t, e) {
                              return this._getScaleLabel(this.chart.data.datasets[e].data[t]);
                         },
                         getPixelForTick: function (t) {
                              var e = this.tickValues;
                              return t < 0 || t > e.length - 1 ? null : this.getPixelForValue(e[t]);
                         },
                         _getFirstTickValue: function (t) {
                              var e = Math.floor(Ci(t));
                              return Math.floor(t / Math.pow(10, e)) * Math.pow(10, e);
                         },
                         _configure: function () {
                              var t = this,
                                   e = t.min,
                                   i = 0;
                              fi.prototype._configure.call(t),
                                   0 === e && ((e = t._getFirstTickValue(t.minNotZero)), (i = Ti(t.options.ticks.fontSize, z.global.defaultFontSize) / t._length)),
                                   (t._startValue = Ci(e)),
                                   (t._valueOffset = i),
                                   (t._valueRange = (Ci(t.max) - Ci(e)) / (1 - i));
                         },
                         getPixelForValue: function (t) {
                              var e = this,
                                   i = 0;
                              return (t = +e.getRightValue(t)) > e.min && t > 0 && (i = (Ci(t) - e._startValue) / e._valueRange + e._valueOffset), e.getPixelForDecimal(i);
                         },
                         getValueForPixel: function (t) {
                              var e = this,
                                   i = e.getDecimalForPixel(t);
                              return 0 === i && 0 === e.min ? 0 : Math.pow(10, e._startValue + (i - e._valueOffset) * e._valueRange);
                         },
                    }),
                    Ai = Di;
               Ei._defaults = Ai;
               var Pi = N.valueOrDefault,
                    Ii = N.valueAtIndexOrDefault,
                    Oi = N.options.resolve,
                    Yi = {
                         display: !0,
                         animate: !0,
                         position: "chartArea",
                         angleLines: { display: !0, color: "rgba(0,0,0,0.1)", lineWidth: 1, borderDash: [], borderDashOffset: 0 },
                         gridLines: { circular: !1 },
                         ticks: { showLabelBackdrop: !0, backdropColor: "rgba(255,255,255,0.75)", backdropPaddingY: 2, backdropPaddingX: 2, callback: ti.formatters.linear },
                         pointLabels: {
                              display: !0,
                              fontSize: 10,
                              callback: function (t) {
                                   return t;
                              },
                         },
                    };
               function zi(t) {
                    var e = t.ticks;
                    return e.display && t.display ? Pi(e.fontSize, z.global.defaultFontSize) + 2 * e.backdropPaddingY : 0;
               }
               function Ri(t, e, i, n, r) {
                    return t === n || t === r ? { start: e - i / 2, end: e + i / 2 } : t < n || t > r ? { start: e - i, end: e } : { start: e, end: e + i };
               }
               function Fi(t) {
                    return 0 === t || 180 === t ? "center" : t < 180 ? "left" : "right";
               }
               function Hi(t, e, i, n) {
                    var r,
                         o,
                         a = i.y + n / 2;
                    if (N.isArray(e)) for (r = 0, o = e.length; r < o; ++r) t.fillText(e[r], i.x, a), (a += n);
                    else t.fillText(e, i.x, a);
               }
               function ji(t, e, i) {
                    90 === t || 270 === t ? (i.y -= e.h / 2) : (t > 270 || t < 90) && (i.y -= e.h);
               }
               function Ni(t) {
                    return N.isNumber(t) ? t : 0;
               }
               var Bi = _i.extend({
                         setDimensions: function () {
                              var t = this;
                              (t.width = t.maxWidth),
                                   (t.height = t.maxHeight),
                                   (t.paddingTop = zi(t.options) / 2),
                                   (t.xCenter = Math.floor(t.width / 2)),
                                   (t.yCenter = Math.floor((t.height - t.paddingTop) / 2)),
                                   (t.drawingArea = Math.min(t.height - t.paddingTop, t.width) / 2);
                         },
                         determineDataLimits: function () {
                              var t = this,
                                   e = t.chart,
                                   i = Number.POSITIVE_INFINITY,
                                   n = Number.NEGATIVE_INFINITY;
                              N.each(e.data.datasets, function (r, o) {
                                   if (e.isDatasetVisible(o)) {
                                        var a = e.getDatasetMeta(o);
                                        N.each(r.data, function (e, r) {
                                             var o = +t.getRightValue(e);
                                             isNaN(o) || a.data[r].hidden || ((i = Math.min(o, i)), (n = Math.max(o, n)));
                                        });
                                   }
                              }),
                                   (t.min = i === Number.POSITIVE_INFINITY ? 0 : i),
                                   (t.max = n === Number.NEGATIVE_INFINITY ? 0 : n),
                                   t.handleTickRangeOptions();
                         },
                         _computeTickLimit: function () {
                              return Math.ceil(this.drawingArea / zi(this.options));
                         },
                         convertTicksToLabels: function () {
                              var t = this;
                              _i.prototype.convertTicksToLabels.call(t),
                                   (t.pointLabels = t.chart.data.labels.map(function () {
                                        var e = N.callback(t.options.pointLabels.callback, arguments, t);
                                        return e || 0 === e ? e : "";
                                   }));
                         },
                         getLabelForIndex: function (t, e) {
                              return +this.getRightValue(this.chart.data.datasets[e].data[t]);
                         },
                         fit: function () {
                              var t = this.options;
                              t.display && t.pointLabels.display
                                   ? (function (t) {
                                          var e,
                                               i,
                                               n,
                                               r = N.options._parseFont(t.options.pointLabels),
                                               o = { l: 0, r: t.width, t: 0, b: t.height - t.paddingTop },
                                               a = {};
                                          (t.ctx.font = r.string), (t._pointLabelSizes = []);
                                          var s,
                                               l,
                                               c,
                                               u = t.chart.data.labels.length;
                                          for (e = 0; e < u; e++) {
                                               (n = t.getPointPosition(e, t.drawingArea + 5)),
                                                    (s = t.ctx),
                                                    (l = r.lineHeight),
                                                    (c = t.pointLabels[e]),
                                                    (i = N.isArray(c) ? { w: N.longestText(s, s.font, c), h: c.length * l } : { w: s.measureText(c).width, h: l }),
                                                    (t._pointLabelSizes[e] = i);
                                               var h = t.getIndexAngle(e),
                                                    d = N.toDegrees(h) % 360,
                                                    p = Ri(d, n.x, i.w, 0, 180),
                                                    f = Ri(d, n.y, i.h, 90, 270);
                                               p.start < o.l && ((o.l = p.start), (a.l = h)), p.end > o.r && ((o.r = p.end), (a.r = h)), f.start < o.t && ((o.t = f.start), (a.t = h)), f.end > o.b && ((o.b = f.end), (a.b = h));
                                          }
                                          t.setReductions(t.drawingArea, o, a);
                                     })(this)
                                   : this.setCenterPoint(0, 0, 0, 0);
                         },
                         setReductions: function (t, e, i) {
                              var n = this,
                                   r = e.l / Math.sin(i.l),
                                   o = Math.max(e.r - n.width, 0) / Math.sin(i.r),
                                   a = -e.t / Math.cos(i.t),
                                   s = -Math.max(e.b - (n.height - n.paddingTop), 0) / Math.cos(i.b);
                              (r = Ni(r)), (o = Ni(o)), (a = Ni(a)), (s = Ni(s)), (n.drawingArea = Math.min(Math.floor(t - (r + o) / 2), Math.floor(t - (a + s) / 2))), n.setCenterPoint(r, o, a, s);
                         },
                         setCenterPoint: function (t, e, i, n) {
                              var r = this,
                                   o = r.width - e - r.drawingArea,
                                   a = t + r.drawingArea,
                                   s = i + r.drawingArea,
                                   l = r.height - r.paddingTop - n - r.drawingArea;
                              (r.xCenter = Math.floor((a + o) / 2 + r.left)), (r.yCenter = Math.floor((s + l) / 2 + r.top + r.paddingTop));
                         },
                         getIndexAngle: function (t) {
                              var e = this.chart,
                                   i = (t * (360 / e.data.labels.length) + ((e.options || {}).startAngle || 0)) % 360;
                              return ((i < 0 ? i + 360 : i) * Math.PI * 2) / 360;
                         },
                         getDistanceFromCenterForValue: function (t) {
                              var e = this;
                              if (N.isNullOrUndef(t)) return NaN;
                              var i = e.drawingArea / (e.max - e.min);
                              return e.options.ticks.reverse ? (e.max - t) * i : (t - e.min) * i;
                         },
                         getPointPosition: function (t, e) {
                              var i = this.getIndexAngle(t) - Math.PI / 2;
                              return { x: Math.cos(i) * e + this.xCenter, y: Math.sin(i) * e + this.yCenter };
                         },
                         getPointPositionForValue: function (t, e) {
                              return this.getPointPosition(t, this.getDistanceFromCenterForValue(e));
                         },
                         getBasePosition: function (t) {
                              var e = this.min,
                                   i = this.max;
                              return this.getPointPositionForValue(t || 0, this.beginAtZero ? 0 : e < 0 && i < 0 ? i : e > 0 && i > 0 ? e : 0);
                         },
                         _drawGrid: function () {
                              var t,
                                   e,
                                   i,
                                   n = this,
                                   r = n.ctx,
                                   o = n.options,
                                   a = o.gridLines,
                                   s = o.angleLines,
                                   l = Pi(s.lineWidth, a.lineWidth),
                                   c = Pi(s.color, a.color);
                              if (
                                   (o.pointLabels.display &&
                                        (function (t) {
                                             var e = t.ctx,
                                                  i = t.options,
                                                  n = i.pointLabels,
                                                  r = zi(i),
                                                  o = t.getDistanceFromCenterForValue(i.ticks.reverse ? t.min : t.max),
                                                  a = N.options._parseFont(n);
                                             e.save(), (e.font = a.string), (e.textBaseline = "middle");
                                             for (var s = t.chart.data.labels.length - 1; s >= 0; s--) {
                                                  var l = 0 === s ? r / 2 : 0,
                                                       c = t.getPointPosition(s, o + l + 5),
                                                       u = Ii(n.fontColor, s, z.global.defaultFontColor);
                                                  e.fillStyle = u;
                                                  var h = t.getIndexAngle(s),
                                                       d = N.toDegrees(h);
                                                  (e.textAlign = Fi(d)), ji(d, t._pointLabelSizes[s], c), Hi(e, t.pointLabels[s], c, a.lineHeight);
                                             }
                                             e.restore();
                                        })(n),
                                   a.display &&
                                        N.each(n.ticks, function (t, i) {
                                             0 !== i &&
                                                  ((e = n.getDistanceFromCenterForValue(n.ticksAsNumbers[i])),
                                                  (function (t, e, i, n) {
                                                       var r,
                                                            o = t.ctx,
                                                            a = e.circular,
                                                            s = t.chart.data.labels.length,
                                                            l = Ii(e.color, n - 1),
                                                            c = Ii(e.lineWidth, n - 1);
                                                       if ((a || s) && l && c) {
                                                            if ((o.save(), (o.strokeStyle = l), (o.lineWidth = c), o.setLineDash && (o.setLineDash(e.borderDash || []), (o.lineDashOffset = e.borderDashOffset || 0)), o.beginPath(), a))
                                                                 o.arc(t.xCenter, t.yCenter, i, 0, 2 * Math.PI);
                                                            else {
                                                                 (r = t.getPointPosition(0, i)), o.moveTo(r.x, r.y);
                                                                 for (var u = 1; u < s; u++) (r = t.getPointPosition(u, i)), o.lineTo(r.x, r.y);
                                                            }
                                                            o.closePath(), o.stroke(), o.restore();
                                                       }
                                                  })(n, a, e, i));
                                        }),
                                   s.display && l && c)
                              ) {
                                   for (
                                        r.save(),
                                             r.lineWidth = l,
                                             r.strokeStyle = c,
                                             r.setLineDash && (r.setLineDash(Oi([s.borderDash, a.borderDash, []])), (r.lineDashOffset = Oi([s.borderDashOffset, a.borderDashOffset, 0]))),
                                             t = n.chart.data.labels.length - 1;
                                        t >= 0;
                                        t--
                                   )
                                        (e = n.getDistanceFromCenterForValue(o.ticks.reverse ? n.min : n.max)), (i = n.getPointPosition(t, e)), r.beginPath(), r.moveTo(n.xCenter, n.yCenter), r.lineTo(i.x, i.y), r.stroke();
                                   r.restore();
                              }
                         },
                         _drawLabels: function () {
                              var t = this,
                                   e = t.ctx,
                                   i = t.options.ticks;
                              if (i.display) {
                                   var n,
                                        r,
                                        o = t.getIndexAngle(0),
                                        a = N.options._parseFont(i),
                                        s = Pi(i.fontColor, z.global.defaultFontColor);
                                   e.save(),
                                        (e.font = a.string),
                                        e.translate(t.xCenter, t.yCenter),
                                        e.rotate(o),
                                        (e.textAlign = "center"),
                                        (e.textBaseline = "middle"),
                                        N.each(t.ticks, function (o, l) {
                                             (0 !== l || i.reverse) &&
                                                  ((n = t.getDistanceFromCenterForValue(t.ticksAsNumbers[l])),
                                                  i.showLabelBackdrop &&
                                                       ((r = e.measureText(o).width),
                                                       (e.fillStyle = i.backdropColor),
                                                       e.fillRect(-r / 2 - i.backdropPaddingX, -n - a.size / 2 - i.backdropPaddingY, r + 2 * i.backdropPaddingX, a.size + 2 * i.backdropPaddingY)),
                                                  (e.fillStyle = s),
                                                  e.fillText(o, 0, -n));
                                        }),
                                        e.restore();
                              }
                         },
                         _drawTitle: N.noop,
                    }),
                    Wi = Yi;
               Bi._defaults = Wi;
               var Vi = N._deprecated,
                    Ui = N.options.resolve,
                    qi = N.valueOrDefault,
                    $i = Number.MIN_SAFE_INTEGER || -9007199254740991,
                    Xi = Number.MAX_SAFE_INTEGER || 9007199254740991,
                    Gi = {
                         millisecond: { common: !0, size: 1, steps: 1e3 },
                         second: { common: !0, size: 1e3, steps: 60 },
                         minute: { common: !0, size: 6e4, steps: 60 },
                         hour: { common: !0, size: 36e5, steps: 24 },
                         day: { common: !0, size: 864e5, steps: 30 },
                         week: { common: !1, size: 6048e5, steps: 4 },
                         month: { common: !0, size: 2628e6, steps: 12 },
                         quarter: { common: !1, size: 7884e6, steps: 4 },
                         year: { common: !0, size: 3154e7 },
                    },
                    Zi = Object.keys(Gi);
               function Ji(t, e) {
                    return t - e;
               }
               function Ki(t) {
                    return N.valueOrDefault(t.time.min, t.ticks.min);
               }
               function Qi(t) {
                    return N.valueOrDefault(t.time.max, t.ticks.max);
               }
               function tn(t, e, i, n) {
                    var r = (function (t, e, i) {
                              for (var n, r, o, a = 0, s = t.length - 1; a >= 0 && a <= s; ) {
                                   if (((r = t[(n = (a + s) >> 1) - 1] || null), (o = t[n]), !r)) return { lo: null, hi: o };
                                   if (o[e] < i) a = n + 1;
                                   else {
                                        if (!(r[e] > i)) return { lo: r, hi: o };
                                        s = n - 1;
                                   }
                              }
                              return { lo: o, hi: null };
                         })(t, e, i),
                         o = r.lo ? (r.hi ? r.lo : t[t.length - 2]) : t[0],
                         a = r.lo ? (r.hi ? r.hi : t[t.length - 1]) : t[1],
                         s = a[e] - o[e],
                         l = s ? (i - o[e]) / s : 0,
                         c = (a[n] - o[n]) * l;
                    return o[n] + c;
               }
               function en(t, e) {
                    var i = t._adapter,
                         n = t.options.time,
                         r = n.parser,
                         o = r || n.format,
                         a = e;
                    return (
                         "function" == typeof r && (a = r(a)), N.isFinite(a) || (a = "string" == typeof o ? i.parse(a, o) : i.parse(a)), null !== a ? +a : (r || "function" != typeof o || ((a = o(e)), N.isFinite(a) || (a = i.parse(a))), a)
                    );
               }
               function nn(t, e) {
                    if (N.isNullOrUndef(e)) return null;
                    var i = t.options.time,
                         n = en(t, t.getRightValue(e));
                    return null === n || (i.round && (n = +t._adapter.startOf(n, i.round))), n;
               }
               function rn(t, e, i, n) {
                    var r,
                         o,
                         a,
                         s = Zi.length;
                    for (r = Zi.indexOf(t); r < s - 1; ++r) if (((a = (o = Gi[Zi[r]]).steps ? o.steps : Xi), o.common && Math.ceil((i - e) / (a * o.size)) <= n)) return Zi[r];
                    return Zi[s - 1];
               }
               function on(t, e, i) {
                    var n,
                         r,
                         o = [],
                         a = {},
                         s = e.length;
                    for (n = 0; n < s; ++n) (a[(r = e[n])] = n), o.push({ value: r, major: !1 });
                    return 0 !== s && i
                         ? (function (t, e, i, n) {
                                var r,
                                     o,
                                     a = t._adapter,
                                     s = +a.startOf(e[0].value, n),
                                     l = e[e.length - 1].value;
                                for (r = s; r <= l; r = +a.add(r, 1, n)) (o = i[r]) >= 0 && (e[o].major = !0);
                                return e;
                           })(t, o, a, i)
                         : o;
               }
               var an = fi.extend({
                         initialize: function () {
                              this.mergeTicksOptions(), fi.prototype.initialize.call(this);
                         },
                         update: function () {
                              var t = this,
                                   e = t.options,
                                   i = e.time || (e.time = {}),
                                   n = (t._adapter = new Qe._date(e.adapters.date));
                              return (
                                   Vi("time scale", i.format, "time.format", "time.parser"),
                                   Vi("time scale", i.min, "time.min", "ticks.min"),
                                   Vi("time scale", i.max, "time.max", "ticks.max"),
                                   N.mergeIf(i.displayFormats, n.formats()),
                                   fi.prototype.update.apply(t, arguments)
                              );
                         },
                         getRightValue: function (t) {
                              return t && void 0 !== t.t && (t = t.t), fi.prototype.getRightValue.call(this, t);
                         },
                         determineDataLimits: function () {
                              var t,
                                   e,
                                   i,
                                   n,
                                   r,
                                   o,
                                   a,
                                   s = this,
                                   l = s.chart,
                                   c = s._adapter,
                                   u = s.options,
                                   h = u.time.unit || "day",
                                   d = Xi,
                                   p = $i,
                                   f = [],
                                   m = [],
                                   g = [],
                                   v = s._getLabels();
                              for (t = 0, i = v.length; t < i; ++t) g.push(nn(s, v[t]));
                              for (t = 0, i = (l.data.datasets || []).length; t < i; ++t)
                                   if (l.isDatasetVisible(t))
                                        if (((r = l.data.datasets[t].data), N.isObject(r[0]))) for (m[t] = [], e = 0, n = r.length; e < n; ++e) (o = nn(s, r[e])), f.push(o), (m[t][e] = o);
                                        else (m[t] = g.slice(0)), a || ((f = f.concat(g)), (a = !0));
                                   else m[t] = [];
                              g.length && ((d = Math.min(d, g[0])), (p = Math.max(p, g[g.length - 1]))),
                                   f.length &&
                                        ((f =
                                             i > 1
                                                  ? (function (t) {
                                                         var e,
                                                              i,
                                                              n,
                                                              r = {},
                                                              o = [];
                                                         for (e = 0, i = t.length; e < i; ++e) r[(n = t[e])] || ((r[n] = !0), o.push(n));
                                                         return o;
                                                    })(f).sort(Ji)
                                                  : f.sort(Ji)),
                                        (d = Math.min(d, f[0])),
                                        (p = Math.max(p, f[f.length - 1]))),
                                   (d = nn(s, Ki(u)) || d),
                                   (p = nn(s, Qi(u)) || p),
                                   (d = d === Xi ? +c.startOf(Date.now(), h) : d),
                                   (p = p === $i ? +c.endOf(Date.now(), h) + 1 : p),
                                   (s.min = Math.min(d, p)),
                                   (s.max = Math.max(d + 1, p)),
                                   (s._table = []),
                                   (s._timestamps = { data: f, datasets: m, labels: g });
                         },
                         buildTicks: function () {
                              var t,
                                   e,
                                   i,
                                   n = this,
                                   r = n.min,
                                   o = n.max,
                                   a = n.options,
                                   s = a.ticks,
                                   l = a.time,
                                   c = n._timestamps,
                                   u = [],
                                   h = n.getLabelCapacity(r),
                                   d = s.source,
                                   p = a.distribution;
                              for (
                                   c =
                                        "data" === d || ("auto" === d && "series" === p)
                                             ? c.data
                                             : "labels" === d
                                             ? c.labels
                                             : (function (t, e, i, n) {
                                                    var r,
                                                         o = t._adapter,
                                                         a = t.options,
                                                         s = a.time,
                                                         l = s.unit || rn(s.minUnit, e, i, n),
                                                         c = Ui([s.stepSize, s.unitStepSize, 1]),
                                                         u = "week" === l && s.isoWeekday,
                                                         h = e,
                                                         d = [];
                                                    if ((u && (h = +o.startOf(h, "isoWeek", u)), (h = +o.startOf(h, u ? "day" : l)), o.diff(i, e, l) > 1e5 * c)) throw e + " and " + i + " are too far apart with stepSize of " + c + " " + l;
                                                    for (r = h; r < i; r = +o.add(r, c, l)) d.push(r);
                                                    return (r !== i && "ticks" !== a.bounds) || d.push(r), d;
                                               })(n, r, o, h),
                                        "ticks" === a.bounds && c.length && ((r = c[0]), (o = c[c.length - 1])),
                                        r = nn(n, Ki(a)) || r,
                                        o = nn(n, Qi(a)) || o,
                                        t = 0,
                                        e = c.length;
                                   t < e;
                                   ++t
                              )
                                   (i = c[t]) >= r && i <= o && u.push(i);
                              return (
                                   (n.min = r),
                                   (n.max = o),
                                   (n._unit =
                                        l.unit ||
                                        (s.autoSkip
                                             ? rn(l.minUnit, n.min, n.max, h)
                                             : (function (t, e, i, n, r) {
                                                    var o, a;
                                                    for (o = Zi.length - 1; o >= Zi.indexOf(i); o--) if (((a = Zi[o]), Gi[a].common && t._adapter.diff(r, n, a) >= e - 1)) return a;
                                                    return Zi[i ? Zi.indexOf(i) : 0];
                                               })(n, u.length, l.minUnit, n.min, n.max))),
                                   (n._majorUnit =
                                        s.major.enabled && "year" !== n._unit
                                             ? (function (t) {
                                                    for (var e = Zi.indexOf(t) + 1, i = Zi.length; e < i; ++e) if (Gi[Zi[e]].common) return Zi[e];
                                               })(n._unit)
                                             : void 0),
                                   (n._table = (function (t, e, i, n) {
                                        if ("linear" === n || !t.length)
                                             return [
                                                  { time: e, pos: 0 },
                                                  { time: i, pos: 1 },
                                             ];
                                        var r,
                                             o,
                                             a,
                                             s,
                                             l,
                                             c = [],
                                             u = [e];
                                        for (r = 0, o = t.length; r < o; ++r) (s = t[r]) > e && s < i && u.push(s);
                                        for (u.push(i), r = 0, o = u.length; r < o; ++r) (l = u[r + 1]), (a = u[r - 1]), (s = u[r]), (void 0 !== a && void 0 !== l && Math.round((l + a) / 2) === s) || c.push({ time: s, pos: r / (o - 1) });
                                        return c;
                                   })(n._timestamps.data, r, o, p)),
                                   (n._offsets = (function (t, e, i, n, r) {
                                        var o,
                                             a,
                                             s = 0,
                                             l = 0;
                                        return (
                                             r.offset &&
                                                  e.length &&
                                                  ((o = tn(t, "time", e[0], "pos")),
                                                  (s = 1 === e.length ? 1 - o : (tn(t, "time", e[1], "pos") - o) / 2),
                                                  (a = tn(t, "time", e[e.length - 1], "pos")),
                                                  (l = 1 === e.length ? a : (a - tn(t, "time", e[e.length - 2], "pos")) / 2)),
                                             { start: s, end: l, factor: 1 / (s + 1 + l) }
                                        );
                                   })(n._table, u, 0, 0, a)),
                                   s.reverse && u.reverse(),
                                   on(n, u, n._majorUnit)
                              );
                         },
                         getLabelForIndex: function (t, e) {
                              var i = this,
                                   n = i._adapter,
                                   r = i.chart.data,
                                   o = i.options.time,
                                   a = r.labels && t < r.labels.length ? r.labels[t] : "",
                                   s = r.datasets[e].data[t];
                              return N.isObject(s) && (a = i.getRightValue(s)), o.tooltipFormat ? n.format(en(i, a), o.tooltipFormat) : "string" == typeof a ? a : n.format(en(i, a), o.displayFormats.datetime);
                         },
                         tickFormatFunction: function (t, e, i, n) {
                              var r = this._adapter,
                                   o = this.options,
                                   a = o.time.displayFormats,
                                   s = a[this._unit],
                                   l = this._majorUnit,
                                   c = a[l],
                                   u = i[e],
                                   h = o.ticks,
                                   d = l && c && u && u.major,
                                   p = r.format(t, n || (d ? c : s)),
                                   f = d ? h.major : h.minor,
                                   m = Ui([f.callback, f.userCallback, h.callback, h.userCallback]);
                              return m ? m(p, e, i) : p;
                         },
                         convertTicksToLabels: function (t) {
                              var e,
                                   i,
                                   n = [];
                              for (e = 0, i = t.length; e < i; ++e) n.push(this.tickFormatFunction(t[e].value, e, t));
                              return n;
                         },
                         getPixelForOffset: function (t) {
                              var e = this._offsets,
                                   i = tn(this._table, "time", t, "pos");
                              return this.getPixelForDecimal((e.start + i) * e.factor);
                         },
                         getPixelForValue: function (t, e, i) {
                              var n = null;
                              if ((void 0 !== e && void 0 !== i && (n = this._timestamps.datasets[i][e]), null === n && (n = nn(this, t)), null !== n)) return this.getPixelForOffset(n);
                         },
                         getPixelForTick: function (t) {
                              var e = this.getTicks();
                              return t >= 0 && t < e.length ? this.getPixelForOffset(e[t].value) : null;
                         },
                         getValueForPixel: function (t) {
                              var e = this._offsets,
                                   i = this.getDecimalForPixel(t) / e.factor - e.end,
                                   n = tn(this._table, "pos", i, "time");
                              return this._adapter._create(n);
                         },
                         _getLabelSize: function (t) {
                              var e = this.options.ticks,
                                   i = this.ctx.measureText(t).width,
                                   n = N.toRadians(this.isHorizontal() ? e.maxRotation : e.minRotation),
                                   r = Math.cos(n),
                                   o = Math.sin(n),
                                   a = qi(e.fontSize, z.global.defaultFontSize);
                              return { w: i * r + a * o, h: i * o + a * r };
                         },
                         getLabelWidth: function (t) {
                              return this._getLabelSize(t).w;
                         },
                         getLabelCapacity: function (t) {
                              var e = this,
                                   i = e.options.time,
                                   n = i.displayFormats,
                                   r = n[i.unit] || n.millisecond,
                                   o = e.tickFormatFunction(t, 0, on(e, [t], e._majorUnit), r),
                                   a = e._getLabelSize(o),
                                   s = Math.floor(e.isHorizontal() ? e.width / a.w : e.height / a.h);
                              return e.options.offset && s--, s > 0 ? s : 1;
                         },
                    }),
                    sn = {
                         position: "bottom",
                         distribution: "linear",
                         bounds: "data",
                         adapters: {},
                         time: { parser: !1, unit: !1, round: !1, displayFormat: !1, isoWeekday: !1, minUnit: "millisecond", displayFormats: {} },
                         ticks: { autoSkip: !1, source: "auto", major: { enabled: !1 } },
                    };
               an._defaults = sn;
               var ln = { category: gi, linear: Si, logarithmic: Ei, radialLinear: Bi, time: an },
                    cn = { datetime: "MMM D, YYYY, h:mm:ss a", millisecond: "h:mm:ss.SSS a", second: "h:mm:ss a", minute: "h:mm a", hour: "hA", day: "MMM D", week: "ll", month: "MMM YYYY", quarter: "[Q]Q - YYYY", year: "YYYY" };
               Qe._date.override(
                    "function" == typeof t
                         ? {
                                _id: "moment",
                                formats: function () {
                                     return cn;
                                },
                                parse: function (e, i) {
                                     return "string" == typeof e && "string" == typeof i ? (e = t(e, i)) : e instanceof t || (e = t(e)), e.isValid() ? e.valueOf() : null;
                                },
                                format: function (e, i) {
                                     return t(e).format(i);
                                },
                                add: function (e, i, n) {
                                     return t(e).add(i, n).valueOf();
                                },
                                diff: function (e, i, n) {
                                     return t(e).diff(t(i), n);
                                },
                                startOf: function (e, i, n) {
                                     return (e = t(e)), "isoWeek" === i ? e.isoWeekday(n).valueOf() : e.startOf(i).valueOf();
                                },
                                endOf: function (e, i) {
                                     return t(e).endOf(i).valueOf();
                                },
                                _create: function (e) {
                                     return t(e);
                                },
                           }
                         : {}
               ),
                    z._set("global", { plugins: { filler: { propagate: !0 } } });
               var un = {
                    dataset: function (t) {
                         var e = t.fill,
                              i = t.chart,
                              n = i.getDatasetMeta(e),
                              r = (n && i.isDatasetVisible(e) && n.dataset._children) || [],
                              o = r.length || 0;
                         return o
                              ? function (t, e) {
                                     return (e < o && r[e]._view) || null;
                                }
                              : null;
                    },
                    boundary: function (t) {
                         var e = t.boundary,
                              i = e ? e.x : null,
                              n = e ? e.y : null;
                         return N.isArray(e)
                              ? function (t, i) {
                                     return e[i];
                                }
                              : function (t) {
                                     return { x: null === i ? t.x : i, y: null === n ? t.y : n };
                                };
                    },
               };
               function hn(t, e, i) {
                    var n,
                         r = t._model || {},
                         o = r.fill;
                    if ((void 0 === o && (o = !!r.backgroundColor), !1 === o || null === o)) return !1;
                    if (!0 === o) return "origin";
                    if (((n = parseFloat(o, 10)), isFinite(n) && Math.floor(n) === n)) return ("-" !== o[0] && "+" !== o[0]) || (n = e + n), !(n === e || n < 0 || n >= i) && n;
                    switch (o) {
                         case "bottom":
                              return "start";
                         case "top":
                              return "end";
                         case "zero":
                              return "origin";
                         case "origin":
                         case "start":
                         case "end":
                              return o;
                         default:
                              return !1;
                    }
               }
               function dn(t) {
                    return (t.el._scale || {}).getPointPositionForValue
                         ? (function (t) {
                                var e,
                                     i,
                                     n,
                                     r,
                                     o,
                                     a = t.el._scale,
                                     s = a.options,
                                     l = a.chart.data.labels.length,
                                     c = t.fill,
                                     u = [];
                                if (!l) return null;
                                for (e = s.ticks.reverse ? a.max : a.min, i = s.ticks.reverse ? a.min : a.max, n = a.getPointPositionForValue(0, e), r = 0; r < l; ++r)
                                     (o = "start" === c || "end" === c ? a.getPointPositionForValue(r, "start" === c ? e : i) : a.getBasePosition(r)),
                                          s.gridLines.circular && ((o.cx = n.x), (o.cy = n.y), (o.angle = a.getIndexAngle(r) - Math.PI / 2)),
                                          u.push(o);
                                return u;
                           })(t)
                         : (function (t) {
                                var e,
                                     i = t.el._model || {},
                                     n = t.el._scale || {},
                                     r = t.fill,
                                     o = null;
                                if (isFinite(r)) return null;
                                if (
                                     ("start" === r
                                          ? (o = void 0 === i.scaleBottom ? n.bottom : i.scaleBottom)
                                          : "end" === r
                                          ? (o = void 0 === i.scaleTop ? n.top : i.scaleTop)
                                          : void 0 !== i.scaleZero
                                          ? (o = i.scaleZero)
                                          : n.getBasePixel && (o = n.getBasePixel()),
                                     null != o)
                                ) {
                                     if (void 0 !== o.x && void 0 !== o.y) return o;
                                     if (N.isFinite(o)) return { x: (e = n.isHorizontal()) ? o : null, y: e ? null : o };
                                }
                                return null;
                           })(t);
               }
               function pn(t, e, i) {
                    var n,
                         r = t[e].fill,
                         o = [e];
                    if (!i) return r;
                    for (; !1 !== r && -1 === o.indexOf(r); ) {
                         if (!isFinite(r)) return r;
                         if (!(n = t[r])) return !1;
                         if (n.visible) return r;
                         o.push(r), (r = n.fill);
                    }
                    return !1;
               }
               function fn(t) {
                    var e = t.fill,
                         i = "dataset";
                    return !1 === e ? null : (isFinite(e) || (i = "boundary"), un[i](t));
               }
               function mn(t) {
                    return t && !t.skip;
               }
               function gn(t, e, i, n, r) {
                    var o, a, s, l;
                    if (n && r) {
                         for (t.moveTo(e[0].x, e[0].y), o = 1; o < n; ++o) N.canvas.lineTo(t, e[o - 1], e[o]);
                         if (void 0 === i[0].angle) for (t.lineTo(i[r - 1].x, i[r - 1].y), o = r - 1; o > 0; --o) N.canvas.lineTo(t, i[o], i[o - 1], !0);
                         else for (a = i[0].cx, s = i[0].cy, l = Math.sqrt(Math.pow(i[0].x - a, 2) + Math.pow(i[0].y - s, 2)), o = r - 1; o > 0; --o) t.arc(a, s, l, i[o].angle, i[o - 1].angle, !0);
                    }
               }
               function vn(t, e, i, n, r, o) {
                    var a,
                         s,
                         l,
                         c,
                         u,
                         h,
                         d,
                         p,
                         f = e.length,
                         m = n.spanGaps,
                         g = [],
                         v = [],
                         y = 0,
                         b = 0;
                    for (t.beginPath(), a = 0, s = f; a < s; ++a)
                         (u = i((c = e[(l = a % f)]._view), l, n)),
                              (h = mn(c)),
                              (d = mn(u)),
                              o && void 0 === p && h && (s = f + (p = a + 1)),
                              h && d ? ((y = g.push(c)), (b = v.push(u))) : y && b && (m ? (h && g.push(c), d && v.push(u)) : (gn(t, g, v, y, b), (y = b = 0), (g = []), (v = [])));
                    gn(t, g, v, y, b), t.closePath(), (t.fillStyle = r), t.fill();
               }
               var yn = {
                         id: "filler",
                         afterDatasetsUpdate: function (t, e) {
                              var i,
                                   n,
                                   r,
                                   o,
                                   a = (t.data.datasets || []).length,
                                   s = e.propagate,
                                   l = [];
                              for (n = 0; n < a; ++n)
                                   (o = null), (r = (i = t.getDatasetMeta(n)).dataset) && r._model && r instanceof xt.Line && (o = { visible: t.isDatasetVisible(n), fill: hn(r, n, a), chart: t, el: r }), (i.$filler = o), l.push(o);
                              for (n = 0; n < a; ++n) (o = l[n]) && ((o.fill = pn(l, n, s)), (o.boundary = dn(o)), (o.mapper = fn(o)));
                         },
                         beforeDatasetsDraw: function (t) {
                              var e,
                                   i,
                                   n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l = t._getSortedVisibleDatasetMetas(),
                                   c = t.ctx;
                              for (i = l.length - 1; i >= 0; --i)
                                   (e = l[i].$filler) &&
                                        e.visible &&
                                        ((r = (n = e.el)._view),
                                        (o = n._children || []),
                                        (a = e.mapper),
                                        (s = r.backgroundColor || z.global.defaultColor),
                                        a && s && o.length && (N.canvas.clipArea(c, t.chartArea), vn(c, o, a, r, s, n._loop), N.canvas.unclipArea(c)));
                         },
                    },
                    bn = N.rtl.getRtlAdapter,
                    _n = N.noop,
                    xn = N.valueOrDefault;
               function wn(t, e) {
                    return t.usePointStyle && t.boxWidth > e ? e : t.boxWidth;
               }
               z._set("global", {
                    legend: {
                         display: !0,
                         position: "top",
                         align: "center",
                         fullWidth: !0,
                         reverse: !1,
                         weight: 1e3,
                         onClick: function (t, e) {
                              var i = e.datasetIndex,
                                   n = this.chart,
                                   r = n.getDatasetMeta(i);
                              (r.hidden = null === r.hidden ? !n.data.datasets[i].hidden : null), n.update();
                         },
                         onHover: null,
                         onLeave: null,
                         labels: {
                              boxWidth: 40,
                              padding: 10,
                              generateLabels: function (t) {
                                   var e = t.data.datasets,
                                        i = t.options.legend || {},
                                        n = i.labels && i.labels.usePointStyle;
                                   return t._getSortedDatasetMetas().map(function (i) {
                                        var r = i.controller.getStyle(n ? 0 : void 0);
                                        return {
                                             text: e[i.index].label,
                                             fillStyle: r.backgroundColor,
                                             hidden: !t.isDatasetVisible(i.index),
                                             lineCap: r.borderCapStyle,
                                             lineDash: r.borderDash,
                                             lineDashOffset: r.borderDashOffset,
                                             lineJoin: r.borderJoinStyle,
                                             lineWidth: r.borderWidth,
                                             strokeStyle: r.borderColor,
                                             pointStyle: r.pointStyle,
                                             rotation: r.rotation,
                                             datasetIndex: i.index,
                                        };
                                   }, this);
                              },
                         },
                    },
                    legendCallback: function (t) {
                         var e,
                              i,
                              n,
                              r = document.createElement("ul"),
                              o = t.data.datasets;
                         for (r.setAttribute("class", t.id + "-legend"), e = 0, i = o.length; e < i; e++)
                              ((n = r.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor = o[e].backgroundColor), o[e].label && n.appendChild(document.createTextNode(o[e].label));
                         return r.outerHTML;
                    },
               });
               var kn = X.extend({
                    initialize: function (t) {
                         N.extend(this, t), (this.legendHitBoxes = []), (this._hoveredItem = null), (this.doughnutMode = !1);
                    },
                    beforeUpdate: _n,
                    update: function (t, e, i) {
                         var n = this;
                         return (
                              n.beforeUpdate(),
                              (n.maxWidth = t),
                              (n.maxHeight = e),
                              (n.margins = i),
                              n.beforeSetDimensions(),
                              n.setDimensions(),
                              n.afterSetDimensions(),
                              n.beforeBuildLabels(),
                              n.buildLabels(),
                              n.afterBuildLabels(),
                              n.beforeFit(),
                              n.fit(),
                              n.afterFit(),
                              n.afterUpdate(),
                              n.minSize
                         );
                    },
                    afterUpdate: _n,
                    beforeSetDimensions: _n,
                    setDimensions: function () {
                         var t = this;
                         t.isHorizontal() ? ((t.width = t.maxWidth), (t.left = 0), (t.right = t.width)) : ((t.height = t.maxHeight), (t.top = 0), (t.bottom = t.height)),
                              (t.paddingLeft = 0),
                              (t.paddingTop = 0),
                              (t.paddingRight = 0),
                              (t.paddingBottom = 0),
                              (t.minSize = { width: 0, height: 0 });
                    },
                    afterSetDimensions: _n,
                    beforeBuildLabels: _n,
                    buildLabels: function () {
                         var t = this,
                              e = t.options.labels || {},
                              i = N.callback(e.generateLabels, [t.chart], t) || [];
                         e.filter &&
                              (i = i.filter(function (i) {
                                   return e.filter(i, t.chart.data);
                              })),
                              t.options.reverse && i.reverse(),
                              (t.legendItems = i);
                    },
                    afterBuildLabels: _n,
                    beforeFit: _n,
                    fit: function () {
                         var t = this,
                              e = t.options,
                              i = e.labels,
                              n = e.display,
                              r = t.ctx,
                              o = N.options._parseFont(i),
                              a = o.size,
                              s = (t.legendHitBoxes = []),
                              l = t.minSize,
                              c = t.isHorizontal();
                         if ((c ? ((l.width = t.maxWidth), (l.height = n ? 10 : 0)) : ((l.width = n ? 10 : 0), (l.height = t.maxHeight)), n)) {
                              if (((r.font = o.string), c)) {
                                   var u = (t.lineWidths = [0]),
                                        h = 0;
                                   (r.textAlign = "left"),
                                        (r.textBaseline = "middle"),
                                        N.each(t.legendItems, function (t, e) {
                                             var n = wn(i, a) + a / 2 + r.measureText(t.text).width;
                                             (0 === e || u[u.length - 1] + n + 2 * i.padding > l.width) && ((h += a + i.padding), (u[u.length - (e > 0 ? 0 : 1)] = 0)),
                                                  (s[e] = { left: 0, top: 0, width: n, height: a }),
                                                  (u[u.length - 1] += n + i.padding);
                                        }),
                                        (l.height += h);
                              } else {
                                   var d = i.padding,
                                        p = (t.columnWidths = []),
                                        f = (t.columnHeights = []),
                                        m = i.padding,
                                        g = 0,
                                        v = 0;
                                   N.each(t.legendItems, function (t, e) {
                                        var n = wn(i, a) + a / 2 + r.measureText(t.text).width;
                                        e > 0 && v + a + 2 * d > l.height && ((m += g + i.padding), p.push(g), f.push(v), (g = 0), (v = 0)), (g = Math.max(g, n)), (v += a + d), (s[e] = { left: 0, top: 0, width: n, height: a });
                                   }),
                                        (m += g),
                                        p.push(g),
                                        f.push(v),
                                        (l.width += m);
                              }
                              (t.width = l.width), (t.height = l.height);
                         } else t.width = l.width = t.height = l.height = 0;
                    },
                    afterFit: _n,
                    isHorizontal: function () {
                         return "top" === this.options.position || "bottom" === this.options.position;
                    },
                    draw: function () {
                         var t = this,
                              e = t.options,
                              i = e.labels,
                              n = z.global,
                              r = n.defaultColor,
                              o = n.elements.line,
                              a = t.height,
                              s = t.columnHeights,
                              l = t.width,
                              c = t.lineWidths;
                         if (e.display) {
                              var u,
                                   h = bn(e.rtl, t.left, t.minSize.width),
                                   d = t.ctx,
                                   p = xn(i.fontColor, n.defaultFontColor),
                                   f = N.options._parseFont(i),
                                   m = f.size;
                              (d.textAlign = h.textAlign("left")), (d.textBaseline = "middle"), (d.lineWidth = 0.5), (d.strokeStyle = p), (d.fillStyle = p), (d.font = f.string);
                              var g = wn(i, m),
                                   v = t.legendHitBoxes,
                                   y = function (t, n) {
                                        switch (e.align) {
                                             case "start":
                                                  return i.padding;
                                             case "end":
                                                  return t - n;
                                             default:
                                                  return (t - n + i.padding) / 2;
                                        }
                                   },
                                   b = t.isHorizontal();
                              (u = b ? { x: t.left + y(l, c[0]), y: t.top + i.padding, line: 0 } : { x: t.left + i.padding, y: t.top + y(a, s[0]), line: 0 }), N.rtl.overrideTextDirection(t.ctx, e.textDirection);
                              var _ = m + i.padding;
                              N.each(t.legendItems, function (e, n) {
                                   var p = d.measureText(e.text).width,
                                        f = g + m / 2 + p,
                                        x = u.x,
                                        w = u.y;
                                   h.setWidth(t.minSize.width),
                                        b
                                             ? n > 0 && x + f + i.padding > t.left + t.minSize.width && ((w = u.y += _), u.line++, (x = u.x = t.left + y(l, c[u.line])))
                                             : n > 0 && w + _ > t.top + t.minSize.height && ((x = u.x = x + t.columnWidths[u.line] + i.padding), u.line++, (w = u.y = t.top + y(a, s[u.line])));
                                   var k = h.x(x);
                                   !(function (t, e, n) {
                                        if (!(isNaN(g) || g <= 0)) {
                                             d.save();
                                             var a = xn(n.lineWidth, o.borderWidth);
                                             if (
                                                  ((d.fillStyle = xn(n.fillStyle, r)),
                                                  (d.lineCap = xn(n.lineCap, o.borderCapStyle)),
                                                  (d.lineDashOffset = xn(n.lineDashOffset, o.borderDashOffset)),
                                                  (d.lineJoin = xn(n.lineJoin, o.borderJoinStyle)),
                                                  (d.lineWidth = a),
                                                  (d.strokeStyle = xn(n.strokeStyle, r)),
                                                  d.setLineDash && d.setLineDash(xn(n.lineDash, o.borderDash)),
                                                  i && i.usePointStyle)
                                             ) {
                                                  var s = (g * Math.SQRT2) / 2,
                                                       l = h.xPlus(t, g / 2),
                                                       c = e + m / 2;
                                                  N.canvas.drawPoint(d, n.pointStyle, s, l, c, n.rotation);
                                             } else d.fillRect(h.leftForLtr(t, g), e, g, m), 0 !== a && d.strokeRect(h.leftForLtr(t, g), e, g, m);
                                             d.restore();
                                        }
                                   })(k, w, e),
                                        (v[n].left = h.leftForLtr(k, v[n].width)),
                                        (v[n].top = w),
                                        (function (t, e, i, n) {
                                             var r = m / 2,
                                                  o = h.xPlus(t, g + r),
                                                  a = e + r;
                                             d.fillText(i.text, o, a), i.hidden && (d.beginPath(), (d.lineWidth = 2), d.moveTo(o, a), d.lineTo(h.xPlus(o, n), a), d.stroke());
                                        })(k, w, e, p),
                                        b ? (u.x += f + i.padding) : (u.y += _);
                              }),
                                   N.rtl.restoreTextDirection(t.ctx, e.textDirection);
                         }
                    },
                    _getLegendItemAt: function (t, e) {
                         var i,
                              n,
                              r,
                              o = this;
                         if (t >= o.left && t <= o.right && e >= o.top && e <= o.bottom)
                              for (r = o.legendHitBoxes, i = 0; i < r.length; ++i) if (t >= (n = r[i]).left && t <= n.left + n.width && e >= n.top && e <= n.top + n.height) return o.legendItems[i];
                         return null;
                    },
                    handleEvent: function (t) {
                         var e,
                              i = this,
                              n = i.options,
                              r = "mouseup" === t.type ? "click" : t.type;
                         if ("mousemove" === r) {
                              if (!n.onHover && !n.onLeave) return;
                         } else {
                              if ("click" !== r) return;
                              if (!n.onClick) return;
                         }
                         (e = i._getLegendItemAt(t.x, t.y)),
                              "click" === r
                                   ? e && n.onClick && n.onClick.call(i, t.native, e)
                                   : (n.onLeave && e !== i._hoveredItem && (i._hoveredItem && n.onLeave.call(i, t.native, i._hoveredItem), (i._hoveredItem = e)), n.onHover && e && n.onHover.call(i, t.native, e));
                    },
               });
               function Sn(t, e) {
                    var i = new kn({ ctx: t.ctx, options: e, chart: t });
                    fe.configure(t, i, e), fe.addBox(t, i), (t.legend = i);
               }
               var Mn = {
                         id: "legend",
                         _element: kn,
                         beforeInit: function (t) {
                              var e = t.options.legend;
                              e && Sn(t, e);
                         },
                         beforeUpdate: function (t) {
                              var e = t.options.legend,
                                   i = t.legend;
                              e ? (N.mergeIf(e, z.global.legend), i ? (fe.configure(t, i, e), (i.options = e)) : Sn(t, e)) : i && (fe.removeBox(t, i), delete t.legend);
                         },
                         afterEvent: function (t, e) {
                              var i = t.legend;
                              i && i.handleEvent(e);
                         },
                    },
                    Tn = N.noop;
               z._set("global", { title: { display: !1, fontStyle: "bold", fullWidth: !0, padding: 10, position: "top", text: "", weight: 2e3 } });
               var Cn = X.extend({
                    initialize: function (t) {
                         N.extend(this, t), (this.legendHitBoxes = []);
                    },
                    beforeUpdate: Tn,
                    update: function (t, e, i) {
                         var n = this;
                         return (
                              n.beforeUpdate(),
                              (n.maxWidth = t),
                              (n.maxHeight = e),
                              (n.margins = i),
                              n.beforeSetDimensions(),
                              n.setDimensions(),
                              n.afterSetDimensions(),
                              n.beforeBuildLabels(),
                              n.buildLabels(),
                              n.afterBuildLabels(),
                              n.beforeFit(),
                              n.fit(),
                              n.afterFit(),
                              n.afterUpdate(),
                              n.minSize
                         );
                    },
                    afterUpdate: Tn,
                    beforeSetDimensions: Tn,
                    setDimensions: function () {
                         var t = this;
                         t.isHorizontal() ? ((t.width = t.maxWidth), (t.left = 0), (t.right = t.width)) : ((t.height = t.maxHeight), (t.top = 0), (t.bottom = t.height)),
                              (t.paddingLeft = 0),
                              (t.paddingTop = 0),
                              (t.paddingRight = 0),
                              (t.paddingBottom = 0),
                              (t.minSize = { width: 0, height: 0 });
                    },
                    afterSetDimensions: Tn,
                    beforeBuildLabels: Tn,
                    buildLabels: Tn,
                    afterBuildLabels: Tn,
                    beforeFit: Tn,
                    fit: function () {
                         var t,
                              e = this,
                              i = e.options,
                              n = (e.minSize = {}),
                              r = e.isHorizontal();
                         i.display
                              ? ((t = (N.isArray(i.text) ? i.text.length : 1) * N.options._parseFont(i).lineHeight + 2 * i.padding), (e.width = n.width = r ? e.maxWidth : t), (e.height = n.height = r ? t : e.maxHeight))
                              : (e.width = n.width = e.height = n.height = 0);
                    },
                    afterFit: Tn,
                    isHorizontal: function () {
                         var t = this.options.position;
                         return "top" === t || "bottom" === t;
                    },
                    draw: function () {
                         var t = this,
                              e = t.ctx,
                              i = t.options;
                         if (i.display) {
                              var n,
                                   r,
                                   o,
                                   a = N.options._parseFont(i),
                                   s = a.lineHeight,
                                   l = s / 2 + i.padding,
                                   c = 0,
                                   u = t.top,
                                   h = t.left,
                                   d = t.bottom,
                                   p = t.right;
                              (e.fillStyle = N.valueOrDefault(i.fontColor, z.global.defaultFontColor)),
                                   (e.font = a.string),
                                   t.isHorizontal()
                                        ? ((r = h + (p - h) / 2), (o = u + l), (n = p - h))
                                        : ((r = "left" === i.position ? h + l : p - l), (o = u + (d - u) / 2), (n = d - u), (c = Math.PI * ("left" === i.position ? -0.5 : 0.5))),
                                   e.save(),
                                   e.translate(r, o),
                                   e.rotate(c),
                                   (e.textAlign = "center"),
                                   (e.textBaseline = "middle");
                              var f = i.text;
                              if (N.isArray(f)) for (var m = 0, g = 0; g < f.length; ++g) e.fillText(f[g], 0, m, n), (m += s);
                              else e.fillText(f, 0, 0, n);
                              e.restore();
                         }
                    },
               });
               function Dn(t, e) {
                    var i = new Cn({ ctx: t.ctx, options: e, chart: t });
                    fe.configure(t, i, e), fe.addBox(t, i), (t.titleBlock = i);
               }
               var Ln = {},
                    En = yn,
                    An = Mn,
                    Pn = {
                         id: "title",
                         _element: Cn,
                         beforeInit: function (t) {
                              var e = t.options.title;
                              e && Dn(t, e);
                         },
                         beforeUpdate: function (t) {
                              var e = t.options.title,
                                   i = t.titleBlock;
                              e ? (N.mergeIf(e, z.global.title), i ? (fe.configure(t, i, e), (i.options = e)) : Dn(t, e)) : i && (fe.removeBox(t, i), delete t.titleBlock);
                         },
                    };
               for (var In in ((Ln.filler = En),
               (Ln.legend = An),
               (Ln.title = Pn),
               (Ze.helpers = N),
               (function () {
                    function t(t, e, i) {
                         var n;
                         return "string" == typeof t ? ((n = parseInt(t, 10)), -1 !== t.indexOf("%") && (n = (n / 100) * e.parentNode[i])) : (n = t), n;
                    }
                    function e(t) {
                         return null != t && "none" !== t;
                    }
                    function i(i, n, r) {
                         var o = document.defaultView,
                              a = N._getParentNode(i),
                              s = o.getComputedStyle(i)[n],
                              l = o.getComputedStyle(a)[n],
                              c = e(s),
                              u = e(l),
                              h = Number.POSITIVE_INFINITY;
                         return c || u ? Math.min(c ? t(s, i, r) : h, u ? t(l, a, r) : h) : "none";
                    }
                    (N.where = function (t, e) {
                         if (N.isArray(t) && Array.prototype.filter) return t.filter(e);
                         var i = [];
                         return (
                              N.each(t, function (t) {
                                   e(t) && i.push(t);
                              }),
                              i
                         );
                    }),
                         (N.findIndex = Array.prototype.findIndex
                              ? function (t, e, i) {
                                     return t.findIndex(e, i);
                                }
                              : function (t, e, i) {
                                     i = void 0 === i ? t : i;
                                     for (var n = 0, r = t.length; n < r; ++n) if (e.call(i, t[n], n, t)) return n;
                                     return -1;
                                }),
                         (N.findNextWhere = function (t, e, i) {
                              N.isNullOrUndef(i) && (i = -1);
                              for (var n = i + 1; n < t.length; n++) {
                                   var r = t[n];
                                   if (e(r)) return r;
                              }
                         }),
                         (N.findPreviousWhere = function (t, e, i) {
                              N.isNullOrUndef(i) && (i = t.length);
                              for (var n = i - 1; n >= 0; n--) {
                                   var r = t[n];
                                   if (e(r)) return r;
                              }
                         }),
                         (N.isNumber = function (t) {
                              return !isNaN(parseFloat(t)) && isFinite(t);
                         }),
                         (N.almostEquals = function (t, e, i) {
                              return Math.abs(t - e) < i;
                         }),
                         (N.almostWhole = function (t, e) {
                              var i = Math.round(t);
                              return i - e <= t && i + e >= t;
                         }),
                         (N.max = function (t) {
                              return t.reduce(function (t, e) {
                                   return isNaN(e) ? t : Math.max(t, e);
                              }, Number.NEGATIVE_INFINITY);
                         }),
                         (N.min = function (t) {
                              return t.reduce(function (t, e) {
                                   return isNaN(e) ? t : Math.min(t, e);
                              }, Number.POSITIVE_INFINITY);
                         }),
                         (N.sign = Math.sign
                              ? function (t) {
                                     return Math.sign(t);
                                }
                              : function (t) {
                                     return 0 == (t = +t) || isNaN(t) ? t : t > 0 ? 1 : -1;
                                }),
                         (N.toRadians = function (t) {
                              return t * (Math.PI / 180);
                         }),
                         (N.toDegrees = function (t) {
                              return t * (180 / Math.PI);
                         }),
                         (N._decimalPlaces = function (t) {
                              if (N.isFinite(t)) {
                                   for (var e = 1, i = 0; Math.round(t * e) / e !== t; ) (e *= 10), i++;
                                   return i;
                              }
                         }),
                         (N.getAngleFromPoint = function (t, e) {
                              var i = e.x - t.x,
                                   n = e.y - t.y,
                                   r = Math.sqrt(i * i + n * n),
                                   o = Math.atan2(n, i);
                              return o < -0.5 * Math.PI && (o += 2 * Math.PI), { angle: o, distance: r };
                         }),
                         (N.distanceBetweenPoints = function (t, e) {
                              return Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2));
                         }),
                         (N.aliasPixel = function (t) {
                              return t % 2 == 0 ? 0 : 0.5;
                         }),
                         (N._alignPixel = function (t, e, i) {
                              var n = t.currentDevicePixelRatio,
                                   r = i / 2;
                              return Math.round((e - r) * n) / n + r;
                         }),
                         (N.splineCurve = function (t, e, i, n) {
                              var r = t.skip ? e : t,
                                   o = e,
                                   a = i.skip ? e : i,
                                   s = Math.sqrt(Math.pow(o.x - r.x, 2) + Math.pow(o.y - r.y, 2)),
                                   l = Math.sqrt(Math.pow(a.x - o.x, 2) + Math.pow(a.y - o.y, 2)),
                                   c = s / (s + l),
                                   u = l / (s + l),
                                   h = n * (c = isNaN(c) ? 0 : c),
                                   d = n * (u = isNaN(u) ? 0 : u);
                              return { previous: { x: o.x - h * (a.x - r.x), y: o.y - h * (a.y - r.y) }, next: { x: o.x + d * (a.x - r.x), y: o.y + d * (a.y - r.y) } };
                         }),
                         (N.EPSILON = Number.EPSILON || 1e-14),
                         (N.splineCurveMonotone = function (t) {
                              var e,
                                   i,
                                   n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c,
                                   u = (t || []).map(function (t) {
                                        return { model: t._model, deltaK: 0, mK: 0 };
                                   }),
                                   h = u.length;
                              for (e = 0; e < h; ++e)
                                   if (!(n = u[e]).model.skip) {
                                        if (((i = e > 0 ? u[e - 1] : null), (r = e < h - 1 ? u[e + 1] : null) && !r.model.skip)) {
                                             var d = r.model.x - n.model.x;
                                             n.deltaK = 0 !== d ? (r.model.y - n.model.y) / d : 0;
                                        }
                                        !i || i.model.skip ? (n.mK = n.deltaK) : !r || r.model.skip ? (n.mK = i.deltaK) : this.sign(i.deltaK) !== this.sign(n.deltaK) ? (n.mK = 0) : (n.mK = (i.deltaK + n.deltaK) / 2);
                                   }
                              for (e = 0; e < h - 1; ++e)
                                   (n = u[e]),
                                        (r = u[e + 1]),
                                        n.model.skip ||
                                             r.model.skip ||
                                             (N.almostEquals(n.deltaK, 0, this.EPSILON)
                                                  ? (n.mK = r.mK = 0)
                                                  : ((o = n.mK / n.deltaK), (a = r.mK / n.deltaK), (l = Math.pow(o, 2) + Math.pow(a, 2)) <= 9 || ((s = 3 / Math.sqrt(l)), (n.mK = o * s * n.deltaK), (r.mK = a * s * n.deltaK))));
                              for (e = 0; e < h; ++e)
                                   (n = u[e]).model.skip ||
                                        ((i = e > 0 ? u[e - 1] : null),
                                        (r = e < h - 1 ? u[e + 1] : null),
                                        i && !i.model.skip && ((c = (n.model.x - i.model.x) / 3), (n.model.controlPointPreviousX = n.model.x - c), (n.model.controlPointPreviousY = n.model.y - c * n.mK)),
                                        r && !r.model.skip && ((c = (r.model.x - n.model.x) / 3), (n.model.controlPointNextX = n.model.x + c), (n.model.controlPointNextY = n.model.y + c * n.mK)));
                         }),
                         (N.nextItem = function (t, e, i) {
                              return i ? (e >= t.length - 1 ? t[0] : t[e + 1]) : e >= t.length - 1 ? t[t.length - 1] : t[e + 1];
                         }),
                         (N.previousItem = function (t, e, i) {
                              return i ? (e <= 0 ? t[t.length - 1] : t[e - 1]) : e <= 0 ? t[0] : t[e - 1];
                         }),
                         (N.niceNum = function (t, e) {
                              var i = Math.floor(N.log10(t)),
                                   n = t / Math.pow(10, i);
                              return (e ? (n < 1.5 ? 1 : n < 3 ? 2 : n < 7 ? 5 : 10) : n <= 1 ? 1 : n <= 2 ? 2 : n <= 5 ? 5 : 10) * Math.pow(10, i);
                         }),
                         (N.requestAnimFrame =
                              "undefined" == typeof window
                                   ? function (t) {
                                          t();
                                     }
                                   : window.requestAnimationFrame ||
                                     window.webkitRequestAnimationFrame ||
                                     window.mozRequestAnimationFrame ||
                                     window.oRequestAnimationFrame ||
                                     window.msRequestAnimationFrame ||
                                     function (t) {
                                          return window.setTimeout(t, 1e3 / 60);
                                     }),
                         (N.getRelativePosition = function (t, e) {
                              var i,
                                   n,
                                   r = t.originalEvent || t,
                                   o = t.target || t.srcElement,
                                   a = o.getBoundingClientRect(),
                                   s = r.touches;
                              s && s.length > 0 ? ((i = s[0].clientX), (n = s[0].clientY)) : ((i = r.clientX), (n = r.clientY));
                              var l = parseFloat(N.getStyle(o, "padding-left")),
                                   c = parseFloat(N.getStyle(o, "padding-top")),
                                   u = parseFloat(N.getStyle(o, "padding-right")),
                                   h = parseFloat(N.getStyle(o, "padding-bottom")),
                                   d = a.right - a.left - l - u,
                                   p = a.bottom - a.top - c - h;
                              return { x: (i = Math.round((((i - a.left - l) / d) * o.width) / e.currentDevicePixelRatio)), y: (n = Math.round((((n - a.top - c) / p) * o.height) / e.currentDevicePixelRatio)) };
                         }),
                         (N.getConstraintWidth = function (t) {
                              return i(t, "max-width", "clientWidth");
                         }),
                         (N.getConstraintHeight = function (t) {
                              return i(t, "max-height", "clientHeight");
                         }),
                         (N._calculatePadding = function (t, e, i) {
                              return (e = N.getStyle(t, e)).indexOf("%") > -1 ? (i * parseInt(e, 10)) / 100 : parseInt(e, 10);
                         }),
                         (N._getParentNode = function (t) {
                              var e = t.parentNode;
                              return e && "[object ShadowRoot]" === e.toString() && (e = e.host), e;
                         }),
                         (N.getMaximumWidth = function (t) {
                              var e = N._getParentNode(t);
                              if (!e) return t.clientWidth;
                              var i = e.clientWidth,
                                   n = i - N._calculatePadding(e, "padding-left", i) - N._calculatePadding(e, "padding-right", i),
                                   r = N.getConstraintWidth(t);
                              return isNaN(r) ? n : Math.min(n, r);
                         }),
                         (N.getMaximumHeight = function (t) {
                              var e = N._getParentNode(t);
                              if (!e) return t.clientHeight;
                              var i = e.clientHeight,
                                   n = i - N._calculatePadding(e, "padding-top", i) - N._calculatePadding(e, "padding-bottom", i),
                                   r = N.getConstraintHeight(t);
                              return isNaN(r) ? n : Math.min(n, r);
                         }),
                         (N.getStyle = function (t, e) {
                              return t.currentStyle ? t.currentStyle[e] : document.defaultView.getComputedStyle(t, null).getPropertyValue(e);
                         }),
                         (N.retinaScale = function (t, e) {
                              var i = (t.currentDevicePixelRatio = e || ("undefined" != typeof window && window.devicePixelRatio) || 1);
                              if (1 !== i) {
                                   var n = t.canvas,
                                        r = t.height,
                                        o = t.width;
                                   (n.height = r * i), (n.width = o * i), t.ctx.scale(i, i), n.style.height || n.style.width || ((n.style.height = r + "px"), (n.style.width = o + "px"));
                              }
                         }),
                         (N.fontString = function (t, e, i) {
                              return e + " " + t + "px " + i;
                         }),
                         (N.longestText = function (t, e, i, n) {
                              var r = ((n = n || {}).data = n.data || {}),
                                   o = (n.garbageCollect = n.garbageCollect || []);
                              n.font !== e && ((r = n.data = {}), (o = n.garbageCollect = []), (n.font = e)), (t.font = e);
                              var a,
                                   s,
                                   l,
                                   c,
                                   u,
                                   h = 0,
                                   d = i.length;
                              for (a = 0; a < d; a++)
                                   if (null != (c = i[a]) && !0 !== N.isArray(c)) h = N.measureText(t, r, o, h, c);
                                   else if (N.isArray(c)) for (s = 0, l = c.length; s < l; s++) null == (u = c[s]) || N.isArray(u) || (h = N.measureText(t, r, o, h, u));
                              var p = o.length / 2;
                              if (p > i.length) {
                                   for (a = 0; a < p; a++) delete r[o[a]];
                                   o.splice(0, p);
                              }
                              return h;
                         }),
                         (N.measureText = function (t, e, i, n, r) {
                              var o = e[r];
                              return o || ((o = e[r] = t.measureText(r).width), i.push(r)), o > n && (n = o), n;
                         }),
                         (N.numberOfLabelLines = function (t) {
                              var e = 1;
                              return (
                                   N.each(t, function (t) {
                                        N.isArray(t) && t.length > e && (e = t.length);
                                   }),
                                   e
                              );
                         }),
                         (N.color = w
                              ? function (t) {
                                     return t instanceof CanvasGradient && (t = z.global.defaultColor), w(t);
                                }
                              : function (t) {
                                     return console.error("Color.js not found!"), t;
                                }),
                         (N.getHoverColor = function (t) {
                              return t instanceof CanvasPattern || t instanceof CanvasGradient ? t : N.color(t).saturate(0.5).darken(0.1).rgbString();
                         });
               })(),
               (Ze._adapters = Qe),
               (Ze.Animation = Z),
               (Ze.animationService = J),
               (Ze.controllers = Jt),
               (Ze.DatasetController = it),
               (Ze.defaults = z),
               (Ze.Element = X),
               (Ze.elements = xt),
               (Ze.Interaction = re),
               (Ze.layouts = fe),
               (Ze.platform = De),
               (Ze.plugins = Le),
               (Ze.Scale = fi),
               (Ze.scaleService = Ee),
               (Ze.Ticks = ti),
               (Ze.Tooltip = Ne),
               Ze.helpers.each(ln, function (t, e) {
                    Ze.scaleService.registerScaleType(e, t, t._defaults);
               }),
               Ln))
                    Ln.hasOwnProperty(In) && Ze.plugins.register(Ln[In]);
               Ze.platform.initialize();
               var On = Ze;
               return (
                    "undefined" != typeof window && (window.Chart = Ze),
                    (Ze.Chart = Ze),
                    (Ze.Legend = Ln.legend._element),
                    (Ze.Title = Ln.title._element),
                    (Ze.pluginService = Ze.plugins),
                    (Ze.PluginBase = Ze.Element.extend({})),
                    (Ze.canvasHelpers = Ze.helpers.canvas),
                    (Ze.layoutService = Ze.layouts),
                    (Ze.LinearScaleBase = _i),
                    Ze.helpers.each(["Bar", "Bubble", "Doughnut", "Line", "PolarArea", "Radar", "Scatter"], function (t) {
                         Ze[t] = function (e, i) {
                              return new Ze(e, Ze.helpers.merge(i || {}, { type: t.charAt(0).toLowerCase() + t.slice(1) }));
                         };
                    }),
                    On
               );
          })(
               (function () {
                    try {
                         return i(0);
                    } catch (t) {}
               })()
          );
     },
     function (t, e, i) {
          var n, r, o;
          /*!nouislider - 12.1.0 - 10/25/2018*/ (r = []),
               void 0 ===
                    (o =
                         "function" ==
                         typeof (n = function () {
                              "use strict";
                              var t = "12.1.0";
                              function e(t) {
                                   return null != t;
                              }
                              function i(t) {
                                   t.preventDefault();
                              }
                              function n(t) {
                                   return "number" == typeof t && !isNaN(t) && isFinite(t);
                              }
                              function r(t, e, i) {
                                   i > 0 &&
                                        (l(t, e),
                                        setTimeout(function () {
                                             c(t, e);
                                        }, i));
                              }
                              function o(t) {
                                   return Math.max(Math.min(t, 100), 0);
                              }
                              function a(t) {
                                   return Array.isArray(t) ? t : [t];
                              }
                              function s(t) {
                                   var e = (t = String(t)).split(".");
                                   return e.length > 1 ? e[1].length : 0;
                              }
                              function l(t, e) {
                                   t.classList ? t.classList.add(e) : (t.className += " " + e);
                              }
                              function c(t, e) {
                                   t.classList ? t.classList.remove(e) : (t.className = t.className.replace(new RegExp("(^|\\b)" + e.split(" ").join("|") + "(\\b|$)", "gi"), " "));
                              }
                              function u(t) {
                                   var e = void 0 !== window.pageXOffset,
                                        i = "CSS1Compat" === (t.compatMode || "");
                                   return { x: e ? window.pageXOffset : i ? t.documentElement.scrollLeft : t.body.scrollLeft, y: e ? window.pageYOffset : i ? t.documentElement.scrollTop : t.body.scrollTop };
                              }
                              function h(t, e) {
                                   return 100 / (e - t);
                              }
                              function d(t, e) {
                                   return (100 * e) / (t[1] - t[0]);
                              }
                              function p(t, e) {
                                   for (var i = 1; t >= e[i]; ) i += 1;
                                   return i;
                              }
                              function f(t, e, i) {
                                   if (i >= t.slice(-1)[0]) return 100;
                                   var n = p(i, t),
                                        r = t[n - 1],
                                        o = t[n],
                                        a = e[n - 1],
                                        s = e[n];
                                   return (
                                        a +
                                        (function (t, e) {
                                             return d(t, t[0] < 0 ? e + Math.abs(t[0]) : e - t[0]);
                                        })([r, o], i) /
                                             h(a, s)
                                   );
                              }
                              function m(t, e, i, n) {
                                   if (100 === n) return n;
                                   var r = p(n, t),
                                        o = t[r - 1],
                                        a = t[r];
                                   return i
                                        ? n - o > (a - o) / 2
                                             ? a
                                             : o
                                        : e[r - 1]
                                        ? t[r - 1] +
                                          (function (t, e) {
                                               return Math.round(t / e) * e;
                                          })(n - t[r - 1], e[r - 1])
                                        : n;
                              }
                              function g(t, e, i) {
                                   var r;
                                   if (("number" == typeof e && (e = [e]), !Array.isArray(e))) throw new Error("noUiSlider (12.1.0): 'range' contains invalid value.");
                                   if (!n((r = "min" === t ? 0 : "max" === t ? 100 : parseFloat(t))) || !n(e[0])) throw new Error("noUiSlider (12.1.0): 'range' value isn't numeric.");
                                   i.xPct.push(r), i.xVal.push(e[0]), r ? i.xSteps.push(!isNaN(e[1]) && e[1]) : isNaN(e[1]) || (i.xSteps[0] = e[1]), i.xHighestCompleteStep.push(0);
                              }
                              function v(t, e, i) {
                                   if (!e) return !0;
                                   i.xSteps[t] = d([i.xVal[t], i.xVal[t + 1]], e) / h(i.xPct[t], i.xPct[t + 1]);
                                   var n = (i.xVal[t + 1] - i.xVal[t]) / i.xNumSteps[t],
                                        r = Math.ceil(Number(n.toFixed(3)) - 1),
                                        o = i.xVal[t] + i.xNumSteps[t] * r;
                                   i.xHighestCompleteStep[t] = o;
                              }
                              function y(t, e, i) {
                                   var n;
                                   (this.xPct = []), (this.xVal = []), (this.xSteps = [i || !1]), (this.xNumSteps = [!1]), (this.xHighestCompleteStep = []), (this.snap = e);
                                   var r = [];
                                   for (n in t) t.hasOwnProperty(n) && r.push([t[n], n]);
                                   for (
                                        r.length && "object" == typeof r[0][0]
                                             ? r.sort(function (t, e) {
                                                    return t[0][0] - e[0][0];
                                               })
                                             : r.sort(function (t, e) {
                                                    return t[0] - e[0];
                                               }),
                                             n = 0;
                                        n < r.length;
                                        n++
                                   )
                                        g(r[n][1], r[n][0], this);
                                   for (this.xNumSteps = this.xSteps.slice(0), n = 0; n < this.xNumSteps.length; n++) v(n, this.xNumSteps[n], this);
                              }
                              (y.prototype.getMargin = function (t) {
                                   var e = this.xNumSteps[0];
                                   if (e && (t / e) % 1 != 0) throw new Error("noUiSlider (12.1.0): 'limit', 'margin' and 'padding' must be divisible by step.");
                                   return 2 === this.xPct.length && d(this.xVal, t);
                              }),
                                   (y.prototype.toStepping = function (t) {
                                        return (t = f(this.xVal, this.xPct, t));
                                   }),
                                   (y.prototype.fromStepping = function (t) {
                                        return (function (t, e, i) {
                                             if (i >= 100) return t.slice(-1)[0];
                                             var n = p(i, e),
                                                  r = t[n - 1],
                                                  o = t[n],
                                                  a = e[n - 1];
                                             return (function (t, e) {
                                                  return (e * (t[1] - t[0])) / 100 + t[0];
                                             })([r, o], (i - a) * h(a, e[n]));
                                        })(this.xVal, this.xPct, t);
                                   }),
                                   (y.prototype.getStep = function (t) {
                                        return (t = m(this.xPct, this.xSteps, this.snap, t));
                                   }),
                                   (y.prototype.getNearbySteps = function (t) {
                                        var e = p(t, this.xPct);
                                        return {
                                             stepBefore: { startValue: this.xVal[e - 2], step: this.xNumSteps[e - 2], highestStep: this.xHighestCompleteStep[e - 2] },
                                             thisStep: { startValue: this.xVal[e - 1], step: this.xNumSteps[e - 1], highestStep: this.xHighestCompleteStep[e - 1] },
                                             stepAfter: { startValue: this.xVal[e], step: this.xNumSteps[e], highestStep: this.xHighestCompleteStep[e] },
                                        };
                                   }),
                                   (y.prototype.countStepDecimals = function () {
                                        var t = this.xNumSteps.map(s);
                                        return Math.max.apply(null, t);
                                   }),
                                   (y.prototype.convert = function (t) {
                                        return this.getStep(this.toStepping(t));
                                   });
                              var b = {
                                   to: function (t) {
                                        return void 0 !== t && t.toFixed(2);
                                   },
                                   from: Number,
                              };
                              function _(t) {
                                   if (
                                        (function (t) {
                                             return "object" == typeof t && "function" == typeof t.to && "function" == typeof t.from;
                                        })(t)
                                   )
                                        return !0;
                                   throw new Error("noUiSlider (12.1.0): 'format' requires 'to' and 'from' methods.");
                              }
                              function x(t, e) {
                                   if (!n(e)) throw new Error("noUiSlider (12.1.0): 'step' is not numeric.");
                                   t.singleStep = e;
                              }
                              function w(t, e) {
                                   if ("object" != typeof e || Array.isArray(e)) throw new Error("noUiSlider (12.1.0): 'range' is not an object.");
                                   if (void 0 === e.min || void 0 === e.max) throw new Error("noUiSlider (12.1.0): Missing 'min' or 'max' in 'range'.");
                                   if (e.min === e.max) throw new Error("noUiSlider (12.1.0): 'range' 'min' and 'max' cannot be equal.");
                                   t.spectrum = new y(e, t.snap, t.singleStep);
                              }
                              function k(t, e) {
                                   if (((e = a(e)), !Array.isArray(e) || !e.length)) throw new Error("noUiSlider (12.1.0): 'start' option is incorrect.");
                                   (t.handles = e.length), (t.start = e);
                              }
                              function S(t, e) {
                                   if (((t.snap = e), "boolean" != typeof e)) throw new Error("noUiSlider (12.1.0): 'snap' option must be a boolean.");
                              }
                              function M(t, e) {
                                   if (((t.animate = e), "boolean" != typeof e)) throw new Error("noUiSlider (12.1.0): 'animate' option must be a boolean.");
                              }
                              function T(t, e) {
                                   if (((t.animationDuration = e), "number" != typeof e)) throw new Error("noUiSlider (12.1.0): 'animationDuration' option must be a number.");
                              }
                              function C(t, e) {
                                   var i,
                                        n = [!1];
                                   if (("lower" === e ? (e = [!0, !1]) : "upper" === e && (e = [!1, !0]), !0 === e || !1 === e)) {
                                        for (i = 1; i < t.handles; i++) n.push(e);
                                        n.push(!1);
                                   } else {
                                        if (!Array.isArray(e) || !e.length || e.length !== t.handles + 1) throw new Error("noUiSlider (12.1.0): 'connect' option doesn't match handle count.");
                                        n = e;
                                   }
                                   t.connect = n;
                              }
                              function D(t, e) {
                                   switch (e) {
                                        case "horizontal":
                                             t.ort = 0;
                                             break;
                                        case "vertical":
                                             t.ort = 1;
                                             break;
                                        default:
                                             throw new Error("noUiSlider (12.1.0): 'orientation' option is invalid.");
                                   }
                              }
                              function L(t, e) {
                                   if (!n(e)) throw new Error("noUiSlider (12.1.0): 'margin' option must be numeric.");
                                   if (0 !== e && ((t.margin = t.spectrum.getMargin(e)), !t.margin)) throw new Error("noUiSlider (12.1.0): 'margin' option is only supported on linear sliders.");
                              }
                              function E(t, e) {
                                   if (!n(e)) throw new Error("noUiSlider (12.1.0): 'limit' option must be numeric.");
                                   if (((t.limit = t.spectrum.getMargin(e)), !t.limit || t.handles < 2)) throw new Error("noUiSlider (12.1.0): 'limit' option is only supported on linear sliders with 2 or more handles.");
                              }
                              function A(t, e) {
                                   if (!n(e) && !Array.isArray(e)) throw new Error("noUiSlider (12.1.0): 'padding' option must be numeric or array of exactly 2 numbers.");
                                   if (Array.isArray(e) && 2 !== e.length && !n(e[0]) && !n(e[1])) throw new Error("noUiSlider (12.1.0): 'padding' option must be numeric or array of exactly 2 numbers.");
                                   if (0 !== e) {
                                        if ((Array.isArray(e) || (e = [e, e]), (t.padding = [t.spectrum.getMargin(e[0]), t.spectrum.getMargin(e[1])]), !1 === t.padding[0] || !1 === t.padding[1]))
                                             throw new Error("noUiSlider (12.1.0): 'padding' option is only supported on linear sliders.");
                                        if (t.padding[0] < 0 || t.padding[1] < 0) throw new Error("noUiSlider (12.1.0): 'padding' option must be a positive number(s).");
                                        if (t.padding[0] + t.padding[1] >= 100) throw new Error("noUiSlider (12.1.0): 'padding' option must not exceed 100% of the range.");
                                   }
                              }
                              function P(t, e) {
                                   switch (e) {
                                        case "ltr":
                                             t.dir = 0;
                                             break;
                                        case "rtl":
                                             t.dir = 1;
                                             break;
                                        default:
                                             throw new Error("noUiSlider (12.1.0): 'direction' option was not recognized.");
                                   }
                              }
                              function I(t, e) {
                                   if ("string" != typeof e) throw new Error("noUiSlider (12.1.0): 'behaviour' must be a string containing options.");
                                   var i = e.indexOf("tap") >= 0,
                                        n = e.indexOf("drag") >= 0,
                                        r = e.indexOf("fixed") >= 0,
                                        o = e.indexOf("snap") >= 0,
                                        a = e.indexOf("hover") >= 0,
                                        s = e.indexOf("unconstrained") >= 0;
                                   if (r) {
                                        if (2 !== t.handles) throw new Error("noUiSlider (12.1.0): 'fixed' behaviour must be used with 2 handles");
                                        L(t, t.start[1] - t.start[0]);
                                   }
                                   if (s && (t.margin || t.limit)) throw new Error("noUiSlider (12.1.0): 'unconstrained' behaviour cannot be used with margin or limit");
                                   t.events = { tap: i || o, drag: n, fixed: r, snap: o, hover: a, unconstrained: s };
                              }
                              function O(t, e) {
                                   if (!1 !== e)
                                        if (!0 === e) {
                                             t.tooltips = [];
                                             for (var i = 0; i < t.handles; i++) t.tooltips.push(!0);
                                        } else {
                                             if (((t.tooltips = a(e)), t.tooltips.length !== t.handles)) throw new Error("noUiSlider (12.1.0): must pass a formatter for all handles.");
                                             t.tooltips.forEach(function (t) {
                                                  if ("boolean" != typeof t && ("object" != typeof t || "function" != typeof t.to)) throw new Error("noUiSlider (12.1.0): 'tooltips' must be passed a formatter or 'false'.");
                                             });
                                        }
                              }
                              function Y(t, e) {
                                   (t.ariaFormat = e), _(e);
                              }
                              function z(t, e) {
                                   (t.format = e), _(e);
                              }
                              function R(t, e) {
                                   if (((t.keyboardSupport = e), "boolean" != typeof e)) throw new Error("noUiSlider (12.1.0): 'keyboardSupport' option must be a boolean.");
                              }
                              function F(t, e) {
                                   t.documentElement = e;
                              }
                              function H(t, e) {
                                   if ("string" != typeof e && !1 !== e) throw new Error("noUiSlider (12.1.0): 'cssPrefix' must be a string or `false`.");
                                   t.cssPrefix = e;
                              }
                              function j(t, e) {
                                   if ("object" != typeof e) throw new Error("noUiSlider (12.1.0): 'cssClasses' must be an object.");
                                   if ("string" == typeof t.cssPrefix) for (var i in ((t.cssClasses = {}), e)) e.hasOwnProperty(i) && (t.cssClasses[i] = t.cssPrefix + e[i]);
                                   else t.cssClasses = e;
                              }
                              function N(t) {
                                   var i = { margin: 0, limit: 0, padding: 0, animate: !0, animationDuration: 300, ariaFormat: b, format: b },
                                        n = {
                                             step: { r: !1, t: x },
                                             start: { r: !0, t: k },
                                             connect: { r: !0, t: C },
                                             direction: { r: !0, t: P },
                                             snap: { r: !1, t: S },
                                             animate: { r: !1, t: M },
                                             animationDuration: { r: !1, t: T },
                                             range: { r: !0, t: w },
                                             orientation: { r: !1, t: D },
                                             margin: { r: !1, t: L },
                                             limit: { r: !1, t: E },
                                             padding: { r: !1, t: A },
                                             behaviour: { r: !0, t: I },
                                             ariaFormat: { r: !1, t: Y },
                                             format: { r: !1, t: z },
                                             tooltips: { r: !1, t: O },
                                             keyboardSupport: { r: !0, t: R },
                                             documentElement: { r: !1, t: F },
                                             cssPrefix: { r: !0, t: H },
                                             cssClasses: { r: !0, t: j },
                                        },
                                        r = {
                                             connect: !1,
                                             direction: "ltr",
                                             behaviour: "tap",
                                             orientation: "horizontal",
                                             keyboardSupport: !0,
                                             cssPrefix: "noUi-",
                                             cssClasses: {
                                                  target: "target",
                                                  base: "base",
                                                  origin: "origin",
                                                  handle: "handle",
                                                  handleLower: "handle-lower",
                                                  handleUpper: "handle-upper",
                                                  horizontal: "horizontal",
                                                  vertical: "vertical",
                                                  background: "background",
                                                  connect: "connect",
                                                  connects: "connects",
                                                  ltr: "ltr",
                                                  rtl: "rtl",
                                                  draggable: "draggable",
                                                  drag: "state-drag",
                                                  tap: "state-tap",
                                                  active: "active",
                                                  tooltip: "tooltip",
                                                  pips: "pips",
                                                  pipsHorizontal: "pips-horizontal",
                                                  pipsVertical: "pips-vertical",
                                                  marker: "marker",
                                                  markerHorizontal: "marker-horizontal",
                                                  markerVertical: "marker-vertical",
                                                  markerNormal: "marker-normal",
                                                  markerLarge: "marker-large",
                                                  markerSub: "marker-sub",
                                                  value: "value",
                                                  valueHorizontal: "value-horizontal",
                                                  valueVertical: "value-vertical",
                                                  valueNormal: "value-normal",
                                                  valueLarge: "value-large",
                                                  valueSub: "value-sub",
                                             },
                                        };
                                   t.format && !t.ariaFormat && (t.ariaFormat = t.format),
                                        Object.keys(n).forEach(function (o) {
                                             if (!e(t[o]) && void 0 === r[o]) {
                                                  if (n[o].r) throw new Error("noUiSlider (12.1.0): '" + o + "' is required.");
                                                  return !0;
                                             }
                                             n[o].t(i, e(t[o]) ? t[o] : r[o]);
                                        }),
                                        (i.pips = t.pips);
                                   var o = document.createElement("div"),
                                        a = void 0 !== o.style.msTransform,
                                        s = void 0 !== o.style.transform;
                                   return (
                                        (i.transformRule = s ? "transform" : a ? "msTransform" : "webkitTransform"),
                                        (i.style = [
                                             ["left", "top"],
                                             ["right", "bottom"],
                                        ][i.dir][i.ort]),
                                        i
                                   );
                              }
                              function B(t, e, n) {
                                   var s,
                                        h,
                                        d,
                                        p,
                                        f,
                                        m,
                                        g,
                                        v,
                                        y = window.navigator.pointerEnabled
                                             ? { start: "pointerdown", move: "pointermove", end: "pointerup" }
                                             : window.navigator.msPointerEnabled
                                             ? { start: "MSPointerDown", move: "MSPointerMove", end: "MSPointerUp" }
                                             : { start: "mousedown touchstart", move: "mousemove touchmove", end: "mouseup touchend" },
                                        b =
                                             window.CSS &&
                                             CSS.supports &&
                                             CSS.supports("touch-action", "none") &&
                                             (function () {
                                                  var t = !1;
                                                  try {
                                                       var e = Object.defineProperty({}, "passive", {
                                                            get: function () {
                                                                 t = !0;
                                                            },
                                                       });
                                                       window.addEventListener("test", null, e);
                                                  } catch (t) {}
                                                  return t;
                                             })(),
                                        _ = t,
                                        x = [],
                                        w = [],
                                        k = 0,
                                        S = e.spectrum,
                                        M = [],
                                        T = {},
                                        C = t.ownerDocument,
                                        D = e.documentElement || C.documentElement,
                                        L = C.body,
                                        E = "rtl" === C.dir || 1 === e.ort ? 0 : 100;
                                   function A(t, e) {
                                        var i = C.createElement("div");
                                        return e && l(i, e), t.appendChild(i), i;
                                   }
                                   function P(t, i) {
                                        var n = A(t, e.cssClasses.origin),
                                             r = A(n, e.cssClasses.handle);
                                        return (
                                             r.setAttribute("data-handle", i),
                                             e.keyboardSupport && r.setAttribute("tabindex", "0"),
                                             r.setAttribute("role", "slider"),
                                             r.setAttribute("aria-orientation", e.ort ? "vertical" : "horizontal"),
                                             0 === i ? l(r, e.cssClasses.handleLower) : i === e.handles - 1 && l(r, e.cssClasses.handleUpper),
                                             n
                                        );
                                   }
                                   function I(t, i) {
                                        return !!i && A(t, e.cssClasses.connect);
                                   }
                                   function O(t, i) {
                                        return !!e.tooltips[i] && A(t.firstChild, e.cssClasses.tooltip);
                                   }
                                   function Y(t, i, n) {
                                        var r = C.createElement("div"),
                                             o = [];
                                        (o[0] = e.cssClasses.valueNormal), (o[1] = e.cssClasses.valueLarge), (o[2] = e.cssClasses.valueSub);
                                        var a = [];
                                        (a[0] = e.cssClasses.markerNormal), (a[1] = e.cssClasses.markerLarge), (a[2] = e.cssClasses.markerSub);
                                        var s = [e.cssClasses.valueHorizontal, e.cssClasses.valueVertical],
                                             c = [e.cssClasses.markerHorizontal, e.cssClasses.markerVertical];
                                        function u(t, i) {
                                             var n = i === e.cssClasses.value,
                                                  r = n ? o : a;
                                             return i + " " + (n ? s : c)[e.ort] + " " + r[t];
                                        }
                                        return (
                                             l(r, e.cssClasses.pips),
                                             l(r, 0 === e.ort ? e.cssClasses.pipsHorizontal : e.cssClasses.pipsVertical),
                                             Object.keys(t).forEach(function (o) {
                                                  !(function (t, o, a) {
                                                       if (-1 !== (a = i ? i(o, a) : a)) {
                                                            var s = A(r, !1);
                                                            (s.className = u(a, e.cssClasses.marker)),
                                                                 (s.style[e.style] = t + "%"),
                                                                 a > 0 && (((s = A(r, !1)).className = u(a, e.cssClasses.value)), s.setAttribute("data-value", o), (s.style[e.style] = t + "%"), (s.innerHTML = n.to(o)));
                                                       }
                                                  })(o, t[o][0], t[o][1]);
                                             }),
                                             r
                                        );
                                   }
                                   function z() {
                                        var t;
                                        f && ((t = f).parentElement.removeChild(t), (f = null));
                                   }
                                   function R(t) {
                                        z();
                                        var e = t.mode,
                                             i = t.density || 1,
                                             n = t.filter || !1,
                                             r = (function (t, e, i) {
                                                  if ("range" === t || "steps" === t) return S.xVal;
                                                  if ("count" === t) {
                                                       if (e < 2) throw new Error("noUiSlider (12.1.0): 'values' (>= 2) required for mode 'count'.");
                                                       var n = e - 1,
                                                            r = 100 / n;
                                                       for (e = []; n--; ) e[n] = n * r;
                                                       e.push(100), (t = "positions");
                                                  }
                                                  return "positions" === t
                                                       ? e.map(function (t) {
                                                              return S.fromStepping(i ? S.getStep(t) : t);
                                                         })
                                                       : "values" === t
                                                       ? i
                                                            ? e.map(function (t) {
                                                                   return S.fromStepping(S.getStep(S.toStepping(t)));
                                                              })
                                                            : e
                                                       : void 0;
                                             })(e, t.values || !1, t.stepped || !1),
                                             o = (function (t, e, i) {
                                                  var n,
                                                       r = {},
                                                       o = S.xVal[0],
                                                       a = S.xVal[S.xVal.length - 1],
                                                       s = !1,
                                                       l = !1,
                                                       c = 0;
                                                  return (
                                                       (n = i.slice().sort(function (t, e) {
                                                            return t - e;
                                                       })),
                                                       (i = n.filter(function (t) {
                                                            return !this[t] && (this[t] = !0);
                                                       }, {}))[0] !== o && (i.unshift(o), (s = !0)),
                                                       i[i.length - 1] !== a && (i.push(a), (l = !0)),
                                                       i.forEach(function (n, o) {
                                                            var a,
                                                                 u,
                                                                 h,
                                                                 d,
                                                                 p,
                                                                 f,
                                                                 m,
                                                                 g,
                                                                 v,
                                                                 y,
                                                                 b = n,
                                                                 _ = i[o + 1],
                                                                 x = "steps" === e;
                                                            if ((x && (a = S.xNumSteps[o]), a || (a = _ - b), !1 !== b && void 0 !== _))
                                                                 for (a = Math.max(a, 1e-7), u = b; u <= _; u = (u + a).toFixed(7) / 1) {
                                                                      for (g = (p = (d = S.toStepping(u)) - c) / t, y = p / (v = Math.round(g)), h = 1; h <= v; h += 1) r[(f = c + h * y).toFixed(5)] = [S.fromStepping(f), 0];
                                                                      (m = i.indexOf(u) > -1 ? 1 : x ? 2 : 0), !o && s && (m = 0), (u === _ && l) || (r[d.toFixed(5)] = [u, m]), (c = d);
                                                                 }
                                                       }),
                                                       r
                                                  );
                                             })(i, e, r),
                                             a = t.format || { to: Math.round };
                                        return (f = _.appendChild(Y(o, n, a)));
                                   }
                                   function F() {
                                        var t = s.getBoundingClientRect(),
                                             i = "offset" + ["Width", "Height"][e.ort];
                                        return 0 === e.ort ? t.width || s[i] : t.height || s[i];
                                   }
                                   function H(t, i, n, r) {
                                        var o = function (o) {
                                                  return (
                                                       !!(o = (function (t, e, i) {
                                                            var n,
                                                                 r,
                                                                 o = 0 === t.type.indexOf("touch"),
                                                                 a = 0 === t.type.indexOf("mouse"),
                                                                 s = 0 === t.type.indexOf("pointer");
                                                            if ((0 === t.type.indexOf("MSPointer") && (s = !0), o)) {
                                                                 var l = function (t) {
                                                                      return t.target === i || i.contains(t.target);
                                                                 };
                                                                 if ("touchstart" === t.type) {
                                                                      var c = Array.prototype.filter.call(t.touches, l);
                                                                      if (c.length > 1) return !1;
                                                                      (n = c[0].pageX), (r = c[0].pageY);
                                                                 } else {
                                                                      var h = Array.prototype.find.call(t.changedTouches, l);
                                                                      if (!h) return !1;
                                                                      (n = h.pageX), (r = h.pageY);
                                                                 }
                                                            }
                                                            return (e = e || u(C)), (a || s) && ((n = t.clientX + e.x), (r = t.clientY + e.y)), (t.pageOffset = e), (t.points = [n, r]), (t.cursor = a || s), t;
                                                       })(o, r.pageOffset, r.target || i)) &&
                                                       !(_.hasAttribute("disabled") && !r.doNotReject) &&
                                                       ((a = _),
                                                       (s = e.cssClasses.tap),
                                                       !((a.classList ? a.classList.contains(s) : new RegExp("\\b" + s + "\\b").test(a.className)) && !r.doNotReject) &&
                                                            !(t === y.start && void 0 !== o.buttons && o.buttons > 1) &&
                                                            (!r.hover || !o.buttons) &&
                                                            (b || o.preventDefault(), (o.calcPoint = o.points[e.ort]), void n(o, r)))
                                                  );
                                                  var a, s;
                                             },
                                             a = [];
                                        return (
                                             t.split(" ").forEach(function (t) {
                                                  i.addEventListener(t, o, !!b && { passive: !0 }), a.push([t, o]);
                                             }),
                                             a
                                        );
                                   }
                                   function j(t) {
                                        var i,
                                             n,
                                             r,
                                             a,
                                             l,
                                             c,
                                             h =
                                                  (100 *
                                                       (t -
                                                            ((i = s),
                                                            (n = e.ort),
                                                            (r = i.getBoundingClientRect()),
                                                            (a = i.ownerDocument),
                                                            (l = a.documentElement),
                                                            (c = u(a)),
                                                            /webkit.*Chrome.*Mobile/i.test(navigator.userAgent) && (c.x = 0),
                                                            n ? r.top + c.y - l.clientTop : r.left + c.x - l.clientLeft))) /
                                                  F();
                                        return (h = o(h)), e.dir ? 100 - h : h;
                                   }
                                   function B(t, e) {
                                        "mouseout" === t.type && "HTML" === t.target.nodeName && null === t.relatedTarget && V(t, e);
                                   }
                                   function W(t, i) {
                                        if (-1 === navigator.appVersion.indexOf("MSIE 9") && 0 === t.buttons && 0 !== i.buttonsProperty) return V(t, i);
                                        var n = (e.dir ? -1 : 1) * (t.calcPoint - i.startCalcPoint);
                                        Q(n > 0, (100 * n) / i.baseSize, i.locations, i.handleNumbers);
                                   }
                                   function V(t, n) {
                                        n.handle && (c(n.handle, e.cssClasses.active), (k -= 1)),
                                             n.listeners.forEach(function (t) {
                                                  D.removeEventListener(t[0], t[1]);
                                             }),
                                             0 === k && (c(_, e.cssClasses.drag), et(), t.cursor && ((L.style.cursor = ""), L.removeEventListener("selectstart", i))),
                                             n.handleNumbers.forEach(function (t) {
                                                  G("change", t), G("set", t), G("end", t);
                                             });
                                   }
                                   function U(t, n) {
                                        var r;
                                        if (1 === n.handleNumbers.length) {
                                             var o = h[n.handleNumbers[0]];
                                             if (o.hasAttribute("disabled")) return !1;
                                             (r = o.children[0]), (k += 1), l(r, e.cssClasses.active);
                                        }
                                        t.stopPropagation();
                                        var a = [],
                                             s = H(y.move, D, W, {
                                                  target: t.target,
                                                  handle: r,
                                                  listeners: a,
                                                  startCalcPoint: t.calcPoint,
                                                  baseSize: F(),
                                                  pageOffset: t.pageOffset,
                                                  handleNumbers: n.handleNumbers,
                                                  buttonsProperty: t.buttons,
                                                  locations: x.slice(),
                                             }),
                                             c = H(y.end, D, V, { target: t.target, handle: r, listeners: a, doNotReject: !0, handleNumbers: n.handleNumbers }),
                                             u = H("mouseout", D, B, { target: t.target, handle: r, listeners: a, doNotReject: !0, handleNumbers: n.handleNumbers });
                                        a.push.apply(a, s.concat(c, u)),
                                             t.cursor && ((L.style.cursor = getComputedStyle(t.target).cursor), h.length > 1 && l(_, e.cssClasses.drag), L.addEventListener("selectstart", i, !1)),
                                             n.handleNumbers.forEach(function (t) {
                                                  G("start", t);
                                             });
                                   }
                                   function q(t) {
                                        t.stopPropagation();
                                        var i = j(t.calcPoint),
                                             n = (function (t) {
                                                  var e = 100,
                                                       i = !1;
                                                  return (
                                                       h.forEach(function (n, r) {
                                                            if (!n.hasAttribute("disabled")) {
                                                                 var o = Math.abs(x[r] - t);
                                                                 (o < e || (100 === o && 100 === e)) && ((i = r), (e = o));
                                                            }
                                                       }),
                                                       i
                                                  );
                                             })(i);
                                        if (!1 === n) return !1;
                                        e.events.snap || r(_, e.cssClasses.tap, e.animationDuration),
                                             it(n, i, !0, !0),
                                             et(),
                                             G("slide", n, !0),
                                             G("update", n, !0),
                                             G("change", n, !0),
                                             G("set", n, !0),
                                             e.events.snap && U(t, { handleNumbers: [n] });
                                   }
                                   function $(t) {
                                        var e = j(t.calcPoint),
                                             i = S.getStep(e),
                                             n = S.fromStepping(i);
                                        Object.keys(T).forEach(function (t) {
                                             "hover" === t.split(".")[0] &&
                                                  T[t].forEach(function (t) {
                                                       t.call(p, n);
                                                  });
                                        });
                                   }
                                   function X(t, e) {
                                        (T[t] = T[t] || []),
                                             T[t].push(e),
                                             "update" === t.split(".")[0] &&
                                                  h.forEach(function (t, e) {
                                                       G("update", e);
                                                  });
                                   }
                                   function G(t, i, n) {
                                        Object.keys(T).forEach(function (r) {
                                             var o = r.split(".")[0];
                                             t === o &&
                                                  T[r].forEach(function (t) {
                                                       t.call(p, M.map(e.format.to), i, M.slice(), n || !1, x.slice());
                                                  });
                                        });
                                   }
                                   function Z(t) {
                                        return t + "%";
                                   }
                                   function J(t, i, n, r, a, s) {
                                        return (
                                             h.length > 1 && !e.events.unconstrained && (r && i > 0 && (n = Math.max(n, t[i - 1] + e.margin)), a && i < h.length - 1 && (n = Math.min(n, t[i + 1] - e.margin))),
                                             h.length > 1 && e.limit && (r && i > 0 && (n = Math.min(n, t[i - 1] + e.limit)), a && i < h.length - 1 && (n = Math.max(n, t[i + 1] - e.limit))),
                                             e.padding && (0 === i && (n = Math.max(n, e.padding[0])), i === h.length - 1 && (n = Math.min(n, 100 - e.padding[1]))),
                                             !((n = o((n = S.getStep(n)))) === t[i] && !s) && n
                                        );
                                   }
                                   function K(t, i) {
                                        var n = e.ort;
                                        return (n ? i : t) + ", " + (n ? t : i);
                                   }
                                   function Q(t, e, i, n) {
                                        var r = i.slice(),
                                             o = [!t, t],
                                             a = [t, !t];
                                        (n = n.slice()),
                                             t && n.reverse(),
                                             n.length > 1
                                                  ? n.forEach(function (t, i) {
                                                         var n = J(r, t, r[t] + e, o[i], a[i], !1);
                                                         !1 === n ? (e = 0) : ((e = n - r[t]), (r[t] = n));
                                                    })
                                                  : (o = a = [!0]);
                                        var s = !1;
                                        n.forEach(function (t, n) {
                                             s = it(t, i[t] + e, o[n], a[n]) || s;
                                        }),
                                             s &&
                                                  n.forEach(function (t) {
                                                       G("update", t), G("slide", t);
                                                  });
                                   }
                                   function tt(t, i) {
                                        return e.dir ? 100 - t - i : t;
                                   }
                                   function et() {
                                        w.forEach(function (t) {
                                             var e = x[t] > 50 ? -1 : 1,
                                                  i = 3 + (h.length + e * t);
                                             h[t].style.zIndex = i;
                                        });
                                   }
                                   function it(t, i, n, r) {
                                        return (
                                             !1 !== (i = J(x, t, i, n, r, !1)) &&
                                             ((function (t, i) {
                                                  (x[t] = i), (M[t] = S.fromStepping(i));
                                                  var n = "translate(" + K(Z(tt(i, 0) - E), "0") + ")";
                                                  (h[t].style[e.transformRule] = n), nt(t), nt(t + 1);
                                             })(t, i),
                                             !0)
                                        );
                                   }
                                   function nt(t) {
                                        if (d[t]) {
                                             var i = 0,
                                                  n = 100;
                                             0 !== t && (i = x[t - 1]), t !== d.length - 1 && (n = x[t]);
                                             var r = n - i,
                                                  o = "translate(" + K(Z(tt(i, r)), "0") + ")",
                                                  a = "scale(" + K(r / 100, "1") + ")";
                                             d[t].style[e.transformRule] = o + " " + a;
                                        }
                                   }
                                   function rt(t, i) {
                                        var n = a(t),
                                             o = void 0 === x[0];
                                        (i = void 0 === i || !!i),
                                             e.animate && !o && r(_, e.cssClasses.tap, e.animationDuration),
                                             w.forEach(function (t) {
                                                  it(
                                                       t,
                                                       (function (t, i) {
                                                            return null === t || !1 === t || void 0 === t ? x[i] : ("number" == typeof t && (t = String(t)), (t = e.format.from(t)), !1 === (t = S.toStepping(t)) || isNaN(t) ? x[i] : t);
                                                       })(n[t], t),
                                                       !0,
                                                       !1
                                                  );
                                             }),
                                             w.forEach(function (t) {
                                                  it(t, x[t], !0, !0);
                                             }),
                                             et(),
                                             w.forEach(function (t) {
                                                  G("update", t), null !== n[t] && i && G("set", t);
                                             });
                                   }
                                   function ot() {
                                        var t = M.map(e.format.to);
                                        return 1 === t.length ? t[0] : t;
                                   }
                                   return (
                                        l((m = _), e.cssClasses.target),
                                        0 === e.dir ? l(m, e.cssClasses.ltr) : l(m, e.cssClasses.rtl),
                                        0 === e.ort ? l(m, e.cssClasses.horizontal) : l(m, e.cssClasses.vertical),
                                        (s = A(m, e.cssClasses.base)),
                                        (function (t, i) {
                                             var n = A(i, e.cssClasses.connects);
                                             (h = []), (d = []).push(I(n, t[0]));
                                             for (var r = 0; r < e.handles; r++) h.push(P(i, r)), (w[r] = r), d.push(I(n, t[r + 1]));
                                        })(e.connect, s),
                                        (g = e.events).fixed ||
                                             h.forEach(function (t, e) {
                                                  H(y.start, t.children[0], U, { handleNumbers: [e] });
                                             }),
                                        g.tap && H(y.start, s, q, {}),
                                        g.hover && H(y.move, s, $, { hover: !0 }),
                                        g.drag &&
                                             d.forEach(function (t, i) {
                                                  if (!1 !== t && 0 !== i && i !== d.length - 1) {
                                                       var n = h[i - 1],
                                                            r = h[i],
                                                            o = [t];
                                                       l(t, e.cssClasses.draggable),
                                                            g.fixed && (o.push(n.children[0]), o.push(r.children[0])),
                                                            o.forEach(function (t) {
                                                                 H(y.start, t, U, { handles: [n, r], handleNumbers: [i - 1, i] });
                                                            });
                                                  }
                                             }),
                                        rt(e.start),
                                        (p = {
                                             destroy: function () {
                                                  for (var t in e.cssClasses) e.cssClasses.hasOwnProperty(t) && c(_, e.cssClasses[t]);
                                                  for (; _.firstChild; ) _.removeChild(_.firstChild);
                                                  delete _.noUiSlider;
                                             },
                                             steps: function () {
                                                  return x.map(function (t, e) {
                                                       var i = S.getNearbySteps(t),
                                                            n = M[e],
                                                            r = i.thisStep.step,
                                                            o = null;
                                                       !1 !== r && n + r > i.stepAfter.startValue && (r = i.stepAfter.startValue - n),
                                                            (o = n > i.thisStep.startValue ? i.thisStep.step : !1 !== i.stepBefore.step && n - i.stepBefore.highestStep),
                                                            100 === t ? (r = null) : 0 === t && (o = null);
                                                       var a = S.countStepDecimals();
                                                       return null !== r && !1 !== r && (r = Number(r.toFixed(a))), null !== o && !1 !== o && (o = Number(o.toFixed(a))), [o, r];
                                                  });
                                             },
                                             on: X,
                                             off: function (t) {
                                                  var e = t && t.split(".")[0],
                                                       i = e && t.substring(e.length);
                                                  Object.keys(T).forEach(function (t) {
                                                       var n = t.split(".")[0],
                                                            r = t.substring(n.length);
                                                       (e && e !== n) || (i && i !== r) || delete T[t];
                                                  });
                                             },
                                             get: ot,
                                             set: rt,
                                             setHandle: function (t, e, i) {
                                                  var n = [];
                                                  if (!((t = Number(t)) >= 0 && t < w.length)) throw new Error("noUiSlider (12.1.0): invalid handle number, got: " + t);
                                                  for (var r = 0; r < w.length; r++) n[r] = null;
                                                  (n[t] = e), rt(n, i);
                                             },
                                             reset: function (t) {
                                                  rt(e.start, t);
                                             },
                                             __moveHandles: function (t, e, i) {
                                                  Q(t, e, x, i);
                                             },
                                             options: n,
                                             updateOptions: function (t, i) {
                                                  var r = ot(),
                                                       o = ["margin", "limit", "padding", "range", "animate", "snap", "step", "format"];
                                                  o.forEach(function (e) {
                                                       void 0 !== t[e] && (n[e] = t[e]);
                                                  });
                                                  var a = N(n);
                                                  o.forEach(function (i) {
                                                       void 0 !== t[i] && (e[i] = a[i]);
                                                  }),
                                                       (S = a.spectrum),
                                                       (e.margin = a.margin),
                                                       (e.limit = a.limit),
                                                       (e.padding = a.padding),
                                                       e.pips && R(e.pips),
                                                       (x = []),
                                                       rt(t.start || r, i);
                                             },
                                             target: _,
                                             removePips: z,
                                             pips: R,
                                        }),
                                        e.pips && R(e.pips),
                                        e.tooltips &&
                                             ((v = h.map(O)),
                                             X("update", function (t, i, n) {
                                                  if (v[i]) {
                                                       var r = t[i];
                                                       !0 !== e.tooltips[i] && (r = e.tooltips[i].to(n[i])), (v[i].innerHTML = r);
                                                  }
                                             })),
                                        X("update", function (t, i, n, r, o) {
                                             w.forEach(function (t) {
                                                  var i = h[t],
                                                       r = J(x, t, 0, !0, !0, !0),
                                                       a = J(x, t, 100, !0, !0, !0),
                                                       s = o[t],
                                                       l = e.ariaFormat.to(n[t]);
                                                  (r = S.fromStepping(r).toFixed(1)),
                                                       (a = S.fromStepping(a).toFixed(1)),
                                                       (s = S.fromStepping(s).toFixed(1)),
                                                       i.children[0].setAttribute("aria-valuemin", r),
                                                       i.children[0].setAttribute("aria-valuemax", a),
                                                       i.children[0].setAttribute("aria-valuenow", s),
                                                       i.children[0].setAttribute("aria-valuetext", l);
                                             });
                                        }),
                                        p
                                   );
                              }
                              return {
                                   __spectrum: y,
                                   version: t,
                                   create: function (t, e) {
                                        if (!t || !t.nodeName) throw new Error("noUiSlider (12.1.0): create requires a single element, got: " + t);
                                        if (t.noUiSlider) throw new Error("noUiSlider (12.1.0): Slider was already initialized.");
                                        var i = B(t, N(e), e);
                                        return (t.noUiSlider = i), i;
                                   },
                              };
                         })
                              ? n.apply(e, r)
                              : n) || (t.exports = o);
     },
     function (t, e, i) {
          var n, r;
          void 0 ===
               (r =
                    "function" ==
                    typeof (n = function (t, e, i) {
                         return function (t, e, i, n, r, o) {
                              function a(t) {
                                   return "number" == typeof t && !isNaN(t);
                              }
                              var s = this;
                              if (
                                   ((s.version = function () {
                                        return "1.9.3";
                                   }),
                                   (s.options = {
                                        useEasing: !0,
                                        useGrouping: !0,
                                        separator: ",",
                                        decimal: ".",
                                        easingFn: function (t, e, i, n) {
                                             return (i * (1 - Math.pow(2, (-10 * t) / n)) * 1024) / 1023 + e;
                                        },
                                        formattingFn: function (t) {
                                             var e,
                                                  i,
                                                  n,
                                                  r,
                                                  o,
                                                  a,
                                                  l = t < 0;
                                             if (((t = Math.abs(t).toFixed(s.decimals)), (i = (e = (t += "").split("."))[0]), (n = e.length > 1 ? s.options.decimal + e[1] : ""), s.options.useGrouping)) {
                                                  for (r = "", o = 0, a = i.length; o < a; ++o) 0 !== o && o % 3 == 0 && (r = s.options.separator + r), (r = i[a - o - 1] + r);
                                                  i = r;
                                             }
                                             return (
                                                  s.options.numerals.length &&
                                                       ((i = i.replace(/[0-9]/g, function (t) {
                                                            return s.options.numerals[+t];
                                                       })),
                                                       (n = n.replace(/[0-9]/g, function (t) {
                                                            return s.options.numerals[+t];
                                                       }))),
                                                  (l ? "-" : "") + s.options.prefix + i + n + s.options.suffix
                                             );
                                        },
                                        prefix: "",
                                        suffix: "",
                                        numerals: [],
                                   }),
                                   o && "object" == typeof o)
                              )
                                   for (var l in s.options) o.hasOwnProperty(l) && null !== o[l] && (s.options[l] = o[l]);
                              "" === s.options.separator ? (s.options.useGrouping = !1) : (s.options.separator = "" + s.options.separator);
                              for (var c = 0, u = ["webkit", "moz", "ms", "o"], h = 0; h < u.length && !window.requestAnimationFrame; ++h)
                                   (window.requestAnimationFrame = window[u[h] + "RequestAnimationFrame"]), (window.cancelAnimationFrame = window[u[h] + "CancelAnimationFrame"] || window[u[h] + "CancelRequestAnimationFrame"]);
                              window.requestAnimationFrame ||
                                   (window.requestAnimationFrame = function (t, e) {
                                        var i = new Date().getTime(),
                                             n = Math.max(0, 16 - (i - c)),
                                             r = window.setTimeout(function () {
                                                  t(i + n);
                                             }, n);
                                        return (c = i + n), r;
                                   }),
                                   window.cancelAnimationFrame ||
                                        (window.cancelAnimationFrame = function (t) {
                                             clearTimeout(t);
                                        }),
                                   (s.initialize = function () {
                                        return !(
                                             !s.initialized &&
                                             ((s.error = ""),
                                             (s.d = "string" == typeof t ? document.getElementById(t) : t),
                                             s.d
                                                  ? ((s.startVal = Number(e)),
                                                    (s.endVal = Number(i)),
                                                    a(s.startVal) && a(s.endVal)
                                                         ? ((s.decimals = Math.max(0, n || 0)),
                                                           (s.dec = Math.pow(10, s.decimals)),
                                                           (s.duration = 1e3 * Number(r) || 2e3),
                                                           (s.countDown = s.startVal > s.endVal),
                                                           (s.frameVal = s.startVal),
                                                           (s.initialized = !0),
                                                           0)
                                                         : ((s.error = "[CountUp] startVal (" + e + ") or endVal (" + i + ") is not a number"), 1))
                                                  : ((s.error = "[CountUp] target is null or undefined"), 1))
                                        );
                                   }),
                                   (s.printValue = function (t) {
                                        var e = s.options.formattingFn(t);
                                        "INPUT" === s.d.tagName ? (this.d.value = e) : "text" === s.d.tagName || "tspan" === s.d.tagName ? (this.d.textContent = e) : (this.d.innerHTML = e);
                                   }),
                                   (s.count = function (t) {
                                        s.startTime || (s.startTime = t), (s.timestamp = t);
                                        var e = t - s.startTime;
                                        (s.remaining = s.duration - e),
                                             s.options.useEasing
                                                  ? s.countDown
                                                       ? (s.frameVal = s.startVal - s.options.easingFn(e, 0, s.startVal - s.endVal, s.duration))
                                                       : (s.frameVal = s.options.easingFn(e, s.startVal, s.endVal - s.startVal, s.duration))
                                                  : s.countDown
                                                  ? (s.frameVal = s.startVal - (s.startVal - s.endVal) * (e / s.duration))
                                                  : (s.frameVal = s.startVal + (s.endVal - s.startVal) * (e / s.duration)),
                                             s.countDown ? (s.frameVal = s.frameVal < s.endVal ? s.endVal : s.frameVal) : (s.frameVal = s.frameVal > s.endVal ? s.endVal : s.frameVal),
                                             (s.frameVal = Math.round(s.frameVal * s.dec) / s.dec),
                                             s.printValue(s.frameVal),
                                             e < s.duration ? (s.rAF = requestAnimationFrame(s.count)) : s.callback && s.callback();
                                   }),
                                   (s.start = function (t) {
                                        s.initialize() && ((s.callback = t), (s.rAF = requestAnimationFrame(s.count)));
                                   }),
                                   (s.pauseResume = function () {
                                        s.paused ? ((s.paused = !1), delete s.startTime, (s.duration = s.remaining), (s.startVal = s.frameVal), requestAnimationFrame(s.count)) : ((s.paused = !0), cancelAnimationFrame(s.rAF));
                                   }),
                                   (s.reset = function () {
                                        (s.paused = !1), delete s.startTime, (s.initialized = !1), s.initialize() && (cancelAnimationFrame(s.rAF), s.printValue(s.startVal));
                                   }),
                                   (s.update = function (t) {
                                        if (s.initialize()) {
                                             if (!a((t = Number(t)))) return void (s.error = "[CountUp] update() - new endVal is not a number: " + t);
                                             (s.error = ""),
                                                  t !== s.frameVal &&
                                                       (cancelAnimationFrame(s.rAF),
                                                       (s.paused = !1),
                                                       delete s.startTime,
                                                       (s.startVal = s.frameVal),
                                                       (s.endVal = t),
                                                       (s.countDown = s.startVal > s.endVal),
                                                       (s.rAF = requestAnimationFrame(s.count)));
                                        }
                                   }),
                                   s.initialize() && s.printValue(s.startVal);
                         };
                    })
                         ? n.call(e, i, e, t)
                         : n) || (t.exports = r);
     },
     function (t, e, i) {
          (t.exports = (function () {
               "use strict";
               function t(e) {
                    return (t =
                         "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                              ? function (t) {
                                     return typeof t;
                                }
                              : function (t) {
                                     return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                })(e);
               }
               function e(t, e) {
                    if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
               }
               function i(t, e) {
                    for (var i = 0; i < e.length; i++) {
                         var n = e[i];
                         (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                    }
               }
               function n(t, e, n) {
                    return e && i(t.prototype, e), n && i(t, n), t;
               }
               function r() {
                    return (r =
                         Object.assign ||
                         function (t) {
                              for (var e = 1; e < arguments.length; e++) {
                                   var i = arguments[e];
                                   for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n]);
                              }
                              return t;
                         }).apply(this, arguments);
               }
               function o(t, e) {
                    if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
                    (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } })), e && s(t, e);
               }
               function a(t) {
                    return (a = Object.setPrototypeOf
                         ? Object.getPrototypeOf
                         : function (t) {
                                return t.__proto__ || Object.getPrototypeOf(t);
                           })(t);
               }
               function s(t, e) {
                    return (s =
                         Object.setPrototypeOf ||
                         function (t, e) {
                              return (t.__proto__ = e), t;
                         })(t, e);
               }
               function l() {
                    if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
                    if (Reflect.construct.sham) return !1;
                    if ("function" == typeof Proxy) return !0;
                    try {
                         return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0;
                    } catch (t) {
                         return !1;
                    }
               }
               function c(t, e, i) {
                    return (c = l()
                         ? Reflect.construct
                         : function (t, e, i) {
                                var n = [null];
                                n.push.apply(n, e);
                                var r = new (Function.bind.apply(t, n))();
                                return i && s(r, i.prototype), r;
                           }).apply(null, arguments);
               }
               function u(t, e) {
                    return !e || ("object" != typeof e && "function" != typeof e)
                         ? (function (t) {
                                if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                                return t;
                           })(t)
                         : e;
               }
               function h(t, e, i) {
                    return (h =
                         "undefined" != typeof Reflect && Reflect.get
                              ? Reflect.get
                              : function (t, e, i) {
                                     var n = (function (t, e) {
                                          for (; !Object.prototype.hasOwnProperty.call(t, e) && null !== (t = a(t)); );
                                          return t;
                                     })(t, e);
                                     if (n) {
                                          var r = Object.getOwnPropertyDescriptor(n, e);
                                          return r.get ? r.get.call(i) : r.value;
                                     }
                                })(t, e, i || t);
               }
               var d = function (t) {
                         return Array.prototype.slice.call(t);
                    },
                    p = function (t) {
                         console.warn("".concat("SweetAlert2:", " ").concat(t));
                    },
                    f = function (t) {
                         console.error("".concat("SweetAlert2:", " ").concat(t));
                    },
                    m = [],
                    g = function (t) {
                         -1 === m.indexOf(t) && (m.push(t), p(t));
                    },
                    v = function (t) {
                         return "function" == typeof t ? t() : t;
                    },
                    y = function (t) {
                         return t && Promise.resolve(t) === t;
                    },
                    b = Object.freeze({ cancel: "cancel", backdrop: "overlay", close: "close", esc: "esc", timer: "timer" }),
                    _ = function (t) {
                         var e = {};
                         for (var i in t) e[t[i]] = "swal2-" + t[i];
                         return e;
                    },
                    x = _([
                         "container",
                         "shown",
                         "height-auto",
                         "iosfix",
                         "popup",
                         "modal",
                         "no-backdrop",
                         "toast",
                         "toast-shown",
                         "toast-column",
                         "fade",
                         "show",
                         "hide",
                         "noanimation",
                         "close",
                         "title",
                         "header",
                         "content",
                         "actions",
                         "confirm",
                         "cancel",
                         "footer",
                         "icon",
                         "icon-text",
                         "image",
                         "input",
                         "file",
                         "range",
                         "select",
                         "radio",
                         "checkbox",
                         "label",
                         "textarea",
                         "inputerror",
                         "validation-message",
                         "progresssteps",
                         "activeprogressstep",
                         "progresscircle",
                         "progressline",
                         "loading",
                         "styled",
                         "top",
                         "top-start",
                         "top-end",
                         "top-left",
                         "top-right",
                         "center",
                         "center-start",
                         "center-end",
                         "center-left",
                         "center-right",
                         "bottom",
                         "bottom-start",
                         "bottom-end",
                         "bottom-left",
                         "bottom-right",
                         "grow-row",
                         "grow-column",
                         "grow-fullscreen",
                         "rtl",
                    ]),
                    w = _(["success", "warning", "info", "question", "error"]),
                    k = { previousBodyPadding: null },
                    S = function (t, e) {
                         return t.classList.contains(e);
                    },
                    M = function (t) {
                         if ((t.focus(), "file" !== t.type)) {
                              var e = t.value;
                              (t.value = ""), (t.value = e);
                         }
                    },
                    T = function (t, e, i) {
                         t &&
                              e &&
                              ("string" == typeof e && (e = e.split(/\s+/).filter(Boolean)),
                              e.forEach(function (e) {
                                   t.forEach
                                        ? t.forEach(function (t) {
                                               i ? t.classList.add(e) : t.classList.remove(e);
                                          })
                                        : i
                                        ? t.classList.add(e)
                                        : t.classList.remove(e);
                              }));
                    },
                    C = function (t, e) {
                         T(t, e, !0);
                    },
                    D = function (t, e) {
                         T(t, e, !1);
                    },
                    L = function (t, e) {
                         for (var i = 0; i < t.childNodes.length; i++) if (S(t.childNodes[i], e)) return t.childNodes[i];
                    },
                    E = function (t) {
                         (t.style.opacity = ""), (t.style.display = t.id === x.content ? "block" : "flex");
                    },
                    A = function (t) {
                         (t.style.opacity = ""), (t.style.display = "none");
                    },
                    P = function (t) {
                         return t && (t.offsetWidth || t.offsetHeight || t.getClientRects().length);
                    },
                    I = function () {
                         return document.body.querySelector("." + x.container);
                    },
                    O = function (t) {
                         var e = I();
                         return e ? e.querySelector("." + t) : null;
                    },
                    Y = function () {
                         return O(x.popup);
                    },
                    z = function () {
                         var t = Y();
                         return d(t.querySelectorAll("." + x.icon));
                    },
                    R = function () {
                         return O(x.title);
                    },
                    F = function () {
                         return O(x.content);
                    },
                    H = function () {
                         return O(x.image);
                    },
                    j = function () {
                         return O(x.progresssteps);
                    },
                    N = function () {
                         return O(x["validation-message"]);
                    },
                    B = function () {
                         return O(x.confirm);
                    },
                    W = function () {
                         return O(x.cancel);
                    },
                    V = function () {
                         return O(x.actions);
                    },
                    U = function () {
                         return O(x.footer);
                    },
                    q = function () {
                         return O(x.close);
                    },
                    $ = function () {
                         var t = d(Y().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(function (t, e) {
                                   return (t = parseInt(t.getAttribute("tabindex"))) > (e = parseInt(e.getAttribute("tabindex"))) ? 1 : t < e ? -1 : 0;
                              }),
                              e = d(
                                   Y().querySelectorAll(
                                        'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable], audio[controls], video[controls]'
                                   )
                              ).filter(function (t) {
                                   return "-1" !== t.getAttribute("tabindex");
                              });
                         return (function (t) {
                              for (var e = [], i = 0; i < t.length; i++) -1 === e.indexOf(t[i]) && e.push(t[i]);
                              return e;
                         })(t.concat(e)).filter(function (t) {
                              return P(t);
                         });
                    },
                    X = function () {
                         return !G() && !document.body.classList.contains(x["no-backdrop"]);
                    },
                    G = function () {
                         return document.body.classList.contains(x["toast-shown"]);
                    },
                    Z = function () {
                         return "undefined" == typeof window || "undefined" == typeof document;
                    },
                    J = '\n <div aria-labelledby="'
                         .concat(x.title, '" aria-describedby="')
                         .concat(x.content, '" class="')
                         .concat(x.popup, '" tabindex="-1">\n   <div class="')
                         .concat(x.header, '">\n     <ul class="')
                         .concat(x.progresssteps, '"></ul>\n     <div class="')
                         .concat(x.icon, " ")
                         .concat(w.error, '">\n       <span class="swal2-x-mark"><span class="swal2-x-mark-line-left"></span><span class="swal2-x-mark-line-right"></span></span>\n     </div>\n     <div class="')
                         .concat(x.icon, " ")
                         .concat(w.question, '">\n       <span class="')
                         .concat(x["icon-text"], '">?</span>\n      </div>\n     <div class="')
                         .concat(x.icon, " ")
                         .concat(w.warning, '">\n       <span class="')
                         .concat(x["icon-text"], '">!</span>\n      </div>\n     <div class="')
                         .concat(x.icon, " ")
                         .concat(w.info, '">\n       <span class="')
                         .concat(x["icon-text"], '">i</span>\n      </div>\n     <div class="')
                         .concat(x.icon, " ")
                         .concat(
                              w.success,
                              '">\n       <div class="swal2-success-circular-line-left"></div>\n       <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n       <div class="swal2-success-ring"></div> <div class="swal2-success-fix"></div>\n       <div class="swal2-success-circular-line-right"></div>\n     </div>\n     <img class="'
                         )
                         .concat(x.image, '" />\n     <h2 class="')
                         .concat(x.title, '" id="')
                         .concat(x.title, '"></h2>\n     <button type="button" class="')
                         .concat(x.close, '">×</button>\n   </div>\n   <div class="')
                         .concat(x.content, '">\n     <div id="')
                         .concat(x.content, '"></div>\n     <input class="')
                         .concat(x.input, '" />\n     <input type="file" class="')
                         .concat(x.file, '" />\n     <div class="')
                         .concat(x.range, '">\n       <input type="range" />\n       <output></output>\n     </div>\n     <select class="')
                         .concat(x.select, '"></select>\n     <div class="')
                         .concat(x.radio, '"></div>\n     <label for="')
                         .concat(x.checkbox, '" class="')
                         .concat(x.checkbox, '">\n       <input type="checkbox" />\n       <span class="')
                         .concat(x.label, '"></span>\n     </label>\n     <textarea class="')
                         .concat(x.textarea, '"></textarea>\n     <div class="')
                         .concat(x["validation-message"], '" id="')
                         .concat(x["validation-message"], '"></div>\n   </div>\n   <div class="')
                         .concat(x.actions, '">\n     <button type="button" class="')
                         .concat(x.confirm, '">OK</button>\n     <button type="button" class="')
                         .concat(x.cancel, '">Cancel</button>\n   </div>\n   <div class="')
                         .concat(x.footer, '">\n   </div>\n </div>\n')
                         .replace(/(^|\n)\s*/g, ""),
                    K = function (t) {
                         var e = I();
                         if ((e && (e.parentNode.removeChild(e), D([document.documentElement, document.body], [x["no-backdrop"], x["toast-shown"], x["has-column"]])), !Z())) {
                              var i = document.createElement("div");
                              (i.className = x.container), (i.innerHTML = J);
                              var n = "string" == typeof t.target ? document.querySelector(t.target) : t.target;
                              n.appendChild(i);
                              var r,
                                   o = Y(),
                                   a = F(),
                                   s = L(a, x.input),
                                   l = L(a, x.file),
                                   c = a.querySelector(".".concat(x.range, " input")),
                                   u = a.querySelector(".".concat(x.range, " output")),
                                   h = L(a, x.select),
                                   d = a.querySelector(".".concat(x.checkbox, " input")),
                                   p = L(a, x.textarea);
                              o.setAttribute("role", t.toast ? "alert" : "dialog"),
                                   o.setAttribute("aria-live", t.toast ? "polite" : "assertive"),
                                   t.toast || o.setAttribute("aria-modal", "true"),
                                   "rtl" === window.getComputedStyle(n).direction && C(I(), x.rtl);
                              var m = function (t) {
                                   Yt.isVisible() && r !== t.target.value && Yt.resetValidationMessage(), (r = t.target.value);
                              };
                              return (
                                   (s.oninput = m),
                                   (l.onchange = m),
                                   (h.onchange = m),
                                   (d.onchange = m),
                                   (p.oninput = m),
                                   (c.oninput = function (t) {
                                        m(t), (u.value = c.value);
                                   }),
                                   (c.onchange = function (t) {
                                        m(t), (c.nextSibling.value = c.value);
                                   }),
                                   o
                              );
                         }
                         f("SweetAlert2 requires document to initialize");
                    },
                    Q = function (e, i) {
                         if (!e) return A(i);
                         if (e instanceof HTMLElement) i.appendChild(e);
                         else if ("object" === t(e))
                              if (((i.innerHTML = ""), 0 in e)) for (var n = 0; n in e; n++) i.appendChild(e[n].cloneNode(!0));
                              else i.appendChild(e.cloneNode(!0));
                         else e && (i.innerHTML = e);
                         E(i);
                    },
                    tt = (function () {
                         if (Z()) return !1;
                         var t = document.createElement("div"),
                              e = { WebkitAnimation: "webkitAnimationEnd", OAnimation: "oAnimationEnd oanimationend", animation: "animationend" };
                         for (var i in e) if (e.hasOwnProperty(i) && void 0 !== t.style[i]) return e[i];
                         return !1;
                    })(),
                    et = function (t) {
                         var e = j(),
                              i = parseInt(null === t.currentProgressStep ? Yt.getQueueStep() : t.currentProgressStep, 10);
                         t.progressSteps && t.progressSteps.length
                              ? (E(e),
                                (e.innerHTML = ""),
                                i >= t.progressSteps.length && p("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),
                                t.progressSteps.forEach(function (n, r) {
                                     var o = document.createElement("li");
                                     if ((C(o, x.progresscircle), (o.innerHTML = n), r === i && C(o, x.activeprogressstep), e.appendChild(o), r !== t.progressSteps.length - 1)) {
                                          var a = document.createElement("li");
                                          C(a, x.progressline), t.progressStepsDistance && (a.style.width = t.progressStepsDistance), e.appendChild(a);
                                     }
                                }))
                              : A(e);
                    },
                    it = function () {
                         null === k.previousBodyPadding &&
                              document.body.scrollHeight > window.innerHeight &&
                              ((k.previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"))),
                              (document.body.style.paddingRight =
                                   k.previousBodyPadding +
                                   (function () {
                                        if ("ontouchstart" in window || navigator.msMaxTouchPoints) return 0;
                                        var t = document.createElement("div");
                                        (t.style.width = "50px"), (t.style.height = "50px"), (t.style.overflow = "scroll"), document.body.appendChild(t);
                                        var e = t.offsetWidth - t.clientWidth;
                                        return document.body.removeChild(t), e;
                                   })() +
                                   "px"));
                    },
                    nt = function () {
                         return !!window.MSInputMethodContext && !!document.documentMode;
                    },
                    rt = function () {
                         var t = I(),
                              e = Y();
                         t.style.removeProperty("align-items"), e.offsetTop < 0 && (t.style.alignItems = "flex-start");
                    },
                    ot = {},
                    at = function (t, e) {
                         var i = I(),
                              n = Y();
                         if (n) {
                              null !== t && "function" == typeof t && t(n), D(n, x.show), C(n, x.hide);
                              var r = function () {
                                   G()
                                        ? st(e)
                                        : (new Promise(function (t) {
                                               var e = window.scrollX,
                                                    i = window.scrollY;
                                               (ot.restoreFocusTimeout = setTimeout(function () {
                                                    ot.previousActiveElement && ot.previousActiveElement.focus ? (ot.previousActiveElement.focus(), (ot.previousActiveElement = null)) : document.body && document.body.focus(), t();
                                               }, 100)),
                                                    void 0 !== e && void 0 !== i && window.scrollTo(e, i);
                                          }).then(function () {
                                               return st(e);
                                          }),
                                          ot.keydownTarget.removeEventListener("keydown", ot.keydownHandler, { capture: ot.keydownListenerCapture }),
                                          (ot.keydownHandlerAdded = !1)),
                                        i.parentNode && i.parentNode.removeChild(i),
                                        D([document.documentElement, document.body], [x.shown, x["height-auto"], x["no-backdrop"], x["toast-shown"], x["toast-column"]]),
                                        X() &&
                                             (null !== k.previousBodyPadding && ((document.body.style.paddingRight = k.previousBodyPadding), (k.previousBodyPadding = null)),
                                             (function () {
                                                  if (S(document.body, x.iosfix)) {
                                                       var t = parseInt(document.body.style.top, 10);
                                                       D(document.body, x.iosfix), (document.body.style.top = ""), (document.body.scrollTop = -1 * t);
                                                  }
                                             })(),
                                             "undefined" != typeof window && nt() && window.removeEventListener("resize", rt),
                                             d(document.body.children).forEach(function (t) {
                                                  t.hasAttribute("data-previous-aria-hidden")
                                                       ? (t.setAttribute("aria-hidden", t.getAttribute("data-previous-aria-hidden")), t.removeAttribute("data-previous-aria-hidden"))
                                                       : t.removeAttribute("aria-hidden");
                                             }));
                              };
                              tt && !S(n, x.noanimation)
                                   ? n.addEventListener(tt, function t() {
                                          n.removeEventListener(tt, t), S(n, x.hide) && r();
                                     })
                                   : r();
                         }
                    },
                    st = function (t) {
                         null !== t &&
                              "function" == typeof t &&
                              setTimeout(function () {
                                   t();
                              });
                    };
               function lt(t) {
                    var e = function t() {
                         for (var e = arguments.length, i = new Array(e), n = 0; n < e; n++) i[n] = arguments[n];
                         if (!(this instanceof t)) return c(t, i);
                         Object.getPrototypeOf(t).apply(this, i);
                    };
                    return (e.prototype = r(Object.create(t.prototype), { constructor: e })), "function" == typeof Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : (e.__proto__ = t), e;
               }
               var ct = {
                         title: "",
                         titleText: "",
                         text: "",
                         html: "",
                         footer: "",
                         type: null,
                         toast: !1,
                         customClass: "",
                         customContainerClass: "",
                         target: "body",
                         backdrop: !0,
                         animation: !0,
                         heightAuto: !0,
                         allowOutsideClick: !0,
                         allowEscapeKey: !0,
                         allowEnterKey: !0,
                         stopKeydownPropagation: !0,
                         keydownListenerCapture: !1,
                         showConfirmButton: !0,
                         showCancelButton: !1,
                         preConfirm: null,
                         confirmButtonText: "OK",
                         confirmButtonAriaLabel: "",
                         confirmButtonColor: null,
                         confirmButtonClass: null,
                         cancelButtonText: "Cancel",
                         cancelButtonAriaLabel: "",
                         cancelButtonColor: null,
                         cancelButtonClass: null,
                         buttonsStyling: !0,
                         reverseButtons: !1,
                         focusConfirm: !0,
                         focusCancel: !1,
                         showCloseButton: !1,
                         closeButtonAriaLabel: "Close this dialog",
                         showLoaderOnConfirm: !1,
                         imageUrl: null,
                         imageWidth: null,
                         imageHeight: null,
                         imageAlt: "",
                         imageClass: null,
                         timer: null,
                         width: null,
                         padding: null,
                         background: null,
                         input: null,
                         inputPlaceholder: "",
                         inputValue: "",
                         inputOptions: {},
                         inputAutoTrim: !0,
                         inputClass: null,
                         inputAttributes: {},
                         inputValidator: null,
                         validationMessage: null,
                         grow: !1,
                         position: "center",
                         progressSteps: [],
                         currentProgressStep: null,
                         progressStepsDistance: null,
                         onBeforeOpen: null,
                         onAfterClose: null,
                         onOpen: null,
                         onClose: null,
                         useRejections: !1,
                         expectRejections: !1,
                    },
                    ut = ["useRejections", "expectRejections", "extraParams"],
                    ht = ["allowOutsideClick", "allowEnterKey", "backdrop", "focusConfirm", "focusCancel", "heightAuto", "keydownListenerCapture"],
                    dt = function (t) {
                         return ct.hasOwnProperty(t) || "extraParams" === t;
                    },
                    pt = function (t) {
                         return -1 !== ut.indexOf(t);
                    },
                    ft = function (t) {
                         for (var e in t)
                              dt(e) || p('Unknown parameter "'.concat(e, '"')),
                                   t.toast && -1 !== ht.indexOf(e) && p('The parameter "'.concat(e, '" is incompatible with toasts')),
                                   pt(e) && g('The parameter "'.concat(e, '" is deprecated and will be removed in the next major release.'));
                    },
                    mt =
                         '"setDefaults" & "resetDefaults" methods are deprecated in favor of "mixin" method and will be removed in the next major release. For new projects, use "mixin". For past projects already using "setDefaults", support will be provided through an additional package.',
                    gt = {},
                    vt = [],
                    yt = function () {
                         var t = Y();
                         t || Yt(""), (t = Y());
                         var e = V(),
                              i = B(),
                              n = W();
                         E(e), E(i), C([t, e], x.loading), (i.disabled = !0), (n.disabled = !0), t.setAttribute("data-loading", !0), t.setAttribute("aria-busy", !0), t.focus();
                    },
                    bt = Object.freeze({
                         isValidParameter: dt,
                         isDeprecatedParameter: pt,
                         argsToParams: function (e) {
                              var i = {};
                              switch (t(e[0])) {
                                   case "object":
                                        r(i, e[0]);
                                        break;
                                   default:
                                        ["title", "html", "type"].forEach(function (n, r) {
                                             switch (t(e[r])) {
                                                  case "string":
                                                       i[n] = e[r];
                                                       break;
                                                  case "undefined":
                                                       break;
                                                  default:
                                                       f("Unexpected type of ".concat(n, '! Expected "string", got ').concat(t(e[r])));
                                             }
                                        });
                              }
                              return i;
                         },
                         adaptInputValidator: function (t) {
                              return function (e, i) {
                                   return t.call(this, e, i).then(
                                        function () {},
                                        function (t) {
                                             return t;
                                        }
                                   );
                              };
                         },
                         close: at,
                         closePopup: at,
                         closeModal: at,
                         closeToast: at,
                         isVisible: function () {
                              return !!Y();
                         },
                         clickConfirm: function () {
                              return B().click();
                         },
                         clickCancel: function () {
                              return W().click();
                         },
                         getContainer: I,
                         getPopup: Y,
                         getTitle: R,
                         getContent: F,
                         getImage: H,
                         getIcons: z,
                         getCloseButton: q,
                         getButtonsWrapper: function () {
                              return g("swal.getButtonsWrapper() is deprecated and will be removed in the next major release, use swal.getActions() instead"), O(x.actions);
                         },
                         getActions: V,
                         getConfirmButton: B,
                         getCancelButton: W,
                         getFooter: U,
                         getFocusableElements: $,
                         getValidationMessage: N,
                         isLoading: function () {
                              return Y().hasAttribute("data-loading");
                         },
                         fire: function () {
                              for (var t = this, e = arguments.length, i = new Array(e), n = 0; n < e; n++) i[n] = arguments[n];
                              return c(t, i);
                         },
                         mixin: function (t) {
                              return lt(
                                   (function (i) {
                                        function s() {
                                             return e(this, s), u(this, a(s).apply(this, arguments));
                                        }
                                        return (
                                             o(s, i),
                                             n(s, [
                                                  {
                                                       key: "_main",
                                                       value: function (e) {
                                                            return h(a(s.prototype), "_main", this).call(this, r({}, t, e));
                                                       },
                                                  },
                                             ]),
                                             s
                                        );
                                   })(this)
                              );
                         },
                         queue: function (t) {
                              var e = this;
                              vt = t;
                              var i = function () {
                                        (vt = []), document.body.removeAttribute("data-swal2-queue-step");
                                   },
                                   n = [];
                              return new Promise(function (t) {
                                   !(function r(o, a) {
                                        o < vt.length
                                             ? (document.body.setAttribute("data-swal2-queue-step", o),
                                               e(vt[o]).then(function (e) {
                                                    void 0 !== e.value ? (n.push(e.value), r(o + 1, a)) : (i(), t({ dismiss: e.dismiss }));
                                               }))
                                             : (i(), t({ value: n }));
                                   })(0);
                              });
                         },
                         getQueueStep: function () {
                              return document.body.getAttribute("data-swal2-queue-step");
                         },
                         insertQueueStep: function (t, e) {
                              return e && e < vt.length ? vt.splice(e, 0, t) : vt.push(t);
                         },
                         deleteQueueStep: function (t) {
                              void 0 !== vt[t] && vt.splice(t, 1);
                         },
                         showLoading: yt,
                         enableLoading: yt,
                         getTimerLeft: function () {
                              return ot.timeout && ot.timeout.getTimerLeft();
                         },
                         stopTimer: function () {
                              return ot.timeout && ot.timeout.stop();
                         },
                         resumeTimer: function () {
                              return ot.timeout && ot.timeout.start();
                         },
                         toggleTimer: function () {
                              var t = ot.timeout;
                              return t && (t.running ? t.stop() : t.start());
                         },
                         increaseTimer: function (t) {
                              return ot.timeout && ot.timeout.increase(t);
                         },
                         isTimerRunning: function () {
                              return ot.timeout && ot.timeout.isRunning();
                         },
                    }),
                    _t =
                         "function" == typeof Symbol
                              ? Symbol
                              : (function () {
                                     var t = 0;
                                     function e(e) {
                                          return "__" + e + "_" + Math.floor(1e9 * Math.random()) + "_" + ++t + "__";
                                     }
                                     return (e.iterator = e("Symbol.iterator")), e;
                                })(),
                    xt =
                         "function" == typeof WeakMap
                              ? WeakMap
                              : (function (t, e, i) {
                                     function n() {
                                          e(this, t, { value: _t("WeakMap") });
                                     }
                                     return (
                                          (n.prototype = {
                                               delete: function (e) {
                                                    delete e[this[t]];
                                               },
                                               get: function (e) {
                                                    return e[this[t]];
                                               },
                                               has: function (e) {
                                                    return i.call(e, this[t]);
                                               },
                                               set: function (i, n) {
                                                    e(i, this[t], { configurable: !0, value: n });
                                               },
                                          }),
                                          n
                                     );
                                })(_t("WeakMap"), Object.defineProperty, {}.hasOwnProperty),
                    wt = { promise: new xt(), innerParams: new xt(), domCache: new xt() };
               function kt() {
                    var t = wt.innerParams.get(this),
                         e = wt.domCache.get(this);
                    t.showConfirmButton || (A(e.confirmButton), t.showCancelButton || A(e.actions)),
                         D([e.popup, e.actions], x.loading),
                         e.popup.removeAttribute("aria-busy"),
                         e.popup.removeAttribute("data-loading"),
                         (e.confirmButton.disabled = !1),
                         (e.cancelButton.disabled = !1);
               }
               function St(t) {
                    var e = wt.domCache.get(this);
                    e.validationMessage.innerHTML = t;
                    var i = window.getComputedStyle(e.popup);
                    (e.validationMessage.style.marginLeft = "-".concat(i.getPropertyValue("padding-left"))), (e.validationMessage.style.marginRight = "-".concat(i.getPropertyValue("padding-right"))), E(e.validationMessage);
                    var n = this.getInput();
                    n && (n.setAttribute("aria-invalid", !0), n.setAttribute("aria-describedBy", x["validation-message"]), M(n), C(n, x.inputerror));
               }
               function Mt() {
                    var t = wt.domCache.get(this);
                    t.validationMessage && A(t.validationMessage);
                    var e = this.getInput();
                    e && (e.removeAttribute("aria-invalid"), e.removeAttribute("aria-describedBy"), D(e, x.inputerror));
               }
               var Tt = function t(i, n) {
                         e(this, t);
                         var r,
                              o,
                              a = n;
                         (this.running = !1),
                              (this.start = function () {
                                   return this.running || ((this.running = !0), (o = new Date()), (r = setTimeout(i, a))), a;
                              }),
                              (this.stop = function () {
                                   return this.running && ((this.running = !1), clearTimeout(r), (a -= new Date() - o)), a;
                              }),
                              (this.increase = function (t) {
                                   var e = this.running;
                                   return e && this.stop(), (a += t), e && this.start(), a;
                              }),
                              (this.getTimerLeft = function () {
                                   return this.running && (this.stop(), this.start()), a;
                              }),
                              (this.isRunning = function () {
                                   return this.running;
                              }),
                              this.start();
                    },
                    Ct = {
                         email: function (t, e) {
                              return /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(t) ? Promise.resolve() : Promise.reject(e && e.validationMessage ? e.validationMessage : "Invalid email address");
                         },
                         url: function (t, e) {
                              return /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)$/.test(t)
                                   ? Promise.resolve()
                                   : Promise.reject(e && e.validationMessage ? e.validationMessage : "Invalid URL");
                         },
                    };
               function Dt(e) {
                    var i;
                    e.inputValidator ||
                         Object.keys(Ct).forEach(function (t) {
                              e.input === t && (e.inputValidator = e.expectRejections ? Ct[t] : Yt.adaptInputValidator(Ct[t]));
                         }),
                         e.validationMessage && ("object" !== t(e.extraParams) && (e.extraParams = {}), (e.extraParams.validationMessage = e.validationMessage)),
                         (!e.target || ("string" == typeof e.target && !document.querySelector(e.target)) || ("string" != typeof e.target && !e.target.appendChild)) &&
                              (p('Target parameter is not valid, defaulting to "body"'), (e.target = "body")),
                         "function" == typeof e.animation && (e.animation = e.animation.call());
                    var n = Y(),
                         r = "string" == typeof e.target ? document.querySelector(e.target) : e.target;
                    (i = n && r && n.parentNode !== r.parentNode ? K(e) : n || K(e)),
                         e.width && (i.style.width = "number" == typeof e.width ? e.width + "px" : e.width),
                         e.padding && (i.style.padding = "number" == typeof e.padding ? e.padding + "px" : e.padding),
                         e.background && (i.style.background = e.background);
                    for (var o = window.getComputedStyle(i).getPropertyValue("background-color"), a = i.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix"), s = 0; s < a.length; s++) a[s].style.backgroundColor = o;
                    var l = I(),
                         c = q(),
                         u = U();
                    if (
                         ((function (t) {
                              var e = R();
                              t.titleText ? (e.innerText = t.titleText) : t.title && ("string" == typeof t.title && (t.title = t.title.split("\n").join("<br />")), Q(t.title, e));
                         })(e),
                         (function (t) {
                              var e = F().querySelector("#" + x.content);
                              t.html ? Q(t.html, e) : t.text ? ((e.textContent = t.text), E(e)) : A(e);
                         })(e),
                         "string" == typeof e.backdrop ? (I().style.background = e.backdrop) : e.backdrop || C([document.documentElement, document.body], x["no-backdrop"]),
                         !e.backdrop && e.allowOutsideClick && p('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),
                         e.position in x ? C(l, x[e.position]) : (p('The "position" parameter is not valid, defaulting to "center"'), C(l, x.center)),
                         e.grow && "string" == typeof e.grow)
                    ) {
                         var h = "grow-" + e.grow;
                         h in x && C(l, x[h]);
                    }
                    e.showCloseButton ? (c.setAttribute("aria-label", e.closeButtonAriaLabel), E(c)) : A(c),
                         (i.className = x.popup),
                         e.toast ? (C([document.documentElement, document.body], x["toast-shown"]), C(i, x.toast)) : C(i, x.modal),
                         e.customClass && C(i, e.customClass),
                         e.customContainerClass && C(l, e.customContainerClass),
                         et(e),
                         (function (t) {
                              for (var e = z(), i = 0; i < e.length; i++) A(e[i]);
                              if (t.type)
                                   if (-1 !== Object.keys(w).indexOf(t.type)) {
                                        var n = Yt.getPopup().querySelector(".".concat(x.icon, ".").concat(w[t.type]));
                                        E(n), t.animation && C(n, "swal2-animate-".concat(t.type, "-icon"));
                                   } else f('Unknown type! Expected "success", "error", "warning", "info" or "question", got "'.concat(t.type, '"'));
                         })(e),
                         (function (t) {
                              var e = H();
                              t.imageUrl
                                   ? (e.setAttribute("src", t.imageUrl),
                                     e.setAttribute("alt", t.imageAlt),
                                     E(e),
                                     t.imageWidth ? e.setAttribute("width", t.imageWidth) : e.removeAttribute("width"),
                                     t.imageHeight ? e.setAttribute("height", t.imageHeight) : e.removeAttribute("height"),
                                     (e.className = x.image),
                                     t.imageClass && C(e, t.imageClass))
                                   : A(e);
                         })(e),
                         (function (t) {
                              var e = V(),
                                   i = B(),
                                   n = W();
                              if (
                                   (t.showConfirmButton || t.showCancelButton ? E(e) : A(e),
                                   t.showCancelButton ? (n.style.display = "inline-block") : A(n),
                                   t.showConfirmButton ? i.style.removeProperty("display") : A(i),
                                   (i.innerHTML = t.confirmButtonText),
                                   (n.innerHTML = t.cancelButtonText),
                                   i.setAttribute("aria-label", t.confirmButtonAriaLabel),
                                   n.setAttribute("aria-label", t.cancelButtonAriaLabel),
                                   (i.className = x.confirm),
                                   C(i, t.confirmButtonClass),
                                   (n.className = x.cancel),
                                   C(n, t.cancelButtonClass),
                                   t.buttonsStyling)
                              ) {
                                   C([i, n], x.styled), t.confirmButtonColor && (i.style.backgroundColor = t.confirmButtonColor), t.cancelButtonColor && (n.style.backgroundColor = t.cancelButtonColor);
                                   var r = window.getComputedStyle(i).getPropertyValue("background-color");
                                   (i.style.borderLeftColor = r), (i.style.borderRightColor = r);
                              } else D([i, n], x.styled), (i.style.backgroundColor = i.style.borderLeftColor = i.style.borderRightColor = ""), (n.style.backgroundColor = n.style.borderLeftColor = n.style.borderRightColor = "");
                         })(e),
                         Q(e.footer, u),
                         !0 === e.animation ? D(i, x.noanimation) : C(i, x.noanimation),
                         e.showLoaderOnConfirm &&
                              !e.preConfirm &&
                              p("showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request");
               }
               var Lt,
                    Et = function (t) {
                         var e = I(),
                              i = Y();
                         null !== t.onBeforeOpen && "function" == typeof t.onBeforeOpen && t.onBeforeOpen(i),
                              t.animation ? (C(i, x.show), C(e, x.fade), D(i, x.hide)) : D(i, x.fade),
                              E(i),
                              (e.style.overflowY = "hidden"),
                              tt && !S(i, x.noanimation)
                                   ? i.addEventListener(tt, function t() {
                                          i.removeEventListener(tt, t), (e.style.overflowY = "auto");
                                     })
                                   : (e.style.overflowY = "auto"),
                              C([document.documentElement, document.body, e], x.shown),
                              t.heightAuto && t.backdrop && !t.toast && C([document.documentElement, document.body], x["height-auto"]),
                              X() &&
                                   (it(),
                                   (function () {
                                        if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream && !S(document.body, x.iosfix)) {
                                             var t = document.body.scrollTop;
                                             (document.body.style.top = -1 * t + "px"), C(document.body, x.iosfix);
                                        }
                                   })(),
                                   "undefined" != typeof window && nt() && (rt(), window.addEventListener("resize", rt)),
                                   d(document.body.children).forEach(function (t) {
                                        t === I() ||
                                             (function (t, e) {
                                                  if ("function" == typeof t.contains) return t.contains(e);
                                             })(t, I()) ||
                                             (t.hasAttribute("aria-hidden") && t.setAttribute("data-previous-aria-hidden", t.getAttribute("aria-hidden")), t.setAttribute("aria-hidden", "true"));
                                   }),
                                   setTimeout(function () {
                                        e.scrollTop = 0;
                                   })),
                              G() || ot.previousActiveElement || (ot.previousActiveElement = document.activeElement),
                              null !== t.onOpen &&
                                   "function" == typeof t.onOpen &&
                                   setTimeout(function () {
                                        t.onOpen(i);
                                   });
                    },
                    At = Object.freeze({
                         hideLoading: kt,
                         disableLoading: kt,
                         getInput: function (t) {
                              var e = wt.innerParams.get(this),
                                   i = wt.domCache.get(this);
                              if (!(t = t || e.input)) return null;
                              switch (t) {
                                   case "select":
                                   case "textarea":
                                   case "file":
                                        return L(i.content, x[t]);
                                   case "checkbox":
                                        return i.popup.querySelector(".".concat(x.checkbox, " input"));
                                   case "radio":
                                        return i.popup.querySelector(".".concat(x.radio, " input:checked")) || i.popup.querySelector(".".concat(x.radio, " input:first-child"));
                                   case "range":
                                        return i.popup.querySelector(".".concat(x.range, " input"));
                                   default:
                                        return L(i.content, x.input);
                              }
                         },
                         enableButtons: function () {
                              var t = wt.domCache.get(this);
                              (t.confirmButton.disabled = !1), (t.cancelButton.disabled = !1);
                         },
                         disableButtons: function () {
                              var t = wt.domCache.get(this);
                              (t.confirmButton.disabled = !0), (t.cancelButton.disabled = !0);
                         },
                         enableConfirmButton: function () {
                              wt.domCache.get(this).confirmButton.disabled = !1;
                         },
                         disableConfirmButton: function () {
                              wt.domCache.get(this).confirmButton.disabled = !0;
                         },
                         enableInput: function () {
                              var t = this.getInput();
                              if (!t) return !1;
                              if ("radio" === t.type) for (var e = t.parentNode.parentNode.querySelectorAll("input"), i = 0; i < e.length; i++) e[i].disabled = !1;
                              else t.disabled = !1;
                         },
                         disableInput: function () {
                              var t = this.getInput();
                              if (!t) return !1;
                              if (t && "radio" === t.type) for (var e = t.parentNode.parentNode.querySelectorAll("input"), i = 0; i < e.length; i++) e[i].disabled = !0;
                              else t.disabled = !0;
                         },
                         showValidationMessage: St,
                         resetValidationMessage: Mt,
                         resetValidationError: function () {
                              g("Swal.resetValidationError() is deprecated and will be removed in the next major release, use Swal.resetValidationMessage() instead"), Mt.bind(this)();
                         },
                         showValidationError: function (t) {
                              g("Swal.showValidationError() is deprecated and will be removed in the next major release, use Swal.showValidationMessage() instead"), St.bind(this)(t);
                         },
                         getProgressSteps: function () {
                              return wt.innerParams.get(this).progressSteps;
                         },
                         setProgressSteps: function (t) {
                              var e = r({}, wt.innerParams.get(this), { progressSteps: t });
                              wt.innerParams.set(this, e), et(e);
                         },
                         showProgressSteps: function () {
                              var t = wt.domCache.get(this);
                              E(t.progressSteps);
                         },
                         hideProgressSteps: function () {
                              var t = wt.domCache.get(this);
                              A(t.progressSteps);
                         },
                         _main: function (e) {
                              var i = this;
                              ft(e);
                              var n = r({}, ct, e);
                              Dt(n), Object.freeze(n), wt.innerParams.set(this, n), ot.timeout && (ot.timeout.stop(), delete ot.timeout), clearTimeout(ot.restoreFocusTimeout);
                              var o = { popup: Y(), container: I(), content: F(), actions: V(), confirmButton: B(), cancelButton: W(), closeButton: q(), validationMessage: N(), progressSteps: j() };
                              wt.domCache.set(this, o);
                              var a = this.constructor;
                              return new Promise(function (e, r) {
                                   var s = function (t) {
                                             a.closePopup(n.onClose, n.onAfterClose), n.useRejections ? e(t) : e({ value: t });
                                        },
                                        l = function (t) {
                                             a.closePopup(n.onClose, n.onAfterClose), n.useRejections ? r(t) : e({ dismiss: t });
                                        },
                                        c = function (t) {
                                             a.closePopup(n.onClose, n.onAfterClose), r(t);
                                        };
                                   n.timer &&
                                        (ot.timeout = new Tt(function () {
                                             l("timer"), delete ot.timeout;
                                        }, n.timer)),
                                        n.input &&
                                             setTimeout(function () {
                                                  var t = i.getInput();
                                                  t && M(t);
                                             }, 0);
                                   for (
                                        var u = function (t) {
                                                  if ((n.showLoaderOnConfirm && a.showLoading(), n.preConfirm)) {
                                                       i.resetValidationMessage();
                                                       var e = Promise.resolve().then(function () {
                                                            return n.preConfirm(t, n.extraParams);
                                                       });
                                                       n.expectRejections
                                                            ? e.then(
                                                                   function (e) {
                                                                        return s(e || t);
                                                                   },
                                                                   function (t) {
                                                                        i.hideLoading(), t && i.showValidationMessage(t);
                                                                   }
                                                              )
                                                            : e.then(
                                                                   function (e) {
                                                                        P(o.validationMessage) || !1 === e ? i.hideLoading() : s(e || t);
                                                                   },
                                                                   function (t) {
                                                                        return c(t);
                                                                   }
                                                              );
                                                  } else s(t);
                                             },
                                             h = function (t) {
                                                  var e = t.target,
                                                       r = o.confirmButton,
                                                       s = o.cancelButton,
                                                       h = r && (r === e || r.contains(e)),
                                                       d = s && (s === e || s.contains(e));
                                                  switch (t.type) {
                                                       case "click":
                                                            if (h && a.isVisible())
                                                                 if ((i.disableButtons(), n.input)) {
                                                                      var p = (function () {
                                                                           var t = i.getInput();
                                                                           if (!t) return null;
                                                                           switch (n.input) {
                                                                                case "checkbox":
                                                                                     return t.checked ? 1 : 0;
                                                                                case "radio":
                                                                                     return t.checked ? t.value : null;
                                                                                case "file":
                                                                                     return t.files.length ? t.files[0] : null;
                                                                                default:
                                                                                     return n.inputAutoTrim ? t.value.trim() : t.value;
                                                                           }
                                                                      })();
                                                                      if (n.inputValidator) {
                                                                           i.disableInput();
                                                                           var f = Promise.resolve().then(function () {
                                                                                return n.inputValidator(p, n.extraParams);
                                                                           });
                                                                           n.expectRejections
                                                                                ? f.then(
                                                                                       function () {
                                                                                            i.enableButtons(), i.enableInput(), u(p);
                                                                                       },
                                                                                       function (t) {
                                                                                            i.enableButtons(), i.enableInput(), t && i.showValidationMessage(t);
                                                                                       }
                                                                                  )
                                                                                : f.then(
                                                                                       function (t) {
                                                                                            i.enableButtons(), i.enableInput(), t ? i.showValidationMessage(t) : u(p);
                                                                                       },
                                                                                       function (t) {
                                                                                            return c(t);
                                                                                       }
                                                                                  );
                                                                      } else i.getInput().checkValidity() ? u(p) : (i.enableButtons(), i.showValidationMessage(n.validationMessage));
                                                                 } else u(!0);
                                                            else d && a.isVisible() && (i.disableButtons(), l(a.DismissReason.cancel));
                                                  }
                                             },
                                             d = o.popup.querySelectorAll("button"),
                                             m = 0;
                                        m < d.length;
                                        m++
                                   )
                                        (d[m].onclick = h), (d[m].onmouseover = h), (d[m].onmouseout = h), (d[m].onmousedown = h);
                                   if (
                                        ((o.closeButton.onclick = function () {
                                             l(a.DismissReason.close);
                                        }),
                                        n.toast)
                                   )
                                        o.popup.onclick = function () {
                                             n.showConfirmButton || n.showCancelButton || n.showCloseButton || n.input || l(a.DismissReason.close);
                                        };
                                   else {
                                        var g = !1;
                                        (o.popup.onmousedown = function () {
                                             o.container.onmouseup = function (t) {
                                                  (o.container.onmouseup = void 0), t.target === o.container && (g = !0);
                                             };
                                        }),
                                             (o.container.onmousedown = function () {
                                                  o.popup.onmouseup = function (t) {
                                                       (o.popup.onmouseup = void 0), (t.target === o.popup || o.popup.contains(t.target)) && (g = !0);
                                                  };
                                             }),
                                             (o.container.onclick = function (t) {
                                                  g ? (g = !1) : t.target === o.container && v(n.allowOutsideClick) && l(a.DismissReason.backdrop);
                                             });
                                   }
                                   n.reverseButtons ? o.confirmButton.parentNode.insertBefore(o.cancelButton, o.confirmButton) : o.confirmButton.parentNode.insertBefore(o.confirmButton, o.cancelButton);
                                   var b = function (t, e) {
                                        for (var i = $(n.focusCancel), r = 0; r < i.length; r++) return (t += e) === i.length ? (t = 0) : -1 === t && (t = i.length - 1), i[t].focus();
                                        o.popup.focus();
                                   };
                                   ot.keydownHandlerAdded && (ot.keydownTarget.removeEventListener("keydown", ot.keydownHandler, { capture: ot.keydownListenerCapture }), (ot.keydownHandlerAdded = !1)),
                                        n.toast ||
                                             ((ot.keydownHandler = function (t) {
                                                  return (function (t, e) {
                                                       if ((e.stopKeydownPropagation && t.stopPropagation(), "Enter" !== t.key || t.isComposing))
                                                            if ("Tab" === t.key) {
                                                                 for (var n = t.target, r = $(e.focusCancel), s = -1, c = 0; c < r.length; c++)
                                                                      if (n === r[c]) {
                                                                           s = c;
                                                                           break;
                                                                      }
                                                                 t.shiftKey ? b(s, -1) : b(s, 1), t.stopPropagation(), t.preventDefault();
                                                            } else
                                                                 -1 !== ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Left", "Right", "Up", "Down"].indexOf(t.key)
                                                                      ? document.activeElement === o.confirmButton && P(o.cancelButton)
                                                                           ? o.cancelButton.focus()
                                                                           : document.activeElement === o.cancelButton && P(o.confirmButton) && o.confirmButton.focus()
                                                                      : ("Escape" !== t.key && "Esc" !== t.key) || !0 !== v(e.allowEscapeKey) || (t.preventDefault(), l(a.DismissReason.esc));
                                                       else if (t.target && i.getInput() && t.target.outerHTML === i.getInput().outerHTML) {
                                                            if (-1 !== ["textarea", "file"].indexOf(e.input)) return;
                                                            a.clickConfirm(), t.preventDefault();
                                                       }
                                                  })(t, n);
                                             }),
                                             (ot.keydownTarget = n.keydownListenerCapture ? window : o.popup),
                                             (ot.keydownListenerCapture = n.keydownListenerCapture),
                                             ot.keydownTarget.addEventListener("keydown", ot.keydownHandler, { capture: ot.keydownListenerCapture }),
                                             (ot.keydownHandlerAdded = !0)),
                                        i.enableButtons(),
                                        i.hideLoading(),
                                        i.resetValidationMessage(),
                                        n.toast && (n.input || n.footer || n.showCloseButton) ? C(document.body, x["toast-column"]) : D(document.body, x["toast-column"]);
                                   for (
                                        var _,
                                             w,
                                             k = ["input", "file", "range", "select", "radio", "checkbox", "textarea"],
                                             S = function (t) {
                                                  (t.placeholder && !n.inputPlaceholder) || (t.placeholder = n.inputPlaceholder);
                                             },
                                             T = 0;
                                        T < k.length;
                                        T++
                                   ) {
                                        var I = x[k[T]],
                                             O = L(o.content, I);
                                        if ((_ = i.getInput(k[T]))) {
                                             for (var Y in _.attributes)
                                                  if (_.attributes.hasOwnProperty(Y)) {
                                                       var z = _.attributes[Y].name;
                                                       "type" !== z && "value" !== z && _.removeAttribute(z);
                                                  }
                                             for (var R in n.inputAttributes) ("range" === k[T] && "placeholder" === R) || _.setAttribute(R, n.inputAttributes[R]);
                                        }
                                        (O.className = I), n.inputClass && C(O, n.inputClass), A(O);
                                   }
                                   switch (n.input) {
                                        case "text":
                                        case "email":
                                        case "password":
                                        case "number":
                                        case "tel":
                                        case "url":
                                             (_ = L(o.content, x.input)),
                                                  "string" == typeof n.inputValue || "number" == typeof n.inputValue
                                                       ? (_.value = n.inputValue)
                                                       : y(n.inputValue) || p('Unexpected type of inputValue! Expected "string", "number" or "Promise", got "'.concat(t(n.inputValue), '"')),
                                                  S(_),
                                                  (_.type = n.input),
                                                  E(_);
                                             break;
                                        case "file":
                                             S((_ = L(o.content, x.file))), (_.type = n.input), E(_);
                                             break;
                                        case "range":
                                             var F = L(o.content, x.range),
                                                  H = F.querySelector("input"),
                                                  j = F.querySelector("output");
                                             (H.value = n.inputValue), (H.type = n.input), (j.value = n.inputValue), E(F);
                                             break;
                                        case "select":
                                             var N = L(o.content, x.select);
                                             if (((N.innerHTML = ""), n.inputPlaceholder)) {
                                                  var B = document.createElement("option");
                                                  (B.innerHTML = n.inputPlaceholder), (B.value = ""), (B.disabled = !0), (B.selected = !0), N.appendChild(B);
                                             }
                                             w = function (t) {
                                                  t.forEach(function (t) {
                                                       var e = t[0],
                                                            i = t[1],
                                                            r = document.createElement("option");
                                                       (r.value = e), (r.innerHTML = i), n.inputValue.toString() === e.toString() && (r.selected = !0), N.appendChild(r);
                                                  }),
                                                       E(N),
                                                       N.focus();
                                             };
                                             break;
                                        case "radio":
                                             var W = L(o.content, x.radio);
                                             (W.innerHTML = ""),
                                                  (w = function (t) {
                                                       t.forEach(function (t) {
                                                            var e = t[0],
                                                                 i = t[1],
                                                                 r = document.createElement("input"),
                                                                 o = document.createElement("label");
                                                            (r.type = "radio"), (r.name = x.radio), (r.value = e), n.inputValue.toString() === e.toString() && (r.checked = !0);
                                                            var a = document.createElement("span");
                                                            (a.innerHTML = i), (a.className = x.label), o.appendChild(r), o.appendChild(a), W.appendChild(o);
                                                       }),
                                                            E(W);
                                                       var e = W.querySelectorAll("input");
                                                       e.length && e[0].focus();
                                                  });
                                             break;
                                        case "checkbox":
                                             var V = L(o.content, x.checkbox),
                                                  U = i.getInput("checkbox");
                                             (U.type = "checkbox"), (U.value = 1), (U.id = x.checkbox), (U.checked = Boolean(n.inputValue)), (V.querySelector("span").innerHTML = n.inputPlaceholder), E(V);
                                             break;
                                        case "textarea":
                                             var q = L(o.content, x.textarea);
                                             (q.value = n.inputValue), S(q), E(q);
                                             break;
                                        case null:
                                             break;
                                        default:
                                             f('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "'.concat(n.input, '"'));
                                   }
                                   if ("select" === n.input || "radio" === n.input) {
                                        var X = function (t) {
                                             return w(
                                                  (function (t) {
                                                       var e = [];
                                                       return (
                                                            "undefined" != typeof Map && t instanceof Map
                                                                 ? t.forEach(function (t, i) {
                                                                        e.push([i, t]);
                                                                   })
                                                                 : Object.keys(t).forEach(function (i) {
                                                                        e.push([i, t[i]]);
                                                                   }),
                                                            e
                                                       );
                                                  })(t)
                                             );
                                        };
                                        y(n.inputOptions)
                                             ? (a.showLoading(),
                                               n.inputOptions.then(function (t) {
                                                    i.hideLoading(), X(t);
                                               }))
                                             : "object" === t(n.inputOptions)
                                             ? X(n.inputOptions)
                                             : f("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(t(n.inputOptions)));
                                   } else
                                        -1 !== ["text", "email", "number", "tel", "textarea"].indexOf(n.input) &&
                                             y(n.inputValue) &&
                                             (a.showLoading(),
                                             A(_),
                                             n.inputValue
                                                  .then(function (t) {
                                                       (_.value = "number" === n.input ? parseFloat(t) || 0 : t + ""), E(_), _.focus(), i.hideLoading();
                                                  })
                                                  .catch(function (t) {
                                                       f("Error in inputValue promise: " + t), (_.value = ""), E(_), _.focus(), i.hideLoading();
                                                  }));
                                   Et(n),
                                        n.toast ||
                                             (v(n.allowEnterKey)
                                                  ? n.focusCancel && P(o.cancelButton)
                                                       ? o.cancelButton.focus()
                                                       : n.focusConfirm && P(o.confirmButton)
                                                       ? o.confirmButton.focus()
                                                       : b(-1, 1)
                                                  : document.activeElement && "function" == typeof document.activeElement.blur && document.activeElement.blur()),
                                        (o.container.scrollTop = 0);
                              });
                         },
                    });
               function Pt() {
                    if ("undefined" != typeof window) {
                         "undefined" == typeof Promise &&
                              f("This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)"),
                              (Lt = this);
                         for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++) e[i] = arguments[i];
                         var n = Object.freeze(this.constructor.argsToParams(e));
                         Object.defineProperties(this, { params: { value: n, writable: !1, enumerable: !0 } });
                         var r = this._main(this.params);
                         wt.promise.set(this, r);
                    }
               }
               (Pt.prototype.then = function (t, e) {
                    return wt.promise.get(this).then(t, e);
               }),
                    (Pt.prototype.catch = function (t) {
                         return wt.promise.get(this).catch(t);
                    }),
                    (Pt.prototype.finally = function (t) {
                         return wt.promise.get(this).finally(t);
                    }),
                    r(Pt.prototype, At),
                    r(Pt, bt),
                    Object.keys(At).forEach(function (t) {
                         Pt[t] = function () {
                              var e;
                              if (Lt) return (e = Lt)[t].apply(e, arguments);
                         };
                    }),
                    (Pt.DismissReason = b),
                    (Pt.noop = function () {});
               var It,
                    Ot,
                    Yt = lt(
                         ((Ot = (function (i) {
                              function s() {
                                   return e(this, s), u(this, a(s).apply(this, arguments));
                              }
                              return (
                                   o(s, i),
                                   n(
                                        s,
                                        [
                                             {
                                                  key: "_main",
                                                  value: function (t) {
                                                       return h(a(s.prototype), "_main", this).call(this, r({}, gt, t));
                                                  },
                                             },
                                        ],
                                        [
                                             {
                                                  key: "setDefaults",
                                                  value: function (e) {
                                                       if ((g(mt), !e || "object" !== t(e))) throw new TypeError("SweetAlert2: The argument for setDefaults() is required and has to be a object");
                                                       ft(e),
                                                            Object.keys(e).forEach(function (t) {
                                                                 It.isValidParameter(t) && (gt[t] = e[t]);
                                                            });
                                                  },
                                             },
                                             {
                                                  key: "resetDefaults",
                                                  value: function () {
                                                       g(mt), (gt = {});
                                                  },
                                             },
                                        ]
                                   ),
                                   s
                              );
                         })((It = Pt))),
                         "undefined" != typeof window && "object" === t(window._swalDefaults) && Ot.setDefaults(window._swalDefaults),
                         Ot)
                    );
               return (Yt.default = Yt), Yt;
          })()),
               "undefined" != typeof window && window.Sweetalert2 && ((window.Sweetalert2.version = "7.33.1"), (window.swal = window.sweetAlert = window.Swal = window.SweetAlert = window.Sweetalert2)),
               "undefined" != typeof document &&
                    (function (t, e) {
                         var i = t.createElement("style");
                         if ((t.getElementsByTagName("head")[0].appendChild(i), i.styleSheet)) i.styleSheet.disabled || (i.styleSheet.cssText = e);
                         else
                              try {
                                   i.innerHTML = e;
                              } catch (t) {
                                   i.innerText = e;
                              }
                    })(
                         document,
                         "@-webkit-keyframes swal2-show{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes swal2-show{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes swal2-hide{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}@keyframes swal2-hide{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}@-webkit-keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.875em;width:1.5625em}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.875em;width:1.5625em}}@-webkit-keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@-webkit-keyframes swal2-rotate-success-circular-line{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}100%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}@keyframes swal2-rotate-success-circular-line{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}100%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}@-webkit-keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;-webkit-transform:scale(.4);transform:scale(.4);opacity:0}50%{margin-top:1.625em;-webkit-transform:scale(.4);transform:scale(.4);opacity:0}80%{margin-top:-.375em;-webkit-transform:scale(1.15);transform:scale(1.15)}100%{margin-top:0;-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;-webkit-transform:scale(.4);transform:scale(.4);opacity:0}50%{margin-top:1.625em;-webkit-transform:scale(.4);transform:scale(.4);opacity:0}80%{margin-top:-.375em;-webkit-transform:scale(1.15);transform:scale(1.15)}100%{margin-top:0;-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes swal2-animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}@keyframes swal2-animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}body.swal2-toast-shown .swal2-container{background-color:transparent}body.swal2-toast-shown .swal2-container.swal2-shown{background-color:transparent}body.swal2-toast-shown .swal2-container.swal2-top{top:0;right:auto;bottom:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{top:0;right:0;bottom:auto;left:auto}body.swal2-toast-shown .swal2-container.swal2-top-left,body.swal2-toast-shown .swal2-container.swal2-top-start{top:0;right:auto;bottom:auto;left:0}body.swal2-toast-shown .swal2-container.swal2-center-left,body.swal2-toast-shown .swal2-container.swal2-center-start{top:50%;right:auto;bottom:auto;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{top:50%;right:auto;bottom:auto;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{top:50%;right:0;bottom:auto;left:auto;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-left,body.swal2-toast-shown .swal2-container.swal2-bottom-start{top:auto;right:auto;bottom:0;left:0}body.swal2-toast-shown .swal2-container.swal2-bottom{top:auto;right:auto;bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{top:auto;right:0;bottom:0;left:auto}body.swal2-toast-column .swal2-toast{flex-direction:column;align-items:stretch}body.swal2-toast-column .swal2-toast .swal2-actions{flex:1;align-self:stretch;height:2.2em;margin-top:.3125em}body.swal2-toast-column .swal2-toast .swal2-loading{justify-content:center}body.swal2-toast-column .swal2-toast .swal2-input{height:2em;margin:.3125em auto;font-size:1em}body.swal2-toast-column .swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast{flex-direction:row;align-items:center;width:auto;padding:.625em;box-shadow:0 0 .625em #d9d9d9;overflow-y:hidden}.swal2-popup.swal2-toast .swal2-header{flex-direction:row}.swal2-popup.swal2-toast .swal2-title{flex-grow:1;justify-content:flex-start;margin:0 .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{position:initial;width:.8em;height:.8em;line-height:.8}.swal2-popup.swal2-toast .swal2-content{justify-content:flex-start;font-size:1em}.swal2-popup.swal2-toast .swal2-icon{width:2em;min-width:2em;height:2em;margin:0}.swal2-popup.swal2-toast .swal2-icon-text{font-size:2em;font-weight:700;line-height:1em}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{height:auto;margin:0 .3125em}.swal2-popup.swal2-toast .swal2-styled{margin:0 .3125em;padding:.3125em .625em;font-size:1em}.swal2-popup.swal2-toast .swal2-styled:focus{box-shadow:0 0 0 .0625em #fff,0 0 0 .125em rgba(50,100,150,.4)}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:2em;height:2.8125em;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.25em;left:-.9375em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:2em 2em;transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.25em;left:.9375em;-webkit-transform-origin:0 2em;transform-origin:0 2em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast.swal2-show{-webkit-animation:showSweetToast .5s;animation:showSweetToast .5s}.swal2-popup.swal2-toast.swal2-hide{-webkit-animation:hideSweetToast .2s forwards;animation:hideSweetToast .2s forwards}.swal2-popup.swal2-toast .swal2-animate-success-icon .swal2-success-line-tip{-webkit-animation:animate-toast-success-tip .75s;animation:animate-toast-success-tip .75s}.swal2-popup.swal2-toast .swal2-animate-success-icon .swal2-success-line-long{-webkit-animation:animate-toast-success-long .75s;animation:animate-toast-success-long .75s}@-webkit-keyframes showSweetToast{0%{-webkit-transform:translateY(-.625em) rotateZ(2deg);transform:translateY(-.625em) rotateZ(2deg);opacity:0}33%{-webkit-transform:translateY(0) rotateZ(-2deg);transform:translateY(0) rotateZ(-2deg);opacity:.5}66%{-webkit-transform:translateY(.3125em) rotateZ(2deg);transform:translateY(.3125em) rotateZ(2deg);opacity:.7}100%{-webkit-transform:translateY(0) rotateZ(0);transform:translateY(0) rotateZ(0);opacity:1}}@keyframes showSweetToast{0%{-webkit-transform:translateY(-.625em) rotateZ(2deg);transform:translateY(-.625em) rotateZ(2deg);opacity:0}33%{-webkit-transform:translateY(0) rotateZ(-2deg);transform:translateY(0) rotateZ(-2deg);opacity:.5}66%{-webkit-transform:translateY(.3125em) rotateZ(2deg);transform:translateY(.3125em) rotateZ(2deg);opacity:.7}100%{-webkit-transform:translateY(0) rotateZ(0);transform:translateY(0) rotateZ(0);opacity:1}}@-webkit-keyframes hideSweetToast{0%{opacity:1}33%{opacity:.5}100%{-webkit-transform:rotateZ(1deg);transform:rotateZ(1deg);opacity:0}}@keyframes hideSweetToast{0%{opacity:1}33%{opacity:.5}100%{-webkit-transform:rotateZ(1deg);transform:rotateZ(1deg);opacity:0}}@-webkit-keyframes animate-toast-success-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes animate-toast-success-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@-webkit-keyframes animate-toast-success-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes animate-toast-success-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-shown{top:auto;right:auto;bottom:auto;left:auto;background-color:transparent}body.swal2-no-backdrop .swal2-shown>.swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop .swal2-shown.swal2-top{top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-top-left,body.swal2-no-backdrop .swal2-shown.swal2-top-start{top:0;left:0}body.swal2-no-backdrop .swal2-shown.swal2-top-end,body.swal2-no-backdrop .swal2-shown.swal2-top-right{top:0;right:0}body.swal2-no-backdrop .swal2-shown.swal2-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}body.swal2-no-backdrop .swal2-shown.swal2-center-left,body.swal2-no-backdrop .swal2-shown.swal2-center-start{top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-center-end,body.swal2-no-backdrop .swal2-shown.swal2-center-right{top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-bottom{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-bottom-left,body.swal2-no-backdrop .swal2-shown.swal2-bottom-start{bottom:0;left:0}body.swal2-no-backdrop .swal2-shown.swal2-bottom-end,body.swal2-no-backdrop .swal2-shown.swal2-bottom-right{right:0;bottom:0}.swal2-container{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;flex-direction:row;align-items:center;justify-content:center;padding:10px;background-color:transparent;z-index:1060;overflow-x:hidden;-webkit-overflow-scrolling:touch}.swal2-container.swal2-top{align-items:flex-start}.swal2-container.swal2-top-left,.swal2-container.swal2-top-start{align-items:flex-start;justify-content:flex-start}.swal2-container.swal2-top-end,.swal2-container.swal2-top-right{align-items:flex-start;justify-content:flex-end}.swal2-container.swal2-center{align-items:center}.swal2-container.swal2-center-left,.swal2-container.swal2-center-start{align-items:center;justify-content:flex-start}.swal2-container.swal2-center-end,.swal2-container.swal2-center-right{align-items:center;justify-content:flex-end}.swal2-container.swal2-bottom{align-items:flex-end}.swal2-container.swal2-bottom-left,.swal2-container.swal2-bottom-start{align-items:flex-end;justify-content:flex-start}.swal2-container.swal2-bottom-end,.swal2-container.swal2-bottom-right{align-items:flex-end;justify-content:flex-end}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:flex!important;flex:1;align-self:stretch;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-grow-column{flex:1;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-bottom-start,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-center-start,.swal2-container.swal2-grow-column.swal2-top-left,.swal2-container.swal2-grow-column.swal2-top-start{align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-end,.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-end,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-end,.swal2-container.swal2-grow-column.swal2-top-right{align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen)>.swal2-modal{margin:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-container .swal2-modal{margin:0!important}}.swal2-container.swal2-fade{transition:background-color .1s}.swal2-container.swal2-shown{background-color:rgba(0,0,0,.4)}.swal2-popup{display:none;position:relative;flex-direction:column;justify-content:center;width:32em;max-width:100%;padding:1.25em;border-radius:.3125em;background:#fff;font-family:inherit;font-size:1rem;box-sizing:border-box}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-popup .swal2-header{display:flex;flex-direction:column;align-items:center}.swal2-popup .swal2-title{display:block;position:relative;max-width:100%;margin:0 0 .4em;padding:0;color:#595959;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-popup .swal2-actions{flex-wrap:wrap;align-items:center;justify-content:center;margin:1.25em auto 0;z-index:1}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}.swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-confirm{width:2.5em;height:2.5em;margin:.46875em;padding:0;border:.25em solid transparent;border-radius:100%;border-color:transparent;background-color:transparent!important;color:transparent;cursor:default;box-sizing:border-box;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-cancel{margin-right:30px;margin-left:30px}.swal2-popup .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after{display:inline-block;width:15px;height:15px;margin-left:5px;border:3px solid #999;border-radius:50%;border-right-color:transparent;box-shadow:1px 1px 1px #fff;content:'';-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal}.swal2-popup .swal2-styled{margin:.3125em;padding:.625em 2em;font-weight:500;box-shadow:none}.swal2-popup .swal2-styled:not([disabled]){cursor:pointer}.swal2-popup .swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#3085d6;color:#fff;font-size:1.0625em}.swal2-popup .swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#aaa;color:#fff;font-size:1.0625em}.swal2-popup .swal2-styled:focus{outline:0;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(50,100,150,.4)}.swal2-popup .swal2-styled::-moz-focus-inner{border:0}.swal2-popup .swal2-footer{justify-content:center;margin:1.25em 0 0;padding:1em 0 0;border-top:1px solid #eee;color:#545454;font-size:1em}.swal2-popup .swal2-image{max-width:100%;margin:1.25em auto}.swal2-popup .swal2-close{position:absolute;top:0;right:0;justify-content:center;width:1.2em;height:1.2em;padding:0;transition:color .1s ease-out;border:none;border-radius:0;outline:initial;background:0 0;color:#ccc;font-family:serif;font-size:2.5em;line-height:1.2;cursor:pointer;overflow:hidden}.swal2-popup .swal2-close:hover{-webkit-transform:none;transform:none;color:#f27474}.swal2-popup>.swal2-checkbox,.swal2-popup>.swal2-file,.swal2-popup>.swal2-input,.swal2-popup>.swal2-radio,.swal2-popup>.swal2-select,.swal2-popup>.swal2-textarea{display:none}.swal2-popup .swal2-content{justify-content:center;margin:0;padding:0;color:#545454;font-size:1.125em;font-weight:300;line-height:normal;z-index:1;word-wrap:break-word}.swal2-popup #swal2-content{text-align:center}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-radio,.swal2-popup .swal2-select,.swal2-popup .swal2-textarea{margin:1em auto}.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-textarea{width:100%;transition:border-color .3s,box-shadow .3s;border:1px solid #d9d9d9;border-radius:.1875em;font-size:1.125em;box-shadow:inset 0 1px 1px rgba(0,0,0,.06);box-sizing:border-box}.swal2-popup .swal2-file.swal2-inputerror,.swal2-popup .swal2-input.swal2-inputerror,.swal2-popup .swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-popup .swal2-file:focus,.swal2-popup .swal2-input:focus,.swal2-popup .swal2-textarea:focus{border:1px solid #b4dbed;outline:0;box-shadow:0 0 3px #c4e6f5}.swal2-popup .swal2-file::-webkit-input-placeholder,.swal2-popup .swal2-input::-webkit-input-placeholder,.swal2-popup .swal2-textarea::-webkit-input-placeholder{color:#ccc}.swal2-popup .swal2-file:-ms-input-placeholder,.swal2-popup .swal2-input:-ms-input-placeholder,.swal2-popup .swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::-ms-input-placeholder,.swal2-popup .swal2-input::-ms-input-placeholder,.swal2-popup .swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::placeholder,.swal2-popup .swal2-input::placeholder,.swal2-popup .swal2-textarea::placeholder{color:#ccc}.swal2-popup .swal2-range input{width:80%}.swal2-popup .swal2-range output{width:20%;font-weight:600;text-align:center}.swal2-popup .swal2-range input,.swal2-popup .swal2-range output{height:2.625em;margin:1em auto;padding:0;font-size:1.125em;line-height:2.625em}.swal2-popup .swal2-input{height:2.625em;padding:0 .75em}.swal2-popup .swal2-input[type=number]{max-width:10em}.swal2-popup .swal2-file{font-size:1.125em}.swal2-popup .swal2-textarea{height:6.75em;padding:.75em}.swal2-popup .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;color:#545454;font-size:1.125em}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-radio{align-items:center;justify-content:center}.swal2-popup .swal2-checkbox label,.swal2-popup .swal2-radio label{margin:0 .6em;font-size:1.125em}.swal2-popup .swal2-checkbox input,.swal2-popup .swal2-radio input{margin:0 .4em}.swal2-popup .swal2-validation-message{display:none;align-items:center;justify-content:center;padding:.625em;background:#f0f0f0;color:#666;font-size:1em;font-weight:300;overflow:hidden}.swal2-popup .swal2-validation-message::before{display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center;content:'!';zoom:normal}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@-moz-document url-prefix(){.swal2-close:focus{outline:2px solid rgba(50,100,150,.4)}}.swal2-icon{position:relative;justify-content:center;width:5em;height:5em;margin:1.25em auto 1.875em;border:.25em solid transparent;border-radius:50%;line-height:5em;cursor:default;box-sizing:content-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;zoom:normal}.swal2-icon-text{font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:3.75em 3.75em;transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 3.75em;transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;top:-.25em;left:-.25em;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%;z-index:2;box-sizing:content-box}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;top:.5em;left:1.625em;width:.4375em;height:5.625em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);z-index:1}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;height:.3125em;border-radius:.125em;background-color:#a5dc86;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.875em;width:1.5625em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-progresssteps{align-items:center;margin:0 0 1.25em;padding:0;font-weight:600}.swal2-progresssteps li{display:inline-block;position:relative}.swal2-progresssteps .swal2-progresscircle{width:2em;height:2em;border-radius:2em;background:#3085d6;color:#fff;line-height:2em;text-align:center;z-index:20}.swal2-progresssteps .swal2-progresscircle:first-child{margin-left:0}.swal2-progresssteps .swal2-progresscircle:last-child{margin-right:0}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep{background:#3085d6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progresscircle{background:#add8e6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progressline{background:#add8e6}.swal2-progresssteps .swal2-progressline{width:2.5em;height:.4em;margin:0 -1px;background:#3085d6;z-index:10}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{-webkit-animation:swal2-show .3s;animation:swal2-show .3s}.swal2-show.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-hide{-webkit-animation:swal2-hide .15s forwards;animation:swal2-hide .15s forwards}.swal2-hide.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-rtl .swal2-close{right:auto;left:0}.swal2-animate-success-icon .swal2-success-line-tip{-webkit-animation:swal2-animate-success-line-tip .75s;animation:swal2-animate-success-line-tip .75s}.swal2-animate-success-icon .swal2-success-line-long{-webkit-animation:swal2-animate-success-line-long .75s;animation:swal2-animate-success-line-long .75s}.swal2-animate-success-icon .swal2-success-circular-line-right{-webkit-animation:swal2-rotate-success-circular-line 4.25s ease-in;animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-animate-error-icon{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-animate-error-icon .swal2-x-mark{-webkit-animation:swal2-animate-error-x-mark .5s;animation:swal2-animate-error-x-mark .5s}@-webkit-keyframes swal2-rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swal2-rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:initial!important}}"
                    );
     },
     function (t, e, i) {
          var n, r;
          /*! DataTables 1.10.21
           * ©2008-2020 SpryMedia Ltd - datatables.net/license
           */ !(function (o) {
               "use strict";
               (n = [i(1)]),
                    void 0 ===
                         (r = function (t) {
                              return (function (t, e, i, n) {
                                   var r,
                                        o,
                                        a,
                                        s,
                                        l = function (e) {
                                             (this.$ = function (t, e) {
                                                  return this.api(!0).$(t, e);
                                             }),
                                                  (this._ = function (t, e) {
                                                       return this.api(!0).rows(t, e).data();
                                                  }),
                                                  (this.api = function (t) {
                                                       return new o(t ? ae(this[r.iApiIndex]) : this);
                                                  }),
                                                  (this.fnAddData = function (e, i) {
                                                       var r = this.api(!0),
                                                            o = t.isArray(e) && (t.isArray(e[0]) || t.isPlainObject(e[0])) ? r.rows.add(e) : r.row.add(e);
                                                       return (i === n || i) && r.draw(), o.flatten().toArray();
                                                  }),
                                                  (this.fnAdjustColumnSizing = function (t) {
                                                       var e = this.api(!0).columns.adjust(),
                                                            i = e.settings()[0],
                                                            r = i.oScroll;
                                                       t === n || t ? e.draw(!1) : ("" === r.sX && "" === r.sY) || Bt(i);
                                                  }),
                                                  (this.fnClearTable = function (t) {
                                                       var e = this.api(!0).clear();
                                                       (t === n || t) && e.draw();
                                                  }),
                                                  (this.fnClose = function (t) {
                                                       this.api(!0).row(t).child.hide();
                                                  }),
                                                  (this.fnDeleteRow = function (t, e, i) {
                                                       var r = this.api(!0),
                                                            o = r.rows(t),
                                                            a = o.settings()[0],
                                                            s = a.aoData[o[0][0]];
                                                       return o.remove(), e && e.call(this, a, s), (i === n || i) && r.draw(), s;
                                                  }),
                                                  (this.fnDestroy = function (t) {
                                                       this.api(!0).destroy(t);
                                                  }),
                                                  (this.fnDraw = function (t) {
                                                       this.api(!0).draw(t);
                                                  }),
                                                  (this.fnFilter = function (t, e, i, r, o, a) {
                                                       var s = this.api(!0);
                                                       null === e || e === n ? s.search(t, i, r, a) : s.column(e).search(t, i, r, a), s.draw();
                                                  }),
                                                  (this.fnGetData = function (t, e) {
                                                       var i = this.api(!0);
                                                       if (t !== n) {
                                                            var r = t.nodeName ? t.nodeName.toLowerCase() : "";
                                                            return e !== n || "td" == r || "th" == r ? i.cell(t, e).data() : i.row(t).data() || null;
                                                       }
                                                       return i.data().toArray();
                                                  }),
                                                  (this.fnGetNodes = function (t) {
                                                       var e = this.api(!0);
                                                       return t !== n ? e.row(t).node() : e.rows().nodes().flatten().toArray();
                                                  }),
                                                  (this.fnGetPosition = function (t) {
                                                       var e = this.api(!0),
                                                            i = t.nodeName.toUpperCase();
                                                       if ("TR" == i) return e.row(t).index();
                                                       if ("TD" == i || "TH" == i) {
                                                            var n = e.cell(t).index();
                                                            return [n.row, n.columnVisible, n.column];
                                                       }
                                                       return null;
                                                  }),
                                                  (this.fnIsOpen = function (t) {
                                                       return this.api(!0).row(t).child.isShown();
                                                  }),
                                                  (this.fnOpen = function (t, e, i) {
                                                       return this.api(!0).row(t).child(e, i).show().child()[0];
                                                  }),
                                                  (this.fnPageChange = function (t, e) {
                                                       var i = this.api(!0).page(t);
                                                       (e === n || e) && i.draw(!1);
                                                  }),
                                                  (this.fnSetColumnVis = function (t, e, i) {
                                                       var r = this.api(!0).column(t).visible(e);
                                                       (i === n || i) && r.columns.adjust().draw();
                                                  }),
                                                  (this.fnSettings = function () {
                                                       return ae(this[r.iApiIndex]);
                                                  }),
                                                  (this.fnSort = function (t) {
                                                       this.api(!0).order(t).draw();
                                                  }),
                                                  (this.fnSortListener = function (t, e, i) {
                                                       this.api(!0).order.listener(t, e, i);
                                                  }),
                                                  (this.fnUpdate = function (t, e, i, r, o) {
                                                       var a = this.api(!0);
                                                       return i === n || null === i ? a.row(e).data(t) : a.cell(e, i).data(t), (o === n || o) && a.columns.adjust(), (r === n || r) && a.draw(), 0;
                                                  }),
                                                  (this.fnVersionCheck = r.fnVersionCheck);
                                             var i = this,
                                                  a = e === n,
                                                  s = this.length;
                                             for (var c in (a && (e = {}), (this.oApi = this.internal = r.internal), l.ext.internal)) c && (this[c] = Oe(c));
                                             return (
                                                  this.each(function () {
                                                       var r,
                                                            o = s > 1 ? ce({}, e, !0) : e,
                                                            c = 0,
                                                            u = this.getAttribute("id"),
                                                            h = !1,
                                                            d = l.defaults,
                                                            p = t(this);
                                                       if ("table" == this.nodeName.toLowerCase()) {
                                                            E(d), A(d.column), C(d, d, !0), C(d.column, d.column, !0), C(d, t.extend(o, p.data()), !0);
                                                            var f = l.settings;
                                                            for (c = 0, r = f.length; c < r; c++) {
                                                                 var m = f[c];
                                                                 if (m.nTable == this || (m.nTHead && m.nTHead.parentNode == this) || (m.nTFoot && m.nTFoot.parentNode == this)) {
                                                                      var g = o.bRetrieve !== n ? o.bRetrieve : d.bRetrieve,
                                                                           v = o.bDestroy !== n ? o.bDestroy : d.bDestroy;
                                                                      if (a || g) return m.oInstance;
                                                                      if (v) {
                                                                           m.oInstance.fnDestroy();
                                                                           break;
                                                                      }
                                                                      return void se(m, 0, "Cannot reinitialise DataTable", 3);
                                                                 }
                                                                 if (m.sTableId == this.id) {
                                                                      f.splice(c, 1);
                                                                      break;
                                                                 }
                                                            }
                                                            (null !== u && "" !== u) || ((u = "DataTables_Table_" + l.ext._unique++), (this.id = u));
                                                            var y = t.extend(!0, {}, l.models.oSettings, { sDestroyWidth: p[0].style.width, sInstance: u, sTableId: u });
                                                            (y.nTable = this),
                                                                 (y.oApi = i.internal),
                                                                 (y.oInit = o),
                                                                 f.push(y),
                                                                 (y.oInstance = 1 === i.length ? i : p.dataTable()),
                                                                 E(o),
                                                                 D(o.oLanguage),
                                                                 o.aLengthMenu && !o.iDisplayLength && (o.iDisplayLength = t.isArray(o.aLengthMenu[0]) ? o.aLengthMenu[0][0] : o.aLengthMenu[0]),
                                                                 (o = ce(t.extend(!0, {}, d), o)),
                                                                 le(y.oFeatures, o, ["bPaginate", "bLengthChange", "bFilter", "bSort", "bSortMulti", "bInfo", "bProcessing", "bAutoWidth", "bSortClasses", "bServerSide", "bDeferRender"]),
                                                                 le(y, o, [
                                                                      "asStripeClasses",
                                                                      "ajax",
                                                                      "fnServerData",
                                                                      "fnFormatNumber",
                                                                      "sServerMethod",
                                                                      "aaSorting",
                                                                      "aaSortingFixed",
                                                                      "aLengthMenu",
                                                                      "sPaginationType",
                                                                      "sAjaxSource",
                                                                      "sAjaxDataProp",
                                                                      "iStateDuration",
                                                                      "sDom",
                                                                      "bSortCellsTop",
                                                                      "iTabIndex",
                                                                      "fnStateLoadCallback",
                                                                      "fnStateSaveCallback",
                                                                      "renderer",
                                                                      "searchDelay",
                                                                      "rowId",
                                                                      ["iCookieDuration", "iStateDuration"],
                                                                      ["oSearch", "oPreviousSearch"],
                                                                      ["aoSearchCols", "aoPreSearchCols"],
                                                                      ["iDisplayLength", "_iDisplayLength"],
                                                                 ]),
                                                                 le(y.oScroll, o, [
                                                                      ["sScrollX", "sX"],
                                                                      ["sScrollXInner", "sXInner"],
                                                                      ["sScrollY", "sY"],
                                                                      ["bScrollCollapse", "bCollapse"],
                                                                 ]),
                                                                 le(y.oLanguage, o, "fnInfoCallback"),
                                                                 he(y, "aoDrawCallback", o.fnDrawCallback, "user"),
                                                                 he(y, "aoServerParams", o.fnServerParams, "user"),
                                                                 he(y, "aoStateSaveParams", o.fnStateSaveParams, "user"),
                                                                 he(y, "aoStateLoadParams", o.fnStateLoadParams, "user"),
                                                                 he(y, "aoStateLoaded", o.fnStateLoaded, "user"),
                                                                 he(y, "aoRowCallback", o.fnRowCallback, "user"),
                                                                 he(y, "aoRowCreatedCallback", o.fnCreatedRow, "user"),
                                                                 he(y, "aoHeaderCallback", o.fnHeaderCallback, "user"),
                                                                 he(y, "aoFooterCallback", o.fnFooterCallback, "user"),
                                                                 he(y, "aoInitComplete", o.fnInitComplete, "user"),
                                                                 he(y, "aoPreDrawCallback", o.fnPreDrawCallback, "user"),
                                                                 (y.rowIdFn = J(o.rowId)),
                                                                 P(y);
                                                            var b = y.oClasses;
                                                            if (
                                                                 (t.extend(b, l.ext.classes, o.oClasses),
                                                                 p.addClass(b.sTable),
                                                                 y.iInitDisplayStart === n && ((y.iInitDisplayStart = o.iDisplayStart), (y._iDisplayStart = o.iDisplayStart)),
                                                                 null !== o.iDeferLoading)
                                                            ) {
                                                                 y.bDeferLoading = !0;
                                                                 var _ = t.isArray(o.iDeferLoading);
                                                                 (y._iRecordsDisplay = _ ? o.iDeferLoading[0] : o.iDeferLoading), (y._iRecordsTotal = _ ? o.iDeferLoading[1] : o.iDeferLoading);
                                                            }
                                                            var x = y.oLanguage;
                                                            t.extend(!0, x, o.oLanguage),
                                                                 x.sUrl &&
                                                                      (t.ajax({
                                                                           dataType: "json",
                                                                           url: x.sUrl,
                                                                           success: function (e) {
                                                                                D(e), C(d.oLanguage, e), t.extend(!0, x, e), It(y);
                                                                           },
                                                                           error: function () {
                                                                                It(y);
                                                                           },
                                                                      }),
                                                                      (h = !0)),
                                                                 null === o.asStripeClasses && (y.asStripeClasses = [b.sStripeOdd, b.sStripeEven]);
                                                            var w = y.asStripeClasses,
                                                                 k = p.children("tbody").find("tr").eq(0);
                                                            -1 !==
                                                                 t.inArray(
                                                                      !0,
                                                                      t.map(w, function (t, e) {
                                                                           return k.hasClass(t);
                                                                      })
                                                                 ) && (t("tbody tr", this).removeClass(w.join(" ")), (y.asDestroyStripes = w.slice()));
                                                            var S,
                                                                 M = [],
                                                                 T = this.getElementsByTagName("thead");
                                                            if ((0 !== T.length && (ht(y.aoHeader, T[0]), (M = dt(y))), null === o.aoColumns)) for (S = [], c = 0, r = M.length; c < r; c++) S.push(null);
                                                            else S = o.aoColumns;
                                                            for (c = 0, r = S.length; c < r; c++) O(y, M ? M[c] : null);
                                                            if (
                                                                 (B(y, o.aoColumnDefs, S, function (t, e) {
                                                                      Y(y, t, e);
                                                                 }),
                                                                 k.length)
                                                            ) {
                                                                 var L = function (t, e) {
                                                                      return null !== t.getAttribute("data-" + e) ? e : null;
                                                                 };
                                                                 t(k[0])
                                                                      .children("th, td")
                                                                      .each(function (t, e) {
                                                                           var i = y.aoColumns[t];
                                                                           if (i.mData === t) {
                                                                                var r = L(e, "sort") || L(e, "order"),
                                                                                     o = L(e, "filter") || L(e, "search");
                                                                                (null === r && null === o) ||
                                                                                     ((i.mData = {
                                                                                          _: t + ".display",
                                                                                          sort: null !== r ? t + ".@data-" + r : n,
                                                                                          type: null !== r ? t + ".@data-" + r : n,
                                                                                          filter: null !== o ? t + ".@data-" + o : n,
                                                                                     }),
                                                                                     Y(y, t));
                                                                           }
                                                                      });
                                                            }
                                                            var I = y.oFeatures,
                                                                 z = function () {
                                                                      if (o.aaSorting === n) {
                                                                           var e = y.aaSorting;
                                                                           for (c = 0, r = e.length; c < r; c++) e[c][1] = y.aoColumns[c].asSorting[0];
                                                                      }
                                                                      ie(y),
                                                                           I.bSort &&
                                                                                he(y, "aoDrawCallback", function () {
                                                                                     if (y.bSorted) {
                                                                                          var e = Jt(y),
                                                                                               i = {};
                                                                                          t.each(e, function (t, e) {
                                                                                               i[e.src] = e.dir;
                                                                                          }),
                                                                                               de(y, null, "order", [y, e, i]),
                                                                                               Qt(y);
                                                                                     }
                                                                                }),
                                                                           he(
                                                                                y,
                                                                                "aoDrawCallback",
                                                                                function () {
                                                                                     (y.bSorted || "ssp" === me(y) || I.bDeferRender) && ie(y);
                                                                                },
                                                                                "sc"
                                                                           );
                                                                      var i = p.children("caption").each(function () {
                                                                                this._captionSide = t(this).css("caption-side");
                                                                           }),
                                                                           a = p.children("thead");
                                                                      0 === a.length && (a = t("<thead/>").appendTo(p)), (y.nTHead = a[0]);
                                                                      var s = p.children("tbody");
                                                                      0 === s.length && (s = t("<tbody/>").appendTo(p)), (y.nTBody = s[0]);
                                                                      var l = p.children("tfoot");
                                                                      if (
                                                                           (0 === l.length && i.length > 0 && ("" !== y.oScroll.sX || "" !== y.oScroll.sY) && (l = t("<tfoot/>").appendTo(p)),
                                                                           0 === l.length || 0 === l.children().length ? p.addClass(b.sNoFooter) : l.length > 0 && ((y.nTFoot = l[0]), ht(y.aoFooter, y.nTFoot)),
                                                                           o.aaData)
                                                                      )
                                                                           for (c = 0; c < o.aaData.length; c++) W(y, o.aaData[c]);
                                                                      else (y.bDeferLoading || "dom" == me(y)) && V(y, t(y.nTBody).children("tr"));
                                                                      (y.aiDisplay = y.aiDisplayMaster.slice()), (y.bInitialised = !0), !1 === h && It(y);
                                                                 };
                                                            o.bStateSave ? ((I.bStateSave = !0), he(y, "aoDrawCallback", re, "state_save"), oe(y, o, z)) : z();
                                                       } else se(null, 0, "Non-table node initialisation (" + this.nodeName + ")", 2);
                                                  }),
                                                  (i = null),
                                                  this
                                             );
                                        },
                                        c = {},
                                        u = /[\r\n\u2028]/g,
                                        h = /<.*?>/g,
                                        d = /^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,
                                        p = new RegExp("(\\" + ["/", ".", "*", "+", "?", "|", "(", ")", "[", "]", "{", "}", "\\", "$", "^", "-"].join("|\\") + ")", "g"),
                                        f = /[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,
                                        m = function (t) {
                                             return !t || !0 === t || "-" === t;
                                        },
                                        g = function (t) {
                                             var e = parseInt(t, 10);
                                             return !isNaN(e) && isFinite(t) ? e : null;
                                        },
                                        v = function (t, e) {
                                             return c[e] || (c[e] = new RegExp(St(e), "g")), "string" == typeof t && "." !== e ? t.replace(/\./g, "").replace(c[e], ".") : t;
                                        },
                                        y = function (t, e, i) {
                                             var n = "string" == typeof t;
                                             return !!m(t) || (e && n && (t = v(t, e)), i && n && (t = t.replace(f, "")), !isNaN(parseFloat(t)) && isFinite(t));
                                        },
                                        b = function (t, e, i) {
                                             return (
                                                  !!m(t) ||
                                                  ((function (t) {
                                                       return m(t) || "string" == typeof t;
                                                  })(t) &&
                                                       !!y(S(t), e, i)) ||
                                                  null
                                             );
                                        },
                                        _ = function (t, e, i) {
                                             var r = [],
                                                  o = 0,
                                                  a = t.length;
                                             if (i !== n) for (; o < a; o++) t[o] && t[o][e] && r.push(t[o][e][i]);
                                             else for (; o < a; o++) t[o] && r.push(t[o][e]);
                                             return r;
                                        },
                                        x = function (t, e, i, r) {
                                             var o = [],
                                                  a = 0,
                                                  s = e.length;
                                             if (r !== n) for (; a < s; a++) t[e[a]][i] && o.push(t[e[a]][i][r]);
                                             else for (; a < s; a++) o.push(t[e[a]][i]);
                                             return o;
                                        },
                                        w = function (t, e) {
                                             var i,
                                                  r = [];
                                             e === n ? ((e = 0), (i = t)) : ((i = e), (e = t));
                                             for (var o = e; o < i; o++) r.push(o);
                                             return r;
                                        },
                                        k = function (t) {
                                             for (var e = [], i = 0, n = t.length; i < n; i++) t[i] && e.push(t[i]);
                                             return e;
                                        },
                                        S = function (t) {
                                             return t.replace(h, "");
                                        },
                                        M = function (t) {
                                             if (
                                                  (function (t) {
                                                       if (t.length < 2) return !0;
                                                       for (var e = t.slice().sort(), i = e[0], n = 1, r = e.length; n < r; n++) {
                                                            if (e[n] === i) return !1;
                                                            i = e[n];
                                                       }
                                                       return !0;
                                                  })(t)
                                             )
                                                  return t.slice();
                                             var e,
                                                  i,
                                                  n,
                                                  r = [],
                                                  o = t.length,
                                                  a = 0;
                                             t: for (i = 0; i < o; i++) {
                                                  for (e = t[i], n = 0; n < a; n++) if (r[n] === e) continue t;
                                                  r.push(e), a++;
                                             }
                                             return r;
                                        };
                                   function T(e) {
                                        var i,
                                             n,
                                             r = {};
                                        t.each(e, function (t, o) {
                                             (i = t.match(/^([^A-Z]+?)([A-Z])/)) && -1 !== "a aa ai ao as b fn i m o s ".indexOf(i[1] + " ") && ((n = t.replace(i[0], i[2].toLowerCase())), (r[n] = t), "o" === i[1] && T(e[t]));
                                        }),
                                             (e._hungarianMap = r);
                                   }
                                   function C(e, i, r) {
                                        var o;
                                        e._hungarianMap || T(e),
                                             t.each(i, function (a, s) {
                                                  (o = e._hungarianMap[a]) === n || (!r && i[o] !== n) || ("o" === o.charAt(0) ? (i[o] || (i[o] = {}), t.extend(!0, i[o], i[a]), C(e[o], i[o], r)) : (i[o] = i[a]));
                                             });
                                   }
                                   function D(t) {
                                        var e = l.defaults.oLanguage,
                                             i = e.sDecimal;
                                        if ((i && Pe(i), t)) {
                                             var n = t.sZeroRecords;
                                             !t.sEmptyTable && n && "No data available in table" === e.sEmptyTable && le(t, t, "sZeroRecords", "sEmptyTable"),
                                                  !t.sLoadingRecords && n && "Loading..." === e.sLoadingRecords && le(t, t, "sZeroRecords", "sLoadingRecords"),
                                                  t.sInfoThousands && (t.sThousands = t.sInfoThousands);
                                             var r = t.sDecimal;
                                             r && i !== r && Pe(r);
                                        }
                                   }
                                   l.util = {
                                        throttle: function (t, e) {
                                             var i,
                                                  r,
                                                  o = e !== n ? e : 200;
                                             return function () {
                                                  var e = this,
                                                       a = +new Date(),
                                                       s = arguments;
                                                  i && a < i + o
                                                       ? (clearTimeout(r),
                                                         (r = setTimeout(function () {
                                                              (i = n), t.apply(e, s);
                                                         }, o)))
                                                       : ((i = a), t.apply(e, s));
                                             };
                                        },
                                        escapeRegex: function (t) {
                                             return t.replace(p, "\\$1");
                                        },
                                   };
                                   var L = function (t, e, i) {
                                        t[e] !== n && (t[i] = t[e]);
                                   };
                                   function E(t) {
                                        L(t, "ordering", "bSort"),
                                             L(t, "orderMulti", "bSortMulti"),
                                             L(t, "orderClasses", "bSortClasses"),
                                             L(t, "orderCellsTop", "bSortCellsTop"),
                                             L(t, "order", "aaSorting"),
                                             L(t, "orderFixed", "aaSortingFixed"),
                                             L(t, "paging", "bPaginate"),
                                             L(t, "pagingType", "sPaginationType"),
                                             L(t, "pageLength", "iDisplayLength"),
                                             L(t, "searching", "bFilter"),
                                             "boolean" == typeof t.sScrollX && (t.sScrollX = t.sScrollX ? "100%" : ""),
                                             "boolean" == typeof t.scrollX && (t.scrollX = t.scrollX ? "100%" : "");
                                        var e = t.aoSearchCols;
                                        if (e) for (var i = 0, n = e.length; i < n; i++) e[i] && C(l.models.oSearch, e[i]);
                                   }
                                   function A(e) {
                                        L(e, "orderable", "bSortable"), L(e, "orderData", "aDataSort"), L(e, "orderSequence", "asSorting"), L(e, "orderDataType", "sortDataType");
                                        var i = e.aDataSort;
                                        "number" != typeof i || t.isArray(i) || (e.aDataSort = [i]);
                                   }
                                   function P(i) {
                                        if (!l.__browser) {
                                             var n = {};
                                             l.__browser = n;
                                             var r = t("<div/>")
                                                       .css({ position: "fixed", top: 0, left: -1 * t(e).scrollLeft(), height: 1, width: 1, overflow: "hidden" })
                                                       .append(
                                                            t("<div/>")
                                                                 .css({ position: "absolute", top: 1, left: 1, width: 100, overflow: "scroll" })
                                                                 .append(t("<div/>").css({ width: "100%", height: 10 }))
                                                       )
                                                       .appendTo("body"),
                                                  o = r.children(),
                                                  a = o.children();
                                             (n.barWidth = o[0].offsetWidth - o[0].clientWidth),
                                                  (n.bScrollOversize = 100 === a[0].offsetWidth && 100 !== o[0].clientWidth),
                                                  (n.bScrollbarLeft = 1 !== Math.round(a.offset().left)),
                                                  (n.bBounding = !!r[0].getBoundingClientRect().width),
                                                  r.remove();
                                        }
                                        t.extend(i.oBrowser, l.__browser), (i.oScroll.iBarWidth = l.__browser.barWidth);
                                   }
                                   function I(t, e, i, r, o, a) {
                                        var s,
                                             l = r,
                                             c = !1;
                                        for (i !== n && ((s = i), (c = !0)); l !== o; ) t.hasOwnProperty(l) && ((s = c ? e(s, t[l], l, t) : t[l]), (c = !0), (l += a));
                                        return s;
                                   }
                                   function O(e, n) {
                                        var r = l.defaults.column,
                                             o = e.aoColumns.length,
                                             a = t.extend({}, l.models.oColumn, r, {
                                                  nTh: n || i.createElement("th"),
                                                  sTitle: r.sTitle ? r.sTitle : n ? n.innerHTML : "",
                                                  aDataSort: r.aDataSort ? r.aDataSort : [o],
                                                  mData: r.mData ? r.mData : o,
                                                  idx: o,
                                             });
                                        e.aoColumns.push(a);
                                        var s = e.aoPreSearchCols;
                                        (s[o] = t.extend({}, l.models.oSearch, s[o])), Y(e, o, t(n).data());
                                   }
                                   function Y(e, i, r) {
                                        var o = e.aoColumns[i],
                                             a = e.oClasses,
                                             s = t(o.nTh);
                                        if (!o.sWidthOrig) {
                                             o.sWidthOrig = s.attr("width") || null;
                                             var c = (s.attr("style") || "").match(/width:\s*(\d+[pxem%]+)/);
                                             c && (o.sWidthOrig = c[1]);
                                        }
                                        r !== n &&
                                             null !== r &&
                                             (A(r),
                                             C(l.defaults.column, r, !0),
                                             r.mDataProp === n || r.mData || (r.mData = r.mDataProp),
                                             r.sType && (o._sManualType = r.sType),
                                             r.className && !r.sClass && (r.sClass = r.className),
                                             r.sClass && s.addClass(r.sClass),
                                             t.extend(o, r),
                                             le(o, r, "sWidth", "sWidthOrig"),
                                             r.iDataSort !== n && (o.aDataSort = [r.iDataSort]),
                                             le(o, r, "aDataSort"));
                                        var u = o.mData,
                                             h = J(u),
                                             d = o.mRender ? J(o.mRender) : null,
                                             p = function (t) {
                                                  return "string" == typeof t && -1 !== t.indexOf("@");
                                             };
                                        (o._bAttrSrc = t.isPlainObject(u) && (p(u.sort) || p(u.type) || p(u.filter))),
                                             (o._setter = null),
                                             (o.fnGetData = function (t, e, i) {
                                                  var r = h(t, e, n, i);
                                                  return d && e ? d(r, e, t, i) : r;
                                             }),
                                             (o.fnSetData = function (t, e, i) {
                                                  return K(u)(t, e, i);
                                             }),
                                             "number" != typeof u && (e._rowReadObject = !0),
                                             e.oFeatures.bSort || ((o.bSortable = !1), s.addClass(a.sSortableNone));
                                        var f = -1 !== t.inArray("asc", o.asSorting),
                                             m = -1 !== t.inArray("desc", o.asSorting);
                                        o.bSortable && (f || m)
                                             ? f && !m
                                                  ? ((o.sSortingClass = a.sSortableAsc), (o.sSortingClassJUI = a.sSortJUIAscAllowed))
                                                  : !f && m
                                                  ? ((o.sSortingClass = a.sSortableDesc), (o.sSortingClassJUI = a.sSortJUIDescAllowed))
                                                  : ((o.sSortingClass = a.sSortable), (o.sSortingClassJUI = a.sSortJUI))
                                             : ((o.sSortingClass = a.sSortableNone), (o.sSortingClassJUI = ""));
                                   }
                                   function z(t) {
                                        if (!1 !== t.oFeatures.bAutoWidth) {
                                             var e = t.aoColumns;
                                             Ut(t);
                                             for (var i = 0, n = e.length; i < n; i++) e[i].nTh.style.width = e[i].sWidth;
                                        }
                                        var r = t.oScroll;
                                        ("" === r.sY && "" === r.sX) || Bt(t), de(t, null, "column-sizing", [t]);
                                   }
                                   function R(t, e) {
                                        var i = j(t, "bVisible");
                                        return "number" == typeof i[e] ? i[e] : null;
                                   }
                                   function F(e, i) {
                                        var n = j(e, "bVisible"),
                                             r = t.inArray(i, n);
                                        return -1 !== r ? r : null;
                                   }
                                   function H(e) {
                                        var i = 0;
                                        return (
                                             t.each(e.aoColumns, function (e, n) {
                                                  n.bVisible && "none" !== t(n.nTh).css("display") && i++;
                                             }),
                                             i
                                        );
                                   }
                                   function j(e, i) {
                                        var n = [];
                                        return (
                                             t.map(e.aoColumns, function (t, e) {
                                                  t[i] && n.push(e);
                                             }),
                                             n
                                        );
                                   }
                                   function N(t) {
                                        var e,
                                             i,
                                             r,
                                             o,
                                             a,
                                             s,
                                             c,
                                             u,
                                             h,
                                             d = t.aoColumns,
                                             p = t.aoData,
                                             f = l.ext.type.detect;
                                        for (e = 0, i = d.length; e < i; e++)
                                             if (((h = []), !(c = d[e]).sType && c._sManualType)) c.sType = c._sManualType;
                                             else if (!c.sType) {
                                                  for (r = 0, o = f.length; r < o; r++) {
                                                       for (a = 0, s = p.length; a < s && (h[a] === n && (h[a] = q(t, a, e, "type")), (u = f[r](h[a], t)) || r === f.length - 1) && "html" !== u; a++);
                                                       if (u) {
                                                            c.sType = u;
                                                            break;
                                                       }
                                                  }
                                                  c.sType || (c.sType = "string");
                                             }
                                   }
                                   function B(e, i, r, o) {
                                        var a,
                                             s,
                                             l,
                                             c,
                                             u,
                                             h,
                                             d,
                                             p = e.aoColumns;
                                        if (i)
                                             for (a = i.length - 1; a >= 0; a--) {
                                                  var f = (d = i[a]).targets !== n ? d.targets : d.aTargets;
                                                  for (t.isArray(f) || (f = [f]), l = 0, c = f.length; l < c; l++)
                                                       if ("number" == typeof f[l] && f[l] >= 0) {
                                                            for (; p.length <= f[l]; ) O(e);
                                                            o(f[l], d);
                                                       } else if ("number" == typeof f[l] && f[l] < 0) o(p.length + f[l], d);
                                                       else if ("string" == typeof f[l]) for (u = 0, h = p.length; u < h; u++) ("_all" == f[l] || t(p[u].nTh).hasClass(f[l])) && o(u, d);
                                             }
                                        if (r) for (a = 0, s = r.length; a < s; a++) o(a, r[a]);
                                   }
                                   function W(e, i, r, o) {
                                        var a = e.aoData.length,
                                             s = t.extend(!0, {}, l.models.oRow, { src: r ? "dom" : "data", idx: a });
                                        (s._aData = i), e.aoData.push(s);
                                        for (var c = e.aoColumns, u = 0, h = c.length; u < h; u++) c[u].sType = null;
                                        e.aiDisplayMaster.push(a);
                                        var d = e.rowIdFn(i);
                                        return d !== n && (e.aIds[d] = s), (!r && e.oFeatures.bDeferRender) || rt(e, a, r, o), a;
                                   }
                                   function V(e, i) {
                                        var n;
                                        return (
                                             i instanceof t || (i = t(i)),
                                             i.map(function (t, i) {
                                                  return (n = nt(e, i)), W(e, n.data, i, n.cells);
                                             })
                                        );
                                   }
                                   function U(e, i, n) {
                                        return t.inArray(n, e.aoData[i].anCells);
                                   }
                                   function q(t, e, i, r) {
                                        var o = t.iDraw,
                                             a = t.aoColumns[i],
                                             s = t.aoData[e]._aData,
                                             l = a.sDefaultContent,
                                             c = a.fnGetData(s, r, { settings: t, row: e, col: i });
                                        if (c === n)
                                             return (
                                                  t.iDrawError != o &&
                                                       null === l &&
                                                       (se(t, 0, "Requested unknown parameter " + ("function" == typeof a.mData ? "{function}" : "'" + a.mData + "'") + " for row " + e + ", column " + i, 4), (t.iDrawError = o)),
                                                  l
                                             );
                                        if ((c !== s && null !== c) || null === l || r === n) {
                                             if ("function" == typeof c) return c.call(s);
                                        } else c = l;
                                        return null === c && "display" == r ? "" : c;
                                   }
                                   function $(t, e, i, n) {
                                        var r = t.aoColumns[i],
                                             o = t.aoData[e]._aData;
                                        r.fnSetData(o, n, { settings: t, row: e, col: i });
                                   }
                                   var X = /\[.*?\]$/,
                                        G = /\(\)$/;
                                   function Z(e) {
                                        return t.map(e.match(/(\\.|[^\.])+/g) || [""], function (t) {
                                             return t.replace(/\\\./g, ".");
                                        });
                                   }
                                   function J(e) {
                                        if (t.isPlainObject(e)) {
                                             var i = {};
                                             return (
                                                  t.each(e, function (t, e) {
                                                       e && (i[t] = J(e));
                                                  }),
                                                  function (t, e, r, o) {
                                                       var a = i[e] || i._;
                                                       return a !== n ? a(t, e, r, o) : t;
                                                  }
                                             );
                                        }
                                        if (null === e)
                                             return function (t) {
                                                  return t;
                                             };
                                        if ("function" == typeof e)
                                             return function (t, i, n, r) {
                                                  return e(t, i, n, r);
                                             };
                                        if ("string" != typeof e || (-1 === e.indexOf(".") && -1 === e.indexOf("[") && -1 === e.indexOf("(")))
                                             return function (t, i) {
                                                  return t[e];
                                             };
                                        var r = function (e, i, o) {
                                             var a, s, l, c;
                                             if ("" !== o)
                                                  for (var u = Z(o), h = 0, d = u.length; h < d; h++) {
                                                       if (((a = u[h].match(X)), (s = u[h].match(G)), a)) {
                                                            if (((u[h] = u[h].replace(X, "")), "" !== u[h] && (e = e[u[h]]), (l = []), u.splice(0, h + 1), (c = u.join(".")), t.isArray(e)))
                                                                 for (var p = 0, f = e.length; p < f; p++) l.push(r(e[p], i, c));
                                                            var m = a[0].substring(1, a[0].length - 1);
                                                            e = "" === m ? l : l.join(m);
                                                            break;
                                                       }
                                                       if (s) (u[h] = u[h].replace(G, "")), (e = e[u[h]]());
                                                       else {
                                                            if (null === e || e[u[h]] === n) return n;
                                                            e = e[u[h]];
                                                       }
                                                  }
                                             return e;
                                        };
                                        return function (t, i) {
                                             return r(t, i, e);
                                        };
                                   }
                                   function K(e) {
                                        if (t.isPlainObject(e)) return K(e._);
                                        if (null === e) return function () {};
                                        if ("function" == typeof e)
                                             return function (t, i, n) {
                                                  e(t, "set", i, n);
                                             };
                                        if ("string" != typeof e || (-1 === e.indexOf(".") && -1 === e.indexOf("[") && -1 === e.indexOf("(")))
                                             return function (t, i) {
                                                  t[e] = i;
                                             };
                                        var i = function (e, r, o) {
                                             for (var a, s, l, c, u, h = Z(o), d = h[h.length - 1], p = 0, f = h.length - 1; p < f; p++) {
                                                  if (((s = h[p].match(X)), (l = h[p].match(G)), s)) {
                                                       if (((h[p] = h[p].replace(X, "")), (e[h[p]] = []), (a = h.slice()).splice(0, p + 1), (u = a.join(".")), t.isArray(r)))
                                                            for (var m = 0, g = r.length; m < g; m++) i((c = {}), r[m], u), e[h[p]].push(c);
                                                       else e[h[p]] = r;
                                                       return;
                                                  }
                                                  l && ((h[p] = h[p].replace(G, "")), (e = e[h[p]](r))), (null !== e[h[p]] && e[h[p]] !== n) || (e[h[p]] = {}), (e = e[h[p]]);
                                             }
                                             d.match(G) ? (e = e[d.replace(G, "")](r)) : (e[d.replace(X, "")] = r);
                                        };
                                        return function (t, n) {
                                             return i(t, n, e);
                                        };
                                   }
                                   function Q(t) {
                                        return _(t.aoData, "_aData");
                                   }
                                   function tt(t) {
                                        (t.aoData.length = 0), (t.aiDisplayMaster.length = 0), (t.aiDisplay.length = 0), (t.aIds = {});
                                   }
                                   function et(t, e, i) {
                                        for (var r = -1, o = 0, a = t.length; o < a; o++) t[o] == e ? (r = o) : t[o] > e && t[o]--;
                                        -1 != r && i === n && t.splice(r, 1);
                                   }
                                   function it(t, e, i, r) {
                                        var o,
                                             a,
                                             s = t.aoData[e],
                                             l = function (i, n) {
                                                  for (; i.childNodes.length; ) i.removeChild(i.firstChild);
                                                  i.innerHTML = q(t, e, n, "display");
                                             };
                                        if ("dom" !== i && ((i && "auto" !== i) || "dom" !== s.src)) {
                                             var c = s.anCells;
                                             if (c)
                                                  if (r !== n) l(c[r], r);
                                                  else for (o = 0, a = c.length; o < a; o++) l(c[o], o);
                                        } else s._aData = nt(t, s, r, r === n ? n : s._aData).data;
                                        (s._aSortData = null), (s._aFilterData = null);
                                        var u = t.aoColumns;
                                        if (r !== n) u[r].sType = null;
                                        else {
                                             for (o = 0, a = u.length; o < a; o++) u[o].sType = null;
                                             ot(t, s);
                                        }
                                   }
                                   function nt(e, i, r, o) {
                                        var a,
                                             s,
                                             l,
                                             c = [],
                                             u = i.firstChild,
                                             h = 0,
                                             d = e.aoColumns,
                                             p = e._rowReadObject;
                                        o = o !== n ? o : p ? {} : [];
                                        var f = function (t, e) {
                                                  if ("string" == typeof t) {
                                                       var i = t.indexOf("@");
                                                       if (-1 !== i) {
                                                            var n = t.substring(i + 1);
                                                            K(t)(o, e.getAttribute(n));
                                                       }
                                                  }
                                             },
                                             m = function (e) {
                                                  (r !== n && r !== h) ||
                                                       ((s = d[h]),
                                                       (l = t.trim(e.innerHTML)),
                                                       s && s._bAttrSrc ? (K(s.mData._)(o, l), f(s.mData.sort, e), f(s.mData.type, e), f(s.mData.filter, e)) : p ? (s._setter || (s._setter = K(s.mData)), s._setter(o, l)) : (o[h] = l));
                                                  h++;
                                             };
                                        if (u) for (; u; ) ("TD" != (a = u.nodeName.toUpperCase()) && "TH" != a) || (m(u), c.push(u)), (u = u.nextSibling);
                                        else for (var g = 0, v = (c = i.anCells).length; g < v; g++) m(c[g]);
                                        var y = i.firstChild ? i : i.nTr;
                                        if (y) {
                                             var b = y.getAttribute("id");
                                             b && K(e.rowId)(o, b);
                                        }
                                        return { data: o, cells: c };
                                   }
                                   function rt(e, n, r, o) {
                                        var a,
                                             s,
                                             l,
                                             c,
                                             u,
                                             h,
                                             d = e.aoData[n],
                                             p = d._aData,
                                             f = [];
                                        if (null === d.nTr) {
                                             for (a = r || i.createElement("tr"), d.nTr = a, d.anCells = f, a._DT_RowIndex = n, ot(e, d), c = 0, u = e.aoColumns.length; c < u; c++)
                                                  (l = e.aoColumns[c]),
                                                       ((s = (h = !r) ? i.createElement(l.sCellType) : o[c])._DT_CellIndex = { row: n, column: c }),
                                                       f.push(s),
                                                       (!h && ((r && !l.mRender && l.mData === c) || (t.isPlainObject(l.mData) && l.mData._ === c + ".display"))) || (s.innerHTML = q(e, n, c, "display")),
                                                       l.sClass && (s.className += " " + l.sClass),
                                                       l.bVisible && !r ? a.appendChild(s) : !l.bVisible && r && s.parentNode.removeChild(s),
                                                       l.fnCreatedCell && l.fnCreatedCell.call(e.oInstance, s, q(e, n, c), p, n, c);
                                             de(e, "aoRowCreatedCallback", null, [a, p, n, f]);
                                        }
                                        d.nTr.setAttribute("role", "row");
                                   }
                                   function ot(e, i) {
                                        var n = i.nTr,
                                             r = i._aData;
                                        if (n) {
                                             var o = e.rowIdFn(r);
                                             if ((o && (n.id = o), r.DT_RowClass)) {
                                                  var a = r.DT_RowClass.split(" ");
                                                  (i.__rowc = i.__rowc ? M(i.__rowc.concat(a)) : a), t(n).removeClass(i.__rowc.join(" ")).addClass(r.DT_RowClass);
                                             }
                                             r.DT_RowAttr && t(n).attr(r.DT_RowAttr), r.DT_RowData && t(n).data(r.DT_RowData);
                                        }
                                   }
                                   function at(e) {
                                        var i,
                                             n,
                                             r,
                                             o,
                                             a,
                                             s = e.nTHead,
                                             l = e.nTFoot,
                                             c = 0 === t("th, td", s).length,
                                             u = e.oClasses,
                                             h = e.aoColumns;
                                        for (c && (o = t("<tr/>").appendTo(s)), i = 0, n = h.length; i < n; i++)
                                             (a = h[i]),
                                                  (r = t(a.nTh).addClass(a.sClass)),
                                                  c && r.appendTo(o),
                                                  e.oFeatures.bSort && (r.addClass(a.sSortingClass), !1 !== a.bSortable && (r.attr("tabindex", e.iTabIndex).attr("aria-controls", e.sTableId), ee(e, a.nTh, i))),
                                                  a.sTitle != r[0].innerHTML && r.html(a.sTitle),
                                                  fe(e, "header")(e, r, a, u);
                                        if ((c && ht(e.aoHeader, s), t(s).find(">tr").attr("role", "row"), t(s).find(">tr>th, >tr>td").addClass(u.sHeaderTH), t(l).find(">tr>th, >tr>td").addClass(u.sFooterTH), null !== l)) {
                                             var d = e.aoFooter[0];
                                             for (i = 0, n = d.length; i < n; i++) ((a = h[i]).nTf = d[i].cell), a.sClass && t(a.nTf).addClass(a.sClass);
                                        }
                                   }
                                   function st(e, i, r) {
                                        var o,
                                             a,
                                             s,
                                             l,
                                             c,
                                             u,
                                             h,
                                             d,
                                             p,
                                             f = [],
                                             m = [],
                                             g = e.aoColumns.length;
                                        if (i) {
                                             for (r === n && (r = !1), o = 0, a = i.length; o < a; o++) {
                                                  for (f[o] = i[o].slice(), f[o].nTr = i[o].nTr, s = g - 1; s >= 0; s--) e.aoColumns[s].bVisible || r || f[o].splice(s, 1);
                                                  m.push([]);
                                             }
                                             for (o = 0, a = f.length; o < a; o++) {
                                                  if ((h = f[o].nTr)) for (; (u = h.firstChild); ) h.removeChild(u);
                                                  for (s = 0, l = f[o].length; s < l; s++)
                                                       if (((d = 1), (p = 1), m[o][s] === n)) {
                                                            for (h.appendChild(f[o][s].cell), m[o][s] = 1; f[o + d] !== n && f[o][s].cell == f[o + d][s].cell; ) (m[o + d][s] = 1), d++;
                                                            for (; f[o][s + p] !== n && f[o][s].cell == f[o][s + p].cell; ) {
                                                                 for (c = 0; c < d; c++) m[o + c][s + p] = 1;
                                                                 p++;
                                                            }
                                                            t(f[o][s].cell).attr("rowspan", d).attr("colspan", p);
                                                       }
                                             }
                                        }
                                   }
                                   function lt(e) {
                                        var i = de(e, "aoPreDrawCallback", "preDraw", [e]);
                                        if (-1 === t.inArray(!1, i)) {
                                             var r = [],
                                                  o = 0,
                                                  a = e.asStripeClasses,
                                                  s = a.length,
                                                  l = (e.aoOpenRows.length, e.oLanguage),
                                                  c = e.iInitDisplayStart,
                                                  u = "ssp" == me(e),
                                                  h = e.aiDisplay;
                                             (e.bDrawing = !0), c !== n && -1 !== c && ((e._iDisplayStart = u ? c : c >= e.fnRecordsDisplay() ? 0 : c), (e.iInitDisplayStart = -1));
                                             var d = e._iDisplayStart,
                                                  p = e.fnDisplayEnd();
                                             if (e.bDeferLoading) (e.bDeferLoading = !1), e.iDraw++, jt(e, !1);
                                             else if (u) {
                                                  if (!e.bDestroying && !ft(e)) return;
                                             } else e.iDraw++;
                                             if (0 !== h.length)
                                                  for (var f = u ? 0 : d, m = u ? e.aoData.length : p, g = f; g < m; g++) {
                                                       var v = h[g],
                                                            y = e.aoData[v];
                                                       null === y.nTr && rt(e, v);
                                                       var b = y.nTr;
                                                       if (0 !== s) {
                                                            var _ = a[o % s];
                                                            y._sRowStripe != _ && (t(b).removeClass(y._sRowStripe).addClass(_), (y._sRowStripe = _));
                                                       }
                                                       de(e, "aoRowCallback", null, [b, y._aData, o, g, v]), r.push(b), o++;
                                                  }
                                             else {
                                                  var x = l.sZeroRecords;
                                                  1 == e.iDraw && "ajax" == me(e) ? (x = l.sLoadingRecords) : l.sEmptyTable && 0 === e.fnRecordsTotal() && (x = l.sEmptyTable),
                                                       (r[0] = t("<tr/>", { class: s ? a[0] : "" }).append(t("<td />", { valign: "top", colSpan: H(e), class: e.oClasses.sRowEmpty }).html(x))[0]);
                                             }
                                             de(e, "aoHeaderCallback", "header", [t(e.nTHead).children("tr")[0], Q(e), d, p, h]), de(e, "aoFooterCallback", "footer", [t(e.nTFoot).children("tr")[0], Q(e), d, p, h]);
                                             var w = t(e.nTBody);
                                             w.children().detach(), w.append(t(r)), de(e, "aoDrawCallback", "draw", [e]), (e.bSorted = !1), (e.bFiltered = !1), (e.bDrawing = !1);
                                        } else jt(e, !1);
                                   }
                                   function ct(t, e) {
                                        var i = t.oFeatures,
                                             n = i.bSort,
                                             r = i.bFilter;
                                        n && Kt(t), r ? bt(t, t.oPreviousSearch) : (t.aiDisplay = t.aiDisplayMaster.slice()), !0 !== e && (t._iDisplayStart = 0), (t._drawHold = e), lt(t), (t._drawHold = !1);
                                   }
                                   function ut(e) {
                                        var i = e.oClasses,
                                             n = t(e.nTable),
                                             r = t("<div/>").insertBefore(n),
                                             o = e.oFeatures,
                                             a = t("<div/>", { id: e.sTableId + "_wrapper", class: i.sWrapper + (e.nTFoot ? "" : " " + i.sNoFooter) });
                                        (e.nHolding = r[0]), (e.nTableWrapper = a[0]), (e.nTableReinsertBefore = e.nTable.nextSibling);
                                        for (var s, c, u, h, d, p, f = e.sDom.split(""), m = 0; m < f.length; m++) {
                                             if (((s = null), "<" == (c = f[m]))) {
                                                  if (((u = t("<div/>")[0]), "'" == (h = f[m + 1]) || '"' == h)) {
                                                       for (d = "", p = 2; f[m + p] != h; ) (d += f[m + p]), p++;
                                                       if (("H" == d ? (d = i.sJUIHeader) : "F" == d && (d = i.sJUIFooter), -1 != d.indexOf("."))) {
                                                            var g = d.split(".");
                                                            (u.id = g[0].substr(1, g[0].length - 1)), (u.className = g[1]);
                                                       } else "#" == d.charAt(0) ? (u.id = d.substr(1, d.length - 1)) : (u.className = d);
                                                       m += p;
                                                  }
                                                  a.append(u), (a = t(u));
                                             } else if (">" == c) a = a.parent();
                                             else if ("l" == c && o.bPaginate && o.bLengthChange) s = zt(e);
                                             else if ("f" == c && o.bFilter) s = yt(e);
                                             else if ("r" == c && o.bProcessing) s = Ht(e);
                                             else if ("t" == c) s = Nt(e);
                                             else if ("i" == c && o.bInfo) s = Et(e);
                                             else if ("p" == c && o.bPaginate) s = Rt(e);
                                             else if (0 !== l.ext.feature.length)
                                                  for (var v = l.ext.feature, y = 0, b = v.length; y < b; y++)
                                                       if (c == v[y].cFeature) {
                                                            s = v[y].fnInit(e);
                                                            break;
                                                       }
                                             if (s) {
                                                  var _ = e.aanFeatures;
                                                  _[c] || (_[c] = []), _[c].push(s), a.append(s);
                                             }
                                        }
                                        r.replaceWith(a), (e.nHolding = null);
                                   }
                                   function ht(e, i) {
                                        var n,
                                             r,
                                             o,
                                             a,
                                             s,
                                             l,
                                             c,
                                             u,
                                             h,
                                             d,
                                             p = t(i).children("tr"),
                                             f = function (t, e, i) {
                                                  for (var n = t[e]; n[i]; ) i++;
                                                  return i;
                                             };
                                        for (e.splice(0, e.length), o = 0, l = p.length; o < l; o++) e.push([]);
                                        for (o = 0, l = p.length; o < l; o++)
                                             for (0, r = (n = p[o]).firstChild; r; ) {
                                                  if ("TD" == r.nodeName.toUpperCase() || "TH" == r.nodeName.toUpperCase())
                                                       for (
                                                            u = (u = 1 * r.getAttribute("colspan")) && 0 !== u && 1 !== u ? u : 1, h = (h = 1 * r.getAttribute("rowspan")) && 0 !== h && 1 !== h ? h : 1, c = f(e, o, 0), d = 1 === u, s = 0;
                                                            s < u;
                                                            s++
                                                       )
                                                            for (a = 0; a < h; a++) (e[o + a][c + s] = { cell: r, unique: d }), (e[o + a].nTr = n);
                                                  r = r.nextSibling;
                                             }
                                   }
                                   function dt(t, e, i) {
                                        var n = [];
                                        i || ((i = t.aoHeader), e && ht((i = []), e));
                                        for (var r = 0, o = i.length; r < o; r++) for (var a = 0, s = i[r].length; a < s; a++) !i[r][a].unique || (n[a] && t.bSortCellsTop) || (n[a] = i[r][a].cell);
                                        return n;
                                   }
                                   function pt(e, i, n) {
                                        if ((de(e, "aoServerParams", "serverParams", [i]), i && t.isArray(i))) {
                                             var r = {},
                                                  o = /(.*?)\[\]$/;
                                             t.each(i, function (t, e) {
                                                  var i = e.name.match(o);
                                                  if (i) {
                                                       var n = i[0];
                                                       r[n] || (r[n] = []), r[n].push(e.value);
                                                  } else r[e.name] = e.value;
                                             }),
                                                  (i = r);
                                        }
                                        var a,
                                             s = e.ajax,
                                             l = e.oInstance,
                                             c = function (t) {
                                                  de(e, null, "xhr", [e, t, e.jqXHR]), n(t);
                                             };
                                        if (t.isPlainObject(s) && s.data) {
                                             var u = "function" == typeof (a = s.data) ? a(i, e) : a;
                                             (i = "function" == typeof a && u ? u : t.extend(!0, i, u)), delete s.data;
                                        }
                                        var h = {
                                             data: i,
                                             success: function (t) {
                                                  var i = t.error || t.sError;
                                                  i && se(e, 0, i), (e.json = t), c(t);
                                             },
                                             dataType: "json",
                                             cache: !1,
                                             type: e.sServerMethod,
                                             error: function (i, n, r) {
                                                  var o = de(e, null, "xhr", [e, null, e.jqXHR]);
                                                  -1 === t.inArray(!0, o) && ("parsererror" == n ? se(e, 0, "Invalid JSON response", 1) : 4 === i.readyState && se(e, 0, "Ajax error", 7)), jt(e, !1);
                                             },
                                        };
                                        (e.oAjaxData = i),
                                             de(e, null, "preXhr", [e, i]),
                                             e.fnServerData
                                                  ? e.fnServerData.call(
                                                         l,
                                                         e.sAjaxSource,
                                                         t.map(i, function (t, e) {
                                                              return { name: e, value: t };
                                                         }),
                                                         c,
                                                         e
                                                    )
                                                  : e.sAjaxSource || "string" == typeof s
                                                  ? (e.jqXHR = t.ajax(t.extend(h, { url: s || e.sAjaxSource })))
                                                  : "function" == typeof s
                                                  ? (e.jqXHR = s.call(l, i, c, e))
                                                  : ((e.jqXHR = t.ajax(t.extend(h, s))), (s.data = a));
                                   }
                                   function ft(t) {
                                        return (
                                             !t.bAjaxDataGet ||
                                             (t.iDraw++,
                                             jt(t, !0),
                                             pt(t, mt(t), function (e) {
                                                  gt(t, e);
                                             }),
                                             !1)
                                        );
                                   }
                                   function mt(e) {
                                        var i,
                                             n,
                                             r,
                                             o,
                                             a = e.aoColumns,
                                             s = a.length,
                                             c = e.oFeatures,
                                             u = e.oPreviousSearch,
                                             h = e.aoPreSearchCols,
                                             d = [],
                                             p = Jt(e),
                                             f = e._iDisplayStart,
                                             m = !1 !== c.bPaginate ? e._iDisplayLength : -1,
                                             g = function (t, e) {
                                                  d.push({ name: t, value: e });
                                             };
                                        g("sEcho", e.iDraw), g("iColumns", s), g("sColumns", _(a, "sName").join(",")), g("iDisplayStart", f), g("iDisplayLength", m);
                                        var v = { draw: e.iDraw, columns: [], order: [], start: f, length: m, search: { value: u.sSearch, regex: u.bRegex } };
                                        for (i = 0; i < s; i++)
                                             (r = a[i]),
                                                  (o = h[i]),
                                                  (n = "function" == typeof r.mData ? "function" : r.mData),
                                                  v.columns.push({ data: n, name: r.sName, searchable: r.bSearchable, orderable: r.bSortable, search: { value: o.sSearch, regex: o.bRegex } }),
                                                  g("mDataProp_" + i, n),
                                                  c.bFilter && (g("sSearch_" + i, o.sSearch), g("bRegex_" + i, o.bRegex), g("bSearchable_" + i, r.bSearchable)),
                                                  c.bSort && g("bSortable_" + i, r.bSortable);
                                        c.bFilter && (g("sSearch", u.sSearch), g("bRegex", u.bRegex)),
                                             c.bSort &&
                                                  (t.each(p, function (t, e) {
                                                       v.order.push({ column: e.col, dir: e.dir }), g("iSortCol_" + t, e.col), g("sSortDir_" + t, e.dir);
                                                  }),
                                                  g("iSortingCols", p.length));
                                        var y = l.ext.legacy.ajax;
                                        return null === y ? (e.sAjaxSource ? d : v) : y ? d : v;
                                   }
                                   function gt(t, e) {
                                        var i = function (t, i) {
                                                  return e[t] !== n ? e[t] : e[i];
                                             },
                                             r = vt(t, e),
                                             o = i("sEcho", "draw"),
                                             a = i("iTotalRecords", "recordsTotal"),
                                             s = i("iTotalDisplayRecords", "recordsFiltered");
                                        if (o !== n) {
                                             if (1 * o < t.iDraw) return;
                                             t.iDraw = 1 * o;
                                        }
                                        tt(t), (t._iRecordsTotal = parseInt(a, 10)), (t._iRecordsDisplay = parseInt(s, 10));
                                        for (var l = 0, c = r.length; l < c; l++) W(t, r[l]);
                                        (t.aiDisplay = t.aiDisplayMaster.slice()), (t.bAjaxDataGet = !1), lt(t), t._bInitComplete || Ot(t, e), (t.bAjaxDataGet = !0), jt(t, !1);
                                   }
                                   function vt(e, i) {
                                        var r = t.isPlainObject(e.ajax) && e.ajax.dataSrc !== n ? e.ajax.dataSrc : e.sAjaxDataProp;
                                        return "data" === r ? i.aaData || i[r] : "" !== r ? J(r)(i) : i;
                                   }
                                   function yt(e) {
                                        var n = e.oClasses,
                                             r = e.sTableId,
                                             o = e.oLanguage,
                                             a = e.oPreviousSearch,
                                             s = e.aanFeatures,
                                             l = '<input type="search" class="' + n.sFilterInput + '"/>',
                                             c = o.sSearch;
                                        c = c.match(/_INPUT_/) ? c.replace("_INPUT_", l) : c + l;
                                        var u = t("<div/>", { id: s.f ? null : r + "_filter", class: n.sFilter }).append(t("<label/>").append(c)),
                                             h = function () {
                                                  s.f;
                                                  var t = this.value ? this.value : "";
                                                  t != a.sSearch && (bt(e, { sSearch: t, bRegex: a.bRegex, bSmart: a.bSmart, bCaseInsensitive: a.bCaseInsensitive }), (e._iDisplayStart = 0), lt(e));
                                             },
                                             d = null !== e.searchDelay ? e.searchDelay : "ssp" === me(e) ? 400 : 0,
                                             p = t("input", u)
                                                  .val(a.sSearch)
                                                  .attr("placeholder", o.sSearchPlaceholder)
                                                  .on("keyup.DT search.DT input.DT paste.DT cut.DT", d ? qt(h, d) : h)
                                                  .on("mouseup", function (t) {
                                                       setTimeout(function () {
                                                            h.call(p[0]);
                                                       }, 10);
                                                  })
                                                  .on("keypress.DT", function (t) {
                                                       if (13 == t.keyCode) return !1;
                                                  })
                                                  .attr("aria-controls", r);
                                        return (
                                             t(e.nTable).on("search.dt.DT", function (t, n) {
                                                  if (e === n)
                                                       try {
                                                            p[0] !== i.activeElement && p.val(a.sSearch);
                                                       } catch (t) {}
                                             }),
                                             u[0]
                                        );
                                   }
                                   function bt(t, e, i) {
                                        var r = t.oPreviousSearch,
                                             o = t.aoPreSearchCols,
                                             a = function (t) {
                                                  (r.sSearch = t.sSearch), (r.bRegex = t.bRegex), (r.bSmart = t.bSmart), (r.bCaseInsensitive = t.bCaseInsensitive);
                                             },
                                             s = function (t) {
                                                  return t.bEscapeRegex !== n ? !t.bEscapeRegex : t.bRegex;
                                             };
                                        if ((N(t), "ssp" != me(t))) {
                                             wt(t, e.sSearch, i, s(e), e.bSmart, e.bCaseInsensitive), a(e);
                                             for (var l = 0; l < o.length; l++) xt(t, o[l].sSearch, l, s(o[l]), o[l].bSmart, o[l].bCaseInsensitive);
                                             _t(t);
                                        } else a(e);
                                        (t.bFiltered = !0), de(t, null, "search", [t]);
                                   }
                                   function _t(e) {
                                        for (var i, n, r = l.ext.search, o = e.aiDisplay, a = 0, s = r.length; a < s; a++) {
                                             for (var c = [], u = 0, h = o.length; u < h; u++) (n = o[u]), (i = e.aoData[n]), r[a](e, i._aFilterData, n, i._aData, u) && c.push(n);
                                             (o.length = 0), t.merge(o, c);
                                        }
                                   }
                                   function xt(t, e, i, n, r, o) {
                                        if ("" !== e) {
                                             for (var a, s = [], l = t.aiDisplay, c = kt(e, n, r, o), u = 0; u < l.length; u++) (a = t.aoData[l[u]]._aFilterData[i]), c.test(a) && s.push(l[u]);
                                             t.aiDisplay = s;
                                        }
                                   }
                                   function wt(t, e, i, n, r, o) {
                                        var a,
                                             s,
                                             c,
                                             u = kt(e, n, r, o),
                                             h = t.oPreviousSearch.sSearch,
                                             d = t.aiDisplayMaster,
                                             p = [];
                                        if ((0 !== l.ext.search.length && (i = !0), (s = Ct(t)), e.length <= 0)) t.aiDisplay = d.slice();
                                        else {
                                             for ((s || i || n || h.length > e.length || 0 !== e.indexOf(h) || t.bSorted) && (t.aiDisplay = d.slice()), a = t.aiDisplay, c = 0; c < a.length; c++)
                                                  u.test(t.aoData[a[c]]._sFilterRow) && p.push(a[c]);
                                             t.aiDisplay = p;
                                        }
                                   }
                                   function kt(e, i, n, r) {
                                        if (((e = i ? e : St(e)), n)) {
                                             var o = t.map(e.match(/"[^"]+"|[^ ]+/g) || [""], function (t) {
                                                  if ('"' === t.charAt(0)) {
                                                       var e = t.match(/^"(.*)"$/);
                                                       t = e ? e[1] : t;
                                                  }
                                                  return t.replace('"', "");
                                             });
                                             e = "^(?=.*?" + o.join(")(?=.*?") + ").*$";
                                        }
                                        return new RegExp(e, r ? "i" : "");
                                   }
                                   var St = l.util.escapeRegex,
                                        Mt = t("<div>")[0],
                                        Tt = Mt.textContent !== n;
                                   function Ct(t) {
                                        var e,
                                             i,
                                             n,
                                             r,
                                             o,
                                             a,
                                             s,
                                             c,
                                             u = t.aoColumns,
                                             h = l.ext.type.search,
                                             d = !1;
                                        for (i = 0, r = t.aoData.length; i < r; i++)
                                             if (!(c = t.aoData[i])._aFilterData) {
                                                  for (a = [], n = 0, o = u.length; n < o; n++)
                                                       (e = u[n]).bSearchable ? ((s = q(t, i, n, "filter")), h[e.sType] && (s = h[e.sType](s)), null === s && (s = ""), "string" != typeof s && s.toString && (s = s.toString())) : (s = ""),
                                                            s.indexOf && -1 !== s.indexOf("&") && ((Mt.innerHTML = s), (s = Tt ? Mt.textContent : Mt.innerText)),
                                                            s.replace && (s = s.replace(/[\r\n\u2028]/g, "")),
                                                            a.push(s);
                                                  (c._aFilterData = a), (c._sFilterRow = a.join("  ")), (d = !0);
                                             }
                                        return d;
                                   }
                                   function Dt(t) {
                                        return { search: t.sSearch, smart: t.bSmart, regex: t.bRegex, caseInsensitive: t.bCaseInsensitive };
                                   }
                                   function Lt(t) {
                                        return { sSearch: t.search, bSmart: t.smart, bRegex: t.regex, bCaseInsensitive: t.caseInsensitive };
                                   }
                                   function Et(e) {
                                        var i = e.sTableId,
                                             n = e.aanFeatures.i,
                                             r = t("<div/>", { class: e.oClasses.sInfo, id: n ? null : i + "_info" });
                                        return n || (e.aoDrawCallback.push({ fn: At, sName: "information" }), r.attr("role", "status").attr("aria-live", "polite"), t(e.nTable).attr("aria-describedby", i + "_info")), r[0];
                                   }
                                   function At(e) {
                                        var i = e.aanFeatures.i;
                                        if (0 !== i.length) {
                                             var n = e.oLanguage,
                                                  r = e._iDisplayStart + 1,
                                                  o = e.fnDisplayEnd(),
                                                  a = e.fnRecordsTotal(),
                                                  s = e.fnRecordsDisplay(),
                                                  l = s ? n.sInfo : n.sInfoEmpty;
                                             s !== a && (l += " " + n.sInfoFiltered), (l = Pt(e, (l += n.sInfoPostFix)));
                                             var c = n.fnInfoCallback;
                                             null !== c && (l = c.call(e.oInstance, e, r, o, a, s, l)), t(i).html(l);
                                        }
                                   }
                                   function Pt(t, e) {
                                        var i = t.fnFormatNumber,
                                             n = t._iDisplayStart + 1,
                                             r = t._iDisplayLength,
                                             o = t.fnRecordsDisplay(),
                                             a = -1 === r;
                                        return e
                                             .replace(/_START_/g, i.call(t, n))
                                             .replace(/_END_/g, i.call(t, t.fnDisplayEnd()))
                                             .replace(/_MAX_/g, i.call(t, t.fnRecordsTotal()))
                                             .replace(/_TOTAL_/g, i.call(t, o))
                                             .replace(/_PAGE_/g, i.call(t, a ? 1 : Math.ceil(n / r)))
                                             .replace(/_PAGES_/g, i.call(t, a ? 1 : Math.ceil(o / r)));
                                   }
                                   function It(t) {
                                        var e,
                                             i,
                                             n,
                                             r = t.iInitDisplayStart,
                                             o = t.aoColumns,
                                             a = t.oFeatures,
                                             s = t.bDeferLoading;
                                        if (t.bInitialised) {
                                             for (ut(t), at(t), st(t, t.aoHeader), st(t, t.aoFooter), jt(t, !0), a.bAutoWidth && Ut(t), e = 0, i = o.length; e < i; e++) (n = o[e]).sWidth && (n.nTh.style.width = Zt(n.sWidth));
                                             de(t, null, "preInit", [t]), ct(t);
                                             var l = me(t);
                                             ("ssp" != l || s) &&
                                                  ("ajax" == l
                                                       ? pt(t, [], function (i) {
                                                              var n = vt(t, i);
                                                              for (e = 0; e < n.length; e++) W(t, n[e]);
                                                              (t.iInitDisplayStart = r), ct(t), jt(t, !1), Ot(t, i);
                                                         })
                                                       : (jt(t, !1), Ot(t)));
                                        } else
                                             setTimeout(function () {
                                                  It(t);
                                             }, 200);
                                   }
                                   function Ot(t, e) {
                                        (t._bInitComplete = !0), (e || t.oInit.aaData) && z(t), de(t, null, "plugin-init", [t, e]), de(t, "aoInitComplete", "init", [t, e]);
                                   }
                                   function Yt(t, e) {
                                        var i = parseInt(e, 10);
                                        (t._iDisplayLength = i), pe(t), de(t, null, "length", [t, i]);
                                   }
                                   function zt(e) {
                                        for (
                                             var i = e.oClasses,
                                                  n = e.sTableId,
                                                  r = e.aLengthMenu,
                                                  o = t.isArray(r[0]),
                                                  a = o ? r[0] : r,
                                                  s = o ? r[1] : r,
                                                  l = t("<select/>", { name: n + "_length", "aria-controls": n, class: i.sLengthSelect }),
                                                  c = 0,
                                                  u = a.length;
                                             c < u;
                                             c++
                                        )
                                             l[0][c] = new Option("number" == typeof s[c] ? e.fnFormatNumber(s[c]) : s[c], a[c]);
                                        var h = t("<div><label/></div>").addClass(i.sLength);
                                        return (
                                             e.aanFeatures.l || (h[0].id = n + "_length"),
                                             h.children().append(e.oLanguage.sLengthMenu.replace("_MENU_", l[0].outerHTML)),
                                             t("select", h)
                                                  .val(e._iDisplayLength)
                                                  .on("change.DT", function (i) {
                                                       Yt(e, t(this).val()), lt(e);
                                                  }),
                                             t(e.nTable).on("length.dt.DT", function (i, n, r) {
                                                  e === n && t("select", h).val(r);
                                             }),
                                             h[0]
                                        );
                                   }
                                   function Rt(e) {
                                        var i = e.sPaginationType,
                                             n = l.ext.pager[i],
                                             r = "function" == typeof n,
                                             o = function (t) {
                                                  lt(t);
                                             },
                                             a = t("<div/>").addClass(e.oClasses.sPaging + i)[0],
                                             s = e.aanFeatures;
                                        return (
                                             r || n.fnInit(e, a, o),
                                             s.p ||
                                                  ((a.id = e.sTableId + "_paginate"),
                                                  e.aoDrawCallback.push({
                                                       fn: function (t) {
                                                            if (r) {
                                                                 var e,
                                                                      i,
                                                                      a = t._iDisplayStart,
                                                                      l = t._iDisplayLength,
                                                                      c = t.fnRecordsDisplay(),
                                                                      u = -1 === l,
                                                                      h = u ? 0 : Math.ceil(a / l),
                                                                      d = u ? 1 : Math.ceil(c / l),
                                                                      p = n(h, d);
                                                                 for (e = 0, i = s.p.length; e < i; e++) fe(t, "pageButton")(t, s.p[e], e, p, h, d);
                                                            } else n.fnUpdate(t, o);
                                                       },
                                                       sName: "pagination",
                                                  })),
                                             a
                                        );
                                   }
                                   function Ft(t, e, i) {
                                        var n = t._iDisplayStart,
                                             r = t._iDisplayLength,
                                             o = t.fnRecordsDisplay();
                                        0 === o || -1 === r
                                             ? (n = 0)
                                             : "number" == typeof e
                                             ? (n = e * r) > o && (n = 0)
                                             : "first" == e
                                             ? (n = 0)
                                             : "previous" == e
                                             ? (n = r >= 0 ? n - r : 0) < 0 && (n = 0)
                                             : "next" == e
                                             ? n + r < o && (n += r)
                                             : "last" == e
                                             ? (n = Math.floor((o - 1) / r) * r)
                                             : se(t, 0, "Unknown paging action: " + e, 5);
                                        var a = t._iDisplayStart !== n;
                                        return (t._iDisplayStart = n), a && (de(t, null, "page", [t]), i && lt(t)), a;
                                   }
                                   function Ht(e) {
                                        return t("<div/>", { id: e.aanFeatures.r ? null : e.sTableId + "_processing", class: e.oClasses.sProcessing })
                                             .html(e.oLanguage.sProcessing)
                                             .insertBefore(e.nTable)[0];
                                   }
                                   function jt(e, i) {
                                        e.oFeatures.bProcessing && t(e.aanFeatures.r).css("display", i ? "block" : "none"), de(e, null, "processing", [e, i]);
                                   }
                                   function Nt(e) {
                                        var i = t(e.nTable);
                                        i.attr("role", "grid");
                                        var n = e.oScroll;
                                        if ("" === n.sX && "" === n.sY) return e.nTable;
                                        var r = n.sX,
                                             o = n.sY,
                                             a = e.oClasses,
                                             s = i.children("caption"),
                                             l = s.length ? s[0]._captionSide : null,
                                             c = t(i[0].cloneNode(!1)),
                                             u = t(i[0].cloneNode(!1)),
                                             h = i.children("tfoot"),
                                             d = "<div/>",
                                             p = function (t) {
                                                  return t ? Zt(t) : null;
                                             };
                                        h.length || (h = null);
                                        var f = t(d, { class: a.sScrollWrapper })
                                             .append(
                                                  t(d, { class: a.sScrollHead })
                                                       .css({ overflow: "hidden", position: "relative", border: 0, width: r ? p(r) : "100%" })
                                                       .append(
                                                            t(d, { class: a.sScrollHeadInner })
                                                                 .css({ "box-sizing": "content-box", width: n.sXInner || "100%" })
                                                                 .append(
                                                                      c
                                                                           .removeAttr("id")
                                                                           .css("margin-left", 0)
                                                                           .append("top" === l ? s : null)
                                                                           .append(i.children("thead"))
                                                                 )
                                                       )
                                             )
                                             .append(
                                                  t(d, { class: a.sScrollBody })
                                                       .css({ position: "relative", overflow: "auto", width: p(r) })
                                                       .append(i)
                                             );
                                        h &&
                                             f.append(
                                                  t(d, { class: a.sScrollFoot })
                                                       .css({ overflow: "hidden", border: 0, width: r ? p(r) : "100%" })
                                                       .append(
                                                            t(d, { class: a.sScrollFootInner }).append(
                                                                 u
                                                                      .removeAttr("id")
                                                                      .css("margin-left", 0)
                                                                      .append("bottom" === l ? s : null)
                                                                      .append(i.children("tfoot"))
                                                            )
                                                       )
                                             );
                                        var m = f.children(),
                                             g = m[0],
                                             v = m[1],
                                             y = h ? m[2] : null;
                                        return (
                                             r &&
                                                  t(v).on("scroll.DT", function (t) {
                                                       var e = this.scrollLeft;
                                                       (g.scrollLeft = e), h && (y.scrollLeft = e);
                                                  }),
                                             t(v).css("max-height", o),
                                             n.bCollapse || t(v).css("height", o),
                                             (e.nScrollHead = g),
                                             (e.nScrollBody = v),
                                             (e.nScrollFoot = y),
                                             e.aoDrawCallback.push({ fn: Bt, sName: "scrolling" }),
                                             f[0]
                                        );
                                   }
                                   function Bt(e) {
                                        var i,
                                             r,
                                             o,
                                             a,
                                             s,
                                             l,
                                             c,
                                             u,
                                             h,
                                             d = e.oScroll,
                                             p = d.sX,
                                             f = d.sXInner,
                                             m = d.sY,
                                             g = d.iBarWidth,
                                             v = t(e.nScrollHead),
                                             y = v[0].style,
                                             b = v.children("div"),
                                             x = b[0].style,
                                             w = b.children("table"),
                                             k = e.nScrollBody,
                                             S = t(k),
                                             M = k.style,
                                             T = t(e.nScrollFoot).children("div"),
                                             C = T.children("table"),
                                             D = t(e.nTHead),
                                             L = t(e.nTable),
                                             E = L[0],
                                             A = E.style,
                                             P = e.nTFoot ? t(e.nTFoot) : null,
                                             I = e.oBrowser,
                                             O = I.bScrollOversize,
                                             Y = _(e.aoColumns, "nTh"),
                                             F = [],
                                             H = [],
                                             j = [],
                                             N = [],
                                             B = function (t) {
                                                  var e = t.style;
                                                  (e.paddingTop = "0"), (e.paddingBottom = "0"), (e.borderTopWidth = "0"), (e.borderBottomWidth = "0"), (e.height = 0);
                                             },
                                             W = k.scrollHeight > k.clientHeight;
                                        if (e.scrollBarVis !== W && e.scrollBarVis !== n) return (e.scrollBarVis = W), void z(e);
                                        (e.scrollBarVis = W),
                                             L.children("thead, tfoot").remove(),
                                             P && ((l = P.clone().prependTo(L)), (r = P.find("tr")), (a = l.find("tr"))),
                                             (s = D.clone().prependTo(L)),
                                             (i = D.find("tr")),
                                             (o = s.find("tr")),
                                             s.find("th, td").removeAttr("tabindex"),
                                             p || ((M.width = "100%"), (v[0].style.width = "100%")),
                                             t.each(dt(e, s), function (t, i) {
                                                  (c = R(e, t)), (i.style.width = e.aoColumns[c].sWidth);
                                             }),
                                             P &&
                                                  Wt(function (t) {
                                                       t.style.width = "";
                                                  }, a),
                                             (h = L.outerWidth()),
                                             "" === p
                                                  ? ((A.width = "100%"), O && (L.find("tbody").height() > k.offsetHeight || "scroll" == S.css("overflow-y")) && (A.width = Zt(L.outerWidth() - g)), (h = L.outerWidth()))
                                                  : "" !== f && ((A.width = Zt(f)), (h = L.outerWidth())),
                                             Wt(B, o),
                                             Wt(function (e) {
                                                  j.push(e.innerHTML), F.push(Zt(t(e).css("width")));
                                             }, o),
                                             Wt(function (e, i) {
                                                  -1 !== t.inArray(e, Y) && (e.style.width = F[i]);
                                             }, i),
                                             t(o).height(0),
                                             P &&
                                                  (Wt(B, a),
                                                  Wt(function (e) {
                                                       N.push(e.innerHTML), H.push(Zt(t(e).css("width")));
                                                  }, a),
                                                  Wt(function (t, e) {
                                                       t.style.width = H[e];
                                                  }, r),
                                                  t(a).height(0)),
                                             Wt(function (t, e) {
                                                  (t.innerHTML = '<div class="dataTables_sizing">' + j[e] + "</div>"), (t.childNodes[0].style.height = "0"), (t.childNodes[0].style.overflow = "hidden"), (t.style.width = F[e]);
                                             }, o),
                                             P &&
                                                  Wt(function (t, e) {
                                                       (t.innerHTML = '<div class="dataTables_sizing">' + N[e] + "</div>"), (t.childNodes[0].style.height = "0"), (t.childNodes[0].style.overflow = "hidden"), (t.style.width = H[e]);
                                                  }, a),
                                             L.outerWidth() < h
                                                  ? ((u = k.scrollHeight > k.offsetHeight || "scroll" == S.css("overflow-y") ? h + g : h),
                                                    O && (k.scrollHeight > k.offsetHeight || "scroll" == S.css("overflow-y")) && (A.width = Zt(u - g)),
                                                    ("" !== p && "" === f) || se(e, 1, "Possible column misalignment", 6))
                                                  : (u = "100%"),
                                             (M.width = Zt(u)),
                                             (y.width = Zt(u)),
                                             P && (e.nScrollFoot.style.width = Zt(u)),
                                             m || (O && (M.height = Zt(E.offsetHeight + g)));
                                        var V = L.outerWidth();
                                        (w[0].style.width = Zt(V)), (x.width = Zt(V));
                                        var U = L.height() > k.clientHeight || "scroll" == S.css("overflow-y"),
                                             q = "padding" + (I.bScrollbarLeft ? "Left" : "Right");
                                        (x[q] = U ? g + "px" : "0px"),
                                             P && ((C[0].style.width = Zt(V)), (T[0].style.width = Zt(V)), (T[0].style[q] = U ? g + "px" : "0px")),
                                             L.children("colgroup").insertBefore(L.children("thead")),
                                             S.trigger("scroll"),
                                             (!e.bSorted && !e.bFiltered) || e._drawHold || (k.scrollTop = 0);
                                   }
                                   function Wt(t, e, i) {
                                        for (var n, r, o = 0, a = 0, s = e.length; a < s; ) {
                                             for (n = e[a].firstChild, r = i ? i[a].firstChild : null; n; ) 1 === n.nodeType && (i ? t(n, r, o) : t(n, o), o++), (n = n.nextSibling), (r = i ? r.nextSibling : null);
                                             a++;
                                        }
                                   }
                                   var Vt = /<.*?>/g;
                                   function Ut(i) {
                                        var n,
                                             r,
                                             o,
                                             a = i.nTable,
                                             s = i.aoColumns,
                                             l = i.oScroll,
                                             c = l.sY,
                                             u = l.sX,
                                             h = l.sXInner,
                                             d = s.length,
                                             p = j(i, "bVisible"),
                                             f = t("th", i.nTHead),
                                             m = a.getAttribute("width"),
                                             g = a.parentNode,
                                             v = !1,
                                             y = i.oBrowser,
                                             b = y.bScrollOversize,
                                             _ = a.style.width;
                                        for (_ && -1 !== _.indexOf("%") && (m = _), n = 0; n < p.length; n++) null !== (r = s[p[n]]).sWidth && ((r.sWidth = $t(r.sWidthOrig, g)), (v = !0));
                                        if (b || (!v && !u && !c && d == H(i) && d == f.length))
                                             for (n = 0; n < d; n++) {
                                                  var x = R(i, n);
                                                  null !== x && (s[x].sWidth = Zt(f.eq(n).width()));
                                             }
                                        else {
                                             var w = t(a).clone().css("visibility", "hidden").removeAttr("id");
                                             w.find("tbody tr").remove();
                                             var k = t("<tr/>").appendTo(w.find("tbody"));
                                             for (
                                                  w.find("thead, tfoot").remove(), w.append(t(i.nTHead).clone()).append(t(i.nTFoot).clone()), w.find("tfoot th, tfoot td").css("width", ""), f = dt(i, w.find("thead")[0]), n = 0;
                                                  n < p.length;
                                                  n++
                                             )
                                                  (r = s[p[n]]),
                                                       (f[n].style.width = null !== r.sWidthOrig && "" !== r.sWidthOrig ? Zt(r.sWidthOrig) : ""),
                                                       r.sWidthOrig && u && t(f[n]).append(t("<div/>").css({ width: r.sWidthOrig, margin: 0, padding: 0, border: 0, height: 1 }));
                                             if (i.aoData.length) for (n = 0; n < p.length; n++) (r = s[(o = p[n])]), t(Xt(i, o)).clone(!1).append(r.sContentPadding).appendTo(k);
                                             t("[name]", w).removeAttr("name");
                                             var S = t("<div/>")
                                                  .css(u || c ? { position: "absolute", top: 0, left: 0, height: 1, right: 0, overflow: "hidden" } : {})
                                                  .append(w)
                                                  .appendTo(g);
                                             u && h ? w.width(h) : u ? (w.css("width", "auto"), w.removeAttr("width"), w.width() < g.clientWidth && m && w.width(g.clientWidth)) : c ? w.width(g.clientWidth) : m && w.width(m);
                                             var M = 0;
                                             for (n = 0; n < p.length; n++) {
                                                  var T = t(f[n]),
                                                       C = T.outerWidth() - T.width(),
                                                       D = y.bBounding ? Math.ceil(f[n].getBoundingClientRect().width) : T.outerWidth();
                                                  (M += D), (s[p[n]].sWidth = Zt(D - C));
                                             }
                                             (a.style.width = Zt(M)), S.remove();
                                        }
                                        if ((m && (a.style.width = Zt(m)), (m || u) && !i._reszEvt)) {
                                             var L = function () {
                                                  t(e).on(
                                                       "resize.DT-" + i.sInstance,
                                                       qt(function () {
                                                            z(i);
                                                       })
                                                  );
                                             };
                                             b ? setTimeout(L, 1e3) : L(), (i._reszEvt = !0);
                                        }
                                   }
                                   var qt = l.util.throttle;
                                   function $t(e, n) {
                                        if (!e) return 0;
                                        var r = t("<div/>")
                                                  .css("width", Zt(e))
                                                  .appendTo(n || i.body),
                                             o = r[0].offsetWidth;
                                        return r.remove(), o;
                                   }
                                   function Xt(e, i) {
                                        var n = Gt(e, i);
                                        if (n < 0) return null;
                                        var r = e.aoData[n];
                                        return r.nTr ? r.anCells[i] : t("<td/>").html(q(e, n, i, "display"))[0];
                                   }
                                   function Gt(t, e) {
                                        for (var i, n = -1, r = -1, o = 0, a = t.aoData.length; o < a; o++) (i = (i = (i = q(t, o, e, "display") + "").replace(Vt, "")).replace(/&nbsp;/g, " ")).length > n && ((n = i.length), (r = o));
                                        return r;
                                   }
                                   function Zt(t) {
                                        return null === t ? "0px" : "number" == typeof t ? (t < 0 ? "0px" : t + "px") : t.match(/\d$/) ? t + "px" : t;
                                   }
                                   function Jt(e) {
                                        var i,
                                             r,
                                             o,
                                             a,
                                             s,
                                             c,
                                             u,
                                             h = [],
                                             d = e.aoColumns,
                                             p = e.aaSortingFixed,
                                             f = t.isPlainObject(p),
                                             m = [],
                                             g = function (e) {
                                                  e.length && !t.isArray(e[0]) ? m.push(e) : t.merge(m, e);
                                             };
                                        for (t.isArray(p) && g(p), f && p.pre && g(p.pre), g(e.aaSorting), f && p.post && g(p.post), i = 0; i < m.length; i++)
                                             for (r = 0, o = (a = d[(u = m[i][0])].aDataSort).length; r < o; r++)
                                                  (c = d[(s = a[r])].sType || "string"),
                                                       m[i]._idx === n && (m[i]._idx = t.inArray(m[i][1], d[s].asSorting)),
                                                       h.push({ src: u, col: s, dir: m[i][1], index: m[i]._idx, type: c, formatter: l.ext.type.order[c + "-pre"] });
                                        return h;
                                   }
                                   function Kt(t) {
                                        var e,
                                             i,
                                             n,
                                             r,
                                             o,
                                             a = [],
                                             s = l.ext.type.order,
                                             c = t.aoData,
                                             u = (t.aoColumns, 0),
                                             h = t.aiDisplayMaster;
                                        for (N(t), e = 0, i = (o = Jt(t)).length; e < i; e++) (r = o[e]).formatter && u++, ne(t, r.col);
                                        if ("ssp" != me(t) && 0 !== o.length) {
                                             for (e = 0, n = h.length; e < n; e++) a[h[e]] = e;
                                             u === o.length
                                                  ? h.sort(function (t, e) {
                                                         var i,
                                                              n,
                                                              r,
                                                              s,
                                                              l,
                                                              u = o.length,
                                                              h = c[t]._aSortData,
                                                              d = c[e]._aSortData;
                                                         for (r = 0; r < u; r++) if (0 !== (s = (i = h[(l = o[r]).col]) < (n = d[l.col]) ? -1 : i > n ? 1 : 0)) return "asc" === l.dir ? s : -s;
                                                         return (i = a[t]) < (n = a[e]) ? -1 : i > n ? 1 : 0;
                                                    })
                                                  : h.sort(function (t, e) {
                                                         var i,
                                                              n,
                                                              r,
                                                              l,
                                                              u,
                                                              h = o.length,
                                                              d = c[t]._aSortData,
                                                              p = c[e]._aSortData;
                                                         for (r = 0; r < h; r++) if (((i = d[(u = o[r]).col]), (n = p[u.col]), 0 !== (l = (s[u.type + "-" + u.dir] || s["string-" + u.dir])(i, n)))) return l;
                                                         return (i = a[t]) < (n = a[e]) ? -1 : i > n ? 1 : 0;
                                                    });
                                        }
                                        t.bSorted = !0;
                                   }
                                   function Qt(t) {
                                        for (var e, i, n = t.aoColumns, r = Jt(t), o = t.oLanguage.oAria, a = 0, s = n.length; a < s; a++) {
                                             var l = n[a],
                                                  c = l.asSorting,
                                                  u = l.sTitle.replace(/<.*?>/g, ""),
                                                  h = l.nTh;
                                             h.removeAttribute("aria-sort"),
                                                  l.bSortable
                                                       ? (r.length > 0 && r[0].col == a ? (h.setAttribute("aria-sort", "asc" == r[0].dir ? "ascending" : "descending"), (i = c[r[0].index + 1] || c[0])) : (i = c[0]),
                                                         (e = u + ("asc" === i ? o.sSortAscending : o.sSortDescending)))
                                                       : (e = u),
                                                  h.setAttribute("aria-label", e);
                                        }
                                   }
                                   function te(e, i, r, o) {
                                        var a,
                                             s = e.aoColumns[i],
                                             l = e.aaSorting,
                                             c = s.asSorting,
                                             u = function (e, i) {
                                                  var r = e._idx;
                                                  return r === n && (r = t.inArray(e[1], c)), r + 1 < c.length ? r + 1 : i ? null : 0;
                                             };
                                        if (("number" == typeof l[0] && (l = e.aaSorting = [l]), r && e.oFeatures.bSortMulti)) {
                                             var h = t.inArray(i, _(l, "0"));
                                             -1 !== h ? (null === (a = u(l[h], !0)) && 1 === l.length && (a = 0), null === a ? l.splice(h, 1) : ((l[h][1] = c[a]), (l[h]._idx = a))) : (l.push([i, c[0], 0]), (l[l.length - 1]._idx = 0));
                                        } else l.length && l[0][0] == i ? ((a = u(l[0])), (l.length = 1), (l[0][1] = c[a]), (l[0]._idx = a)) : ((l.length = 0), l.push([i, c[0]]), (l[0]._idx = 0));
                                        ct(e), "function" == typeof o && o(e);
                                   }
                                   function ee(t, e, i, n) {
                                        var r = t.aoColumns[i];
                                        ue(e, {}, function (e) {
                                             !1 !== r.bSortable &&
                                                  (t.oFeatures.bProcessing
                                                       ? (jt(t, !0),
                                                         setTimeout(function () {
                                                              te(t, i, e.shiftKey, n), "ssp" !== me(t) && jt(t, !1);
                                                         }, 0))
                                                       : te(t, i, e.shiftKey, n));
                                        });
                                   }
                                   function ie(e) {
                                        var i,
                                             n,
                                             r,
                                             o = e.aLastSort,
                                             a = e.oClasses.sSortColumn,
                                             s = Jt(e),
                                             l = e.oFeatures;
                                        if (l.bSort && l.bSortClasses) {
                                             for (i = 0, n = o.length; i < n; i++) (r = o[i].src), t(_(e.aoData, "anCells", r)).removeClass(a + (i < 2 ? i + 1 : 3));
                                             for (i = 0, n = s.length; i < n; i++) (r = s[i].src), t(_(e.aoData, "anCells", r)).addClass(a + (i < 2 ? i + 1 : 3));
                                        }
                                        e.aLastSort = s;
                                   }
                                   function ne(t, e) {
                                        var i,
                                             n,
                                             r,
                                             o = t.aoColumns[e],
                                             a = l.ext.order[o.sSortDataType];
                                        a && (i = a.call(t.oInstance, t, e, F(t, e)));
                                        for (var s = l.ext.type.order[o.sType + "-pre"], c = 0, u = t.aoData.length; c < u; c++)
                                             (n = t.aoData[c])._aSortData || (n._aSortData = []), (n._aSortData[e] && !a) || ((r = a ? i[c] : q(t, c, e, "sort")), (n._aSortData[e] = s ? s(r) : r));
                                   }
                                   function re(e) {
                                        if (e.oFeatures.bStateSave && !e.bDestroying) {
                                             var i = {
                                                  time: +new Date(),
                                                  start: e._iDisplayStart,
                                                  length: e._iDisplayLength,
                                                  order: t.extend(!0, [], e.aaSorting),
                                                  search: Dt(e.oPreviousSearch),
                                                  columns: t.map(e.aoColumns, function (t, i) {
                                                       return { visible: t.bVisible, search: Dt(e.aoPreSearchCols[i]) };
                                                  }),
                                             };
                                             de(e, "aoStateSaveParams", "stateSaveParams", [e, i]), (e.oSavedState = i), e.fnStateSaveCallback.call(e.oInstance, e, i);
                                        }
                                   }
                                   function oe(e, i, r) {
                                        var o,
                                             a,
                                             s = e.aoColumns,
                                             l = function (i) {
                                                  if (i && i.time) {
                                                       var l = de(e, "aoStateLoadParams", "stateLoadParams", [e, i]);
                                                       if (-1 === t.inArray(!1, l)) {
                                                            var c = e.iStateDuration;
                                                            if (c > 0 && i.time < +new Date() - 1e3 * c) r();
                                                            else if (i.columns && s.length !== i.columns.length) r();
                                                            else {
                                                                 if (
                                                                      ((e.oLoadedState = t.extend(!0, {}, i)),
                                                                      i.start !== n && ((e._iDisplayStart = i.start), (e.iInitDisplayStart = i.start)),
                                                                      i.length !== n && (e._iDisplayLength = i.length),
                                                                      i.order !== n &&
                                                                           ((e.aaSorting = []),
                                                                           t.each(i.order, function (t, i) {
                                                                                e.aaSorting.push(i[0] >= s.length ? [0, i[1]] : i);
                                                                           })),
                                                                      i.search !== n && t.extend(e.oPreviousSearch, Lt(i.search)),
                                                                      i.columns)
                                                                 )
                                                                      for (o = 0, a = i.columns.length; o < a; o++) {
                                                                           var u = i.columns[o];
                                                                           u.visible !== n && (s[o].bVisible = u.visible), u.search !== n && t.extend(e.aoPreSearchCols[o], Lt(u.search));
                                                                      }
                                                                 de(e, "aoStateLoaded", "stateLoaded", [e, i]), r();
                                                            }
                                                       } else r();
                                                  } else r();
                                             };
                                        if (e.oFeatures.bStateSave) {
                                             var c = e.fnStateLoadCallback.call(e.oInstance, e, l);
                                             c !== n && l(c);
                                        } else r();
                                   }
                                   function ae(e) {
                                        var i = l.settings,
                                             n = t.inArray(e, _(i, "nTable"));
                                        return -1 !== n ? i[n] : null;
                                   }
                                   function se(t, i, n, r) {
                                        if (((n = "DataTables warning: " + (t ? "table id=" + t.sTableId + " - " : "") + n), r && (n += ". For more information about this error, please see http://datatables.net/tn/" + r), i))
                                             e.console && console.log && console.log(n);
                                        else {
                                             var o = l.ext,
                                                  a = o.sErrMode || o.errMode;
                                             if ((t && de(t, null, "error", [t, r, n]), "alert" == a)) alert(n);
                                             else {
                                                  if ("throw" == a) throw new Error(n);
                                                  "function" == typeof a && a(t, r, n);
                                             }
                                        }
                                   }
                                   function le(e, i, r, o) {
                                        t.isArray(r)
                                             ? t.each(r, function (n, r) {
                                                    t.isArray(r) ? le(e, i, r[0], r[1]) : le(e, i, r);
                                               })
                                             : (o === n && (o = r), i[r] !== n && (e[o] = i[r]));
                                   }
                                   function ce(e, i, n) {
                                        var r;
                                        for (var o in i)
                                             i.hasOwnProperty(o) &&
                                                  ((r = i[o]), t.isPlainObject(r) ? (t.isPlainObject(e[o]) || (e[o] = {}), t.extend(!0, e[o], r)) : n && "data" !== o && "aaData" !== o && t.isArray(r) ? (e[o] = r.slice()) : (e[o] = r));
                                        return e;
                                   }
                                   function ue(e, i, n) {
                                        t(e)
                                             .on("click.DT", i, function (i) {
                                                  t(e).trigger("blur"), n(i);
                                             })
                                             .on("keypress.DT", i, function (t) {
                                                  13 === t.which && (t.preventDefault(), n(t));
                                             })
                                             .on("selectstart.DT", function () {
                                                  return !1;
                                             });
                                   }
                                   function he(t, e, i, n) {
                                        i && t[e].push({ fn: i, sName: n });
                                   }
                                   function de(e, i, n, r) {
                                        var o = [];
                                        if (
                                             (i &&
                                                  (o = t.map(e[i].slice().reverse(), function (t, i) {
                                                       return t.fn.apply(e.oInstance, r);
                                                  })),
                                             null !== n)
                                        ) {
                                             var a = t.Event(n + ".dt");
                                             t(e.nTable).trigger(a, r), o.push(a.result);
                                        }
                                        return o;
                                   }
                                   function pe(t) {
                                        var e = t._iDisplayStart,
                                             i = t.fnDisplayEnd(),
                                             n = t._iDisplayLength;
                                        e >= i && (e = i - n), (e -= e % n), (-1 === n || e < 0) && (e = 0), (t._iDisplayStart = e);
                                   }
                                   function fe(e, i) {
                                        var n = e.renderer,
                                             r = l.ext.renderer[i];
                                        return t.isPlainObject(n) && n[i] ? r[n[i]] || r._ : ("string" == typeof n && r[n]) || r._;
                                   }
                                   function me(t) {
                                        return t.oFeatures.bServerSide ? "ssp" : t.ajax || t.sAjaxSource ? "ajax" : "dom";
                                   }
                                   var ge = [],
                                        ve = Array.prototype;
                                   (o = function (e, i) {
                                        if (!(this instanceof o)) return new o(e, i);
                                        var n = [],
                                             r = function (e) {
                                                  var i = (function (e) {
                                                       var i,
                                                            n,
                                                            r = l.settings,
                                                            o = t.map(r, function (t, e) {
                                                                 return t.nTable;
                                                            });
                                                       return e
                                                            ? e.nTable && e.oApi
                                                                 ? [e]
                                                                 : e.nodeName && "table" === e.nodeName.toLowerCase()
                                                                 ? -1 !== (i = t.inArray(e, o))
                                                                      ? [r[i]]
                                                                      : null
                                                                 : e && "function" == typeof e.settings
                                                                 ? e.settings().toArray()
                                                                 : ("string" == typeof e ? (n = t(e)) : e instanceof t && (n = e),
                                                                   n
                                                                        ? n
                                                                               .map(function (e) {
                                                                                    return -1 !== (i = t.inArray(this, o)) ? r[i] : null;
                                                                               })
                                                                               .toArray()
                                                                        : void 0)
                                                            : [];
                                                  })(e);
                                                  i && n.push.apply(n, i);
                                             };
                                        if (t.isArray(e)) for (var a = 0, s = e.length; a < s; a++) r(e[a]);
                                        else r(e);
                                        (this.context = M(n)), i && t.merge(this, i), (this.selector = { rows: null, cols: null, opts: null }), o.extend(this, this, ge);
                                   }),
                                        (l.Api = o),
                                        t.extend(o.prototype, {
                                             any: function () {
                                                  return 0 !== this.count();
                                             },
                                             concat: ve.concat,
                                             context: [],
                                             count: function () {
                                                  return this.flatten().length;
                                             },
                                             each: function (t) {
                                                  for (var e = 0, i = this.length; e < i; e++) t.call(this, this[e], e, this);
                                                  return this;
                                             },
                                             eq: function (t) {
                                                  var e = this.context;
                                                  return e.length > t ? new o(e[t], this[t]) : null;
                                             },
                                             filter: function (t) {
                                                  var e = [];
                                                  if (ve.filter) e = ve.filter.call(this, t, this);
                                                  else for (var i = 0, n = this.length; i < n; i++) t.call(this, this[i], i, this) && e.push(this[i]);
                                                  return new o(this.context, e);
                                             },
                                             flatten: function () {
                                                  var t = [];
                                                  return new o(this.context, t.concat.apply(t, this.toArray()));
                                             },
                                             join: ve.join,
                                             indexOf:
                                                  ve.indexOf ||
                                                  function (t, e) {
                                                       for (var i = e || 0, n = this.length; i < n; i++) if (this[i] === t) return i;
                                                       return -1;
                                                  },
                                             iterator: function (t, e, i, r) {
                                                  var a,
                                                       s,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       d,
                                                       p,
                                                       f = [],
                                                       m = this.context,
                                                       g = this.selector;
                                                  for ("string" == typeof t && ((r = i), (i = e), (e = t), (t = !1)), s = 0, l = m.length; s < l; s++) {
                                                       var v = new o(m[s]);
                                                       if ("table" === e) (a = i.call(v, m[s], s)) !== n && f.push(a);
                                                       else if ("columns" === e || "rows" === e) (a = i.call(v, m[s], this[s], s)) !== n && f.push(a);
                                                       else if ("column" === e || "column-rows" === e || "row" === e || "cell" === e)
                                                            for (d = this[s], "column-rows" === e && (h = ke(m[s], g.opts)), c = 0, u = d.length; c < u; c++)
                                                                 (p = d[c]), (a = "cell" === e ? i.call(v, m[s], p.row, p.column, s, c) : i.call(v, m[s], p, s, c, h)) !== n && f.push(a);
                                                  }
                                                  if (f.length || r) {
                                                       var y = new o(m, t ? f.concat.apply([], f) : f),
                                                            b = y.selector;
                                                       return (b.rows = g.rows), (b.cols = g.cols), (b.opts = g.opts), y;
                                                  }
                                                  return this;
                                             },
                                             lastIndexOf:
                                                  ve.lastIndexOf ||
                                                  function (t, e) {
                                                       return this.indexOf.apply(this.toArray.reverse(), arguments);
                                                  },
                                             length: 0,
                                             map: function (t) {
                                                  var e = [];
                                                  if (ve.map) e = ve.map.call(this, t, this);
                                                  else for (var i = 0, n = this.length; i < n; i++) e.push(t.call(this, this[i], i));
                                                  return new o(this.context, e);
                                             },
                                             pluck: function (t) {
                                                  return this.map(function (e) {
                                                       return e[t];
                                                  });
                                             },
                                             pop: ve.pop,
                                             push: ve.push,
                                             reduce:
                                                  ve.reduce ||
                                                  function (t, e) {
                                                       return I(this, t, e, 0, this.length, 1);
                                                  },
                                             reduceRight:
                                                  ve.reduceRight ||
                                                  function (t, e) {
                                                       return I(this, t, e, this.length - 1, -1, -1);
                                                  },
                                             reverse: ve.reverse,
                                             selector: null,
                                             shift: ve.shift,
                                             slice: function () {
                                                  return new o(this.context, this);
                                             },
                                             sort: ve.sort,
                                             splice: ve.splice,
                                             toArray: function () {
                                                  return ve.slice.call(this);
                                             },
                                             to$: function () {
                                                  return t(this);
                                             },
                                             toJQuery: function () {
                                                  return t(this);
                                             },
                                             unique: function () {
                                                  return new o(this.context, M(this));
                                             },
                                             unshift: ve.unshift,
                                        }),
                                        (o.extend = function (t, e, i) {
                                             if (i.length && e && (e instanceof o || e.__dt_wrapper)) {
                                                  var n,
                                                       r,
                                                       a,
                                                       s = function (t, e, i) {
                                                            return function () {
                                                                 var n = e.apply(t, arguments);
                                                                 return o.extend(n, n, i.methodExt), n;
                                                            };
                                                       };
                                                  for (n = 0, r = i.length; n < r; n++)
                                                       (e[(a = i[n]).name] = "function" === a.type ? s(t, a.val, a) : "object" === a.type ? {} : a.val), (e[a.name].__dt_wrapper = !0), o.extend(t, e[a.name], a.propExt);
                                             }
                                        }),
                                        (o.register = a = function (e, i) {
                                             if (t.isArray(e)) for (var n = 0, r = e.length; n < r; n++) o.register(e[n], i);
                                             else {
                                                  var a,
                                                       s,
                                                       l,
                                                       c,
                                                       u = e.split("."),
                                                       h = ge,
                                                       d = function (t, e) {
                                                            for (var i = 0, n = t.length; i < n; i++) if (t[i].name === e) return t[i];
                                                            return null;
                                                       };
                                                  for (a = 0, s = u.length; a < s; a++) {
                                                       var p = d(h, (l = (c = -1 !== u[a].indexOf("()")) ? u[a].replace("()", "") : u[a]));
                                                       p || ((p = { name: l, val: {}, methodExt: [], propExt: [], type: "object" }), h.push(p)),
                                                            a === s - 1 ? ((p.val = i), (p.type = "function" == typeof i ? "function" : t.isPlainObject(i) ? "object" : "other")) : (h = c ? p.methodExt : p.propExt);
                                                  }
                                             }
                                        }),
                                        (o.registerPlural = s = function (e, i, r) {
                                             o.register(e, r),
                                                  o.register(i, function () {
                                                       var e = r.apply(this, arguments);
                                                       return e === this ? this : e instanceof o ? (e.length ? (t.isArray(e[0]) ? new o(e.context, e[0]) : e[0]) : n) : e;
                                                  });
                                        });
                                   var ye = function (e, i) {
                                        if (t.isArray(e))
                                             return t.map(e, function (t) {
                                                  return ye(t, i);
                                             });
                                        if ("number" == typeof e) return [i[e]];
                                        var n = t.map(i, function (t, e) {
                                             return t.nTable;
                                        });
                                        return t(n)
                                             .filter(e)
                                             .map(function (e) {
                                                  var r = t.inArray(this, n);
                                                  return i[r];
                                             })
                                             .toArray();
                                   };
                                   a("tables()", function (t) {
                                        return t !== n && null !== t ? new o(ye(t, this.context)) : this;
                                   }),
                                        a("table()", function (t) {
                                             var e = this.tables(t),
                                                  i = e.context;
                                             return i.length ? new o(i[0]) : e;
                                        }),
                                        s("tables().nodes()", "table().node()", function () {
                                             return this.iterator(
                                                  "table",
                                                  function (t) {
                                                       return t.nTable;
                                                  },
                                                  1
                                             );
                                        }),
                                        s("tables().body()", "table().body()", function () {
                                             return this.iterator(
                                                  "table",
                                                  function (t) {
                                                       return t.nTBody;
                                                  },
                                                  1
                                             );
                                        }),
                                        s("tables().header()", "table().header()", function () {
                                             return this.iterator(
                                                  "table",
                                                  function (t) {
                                                       return t.nTHead;
                                                  },
                                                  1
                                             );
                                        }),
                                        s("tables().footer()", "table().footer()", function () {
                                             return this.iterator(
                                                  "table",
                                                  function (t) {
                                                       return t.nTFoot;
                                                  },
                                                  1
                                             );
                                        }),
                                        s("tables().containers()", "table().container()", function () {
                                             return this.iterator(
                                                  "table",
                                                  function (t) {
                                                       return t.nTableWrapper;
                                                  },
                                                  1
                                             );
                                        }),
                                        a("draw()", function (t) {
                                             return this.iterator("table", function (e) {
                                                  "page" === t ? lt(e) : ("string" == typeof t && (t = "full-hold" !== t), ct(e, !1 === t));
                                             });
                                        }),
                                        a("page()", function (t) {
                                             return t === n
                                                  ? this.page.info().page
                                                  : this.iterator("table", function (e) {
                                                         Ft(e, t);
                                                    });
                                        }),
                                        a("page.info()", function (t) {
                                             if (0 === this.context.length) return n;
                                             var e = this.context[0],
                                                  i = e._iDisplayStart,
                                                  r = e.oFeatures.bPaginate ? e._iDisplayLength : -1,
                                                  o = e.fnRecordsDisplay(),
                                                  a = -1 === r;
                                             return {
                                                  page: a ? 0 : Math.floor(i / r),
                                                  pages: a ? 1 : Math.ceil(o / r),
                                                  start: i,
                                                  end: e.fnDisplayEnd(),
                                                  length: r,
                                                  recordsTotal: e.fnRecordsTotal(),
                                                  recordsDisplay: o,
                                                  serverSide: "ssp" === me(e),
                                             };
                                        }),
                                        a("page.len()", function (t) {
                                             return t === n
                                                  ? 0 !== this.context.length
                                                       ? this.context[0]._iDisplayLength
                                                       : n
                                                  : this.iterator("table", function (e) {
                                                         Yt(e, t);
                                                    });
                                        });
                                   var be = function (t, e, i) {
                                        if (i) {
                                             var n = new o(t);
                                             n.one("draw", function () {
                                                  i(n.ajax.json());
                                             });
                                        }
                                        if ("ssp" == me(t)) ct(t, e);
                                        else {
                                             jt(t, !0);
                                             var r = t.jqXHR;
                                             r && 4 !== r.readyState && r.abort(),
                                                  pt(t, [], function (i) {
                                                       tt(t);
                                                       for (var n = vt(t, i), r = 0, o = n.length; r < o; r++) W(t, n[r]);
                                                       ct(t, e), jt(t, !1);
                                                  });
                                        }
                                   };
                                   a("ajax.json()", function () {
                                        var t = this.context;
                                        if (t.length > 0) return t[0].json;
                                   }),
                                        a("ajax.params()", function () {
                                             var t = this.context;
                                             if (t.length > 0) return t[0].oAjaxData;
                                        }),
                                        a("ajax.reload()", function (t, e) {
                                             return this.iterator("table", function (i) {
                                                  be(i, !1 === e, t);
                                             });
                                        }),
                                        a("ajax.url()", function (e) {
                                             var i = this.context;
                                             return e === n
                                                  ? 0 === i.length
                                                       ? n
                                                       : (i = i[0]).ajax
                                                       ? t.isPlainObject(i.ajax)
                                                            ? i.ajax.url
                                                            : i.ajax
                                                       : i.sAjaxSource
                                                  : this.iterator("table", function (i) {
                                                         t.isPlainObject(i.ajax) ? (i.ajax.url = e) : (i.ajax = e);
                                                    });
                                        }),
                                        a("ajax.url().load()", function (t, e) {
                                             return this.iterator("table", function (i) {
                                                  be(i, !1 === e, t);
                                             });
                                        });
                                   var _e = function (e, i, o, a, s) {
                                             var l,
                                                  c,
                                                  u,
                                                  h,
                                                  d,
                                                  p,
                                                  f = [],
                                                  m = typeof i;
                                             for ((i && "string" !== m && "function" !== m && i.length !== n) || (i = [i]), u = 0, h = i.length; u < h; u++)
                                                  for (d = 0, p = (c = i[u] && i[u].split && !i[u].match(/[\[\(:]/) ? i[u].split(",") : [i[u]]).length; d < p; d++)
                                                       (l = o("string" == typeof c[d] ? t.trim(c[d]) : c[d])) && l.length && (f = f.concat(l));
                                             var g = r.selector[e];
                                             if (g.length) for (u = 0, h = g.length; u < h; u++) f = g[u](a, s, f);
                                             return M(f);
                                        },
                                        xe = function (e) {
                                             return e || (e = {}), e.filter && e.search === n && (e.search = e.filter), t.extend({ search: "none", order: "current", page: "all" }, e);
                                        },
                                        we = function (t) {
                                             for (var e = 0, i = t.length; e < i; e++) if (t[e].length > 0) return (t[0] = t[e]), (t[0].length = 1), (t.length = 1), (t.context = [t.context[e]]), t;
                                             return (t.length = 0), t;
                                        },
                                        ke = function (e, i) {
                                             var n,
                                                  r = [],
                                                  o = e.aiDisplay,
                                                  a = e.aiDisplayMaster,
                                                  s = i.search,
                                                  l = i.order,
                                                  c = i.page;
                                             if ("ssp" == me(e)) return "removed" === s ? [] : w(0, a.length);
                                             if ("current" == c) for (h = e._iDisplayStart, d = e.fnDisplayEnd(); h < d; h++) r.push(o[h]);
                                             else if ("current" == l || "applied" == l) {
                                                  if ("none" == s) r = a.slice();
                                                  else if ("applied" == s) r = o.slice();
                                                  else if ("removed" == s) {
                                                       for (var u = {}, h = 0, d = o.length; h < d; h++) u[o[h]] = null;
                                                       r = t.map(a, function (t) {
                                                            return u.hasOwnProperty(t) ? null : t;
                                                       });
                                                  }
                                             } else if ("index" == l || "original" == l)
                                                  for (h = 0, d = e.aoData.length; h < d; h++) ("none" == s || (-1 === (n = t.inArray(h, o)) && "removed" == s) || (n >= 0 && "applied" == s)) && r.push(h);
                                             return r;
                                        };
                                   a("rows()", function (e, i) {
                                        e === n ? (e = "") : t.isPlainObject(e) && ((i = e), (e = "")), (i = xe(i));
                                        var r = this.iterator(
                                             "table",
                                             function (r) {
                                                  return (function (e, i, r) {
                                                       var o;
                                                       return _e(
                                                            "row",
                                                            i,
                                                            function (i) {
                                                                 var a = g(i),
                                                                      s = e.aoData;
                                                                 if (null !== a && !r) return [a];
                                                                 if ((o || (o = ke(e, r)), null !== a && -1 !== t.inArray(a, o))) return [a];
                                                                 if (null === i || i === n || "" === i) return o;
                                                                 if ("function" == typeof i)
                                                                      return t.map(o, function (t) {
                                                                           var e = s[t];
                                                                           return i(t, e._aData, e.nTr) ? t : null;
                                                                      });
                                                                 if (i.nodeName) {
                                                                      var l = i._DT_RowIndex,
                                                                           c = i._DT_CellIndex;
                                                                      if (l !== n) return s[l] && s[l].nTr === i ? [l] : [];
                                                                      if (c) return s[c.row] && s[c.row].nTr === i.parentNode ? [c.row] : [];
                                                                      var u = t(i).closest("*[data-dt-row]");
                                                                      return u.length ? [u.data("dt-row")] : [];
                                                                 }
                                                                 if ("string" == typeof i && "#" === i.charAt(0)) {
                                                                      var h = e.aIds[i.replace(/^#/, "")];
                                                                      if (h !== n) return [h.idx];
                                                                 }
                                                                 var d = k(x(e.aoData, o, "nTr"));
                                                                 return t(d)
                                                                      .filter(i)
                                                                      .map(function () {
                                                                           return this._DT_RowIndex;
                                                                      })
                                                                      .toArray();
                                                            },
                                                            e,
                                                            r
                                                       );
                                                  })(r, e, i);
                                             },
                                             1
                                        );
                                        return (r.selector.rows = e), (r.selector.opts = i), r;
                                   }),
                                        a("rows().nodes()", function () {
                                             return this.iterator(
                                                  "row",
                                                  function (t, e) {
                                                       return t.aoData[e].nTr || n;
                                                  },
                                                  1
                                             );
                                        }),
                                        a("rows().data()", function () {
                                             return this.iterator(
                                                  !0,
                                                  "rows",
                                                  function (t, e) {
                                                       return x(t.aoData, e, "_aData");
                                                  },
                                                  1
                                             );
                                        }),
                                        s("rows().cache()", "row().cache()", function (t) {
                                             return this.iterator(
                                                  "row",
                                                  function (e, i) {
                                                       var n = e.aoData[i];
                                                       return "search" === t ? n._aFilterData : n._aSortData;
                                                  },
                                                  1
                                             );
                                        }),
                                        s("rows().invalidate()", "row().invalidate()", function (t) {
                                             return this.iterator("row", function (e, i) {
                                                  it(e, i, t);
                                             });
                                        }),
                                        s("rows().indexes()", "row().index()", function () {
                                             return this.iterator(
                                                  "row",
                                                  function (t, e) {
                                                       return e;
                                                  },
                                                  1
                                             );
                                        }),
                                        s("rows().ids()", "row().id()", function (t) {
                                             for (var e = [], i = this.context, n = 0, r = i.length; n < r; n++)
                                                  for (var a = 0, s = this[n].length; a < s; a++) {
                                                       var l = i[n].rowIdFn(i[n].aoData[this[n][a]]._aData);
                                                       e.push((!0 === t ? "#" : "") + l);
                                                  }
                                             return new o(i, e);
                                        }),
                                        s("rows().remove()", "row().remove()", function () {
                                             var t = this;
                                             return (
                                                  this.iterator("row", function (e, i, r) {
                                                       var o,
                                                            a,
                                                            s,
                                                            l,
                                                            c,
                                                            u,
                                                            h = e.aoData,
                                                            d = h[i];
                                                       for (h.splice(i, 1), o = 0, a = h.length; o < a; o++)
                                                            if (((u = (c = h[o]).anCells), null !== c.nTr && (c.nTr._DT_RowIndex = o), null !== u)) for (s = 0, l = u.length; s < l; s++) u[s]._DT_CellIndex.row = o;
                                                       et(e.aiDisplayMaster, i), et(e.aiDisplay, i), et(t[r], i, !1), e._iRecordsDisplay > 0 && e._iRecordsDisplay--, pe(e);
                                                       var p = e.rowIdFn(d._aData);
                                                       p !== n && delete e.aIds[p];
                                                  }),
                                                  this.iterator("table", function (t) {
                                                       for (var e = 0, i = t.aoData.length; e < i; e++) t.aoData[e].idx = e;
                                                  }),
                                                  this
                                             );
                                        }),
                                        a("rows.add()", function (e) {
                                             var i = this.iterator(
                                                       "table",
                                                       function (t) {
                                                            var i,
                                                                 n,
                                                                 r,
                                                                 o = [];
                                                            for (n = 0, r = e.length; n < r; n++) (i = e[n]).nodeName && "TR" === i.nodeName.toUpperCase() ? o.push(V(t, i)[0]) : o.push(W(t, i));
                                                            return o;
                                                       },
                                                       1
                                                  ),
                                                  n = this.rows(-1);
                                             return n.pop(), t.merge(n, i), n;
                                        }),
                                        a("row()", function (t, e) {
                                             return we(this.rows(t, e));
                                        }),
                                        a("row().data()", function (e) {
                                             var i = this.context;
                                             if (e === n) return i.length && this.length ? i[0].aoData[this[0]]._aData : n;
                                             var r = i[0].aoData[this[0]];
                                             return (r._aData = e), t.isArray(e) && r.nTr && r.nTr.id && K(i[0].rowId)(e, r.nTr.id), it(i[0], this[0], "data"), this;
                                        }),
                                        a("row().node()", function () {
                                             var t = this.context;
                                             return (t.length && this.length && t[0].aoData[this[0]].nTr) || null;
                                        }),
                                        a("row.add()", function (e) {
                                             e instanceof t && e.length && (e = e[0]);
                                             var i = this.iterator("table", function (t) {
                                                  return e.nodeName && "TR" === e.nodeName.toUpperCase() ? V(t, e)[0] : W(t, e);
                                             });
                                             return this.row(i[0]);
                                        });
                                   var Se = function (t, e) {
                                             var i = t.context;
                                             if (i.length) {
                                                  var r = i[0].aoData[e !== n ? e : t[0]];
                                                  r && r._details && (r._details.remove(), (r._detailsShow = n), (r._details = n));
                                             }
                                        },
                                        Me = function (t, e) {
                                             var i = t.context;
                                             if (i.length && t.length) {
                                                  var n = i[0].aoData[t[0]];
                                                  n._details && ((n._detailsShow = e), e ? n._details.insertAfter(n.nTr) : n._details.detach(), Te(i[0]));
                                             }
                                        },
                                        Te = function (t) {
                                             var e = new o(t),
                                                  i = t.aoData;
                                             e.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details"),
                                                  _(i, "_details").length > 0 &&
                                                       (e.on("draw.dt.DT_details", function (n, r) {
                                                            t === r &&
                                                                 e
                                                                      .rows({ page: "current" })
                                                                      .eq(0)
                                                                      .each(function (t) {
                                                                           var e = i[t];
                                                                           e._detailsShow && e._details.insertAfter(e.nTr);
                                                                      });
                                                       }),
                                                       e.on("column-visibility.dt.DT_details", function (e, n, r, o) {
                                                            if (t === n) for (var a, s = H(n), l = 0, c = i.length; l < c; l++) (a = i[l])._details && a._details.children("td[colspan]").attr("colspan", s);
                                                       }),
                                                       e.on("destroy.dt.DT_details", function (n, r) {
                                                            if (t === r) for (var o = 0, a = i.length; o < a; o++) i[o]._details && Se(e, o);
                                                       }));
                                        };
                                   a("row().child()", function (e, i) {
                                        var r = this.context;
                                        return e === n
                                             ? r.length && this.length
                                                  ? r[0].aoData[this[0]]._details
                                                  : n
                                             : (!0 === e
                                                    ? this.child.show()
                                                    : !1 === e
                                                    ? Se(this)
                                                    : r.length &&
                                                      this.length &&
                                                      (function (e, i, n, r) {
                                                           var o = [],
                                                                a = function (i, n) {
                                                                     if (t.isArray(i) || i instanceof t) for (var r = 0, s = i.length; r < s; r++) a(i[r], n);
                                                                     else if (i.nodeName && "tr" === i.nodeName.toLowerCase()) o.push(i);
                                                                     else {
                                                                          var l = t("<tr><td/></tr>").addClass(n);
                                                                          (t("td", l).addClass(n).html(i)[0].colSpan = H(e)), o.push(l[0]);
                                                                     }
                                                                };
                                                           a(n, r), i._details && i._details.detach(), (i._details = t(o)), i._detailsShow && i._details.insertAfter(i.nTr);
                                                      })(r[0], r[0].aoData[this[0]], e, i),
                                               this);
                                   }),
                                        a(["row().child.show()", "row().child().show()"], function (t) {
                                             return Me(this, !0), this;
                                        }),
                                        a(["row().child.hide()", "row().child().hide()"], function () {
                                             return Me(this, !1), this;
                                        }),
                                        a(["row().child.remove()", "row().child().remove()"], function () {
                                             return Se(this), this;
                                        }),
                                        a("row().child.isShown()", function () {
                                             var t = this.context;
                                             return (t.length && this.length && t[0].aoData[this[0]]._detailsShow) || !1;
                                        });
                                   var Ce = /^([^:]+):(name|visIdx|visible)$/,
                                        De = function (t, e, i, n, r) {
                                             for (var o = [], a = 0, s = r.length; a < s; a++) o.push(q(t, r[a], e));
                                             return o;
                                        };
                                   a("columns()", function (e, i) {
                                        e === n ? (e = "") : t.isPlainObject(e) && ((i = e), (e = "")), (i = xe(i));
                                        var r = this.iterator(
                                             "table",
                                             function (n) {
                                                  return (function (e, i, n) {
                                                       var r = e.aoColumns,
                                                            o = _(r, "sName"),
                                                            a = _(r, "nTh");
                                                       return _e(
                                                            "column",
                                                            i,
                                                            function (i) {
                                                                 var s = g(i);
                                                                 if ("" === i) return w(r.length);
                                                                 if (null !== s) return [s >= 0 ? s : r.length + s];
                                                                 if ("function" == typeof i) {
                                                                      var l = ke(e, n);
                                                                      return t.map(r, function (t, n) {
                                                                           return i(n, De(e, n, 0, 0, l), a[n]) ? n : null;
                                                                      });
                                                                 }
                                                                 var c = "string" == typeof i ? i.match(Ce) : "";
                                                                 if (c)
                                                                      switch (c[2]) {
                                                                           case "visIdx":
                                                                           case "visible":
                                                                                var u = parseInt(c[1], 10);
                                                                                if (u < 0) {
                                                                                     var h = t.map(r, function (t, e) {
                                                                                          return t.bVisible ? e : null;
                                                                                     });
                                                                                     return [h[h.length + u]];
                                                                                }
                                                                                return [R(e, u)];
                                                                           case "name":
                                                                                return t.map(o, function (t, e) {
                                                                                     return t === c[1] ? e : null;
                                                                                });
                                                                           default:
                                                                                return [];
                                                                      }
                                                                 if (i.nodeName && i._DT_CellIndex) return [i._DT_CellIndex.column];
                                                                 var d = t(a)
                                                                      .filter(i)
                                                                      .map(function () {
                                                                           return t.inArray(this, a);
                                                                      })
                                                                      .toArray();
                                                                 if (d.length || !i.nodeName) return d;
                                                                 var p = t(i).closest("*[data-dt-column]");
                                                                 return p.length ? [p.data("dt-column")] : [];
                                                            },
                                                            e,
                                                            n
                                                       );
                                                  })(n, e, i);
                                             },
                                             1
                                        );
                                        return (r.selector.cols = e), (r.selector.opts = i), r;
                                   }),
                                        s("columns().header()", "column().header()", function (t, e) {
                                             return this.iterator(
                                                  "column",
                                                  function (t, e) {
                                                       return t.aoColumns[e].nTh;
                                                  },
                                                  1
                                             );
                                        }),
                                        s("columns().footer()", "column().footer()", function (t, e) {
                                             return this.iterator(
                                                  "column",
                                                  function (t, e) {
                                                       return t.aoColumns[e].nTf;
                                                  },
                                                  1
                                             );
                                        }),
                                        s("columns().data()", "column().data()", function () {
                                             return this.iterator("column-rows", De, 1);
                                        }),
                                        s("columns().dataSrc()", "column().dataSrc()", function () {
                                             return this.iterator(
                                                  "column",
                                                  function (t, e) {
                                                       return t.aoColumns[e].mData;
                                                  },
                                                  1
                                             );
                                        }),
                                        s("columns().cache()", "column().cache()", function (t) {
                                             return this.iterator(
                                                  "column-rows",
                                                  function (e, i, n, r, o) {
                                                       return x(e.aoData, o, "search" === t ? "_aFilterData" : "_aSortData", i);
                                                  },
                                                  1
                                             );
                                        }),
                                        s("columns().nodes()", "column().nodes()", function () {
                                             return this.iterator(
                                                  "column-rows",
                                                  function (t, e, i, n, r) {
                                                       return x(t.aoData, r, "anCells", e);
                                                  },
                                                  1
                                             );
                                        }),
                                        s("columns().visible()", "column().visible()", function (e, i) {
                                             var r = this,
                                                  o = this.iterator("column", function (i, r) {
                                                       if (e === n) return i.aoColumns[r].bVisible;
                                                       !(function (e, i, r) {
                                                            var o,
                                                                 a,
                                                                 s,
                                                                 l,
                                                                 c = e.aoColumns,
                                                                 u = c[i],
                                                                 h = e.aoData;
                                                            if (r === n) return u.bVisible;
                                                            if (u.bVisible !== r) {
                                                                 if (r) {
                                                                      var d = t.inArray(!0, _(c, "bVisible"), i + 1);
                                                                      for (a = 0, s = h.length; a < s; a++) (l = h[a].nTr), (o = h[a].anCells), l && l.insertBefore(o[i], o[d] || null);
                                                                 } else t(_(e.aoData, "anCells", i)).detach();
                                                                 u.bVisible = r;
                                                            }
                                                       })(i, r, e);
                                                  });
                                             return (
                                                  e !== n &&
                                                       this.iterator("table", function (o) {
                                                            st(o, o.aoHeader),
                                                                 st(o, o.aoFooter),
                                                                 o.aiDisplay.length || t(o.nTBody).find("td[colspan]").attr("colspan", H(o)),
                                                                 re(o),
                                                                 r.iterator("column", function (t, n) {
                                                                      de(t, null, "column-visibility", [t, n, e, i]);
                                                                 }),
                                                                 (i === n || i) && r.columns.adjust();
                                                       }),
                                                  o
                                             );
                                        }),
                                        s("columns().indexes()", "column().index()", function (t) {
                                             return this.iterator(
                                                  "column",
                                                  function (e, i) {
                                                       return "visible" === t ? F(e, i) : i;
                                                  },
                                                  1
                                             );
                                        }),
                                        a("columns.adjust()", function () {
                                             return this.iterator(
                                                  "table",
                                                  function (t) {
                                                       z(t);
                                                  },
                                                  1
                                             );
                                        }),
                                        a("column.index()", function (t, e) {
                                             if (0 !== this.context.length) {
                                                  var i = this.context[0];
                                                  if ("fromVisible" === t || "toData" === t) return R(i, e);
                                                  if ("fromData" === t || "toVisible" === t) return F(i, e);
                                             }
                                        }),
                                        a("column()", function (t, e) {
                                             return we(this.columns(t, e));
                                        });
                                   a("cells()", function (e, i, r) {
                                        if ((t.isPlainObject(e) && (e.row === n ? ((r = e), (e = null)) : ((r = i), (i = null))), t.isPlainObject(i) && ((r = i), (i = null)), null === i || i === n))
                                             return this.iterator("table", function (i) {
                                                  return (function (e, i, r) {
                                                       var o,
                                                            a,
                                                            s,
                                                            l,
                                                            c,
                                                            u,
                                                            h,
                                                            d = e.aoData,
                                                            p = ke(e, r),
                                                            f = k(x(d, p, "anCells")),
                                                            m = t([].concat.apply([], f)),
                                                            g = e.aoColumns.length;
                                                       return _e(
                                                            "cell",
                                                            i,
                                                            function (i) {
                                                                 var r = "function" == typeof i;
                                                                 if (null === i || i === n || r) {
                                                                      for (a = [], s = 0, l = p.length; s < l; s++)
                                                                           for (o = p[s], c = 0; c < g; c++) (u = { row: o, column: c }), r ? ((h = d[o]), i(u, q(e, o, c), h.anCells ? h.anCells[c] : null) && a.push(u)) : a.push(u);
                                                                      return a;
                                                                 }
                                                                 if (t.isPlainObject(i)) return i.column !== n && i.row !== n && -1 !== t.inArray(i.row, p) ? [i] : [];
                                                                 var f = m
                                                                      .filter(i)
                                                                      .map(function (t, e) {
                                                                           return { row: e._DT_CellIndex.row, column: e._DT_CellIndex.column };
                                                                      })
                                                                      .toArray();
                                                                 return f.length || !i.nodeName ? f : (h = t(i).closest("*[data-dt-row]")).length ? [{ row: h.data("dt-row"), column: h.data("dt-column") }] : [];
                                                            },
                                                            e,
                                                            r
                                                       );
                                                  })(i, e, xe(r));
                                             });
                                        var o,
                                             a,
                                             s,
                                             l,
                                             c = r ? { page: r.page, order: r.order, search: r.search } : {},
                                             u = this.columns(i, c),
                                             h = this.rows(e, c),
                                             d = this.iterator(
                                                  "table",
                                                  function (t, e) {
                                                       var i = [];
                                                       for (o = 0, a = h[e].length; o < a; o++) for (s = 0, l = u[e].length; s < l; s++) i.push({ row: h[e][o], column: u[e][s] });
                                                       return i;
                                                  },
                                                  1
                                             ),
                                             p = r && r.selected ? this.cells(d, r) : d;
                                        return t.extend(p.selector, { cols: i, rows: e, opts: r }), p;
                                   }),
                                        s("cells().nodes()", "cell().node()", function () {
                                             return this.iterator(
                                                  "cell",
                                                  function (t, e, i) {
                                                       var r = t.aoData[e];
                                                       return r && r.anCells ? r.anCells[i] : n;
                                                  },
                                                  1
                                             );
                                        }),
                                        a("cells().data()", function () {
                                             return this.iterator(
                                                  "cell",
                                                  function (t, e, i) {
                                                       return q(t, e, i);
                                                  },
                                                  1
                                             );
                                        }),
                                        s("cells().cache()", "cell().cache()", function (t) {
                                             return (
                                                  (t = "search" === t ? "_aFilterData" : "_aSortData"),
                                                  this.iterator(
                                                       "cell",
                                                       function (e, i, n) {
                                                            return e.aoData[i][t][n];
                                                       },
                                                       1
                                                  )
                                             );
                                        }),
                                        s("cells().render()", "cell().render()", function (t) {
                                             return this.iterator(
                                                  "cell",
                                                  function (e, i, n) {
                                                       return q(e, i, n, t);
                                                  },
                                                  1
                                             );
                                        }),
                                        s("cells().indexes()", "cell().index()", function () {
                                             return this.iterator(
                                                  "cell",
                                                  function (t, e, i) {
                                                       return { row: e, column: i, columnVisible: F(t, i) };
                                                  },
                                                  1
                                             );
                                        }),
                                        s("cells().invalidate()", "cell().invalidate()", function (t) {
                                             return this.iterator("cell", function (e, i, n) {
                                                  it(e, i, t, n);
                                             });
                                        }),
                                        a("cell()", function (t, e, i) {
                                             return we(this.cells(t, e, i));
                                        }),
                                        a("cell().data()", function (t) {
                                             var e = this.context,
                                                  i = this[0];
                                             return t === n ? (e.length && i.length ? q(e[0], i[0].row, i[0].column) : n) : ($(e[0], i[0].row, i[0].column, t), it(e[0], i[0].row, "data", i[0].column), this);
                                        }),
                                        a("order()", function (e, i) {
                                             var r = this.context;
                                             return e === n
                                                  ? 0 !== r.length
                                                       ? r[0].aaSorting
                                                       : n
                                                  : ("number" == typeof e ? (e = [[e, i]]) : e.length && !t.isArray(e[0]) && (e = Array.prototype.slice.call(arguments)),
                                                    this.iterator("table", function (t) {
                                                         t.aaSorting = e.slice();
                                                    }));
                                        }),
                                        a("order.listener()", function (t, e, i) {
                                             return this.iterator("table", function (n) {
                                                  ee(n, t, e, i);
                                             });
                                        }),
                                        a("order.fixed()", function (e) {
                                             if (!e) {
                                                  var i = this.context,
                                                       r = i.length ? i[0].aaSortingFixed : n;
                                                  return t.isArray(r) ? { pre: r } : r;
                                             }
                                             return this.iterator("table", function (i) {
                                                  i.aaSortingFixed = t.extend(!0, {}, e);
                                             });
                                        }),
                                        a(["columns().order()", "column().order()"], function (e) {
                                             var i = this;
                                             return this.iterator("table", function (n, r) {
                                                  var o = [];
                                                  t.each(i[r], function (t, i) {
                                                       o.push([i, e]);
                                                  }),
                                                       (n.aaSorting = o);
                                             });
                                        }),
                                        a("search()", function (e, i, r, o) {
                                             var a = this.context;
                                             return e === n
                                                  ? 0 !== a.length
                                                       ? a[0].oPreviousSearch.sSearch
                                                       : n
                                                  : this.iterator("table", function (n) {
                                                         n.oFeatures.bFilter && bt(n, t.extend({}, n.oPreviousSearch, { sSearch: e + "", bRegex: null !== i && i, bSmart: null === r || r, bCaseInsensitive: null === o || o }), 1);
                                                    });
                                        }),
                                        s("columns().search()", "column().search()", function (e, i, r, o) {
                                             return this.iterator("column", function (a, s) {
                                                  var l = a.aoPreSearchCols;
                                                  if (e === n) return l[s].sSearch;
                                                  a.oFeatures.bFilter && (t.extend(l[s], { sSearch: e + "", bRegex: null !== i && i, bSmart: null === r || r, bCaseInsensitive: null === o || o }), bt(a, a.oPreviousSearch, 1));
                                             });
                                        }),
                                        a("state()", function () {
                                             return this.context.length ? this.context[0].oSavedState : null;
                                        }),
                                        a("state.clear()", function () {
                                             return this.iterator("table", function (t) {
                                                  t.fnStateSaveCallback.call(t.oInstance, t, {});
                                             });
                                        }),
                                        a("state.loaded()", function () {
                                             return this.context.length ? this.context[0].oLoadedState : null;
                                        }),
                                        a("state.save()", function () {
                                             return this.iterator("table", function (t) {
                                                  re(t);
                                             });
                                        }),
                                        (l.versionCheck = l.fnVersionCheck = function (t) {
                                             for (var e, i, n = l.version.split("."), r = t.split("."), o = 0, a = r.length; o < a; o++) if ((e = parseInt(n[o], 10) || 0) !== (i = parseInt(r[o], 10) || 0)) return e > i;
                                             return !0;
                                        }),
                                        (l.isDataTable = l.fnIsDataTable = function (e) {
                                             var i = t(e).get(0),
                                                  n = !1;
                                             return (
                                                  e instanceof l.Api ||
                                                  (t.each(l.settings, function (e, r) {
                                                       var o = r.nScrollHead ? t("table", r.nScrollHead)[0] : null,
                                                            a = r.nScrollFoot ? t("table", r.nScrollFoot)[0] : null;
                                                       (r.nTable !== i && o !== i && a !== i) || (n = !0);
                                                  }),
                                                  n)
                                             );
                                        }),
                                        (l.tables = l.fnTables = function (e) {
                                             var i = !1;
                                             t.isPlainObject(e) && ((i = e.api), (e = e.visible));
                                             var n = t.map(l.settings, function (i) {
                                                  if (!e || (e && t(i.nTable).is(":visible"))) return i.nTable;
                                             });
                                             return i ? new o(n) : n;
                                        }),
                                        (l.camelToHungarian = C),
                                        a("$()", function (e, i) {
                                             var n = this.rows(i).nodes(),
                                                  r = t(n);
                                             return t([].concat(r.filter(e).toArray(), r.find(e).toArray()));
                                        }),
                                        t.each(["on", "one", "off"], function (e, i) {
                                             a(i + "()", function () {
                                                  var e = Array.prototype.slice.call(arguments);
                                                  e[0] = t
                                                       .map(e[0].split(/\s/), function (t) {
                                                            return t.match(/\.dt\b/) ? t : t + ".dt";
                                                       })
                                                       .join(" ");
                                                  var n = t(this.tables().nodes());
                                                  return n[i].apply(n, e), this;
                                             });
                                        }),
                                        a("clear()", function () {
                                             return this.iterator("table", function (t) {
                                                  tt(t);
                                             });
                                        }),
                                        a("settings()", function () {
                                             return new o(this.context, this.context);
                                        }),
                                        a("init()", function () {
                                             var t = this.context;
                                             return t.length ? t[0].oInit : null;
                                        }),
                                        a("data()", function () {
                                             return this.iterator("table", function (t) {
                                                  return _(t.aoData, "_aData");
                                             }).flatten();
                                        }),
                                        a("destroy()", function (i) {
                                             return (
                                                  (i = i || !1),
                                                  this.iterator("table", function (n) {
                                                       var r,
                                                            a = n.nTableWrapper.parentNode,
                                                            s = n.oClasses,
                                                            c = n.nTable,
                                                            u = n.nTBody,
                                                            h = n.nTHead,
                                                            d = n.nTFoot,
                                                            p = t(c),
                                                            f = t(u),
                                                            m = t(n.nTableWrapper),
                                                            g = t.map(n.aoData, function (t) {
                                                                 return t.nTr;
                                                            });
                                                       (n.bDestroying = !0),
                                                            de(n, "aoDestroyCallback", "destroy", [n]),
                                                            i || new o(n).columns().visible(!0),
                                                            m.off(".DT").find(":not(tbody *)").off(".DT"),
                                                            t(e).off(".DT-" + n.sInstance),
                                                            c != h.parentNode && (p.children("thead").detach(), p.append(h)),
                                                            d && c != d.parentNode && (p.children("tfoot").detach(), p.append(d)),
                                                            (n.aaSorting = []),
                                                            (n.aaSortingFixed = []),
                                                            ie(n),
                                                            t(g).removeClass(n.asStripeClasses.join(" ")),
                                                            t("th, td", h).removeClass(s.sSortable + " " + s.sSortableAsc + " " + s.sSortableDesc + " " + s.sSortableNone),
                                                            f.children().detach(),
                                                            f.append(g);
                                                       var v = i ? "remove" : "detach";
                                                       p[v](),
                                                            m[v](),
                                                            !i &&
                                                                 a &&
                                                                 (a.insertBefore(c, n.nTableReinsertBefore),
                                                                 p.css("width", n.sDestroyWidth).removeClass(s.sTable),
                                                                 (r = n.asDestroyStripes.length) &&
                                                                      f.children().each(function (e) {
                                                                           t(this).addClass(n.asDestroyStripes[e % r]);
                                                                      }));
                                                       var y = t.inArray(n, l.settings);
                                                       -1 !== y && l.settings.splice(y, 1);
                                                  })
                                             );
                                        }),
                                        t.each(["column", "row", "cell"], function (t, e) {
                                             a(e + "s().every()", function (t) {
                                                  var i = this.selector.opts,
                                                       r = this;
                                                  return this.iterator(e, function (o, a, s, l, c) {
                                                       t.call(r[e](a, "cell" === e ? s : i, "cell" === e ? i : n), a, s, l, c);
                                                  });
                                             });
                                        }),
                                        a("i18n()", function (e, i, r) {
                                             var o = this.context[0],
                                                  a = J(e)(o.oLanguage);
                                             return a === n && (a = i), r !== n && t.isPlainObject(a) && (a = a[r] !== n ? a[r] : a._), a.replace("%d", r);
                                        }),
                                        (l.version = "1.10.21"),
                                        (l.settings = []),
                                        (l.models = {}),
                                        (l.models.oSearch = { bCaseInsensitive: !0, sSearch: "", bRegex: !1, bSmart: !0 }),
                                        (l.models.oRow = { nTr: null, anCells: null, _aData: [], _aSortData: null, _aFilterData: null, _sFilterRow: null, _sRowStripe: "", src: null, idx: -1 }),
                                        (l.models.oColumn = {
                                             idx: null,
                                             aDataSort: null,
                                             asSorting: null,
                                             bSearchable: null,
                                             bSortable: null,
                                             bVisible: null,
                                             _sManualType: null,
                                             _bAttrSrc: !1,
                                             fnCreatedCell: null,
                                             fnGetData: null,
                                             fnSetData: null,
                                             mData: null,
                                             mRender: null,
                                             nTh: null,
                                             nTf: null,
                                             sClass: null,
                                             sContentPadding: null,
                                             sDefaultContent: null,
                                             sName: null,
                                             sSortDataType: "std",
                                             sSortingClass: null,
                                             sSortingClassJUI: null,
                                             sTitle: null,
                                             sType: null,
                                             sWidth: null,
                                             sWidthOrig: null,
                                        }),
                                        (l.defaults = {
                                             aaData: null,
                                             aaSorting: [[0, "asc"]],
                                             aaSortingFixed: [],
                                             ajax: null,
                                             aLengthMenu: [10, 25, 50, 100],
                                             aoColumns: null,
                                             aoColumnDefs: null,
                                             aoSearchCols: [],
                                             asStripeClasses: null,
                                             bAutoWidth: !0,
                                             bDeferRender: !1,
                                             bDestroy: !1,
                                             bFilter: !0,
                                             bInfo: !0,
                                             bLengthChange: !0,
                                             bPaginate: !0,
                                             bProcessing: !1,
                                             bRetrieve: !1,
                                             bScrollCollapse: !1,
                                             bServerSide: !1,
                                             bSort: !0,
                                             bSortMulti: !0,
                                             bSortCellsTop: !1,
                                             bSortClasses: !0,
                                             bStateSave: !1,
                                             fnCreatedRow: null,
                                             fnDrawCallback: null,
                                             fnFooterCallback: null,
                                             fnFormatNumber: function (t) {
                                                  return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g, this.oLanguage.sThousands);
                                             },
                                             fnHeaderCallback: null,
                                             fnInfoCallback: null,
                                             fnInitComplete: null,
                                             fnPreDrawCallback: null,
                                             fnRowCallback: null,
                                             fnServerData: null,
                                             fnServerParams: null,
                                             fnStateLoadCallback: function (t) {
                                                  try {
                                                       return JSON.parse((-1 === t.iStateDuration ? sessionStorage : localStorage).getItem("DataTables_" + t.sInstance + "_" + location.pathname));
                                                  } catch (t) {
                                                       return {};
                                                  }
                                             },
                                             fnStateLoadParams: null,
                                             fnStateLoaded: null,
                                             fnStateSaveCallback: function (t, e) {
                                                  try {
                                                       (-1 === t.iStateDuration ? sessionStorage : localStorage).setItem("DataTables_" + t.sInstance + "_" + location.pathname, JSON.stringify(e));
                                                  } catch (t) {}
                                             },
                                             fnStateSaveParams: null,
                                             iStateDuration: 7200,
                                             iDeferLoading: null,
                                             iDisplayLength: 10,
                                             iDisplayStart: 0,
                                             iTabIndex: 0,
                                             oClasses: {},
                                             oLanguage: {
                                                  oAria: { sSortAscending: ": activate to sort column ascending", sSortDescending: ": activate to sort column descending" },
                                                  oPaginate: { sFirst: "First", sLast: "Last", sNext: "Next", sPrevious: "Previous" },
                                                  sEmptyTable: "No data available in table",
                                                  sInfo: "Showing _START_ to _END_ of _TOTAL_ entries",
                                                  sInfoEmpty: "Showing 0 to 0 of 0 entries",
                                                  sInfoFiltered: "(filtered from _MAX_ total entries)",
                                                  sInfoPostFix: "",
                                                  sDecimal: "",
                                                  sThousands: ",",
                                                  sLengthMenu: "Show _MENU_ entries",
                                                  sLoadingRecords: "Loading...",
                                                  sProcessing: "Processing...",
                                                  sSearch: "Search:",
                                                  sSearchPlaceholder: "",
                                                  sUrl: "",
                                                  sZeroRecords: "No matching records found",
                                             },
                                             oSearch: t.extend({}, l.models.oSearch),
                                             sAjaxDataProp: "data",
                                             sAjaxSource: null,
                                             sDom: "lfrtip",
                                             searchDelay: null,
                                             sPaginationType: "simple_numbers",
                                             sScrollX: "",
                                             sScrollXInner: "",
                                             sScrollY: "",
                                             sServerMethod: "GET",
                                             renderer: null,
                                             rowId: "DT_RowId",
                                        }),
                                        T(l.defaults),
                                        (l.defaults.column = {
                                             aDataSort: null,
                                             iDataSort: -1,
                                             asSorting: ["asc", "desc"],
                                             bSearchable: !0,
                                             bSortable: !0,
                                             bVisible: !0,
                                             fnCreatedCell: null,
                                             mData: null,
                                             mRender: null,
                                             sCellType: "td",
                                             sClass: "",
                                             sContentPadding: "",
                                             sDefaultContent: null,
                                             sName: "",
                                             sSortDataType: "std",
                                             sTitle: null,
                                             sType: null,
                                             sWidth: null,
                                        }),
                                        T(l.defaults.column),
                                        (l.models.oSettings = {
                                             oFeatures: {
                                                  bAutoWidth: null,
                                                  bDeferRender: null,
                                                  bFilter: null,
                                                  bInfo: null,
                                                  bLengthChange: null,
                                                  bPaginate: null,
                                                  bProcessing: null,
                                                  bServerSide: null,
                                                  bSort: null,
                                                  bSortMulti: null,
                                                  bSortClasses: null,
                                                  bStateSave: null,
                                             },
                                             oScroll: { bCollapse: null, iBarWidth: 0, sX: null, sXInner: null, sY: null },
                                             oLanguage: { fnInfoCallback: null },
                                             oBrowser: { bScrollOversize: !1, bScrollbarLeft: !1, bBounding: !1, barWidth: 0 },
                                             ajax: null,
                                             aanFeatures: [],
                                             aoData: [],
                                             aiDisplay: [],
                                             aiDisplayMaster: [],
                                             aIds: {},
                                             aoColumns: [],
                                             aoHeader: [],
                                             aoFooter: [],
                                             oPreviousSearch: {},
                                             aoPreSearchCols: [],
                                             aaSorting: null,
                                             aaSortingFixed: [],
                                             asStripeClasses: null,
                                             asDestroyStripes: [],
                                             sDestroyWidth: 0,
                                             aoRowCallback: [],
                                             aoHeaderCallback: [],
                                             aoFooterCallback: [],
                                             aoDrawCallback: [],
                                             aoRowCreatedCallback: [],
                                             aoPreDrawCallback: [],
                                             aoInitComplete: [],
                                             aoStateSaveParams: [],
                                             aoStateLoadParams: [],
                                             aoStateLoaded: [],
                                             sTableId: "",
                                             nTable: null,
                                             nTHead: null,
                                             nTFoot: null,
                                             nTBody: null,
                                             nTableWrapper: null,
                                             bDeferLoading: !1,
                                             bInitialised: !1,
                                             aoOpenRows: [],
                                             sDom: null,
                                             searchDelay: null,
                                             sPaginationType: "two_button",
                                             iStateDuration: 0,
                                             aoStateSave: [],
                                             aoStateLoad: [],
                                             oSavedState: null,
                                             oLoadedState: null,
                                             sAjaxSource: null,
                                             sAjaxDataProp: null,
                                             bAjaxDataGet: !0,
                                             jqXHR: null,
                                             json: n,
                                             oAjaxData: n,
                                             fnServerData: null,
                                             aoServerParams: [],
                                             sServerMethod: null,
                                             fnFormatNumber: null,
                                             aLengthMenu: null,
                                             iDraw: 0,
                                             bDrawing: !1,
                                             iDrawError: -1,
                                             _iDisplayLength: 10,
                                             _iDisplayStart: 0,
                                             _iRecordsTotal: 0,
                                             _iRecordsDisplay: 0,
                                             oClasses: {},
                                             bFiltered: !1,
                                             bSorted: !1,
                                             bSortCellsTop: null,
                                             oInit: null,
                                             aoDestroyCallback: [],
                                             fnRecordsTotal: function () {
                                                  return "ssp" == me(this) ? 1 * this._iRecordsTotal : this.aiDisplayMaster.length;
                                             },
                                             fnRecordsDisplay: function () {
                                                  return "ssp" == me(this) ? 1 * this._iRecordsDisplay : this.aiDisplay.length;
                                             },
                                             fnDisplayEnd: function () {
                                                  var t = this._iDisplayLength,
                                                       e = this._iDisplayStart,
                                                       i = e + t,
                                                       n = this.aiDisplay.length,
                                                       r = this.oFeatures,
                                                       o = r.bPaginate;
                                                  return r.bServerSide ? (!1 === o || -1 === t ? e + n : Math.min(e + t, this._iRecordsDisplay)) : !o || i > n || -1 === t ? n : i;
                                             },
                                             oInstance: null,
                                             sInstance: null,
                                             iTabIndex: 0,
                                             nScrollHead: null,
                                             nScrollFoot: null,
                                             aLastSort: [],
                                             oPlugins: {},
                                             rowIdFn: null,
                                             rowId: null,
                                        }),
                                        (l.ext = r = {
                                             buttons: {},
                                             classes: {},
                                             builder: "-source-",
                                             errMode: "alert",
                                             feature: [],
                                             search: [],
                                             selector: { cell: [], column: [], row: [] },
                                             internal: {},
                                             legacy: { ajax: null },
                                             pager: {},
                                             renderer: { pageButton: {}, header: {} },
                                             order: {},
                                             type: { detect: [], search: {}, order: {} },
                                             _unique: 0,
                                             fnVersionCheck: l.fnVersionCheck,
                                             iApiIndex: 0,
                                             oJUIClasses: {},
                                             sVersion: l.version,
                                        }),
                                        t.extend(r, {
                                             afnFiltering: r.search,
                                             aTypes: r.type.detect,
                                             ofnSearch: r.type.search,
                                             oSort: r.type.order,
                                             afnSortData: r.order,
                                             aoFeatures: r.feature,
                                             oApi: r.internal,
                                             oStdClasses: r.classes,
                                             oPagination: r.pager,
                                        }),
                                        t.extend(l.ext.classes, {
                                             sTable: "dataTable",
                                             sNoFooter: "no-footer",
                                             sPageButton: "paginate_button",
                                             sPageButtonActive: "current",
                                             sPageButtonDisabled: "disabled",
                                             sStripeOdd: "odd",
                                             sStripeEven: "even",
                                             sRowEmpty: "dataTables_empty",
                                             sWrapper: "dataTables_wrapper",
                                             sFilter: "dataTables_filter",
                                             sInfo: "dataTables_info",
                                             sPaging: "dataTables_paginate paging_",
                                             sLength: "dataTables_length",
                                             sProcessing: "dataTables_processing",
                                             sSortAsc: "sorting_asc",
                                             sSortDesc: "sorting_desc",
                                             sSortable: "sorting",
                                             sSortableAsc: "sorting_asc_disabled",
                                             sSortableDesc: "sorting_desc_disabled",
                                             sSortableNone: "sorting_disabled",
                                             sSortColumn: "sorting_",
                                             sFilterInput: "",
                                             sLengthSelect: "",
                                             sScrollWrapper: "dataTables_scroll",
                                             sScrollHead: "dataTables_scrollHead",
                                             sScrollHeadInner: "dataTables_scrollHeadInner",
                                             sScrollBody: "dataTables_scrollBody",
                                             sScrollFoot: "dataTables_scrollFoot",
                                             sScrollFootInner: "dataTables_scrollFootInner",
                                             sHeaderTH: "",
                                             sFooterTH: "",
                                             sSortJUIAsc: "",
                                             sSortJUIDesc: "",
                                             sSortJUI: "",
                                             sSortJUIAscAllowed: "",
                                             sSortJUIDescAllowed: "",
                                             sSortJUIWrapper: "",
                                             sSortIcon: "",
                                             sJUIHeader: "",
                                             sJUIFooter: "",
                                        });
                                   var Le = l.ext.pager;
                                   function Ee(t, e) {
                                        var i = [],
                                             n = Le.numbers_length,
                                             r = Math.floor(n / 2);
                                        return (
                                             e <= n
                                                  ? (i = w(0, e))
                                                  : t <= r
                                                  ? ((i = w(0, n - 2)).push("ellipsis"), i.push(e - 1))
                                                  : t >= e - 1 - r
                                                  ? ((i = w(e - (n - 2), e)).splice(0, 0, "ellipsis"), i.splice(0, 0, 0))
                                                  : ((i = w(t - r + 2, t + r - 1)).push("ellipsis"), i.push(e - 1), i.splice(0, 0, "ellipsis"), i.splice(0, 0, 0)),
                                             (i.DT_el = "span"),
                                             i
                                        );
                                   }
                                   t.extend(Le, {
                                        simple: function (t, e) {
                                             return ["previous", "next"];
                                        },
                                        full: function (t, e) {
                                             return ["first", "previous", "next", "last"];
                                        },
                                        numbers: function (t, e) {
                                             return [Ee(t, e)];
                                        },
                                        simple_numbers: function (t, e) {
                                             return ["previous", Ee(t, e), "next"];
                                        },
                                        full_numbers: function (t, e) {
                                             return ["first", "previous", Ee(t, e), "next", "last"];
                                        },
                                        first_last_numbers: function (t, e) {
                                             return ["first", Ee(t, e), "last"];
                                        },
                                        _numbers: Ee,
                                        numbers_length: 7,
                                   }),
                                        t.extend(!0, l.ext.renderer, {
                                             pageButton: {
                                                  _: function (e, r, o, a, s, l) {
                                                       var c,
                                                            u,
                                                            h,
                                                            d = e.oClasses,
                                                            p = e.oLanguage.oPaginate,
                                                            f = e.oLanguage.oAria.paginate || {},
                                                            m = 0,
                                                            g = function (i, n) {
                                                                 var r,
                                                                      a,
                                                                      h,
                                                                      v,
                                                                      y = d.sPageButtonDisabled,
                                                                      b = function (t) {
                                                                           Ft(e, t.data.action, !0);
                                                                      };
                                                                 for (r = 0, a = n.length; r < a; r++)
                                                                      if (((h = n[r]), t.isArray(h))) {
                                                                           var _ = t("<" + (h.DT_el || "div") + "/>").appendTo(i);
                                                                           g(_, h);
                                                                      } else {
                                                                           switch (((c = null), (u = h), (v = e.iTabIndex), h)) {
                                                                                case "ellipsis":
                                                                                     i.append('<span class="ellipsis">&#x2026;</span>');
                                                                                     break;
                                                                                case "first":
                                                                                     (c = p.sFirst), 0 === s && ((v = -1), (u += " " + y));
                                                                                     break;
                                                                                case "previous":
                                                                                     (c = p.sPrevious), 0 === s && ((v = -1), (u += " " + y));
                                                                                     break;
                                                                                case "next":
                                                                                     (c = p.sNext), (0 !== l && s !== l - 1) || ((v = -1), (u += " " + y));
                                                                                     break;
                                                                                case "last":
                                                                                     (c = p.sLast), s === l - 1 && ((v = -1), (u += " " + y));
                                                                                     break;
                                                                                default:
                                                                                     (c = h + 1), (u = s === h ? d.sPageButtonActive : "");
                                                                           }
                                                                           null !== c &&
                                                                                (ue(
                                                                                     t("<a>", {
                                                                                          class: d.sPageButton + " " + u,
                                                                                          "aria-controls": e.sTableId,
                                                                                          "aria-label": f[h],
                                                                                          "data-dt-idx": m,
                                                                                          tabindex: v,
                                                                                          id: 0 === o && "string" == typeof h ? e.sTableId + "_" + h : null,
                                                                                     })
                                                                                          .html(c)
                                                                                          .appendTo(i),
                                                                                     { action: h },
                                                                                     b
                                                                                ),
                                                                                m++);
                                                                      }
                                                            };
                                                       try {
                                                            h = t(r).find(i.activeElement).data("dt-idx");
                                                       } catch (t) {}
                                                       g(t(r).empty(), a),
                                                            h !== n &&
                                                                 t(r)
                                                                      .find("[data-dt-idx=" + h + "]")
                                                                      .trigger("focus");
                                                  },
                                             },
                                        }),
                                        t.extend(l.ext.type.detect, [
                                             function (t, e) {
                                                  var i = e.oLanguage.sDecimal;
                                                  return y(t, i) ? "num" + i : null;
                                             },
                                             function (t, e) {
                                                  if (t && !(t instanceof Date) && !d.test(t)) return null;
                                                  var i = Date.parse(t);
                                                  return (null !== i && !isNaN(i)) || m(t) ? "date" : null;
                                             },
                                             function (t, e) {
                                                  var i = e.oLanguage.sDecimal;
                                                  return y(t, i, !0) ? "num-fmt" + i : null;
                                             },
                                             function (t, e) {
                                                  var i = e.oLanguage.sDecimal;
                                                  return b(t, i) ? "html-num" + i : null;
                                             },
                                             function (t, e) {
                                                  var i = e.oLanguage.sDecimal;
                                                  return b(t, i, !0) ? "html-num-fmt" + i : null;
                                             },
                                             function (t, e) {
                                                  return m(t) || ("string" == typeof t && -1 !== t.indexOf("<")) ? "html" : null;
                                             },
                                        ]),
                                        t.extend(l.ext.type.search, {
                                             html: function (t) {
                                                  return m(t) ? t : "string" == typeof t ? t.replace(u, " ").replace(h, "") : "";
                                             },
                                             string: function (t) {
                                                  return m(t) ? t : "string" == typeof t ? t.replace(u, " ") : t;
                                             },
                                        });
                                   var Ae = function (t, e, i, n) {
                                        return 0 === t || (t && "-" !== t) ? (e && (t = v(t, e)), t.replace && (i && (t = t.replace(i, "")), n && (t = t.replace(n, ""))), 1 * t) : -1 / 0;
                                   };
                                   function Pe(e) {
                                        t.each(
                                             {
                                                  num: function (t) {
                                                       return Ae(t, e);
                                                  },
                                                  "num-fmt": function (t) {
                                                       return Ae(t, e, f);
                                                  },
                                                  "html-num": function (t) {
                                                       return Ae(t, e, h);
                                                  },
                                                  "html-num-fmt": function (t) {
                                                       return Ae(t, e, h, f);
                                                  },
                                             },
                                             function (t, i) {
                                                  (r.type.order[t + e + "-pre"] = i), t.match(/^html\-/) && (r.type.search[t + e] = r.type.search.html);
                                             }
                                        );
                                   }
                                   t.extend(r.type.order, {
                                        "date-pre": function (t) {
                                             var e = Date.parse(t);
                                             return isNaN(e) ? -1 / 0 : e;
                                        },
                                        "html-pre": function (t) {
                                             return m(t) ? "" : t.replace ? t.replace(/<.*?>/g, "").toLowerCase() : t + "";
                                        },
                                        "string-pre": function (t) {
                                             return m(t) ? "" : "string" == typeof t ? t.toLowerCase() : t.toString ? t.toString() : "";
                                        },
                                        "string-asc": function (t, e) {
                                             return t < e ? -1 : t > e ? 1 : 0;
                                        },
                                        "string-desc": function (t, e) {
                                             return t < e ? 1 : t > e ? -1 : 0;
                                        },
                                   }),
                                        Pe(""),
                                        t.extend(!0, l.ext.renderer, {
                                             header: {
                                                  _: function (e, i, n, r) {
                                                       t(e.nTable).on("order.dt.DT", function (t, o, a, s) {
                                                            if (e === o) {
                                                                 var l = n.idx;
                                                                 i.removeClass(n.sSortingClass + " " + r.sSortAsc + " " + r.sSortDesc).addClass("asc" == s[l] ? r.sSortAsc : "desc" == s[l] ? r.sSortDesc : n.sSortingClass);
                                                            }
                                                       });
                                                  },
                                                  jqueryui: function (e, i, n, r) {
                                                       t("<div/>")
                                                            .addClass(r.sSortJUIWrapper)
                                                            .append(i.contents())
                                                            .append(t("<span/>").addClass(r.sSortIcon + " " + n.sSortingClassJUI))
                                                            .appendTo(i),
                                                            t(e.nTable).on("order.dt.DT", function (t, o, a, s) {
                                                                 if (e === o) {
                                                                      var l = n.idx;
                                                                      i.removeClass(r.sSortAsc + " " + r.sSortDesc).addClass("asc" == s[l] ? r.sSortAsc : "desc" == s[l] ? r.sSortDesc : n.sSortingClass),
                                                                           i
                                                                                .find("span." + r.sSortIcon)
                                                                                .removeClass(r.sSortJUIAsc + " " + r.sSortJUIDesc + " " + r.sSortJUI + " " + r.sSortJUIAscAllowed + " " + r.sSortJUIDescAllowed)
                                                                                .addClass("asc" == s[l] ? r.sSortJUIAsc : "desc" == s[l] ? r.sSortJUIDesc : n.sSortingClassJUI);
                                                                 }
                                                            });
                                                  },
                                             },
                                        });
                                   var Ie = function (t) {
                                        return "string" == typeof t ? t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;") : t;
                                   };
                                   function Oe(t) {
                                        return function () {
                                             var e = [ae(this[l.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));
                                             return l.ext.internal[t].apply(this, e);
                                        };
                                   }
                                   return (
                                        (l.render = {
                                             number: function (t, e, i, n, r) {
                                                  return {
                                                       display: function (o) {
                                                            if ("number" != typeof o && "string" != typeof o) return o;
                                                            var a = o < 0 ? "-" : "",
                                                                 s = parseFloat(o);
                                                            if (isNaN(s)) return Ie(o);
                                                            (s = s.toFixed(i)), (o = Math.abs(s));
                                                            var l = parseInt(o, 10),
                                                                 c = i ? e + (o - l).toFixed(i).substring(2) : "";
                                                            return a + (n || "") + l.toString().replace(/\B(?=(\d{3})+(?!\d))/g, t) + c + (r || "");
                                                       },
                                                  };
                                             },
                                             text: function () {
                                                  return { display: Ie, filter: Ie };
                                             },
                                        }),
                                        t.extend(l.ext.internal, {
                                             _fnExternApiFunc: Oe,
                                             _fnBuildAjax: pt,
                                             _fnAjaxUpdate: ft,
                                             _fnAjaxParameters: mt,
                                             _fnAjaxUpdateDraw: gt,
                                             _fnAjaxDataSrc: vt,
                                             _fnAddColumn: O,
                                             _fnColumnOptions: Y,
                                             _fnAdjustColumnSizing: z,
                                             _fnVisibleToColumnIndex: R,
                                             _fnColumnIndexToVisible: F,
                                             _fnVisbleColumns: H,
                                             _fnGetColumns: j,
                                             _fnColumnTypes: N,
                                             _fnApplyColumnDefs: B,
                                             _fnHungarianMap: T,
                                             _fnCamelToHungarian: C,
                                             _fnLanguageCompat: D,
                                             _fnBrowserDetect: P,
                                             _fnAddData: W,
                                             _fnAddTr: V,
                                             _fnNodeToDataIndex: function (t, e) {
                                                  return e._DT_RowIndex !== n ? e._DT_RowIndex : null;
                                             },
                                             _fnNodeToColumnIndex: U,
                                             _fnGetCellData: q,
                                             _fnSetCellData: $,
                                             _fnSplitObjNotation: Z,
                                             _fnGetObjectDataFn: J,
                                             _fnSetObjectDataFn: K,
                                             _fnGetDataMaster: Q,
                                             _fnClearTable: tt,
                                             _fnDeleteIndex: et,
                                             _fnInvalidate: it,
                                             _fnGetRowElements: nt,
                                             _fnCreateTr: rt,
                                             _fnBuildHead: at,
                                             _fnDrawHead: st,
                                             _fnDraw: lt,
                                             _fnReDraw: ct,
                                             _fnAddOptionsHtml: ut,
                                             _fnDetectHeader: ht,
                                             _fnGetUniqueThs: dt,
                                             _fnFeatureHtmlFilter: yt,
                                             _fnFilterComplete: bt,
                                             _fnFilterCustom: _t,
                                             _fnFilterColumn: xt,
                                             _fnFilter: wt,
                                             _fnFilterCreateSearch: kt,
                                             _fnEscapeRegex: St,
                                             _fnFilterData: Ct,
                                             _fnFeatureHtmlInfo: Et,
                                             _fnUpdateInfo: At,
                                             _fnInfoMacros: Pt,
                                             _fnInitialise: It,
                                             _fnInitComplete: Ot,
                                             _fnLengthChange: Yt,
                                             _fnFeatureHtmlLength: zt,
                                             _fnFeatureHtmlPaginate: Rt,
                                             _fnPageChange: Ft,
                                             _fnFeatureHtmlProcessing: Ht,
                                             _fnProcessingDisplay: jt,
                                             _fnFeatureHtmlTable: Nt,
                                             _fnScrollDraw: Bt,
                                             _fnApplyToChildren: Wt,
                                             _fnCalculateColumnWidths: Ut,
                                             _fnThrottle: qt,
                                             _fnConvertToWidth: $t,
                                             _fnGetWidestNode: Xt,
                                             _fnGetMaxLenString: Gt,
                                             _fnStringToCss: Zt,
                                             _fnSortFlatten: Jt,
                                             _fnSort: Kt,
                                             _fnSortAria: Qt,
                                             _fnSortListener: te,
                                             _fnSortAttachListener: ee,
                                             _fnSortingClasses: ie,
                                             _fnSortData: ne,
                                             _fnSaveState: re,
                                             _fnLoadState: oe,
                                             _fnSettingsFromNode: ae,
                                             _fnLog: se,
                                             _fnMap: le,
                                             _fnBindAction: ue,
                                             _fnCallbackReg: he,
                                             _fnCallbackFire: de,
                                             _fnLengthOverflow: pe,
                                             _fnRenderer: fe,
                                             _fnDataSource: me,
                                             _fnRowAttributes: ot,
                                             _fnExtend: ce,
                                             _fnCalculateEnd: function () {},
                                        }),
                                        (t.fn.dataTable = l),
                                        (l.$ = t),
                                        (t.fn.dataTableSettings = l.settings),
                                        (t.fn.dataTableExt = l.ext),
                                        (t.fn.DataTable = function (e) {
                                             return t(this).dataTable(e).api();
                                        }),
                                        t.each(l, function (e, i) {
                                             t.fn.DataTable[e] = i;
                                        }),
                                        t.fn.dataTable
                                   );
                              })(t, window, document);
                         }.apply(e, n)) || (t.exports = r);
          })();
     },
     function (t, e, i) {
          "use strict";
          /*!
           * perfect-scrollbar v1.5.0
           * Copyright 2020 Hyunje Jun, MDBootstrap and Contributors
           * Licensed under MIT
           */ function n(t) {
               return getComputedStyle(t);
          }
          function r(t, e) {
               for (var i in e) {
                    var n = e[i];
                    "number" == typeof n && (n += "px"), (t.style[i] = n);
               }
               return t;
          }
          function o(t) {
               var e = document.createElement("div");
               return (e.className = t), e;
          }
          var a = "undefined" != typeof Element && (Element.prototype.matches || Element.prototype.webkitMatchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector);
          function s(t, e) {
               if (!a) throw new Error("No element matching method supported");
               return a.call(t, e);
          }
          function l(t) {
               t.remove ? t.remove() : t.parentNode && t.parentNode.removeChild(t);
          }
          function c(t, e) {
               return Array.prototype.filter.call(t.children, function (t) {
                    return s(t, e);
               });
          }
          var u = "ps",
               h = "ps__rtl",
               d = {
                    thumb: function (t) {
                         return "ps__thumb-" + t;
                    },
                    rail: function (t) {
                         return "ps__rail-" + t;
                    },
                    consuming: "ps__child--consume",
               },
               p = {
                    focus: "ps--focus",
                    clicking: "ps--clicking",
                    active: function (t) {
                         return "ps--active-" + t;
                    },
                    scrolling: function (t) {
                         return "ps--scrolling-" + t;
                    },
               },
               f = { x: null, y: null };
          function m(t, e) {
               var i = t.element.classList,
                    n = p.scrolling(e);
               i.contains(n) ? clearTimeout(f[e]) : i.add(n);
          }
          function g(t, e) {
               f[e] = setTimeout(function () {
                    return t.isAlive && t.element.classList.remove(p.scrolling(e));
               }, t.settings.scrollingThreshold);
          }
          var v = function (t) {
                    (this.element = t), (this.handlers = {});
               },
               y = { isEmpty: { configurable: !0 } };
          (v.prototype.bind = function (t, e) {
               void 0 === this.handlers[t] && (this.handlers[t] = []), this.handlers[t].push(e), this.element.addEventListener(t, e, !1);
          }),
               (v.prototype.unbind = function (t, e) {
                    var i = this;
                    this.handlers[t] = this.handlers[t].filter(function (n) {
                         return !(!e || n === e) || (i.element.removeEventListener(t, n, !1), !1);
                    });
               }),
               (v.prototype.unbindAll = function () {
                    for (var t in this.handlers) this.unbind(t);
               }),
               (y.isEmpty.get = function () {
                    var t = this;
                    return Object.keys(this.handlers).every(function (e) {
                         return 0 === t.handlers[e].length;
                    });
               }),
               Object.defineProperties(v.prototype, y);
          var b = function () {
               this.eventElements = [];
          };
          function _(t) {
               if ("function" == typeof window.CustomEvent) return new CustomEvent(t);
               var e = document.createEvent("CustomEvent");
               return e.initCustomEvent(t, !1, !1, void 0), e;
          }
          function x(t, e, i, n, r) {
               var o;
               if ((void 0 === n && (n = !0), void 0 === r && (r = !1), "top" === e)) o = ["contentHeight", "containerHeight", "scrollTop", "y", "up", "down"];
               else {
                    if ("left" !== e) throw new Error("A proper axis should be provided");
                    o = ["contentWidth", "containerWidth", "scrollLeft", "x", "left", "right"];
               }
               !(function (t, e, i, n, r) {
                    var o = i[0],
                         a = i[1],
                         s = i[2],
                         l = i[3],
                         c = i[4],
                         u = i[5];
                    void 0 === n && (n = !0);
                    void 0 === r && (r = !1);
                    var h = t.element;
                    (t.reach[l] = null), h[s] < 1 && (t.reach[l] = "start");
                    h[s] > t[o] - t[a] - 1 && (t.reach[l] = "end");
                    e &&
                         (h.dispatchEvent(_("ps-scroll-" + l)),
                         e < 0 ? h.dispatchEvent(_("ps-scroll-" + c)) : e > 0 && h.dispatchEvent(_("ps-scroll-" + u)),
                         n &&
                              (function (t, e) {
                                   m(t, e), g(t, e);
                              })(t, l));
                    t.reach[l] && (e || r) && h.dispatchEvent(_("ps-" + l + "-reach-" + t.reach[l]));
               })(t, i, o, n, r);
          }
          function w(t) {
               return parseInt(t, 10) || 0;
          }
          (b.prototype.eventElement = function (t) {
               var e = this.eventElements.filter(function (e) {
                    return e.element === t;
               })[0];
               return e || ((e = new v(t)), this.eventElements.push(e)), e;
          }),
               (b.prototype.bind = function (t, e, i) {
                    this.eventElement(t).bind(e, i);
               }),
               (b.prototype.unbind = function (t, e, i) {
                    var n = this.eventElement(t);
                    n.unbind(e, i), n.isEmpty && this.eventElements.splice(this.eventElements.indexOf(n), 1);
               }),
               (b.prototype.unbindAll = function () {
                    this.eventElements.forEach(function (t) {
                         return t.unbindAll();
                    }),
                         (this.eventElements = []);
               }),
               (b.prototype.once = function (t, e, i) {
                    var n = this.eventElement(t),
                         r = function (t) {
                              n.unbind(e, r), i(t);
                         };
                    n.bind(e, r);
               });
          var k = {
               isWebKit: "undefined" != typeof document && "WebkitAppearance" in document.documentElement.style,
               supportsTouch: "undefined" != typeof window && ("ontouchstart" in window || ("maxTouchPoints" in window.navigator && window.navigator.maxTouchPoints > 0) || (window.DocumentTouch && document instanceof window.DocumentTouch)),
               supportsIePointer: "undefined" != typeof navigator && navigator.msMaxTouchPoints,
               isChrome: "undefined" != typeof navigator && /Chrome/i.test(navigator && navigator.userAgent),
          };
          function S(t) {
               var e = t.element,
                    i = Math.floor(e.scrollTop),
                    n = e.getBoundingClientRect();
               (t.containerWidth = Math.ceil(n.width)),
                    (t.containerHeight = Math.ceil(n.height)),
                    (t.contentWidth = e.scrollWidth),
                    (t.contentHeight = e.scrollHeight),
                    e.contains(t.scrollbarXRail) ||
                         (c(e, d.rail("x")).forEach(function (t) {
                              return l(t);
                         }),
                         e.appendChild(t.scrollbarXRail)),
                    e.contains(t.scrollbarYRail) ||
                         (c(e, d.rail("y")).forEach(function (t) {
                              return l(t);
                         }),
                         e.appendChild(t.scrollbarYRail)),
                    !t.settings.suppressScrollX && t.containerWidth + t.settings.scrollXMarginOffset < t.contentWidth
                         ? ((t.scrollbarXActive = !0),
                           (t.railXWidth = t.containerWidth - t.railXMarginWidth),
                           (t.railXRatio = t.containerWidth / t.railXWidth),
                           (t.scrollbarXWidth = M(t, w((t.railXWidth * t.containerWidth) / t.contentWidth))),
                           (t.scrollbarXLeft = w(((t.negativeScrollAdjustment + e.scrollLeft) * (t.railXWidth - t.scrollbarXWidth)) / (t.contentWidth - t.containerWidth))))
                         : (t.scrollbarXActive = !1),
                    !t.settings.suppressScrollY && t.containerHeight + t.settings.scrollYMarginOffset < t.contentHeight
                         ? ((t.scrollbarYActive = !0),
                           (t.railYHeight = t.containerHeight - t.railYMarginHeight),
                           (t.railYRatio = t.containerHeight / t.railYHeight),
                           (t.scrollbarYHeight = M(t, w((t.railYHeight * t.containerHeight) / t.contentHeight))),
                           (t.scrollbarYTop = w((i * (t.railYHeight - t.scrollbarYHeight)) / (t.contentHeight - t.containerHeight))))
                         : (t.scrollbarYActive = !1),
                    t.scrollbarXLeft >= t.railXWidth - t.scrollbarXWidth && (t.scrollbarXLeft = t.railXWidth - t.scrollbarXWidth),
                    t.scrollbarYTop >= t.railYHeight - t.scrollbarYHeight && (t.scrollbarYTop = t.railYHeight - t.scrollbarYHeight),
                    (function (t, e) {
                         var i = { width: e.railXWidth },
                              n = Math.floor(t.scrollTop);
                         e.isRtl ? (i.left = e.negativeScrollAdjustment + t.scrollLeft + e.containerWidth - e.contentWidth) : (i.left = t.scrollLeft);
                         e.isScrollbarXUsingBottom ? (i.bottom = e.scrollbarXBottom - n) : (i.top = e.scrollbarXTop + n);
                         r(e.scrollbarXRail, i);
                         var o = { top: n, height: e.railYHeight };
                         e.isScrollbarYUsingRight
                              ? e.isRtl
                                   ? (o.right = e.contentWidth - (e.negativeScrollAdjustment + t.scrollLeft) - e.scrollbarYRight - e.scrollbarYOuterWidth - 9)
                                   : (o.right = e.scrollbarYRight - t.scrollLeft)
                              : e.isRtl
                              ? (o.left = e.negativeScrollAdjustment + t.scrollLeft + 2 * e.containerWidth - e.contentWidth - e.scrollbarYLeft - e.scrollbarYOuterWidth)
                              : (o.left = e.scrollbarYLeft + t.scrollLeft);
                         r(e.scrollbarYRail, o), r(e.scrollbarX, { left: e.scrollbarXLeft, width: e.scrollbarXWidth - e.railBorderXWidth }), r(e.scrollbarY, { top: e.scrollbarYTop, height: e.scrollbarYHeight - e.railBorderYWidth });
                    })(e, t),
                    t.scrollbarXActive ? e.classList.add(p.active("x")) : (e.classList.remove(p.active("x")), (t.scrollbarXWidth = 0), (t.scrollbarXLeft = 0), (e.scrollLeft = !0 === t.isRtl ? t.contentWidth : 0)),
                    t.scrollbarYActive ? e.classList.add(p.active("y")) : (e.classList.remove(p.active("y")), (t.scrollbarYHeight = 0), (t.scrollbarYTop = 0), (e.scrollTop = 0));
          }
          function M(t, e) {
               return t.settings.minScrollbarLength && (e = Math.max(e, t.settings.minScrollbarLength)), t.settings.maxScrollbarLength && (e = Math.min(e, t.settings.maxScrollbarLength)), e;
          }
          function T(t, e) {
               var i = e[0],
                    n = e[1],
                    r = e[2],
                    o = e[3],
                    a = e[4],
                    s = e[5],
                    l = e[6],
                    c = e[7],
                    u = e[8],
                    h = t.element,
                    d = null,
                    f = null,
                    v = null;
               function y(e) {
                    e.touches && e.touches[0] && (e[r] = e.touches[0].pageY), (h[l] = d + v * (e[r] - f)), m(t, c), S(t), e.stopPropagation(), e.preventDefault();
               }
               function b() {
                    g(t, c), t[u].classList.remove(p.clicking), t.event.unbind(t.ownerDocument, "mousemove", y);
               }
               function _(e, a) {
                    (d = h[l]),
                         a && e.touches && (e[r] = e.touches[0].pageY),
                         (f = e[r]),
                         (v = (t[n] - t[i]) / (t[o] - t[s])),
                         a ? t.event.bind(t.ownerDocument, "touchmove", y) : (t.event.bind(t.ownerDocument, "mousemove", y), t.event.once(t.ownerDocument, "mouseup", b), e.preventDefault()),
                         t[u].classList.add(p.clicking),
                         e.stopPropagation();
               }
               t.event.bind(t[a], "mousedown", function (t) {
                    _(t);
               }),
                    t.event.bind(t[a], "touchstart", function (t) {
                         _(t, !0);
                    });
          }
          var C = {
                    "click-rail": function (t) {
                         t.element,
                              t.event.bind(t.scrollbarY, "mousedown", function (t) {
                                   return t.stopPropagation();
                              }),
                              t.event.bind(t.scrollbarYRail, "mousedown", function (e) {
                                   var i = e.pageY - window.pageYOffset - t.scrollbarYRail.getBoundingClientRect().top > t.scrollbarYTop ? 1 : -1;
                                   (t.element.scrollTop += i * t.containerHeight), S(t), e.stopPropagation();
                              }),
                              t.event.bind(t.scrollbarX, "mousedown", function (t) {
                                   return t.stopPropagation();
                              }),
                              t.event.bind(t.scrollbarXRail, "mousedown", function (e) {
                                   var i = e.pageX - window.pageXOffset - t.scrollbarXRail.getBoundingClientRect().left > t.scrollbarXLeft ? 1 : -1;
                                   (t.element.scrollLeft += i * t.containerWidth), S(t), e.stopPropagation();
                              });
                    },
                    "drag-thumb": function (t) {
                         T(t, ["containerWidth", "contentWidth", "pageX", "railXWidth", "scrollbarX", "scrollbarXWidth", "scrollLeft", "x", "scrollbarXRail"]),
                              T(t, ["containerHeight", "contentHeight", "pageY", "railYHeight", "scrollbarY", "scrollbarYHeight", "scrollTop", "y", "scrollbarYRail"]);
                    },
                    keyboard: function (t) {
                         var e = t.element;
                         t.event.bind(t.ownerDocument, "keydown", function (i) {
                              if (!((i.isDefaultPrevented && i.isDefaultPrevented()) || i.defaultPrevented) && (s(e, ":hover") || s(t.scrollbarX, ":focus") || s(t.scrollbarY, ":focus"))) {
                                   var n,
                                        r = document.activeElement ? document.activeElement : t.ownerDocument.activeElement;
                                   if (r) {
                                        if ("IFRAME" === r.tagName) r = r.contentDocument.activeElement;
                                        else for (; r.shadowRoot; ) r = r.shadowRoot.activeElement;
                                        if (s((n = r), "input,[contenteditable]") || s(n, "select,[contenteditable]") || s(n, "textarea,[contenteditable]") || s(n, "button,[contenteditable]")) return;
                                   }
                                   var o = 0,
                                        a = 0;
                                   switch (i.which) {
                                        case 37:
                                             o = i.metaKey ? -t.contentWidth : i.altKey ? -t.containerWidth : -30;
                                             break;
                                        case 38:
                                             a = i.metaKey ? t.contentHeight : i.altKey ? t.containerHeight : 30;
                                             break;
                                        case 39:
                                             o = i.metaKey ? t.contentWidth : i.altKey ? t.containerWidth : 30;
                                             break;
                                        case 40:
                                             a = i.metaKey ? -t.contentHeight : i.altKey ? -t.containerHeight : -30;
                                             break;
                                        case 32:
                                             a = i.shiftKey ? t.containerHeight : -t.containerHeight;
                                             break;
                                        case 33:
                                             a = t.containerHeight;
                                             break;
                                        case 34:
                                             a = -t.containerHeight;
                                             break;
                                        case 36:
                                             a = t.contentHeight;
                                             break;
                                        case 35:
                                             a = -t.contentHeight;
                                             break;
                                        default:
                                             return;
                                   }
                                   (t.settings.suppressScrollX && 0 !== o) ||
                                        (t.settings.suppressScrollY && 0 !== a) ||
                                        ((e.scrollTop -= a),
                                        (e.scrollLeft += o),
                                        S(t),
                                        (function (i, n) {
                                             var r = Math.floor(e.scrollTop);
                                             if (0 === i) {
                                                  if (!t.scrollbarYActive) return !1;
                                                  if ((0 === r && n > 0) || (r >= t.contentHeight - t.containerHeight && n < 0)) return !t.settings.wheelPropagation;
                                             }
                                             var o = e.scrollLeft;
                                             if (0 === n) {
                                                  if (!t.scrollbarXActive) return !1;
                                                  if ((0 === o && i < 0) || (o >= t.contentWidth - t.containerWidth && i > 0)) return !t.settings.wheelPropagation;
                                             }
                                             return !0;
                                        })(o, a) && i.preventDefault());
                              }
                         });
                    },
                    wheel: function (t) {
                         var e = t.element;
                         function i(i) {
                              var r = (function (t) {
                                        var e = t.deltaX,
                                             i = -1 * t.deltaY;
                                        return (
                                             (void 0 !== e && void 0 !== i) || ((e = (-1 * t.wheelDeltaX) / 6), (i = t.wheelDeltaY / 6)),
                                             t.deltaMode && 1 === t.deltaMode && ((e *= 10), (i *= 10)),
                                             e != e && i != i && ((e = 0), (i = t.wheelDelta)),
                                             t.shiftKey ? [-i, -e] : [e, i]
                                        );
                                   })(i),
                                   o = r[0],
                                   a = r[1];
                              if (
                                   !(function (t, i, r) {
                                        if (!k.isWebKit && e.querySelector("select:focus")) return !0;
                                        if (!e.contains(t)) return !1;
                                        for (var o = t; o && o !== e; ) {
                                             if (o.classList.contains(d.consuming)) return !0;
                                             var a = n(o);
                                             if (r && a.overflowY.match(/(scroll|auto)/)) {
                                                  var s = o.scrollHeight - o.clientHeight;
                                                  if (s > 0 && ((o.scrollTop > 0 && r < 0) || (o.scrollTop < s && r > 0))) return !0;
                                             }
                                             if (i && a.overflowX.match(/(scroll|auto)/)) {
                                                  var l = o.scrollWidth - o.clientWidth;
                                                  if (l > 0 && ((o.scrollLeft > 0 && i < 0) || (o.scrollLeft < l && i > 0))) return !0;
                                             }
                                             o = o.parentNode;
                                        }
                                        return !1;
                                   })(i.target, o, a)
                              ) {
                                   var s = !1;
                                   t.settings.useBothWheelAxes
                                        ? t.scrollbarYActive && !t.scrollbarXActive
                                             ? (a ? (e.scrollTop -= a * t.settings.wheelSpeed) : (e.scrollTop += o * t.settings.wheelSpeed), (s = !0))
                                             : t.scrollbarXActive && !t.scrollbarYActive && (o ? (e.scrollLeft += o * t.settings.wheelSpeed) : (e.scrollLeft -= a * t.settings.wheelSpeed), (s = !0))
                                        : ((e.scrollTop -= a * t.settings.wheelSpeed), (e.scrollLeft += o * t.settings.wheelSpeed)),
                                        S(t),
                                        (s =
                                             s ||
                                             (function (i, n) {
                                                  var r = Math.floor(e.scrollTop),
                                                       o = 0 === e.scrollTop,
                                                       a = r + e.offsetHeight === e.scrollHeight,
                                                       s = 0 === e.scrollLeft,
                                                       l = e.scrollLeft + e.offsetWidth === e.scrollWidth;
                                                  return !(Math.abs(n) > Math.abs(i) ? o || a : s || l) || !t.settings.wheelPropagation;
                                             })(o, a)) &&
                                             !i.ctrlKey &&
                                             (i.stopPropagation(), i.preventDefault());
                              }
                         }
                         void 0 !== window.onwheel ? t.event.bind(e, "wheel", i) : void 0 !== window.onmousewheel && t.event.bind(e, "mousewheel", i);
                    },
                    touch: function (t) {
                         if (k.supportsTouch || k.supportsIePointer) {
                              var e = t.element,
                                   i = {},
                                   r = 0,
                                   o = {},
                                   a = null;
                              k.supportsTouch
                                   ? (t.event.bind(e, "touchstart", u), t.event.bind(e, "touchmove", h), t.event.bind(e, "touchend", p))
                                   : k.supportsIePointer &&
                                     (window.PointerEvent
                                          ? (t.event.bind(e, "pointerdown", u), t.event.bind(e, "pointermove", h), t.event.bind(e, "pointerup", p))
                                          : window.MSPointerEvent && (t.event.bind(e, "MSPointerDown", u), t.event.bind(e, "MSPointerMove", h), t.event.bind(e, "MSPointerUp", p)));
                         }
                         function s(i, n) {
                              (e.scrollTop -= n), (e.scrollLeft -= i), S(t);
                         }
                         function l(t) {
                              return t.targetTouches ? t.targetTouches[0] : t;
                         }
                         function c(t) {
                              return (
                                   (!t.pointerType || "pen" !== t.pointerType || 0 !== t.buttons) &&
                                   (!(!t.targetTouches || 1 !== t.targetTouches.length) || !(!t.pointerType || "mouse" === t.pointerType || t.pointerType === t.MSPOINTER_TYPE_MOUSE))
                              );
                         }
                         function u(t) {
                              if (c(t)) {
                                   var e = l(t);
                                   (i.pageX = e.pageX), (i.pageY = e.pageY), (r = new Date().getTime()), null !== a && clearInterval(a);
                              }
                         }
                         function h(a) {
                              if (c(a)) {
                                   var u = l(a),
                                        h = { pageX: u.pageX, pageY: u.pageY },
                                        p = h.pageX - i.pageX,
                                        f = h.pageY - i.pageY;
                                   if (
                                        (function (t, i, r) {
                                             if (!e.contains(t)) return !1;
                                             for (var o = t; o && o !== e; ) {
                                                  if (o.classList.contains(d.consuming)) return !0;
                                                  var a = n(o);
                                                  if (r && a.overflowY.match(/(scroll|auto)/)) {
                                                       var s = o.scrollHeight - o.clientHeight;
                                                       if (s > 0 && ((o.scrollTop > 0 && r < 0) || (o.scrollTop < s && r > 0))) return !0;
                                                  }
                                                  if (i && a.overflowX.match(/(scroll|auto)/)) {
                                                       var l = o.scrollWidth - o.clientWidth;
                                                       if (l > 0 && ((o.scrollLeft > 0 && i < 0) || (o.scrollLeft < l && i > 0))) return !0;
                                                  }
                                                  o = o.parentNode;
                                             }
                                             return !1;
                                        })(a.target, p, f)
                                   )
                                        return;
                                   s(p, f), (i = h);
                                   var m = new Date().getTime(),
                                        g = m - r;
                                   g > 0 && ((o.x = p / g), (o.y = f / g), (r = m)),
                                        (function (i, n) {
                                             var r = Math.floor(e.scrollTop),
                                                  o = e.scrollLeft,
                                                  a = Math.abs(i),
                                                  s = Math.abs(n);
                                             if (s > a) {
                                                  if ((n < 0 && r === t.contentHeight - t.containerHeight) || (n > 0 && 0 === r)) return 0 === window.scrollY && n > 0 && k.isChrome;
                                             } else if (a > s && ((i < 0 && o === t.contentWidth - t.containerWidth) || (i > 0 && 0 === o))) return !0;
                                             return !0;
                                        })(p, f) && a.preventDefault();
                              }
                         }
                         function p() {
                              t.settings.swipeEasing &&
                                   (clearInterval(a),
                                   (a = setInterval(function () {
                                        t.isInitialized ? clearInterval(a) : o.x || o.y ? (Math.abs(o.x) < 0.01 && Math.abs(o.y) < 0.01 ? clearInterval(a) : (s(30 * o.x, 30 * o.y), (o.x *= 0.8), (o.y *= 0.8))) : clearInterval(a);
                                   }, 10)));
                         }
                    },
               },
               D = function (t, e) {
                    var i = this;
                    if ((void 0 === e && (e = {}), "string" == typeof t && (t = document.querySelector(t)), !t || !t.nodeName)) throw new Error("no element is specified to initialize PerfectScrollbar");
                    for (var a in ((this.element = t),
                    t.classList.add(u),
                    (this.settings = {
                         handlers: ["click-rail", "drag-thumb", "keyboard", "wheel", "touch"],
                         maxScrollbarLength: null,
                         minScrollbarLength: null,
                         scrollingThreshold: 1e3,
                         scrollXMarginOffset: 0,
                         scrollYMarginOffset: 0,
                         suppressScrollX: !1,
                         suppressScrollY: !1,
                         swipeEasing: !0,
                         useBothWheelAxes: !1,
                         wheelPropagation: !0,
                         wheelSpeed: 1,
                    }),
                    e))
                         this.settings[a] = e[a];
                    (this.containerWidth = null), (this.containerHeight = null), (this.contentWidth = null), (this.contentHeight = null);
                    var s,
                         l,
                         c = function () {
                              return t.classList.add(p.focus);
                         },
                         f = function () {
                              return t.classList.remove(p.focus);
                         };
                    (this.isRtl = "rtl" === n(t).direction),
                         !0 === this.isRtl && t.classList.add(h),
                         (this.isNegativeScroll = ((l = t.scrollLeft), (t.scrollLeft = -1), (s = t.scrollLeft < 0), (t.scrollLeft = l), s)),
                         (this.negativeScrollAdjustment = this.isNegativeScroll ? t.scrollWidth - t.clientWidth : 0),
                         (this.event = new b()),
                         (this.ownerDocument = t.ownerDocument || document),
                         (this.scrollbarXRail = o(d.rail("x"))),
                         t.appendChild(this.scrollbarXRail),
                         (this.scrollbarX = o(d.thumb("x"))),
                         this.scrollbarXRail.appendChild(this.scrollbarX),
                         this.scrollbarX.setAttribute("tabindex", 0),
                         this.event.bind(this.scrollbarX, "focus", c),
                         this.event.bind(this.scrollbarX, "blur", f),
                         (this.scrollbarXActive = null),
                         (this.scrollbarXWidth = null),
                         (this.scrollbarXLeft = null);
                    var m = n(this.scrollbarXRail);
                    (this.scrollbarXBottom = parseInt(m.bottom, 10)),
                         isNaN(this.scrollbarXBottom) ? ((this.isScrollbarXUsingBottom = !1), (this.scrollbarXTop = w(m.top))) : (this.isScrollbarXUsingBottom = !0),
                         (this.railBorderXWidth = w(m.borderLeftWidth) + w(m.borderRightWidth)),
                         r(this.scrollbarXRail, { display: "block" }),
                         (this.railXMarginWidth = w(m.marginLeft) + w(m.marginRight)),
                         r(this.scrollbarXRail, { display: "" }),
                         (this.railXWidth = null),
                         (this.railXRatio = null),
                         (this.scrollbarYRail = o(d.rail("y"))),
                         t.appendChild(this.scrollbarYRail),
                         (this.scrollbarY = o(d.thumb("y"))),
                         this.scrollbarYRail.appendChild(this.scrollbarY),
                         this.scrollbarY.setAttribute("tabindex", 0),
                         this.event.bind(this.scrollbarY, "focus", c),
                         this.event.bind(this.scrollbarY, "blur", f),
                         (this.scrollbarYActive = null),
                         (this.scrollbarYHeight = null),
                         (this.scrollbarYTop = null);
                    var g = n(this.scrollbarYRail);
                    (this.scrollbarYRight = parseInt(g.right, 10)),
                         isNaN(this.scrollbarYRight) ? ((this.isScrollbarYUsingRight = !1), (this.scrollbarYLeft = w(g.left))) : (this.isScrollbarYUsingRight = !0),
                         (this.scrollbarYOuterWidth = this.isRtl
                              ? (function (t) {
                                     var e = n(t);
                                     return w(e.width) + w(e.paddingLeft) + w(e.paddingRight) + w(e.borderLeftWidth) + w(e.borderRightWidth);
                                })(this.scrollbarY)
                              : null),
                         (this.railBorderYWidth = w(g.borderTopWidth) + w(g.borderBottomWidth)),
                         r(this.scrollbarYRail, { display: "block" }),
                         (this.railYMarginHeight = w(g.marginTop) + w(g.marginBottom)),
                         r(this.scrollbarYRail, { display: "" }),
                         (this.railYHeight = null),
                         (this.railYRatio = null),
                         (this.reach = {
                              x: t.scrollLeft <= 0 ? "start" : t.scrollLeft >= this.contentWidth - this.containerWidth ? "end" : null,
                              y: t.scrollTop <= 0 ? "start" : t.scrollTop >= this.contentHeight - this.containerHeight ? "end" : null,
                         }),
                         (this.isAlive = !0),
                         this.settings.handlers.forEach(function (t) {
                              return C[t](i);
                         }),
                         (this.lastScrollTop = Math.floor(t.scrollTop)),
                         (this.lastScrollLeft = t.scrollLeft),
                         this.event.bind(this.element, "scroll", function (t) {
                              return i.onScroll(t);
                         }),
                         S(this);
               };
          (D.prototype.update = function () {
               this.isAlive &&
                    ((this.negativeScrollAdjustment = this.isNegativeScroll ? this.element.scrollWidth - this.element.clientWidth : 0),
                    r(this.scrollbarXRail, { display: "block" }),
                    r(this.scrollbarYRail, { display: "block" }),
                    (this.railXMarginWidth = w(n(this.scrollbarXRail).marginLeft) + w(n(this.scrollbarXRail).marginRight)),
                    (this.railYMarginHeight = w(n(this.scrollbarYRail).marginTop) + w(n(this.scrollbarYRail).marginBottom)),
                    r(this.scrollbarXRail, { display: "none" }),
                    r(this.scrollbarYRail, { display: "none" }),
                    S(this),
                    x(this, "top", 0, !1, !0),
                    x(this, "left", 0, !1, !0),
                    r(this.scrollbarXRail, { display: "" }),
                    r(this.scrollbarYRail, { display: "" }));
          }),
               (D.prototype.onScroll = function (t) {
                    this.isAlive &&
                         (S(this),
                         x(this, "top", this.element.scrollTop - this.lastScrollTop),
                         x(this, "left", this.element.scrollLeft - this.lastScrollLeft),
                         (this.lastScrollTop = Math.floor(this.element.scrollTop)),
                         (this.lastScrollLeft = this.element.scrollLeft));
               }),
               (D.prototype.destroy = function () {
                    this.isAlive &&
                         (this.event.unbindAll(),
                         l(this.scrollbarX),
                         l(this.scrollbarY),
                         l(this.scrollbarXRail),
                         l(this.scrollbarYRail),
                         this.removePsClasses(),
                         (this.element = null),
                         (this.scrollbarX = null),
                         (this.scrollbarY = null),
                         (this.scrollbarXRail = null),
                         (this.scrollbarYRail = null),
                         (this.isAlive = !1));
               }),
               (D.prototype.removePsClasses = function () {
                    this.element.className = this.element.className
                         .split(" ")
                         .filter(function (t) {
                              return !t.match(/^ps([-_].+|)$/);
                         })
                         .join(" ");
               }),
               (e.a = D);
     },
     function (t, e, i) {
          t.exports = (function () {
               "use strict";
               var t, e, i;
               function n(n, r) {
                    if (t)
                         if (e) {
                              var o = "var sharedChunk = {}; (" + t + ")(sharedChunk); (" + e + ")(sharedChunk);",
                                   a = {};
                              t(a), ((i = r(a)).workerUrl = window.URL.createObjectURL(new Blob([o], { type: "text/javascript" })));
                         } else e = r;
                    else t = r;
               }
               return (
                    n(0, function (t) {
                         function e(t, e) {
                              return t((e = { exports: {} }), e.exports), e.exports;
                         }
                         var i = n;
                         function n(t, e, i, n) {
                              (this.cx = 3 * t),
                                   (this.bx = 3 * (i - t) - this.cx),
                                   (this.ax = 1 - this.cx - this.bx),
                                   (this.cy = 3 * e),
                                   (this.by = 3 * (n - e) - this.cy),
                                   (this.ay = 1 - this.cy - this.by),
                                   (this.p1x = t),
                                   (this.p1y = n),
                                   (this.p2x = i),
                                   (this.p2y = n);
                         }
                         (n.prototype.sampleCurveX = function (t) {
                              return ((this.ax * t + this.bx) * t + this.cx) * t;
                         }),
                              (n.prototype.sampleCurveY = function (t) {
                                   return ((this.ay * t + this.by) * t + this.cy) * t;
                              }),
                              (n.prototype.sampleCurveDerivativeX = function (t) {
                                   return (3 * this.ax * t + 2 * this.bx) * t + this.cx;
                              }),
                              (n.prototype.solveCurveX = function (t, e) {
                                   var i, n, r, o, a;
                                   for (void 0 === e && (e = 1e-6), r = t, a = 0; a < 8; a++) {
                                        if (((o = this.sampleCurveX(r) - t), Math.abs(o) < e)) return r;
                                        var s = this.sampleCurveDerivativeX(r);
                                        if (Math.abs(s) < 1e-6) break;
                                        r -= o / s;
                                   }
                                   if ((r = t) < (i = 0)) return i;
                                   if (r > (n = 1)) return n;
                                   for (; i < n; ) {
                                        if (((o = this.sampleCurveX(r)), Math.abs(o - t) < e)) return r;
                                        t > o ? (i = r) : (n = r), (r = 0.5 * (n - i) + i);
                                   }
                                   return r;
                              }),
                              (n.prototype.solve = function (t, e) {
                                   return this.sampleCurveY(this.solveCurveX(t, e));
                              });
                         var r = o;
                         function o(t, e) {
                              (this.x = t), (this.y = e);
                         }
                         function a(t, e, n, r) {
                              var o = new i(t, e, n, r);
                              return function (t) {
                                   return o.solve(t);
                              };
                         }
                         (o.prototype = {
                              clone: function () {
                                   return new o(this.x, this.y);
                              },
                              add: function (t) {
                                   return this.clone()._add(t);
                              },
                              sub: function (t) {
                                   return this.clone()._sub(t);
                              },
                              multByPoint: function (t) {
                                   return this.clone()._multByPoint(t);
                              },
                              divByPoint: function (t) {
                                   return this.clone()._divByPoint(t);
                              },
                              mult: function (t) {
                                   return this.clone()._mult(t);
                              },
                              div: function (t) {
                                   return this.clone()._div(t);
                              },
                              rotate: function (t) {
                                   return this.clone()._rotate(t);
                              },
                              rotateAround: function (t, e) {
                                   return this.clone()._rotateAround(t, e);
                              },
                              matMult: function (t) {
                                   return this.clone()._matMult(t);
                              },
                              unit: function () {
                                   return this.clone()._unit();
                              },
                              perp: function () {
                                   return this.clone()._perp();
                              },
                              round: function () {
                                   return this.clone()._round();
                              },
                              mag: function () {
                                   return Math.sqrt(this.x * this.x + this.y * this.y);
                              },
                              equals: function (t) {
                                   return this.x === t.x && this.y === t.y;
                              },
                              dist: function (t) {
                                   return Math.sqrt(this.distSqr(t));
                              },
                              distSqr: function (t) {
                                   var e = t.x - this.x,
                                        i = t.y - this.y;
                                   return e * e + i * i;
                              },
                              angle: function () {
                                   return Math.atan2(this.y, this.x);
                              },
                              angleTo: function (t) {
                                   return Math.atan2(this.y - t.y, this.x - t.x);
                              },
                              angleWith: function (t) {
                                   return this.angleWithSep(t.x, t.y);
                              },
                              angleWithSep: function (t, e) {
                                   return Math.atan2(this.x * e - this.y * t, this.x * t + this.y * e);
                              },
                              _matMult: function (t) {
                                   var e = t[2] * this.x + t[3] * this.y;
                                   return (this.x = t[0] * this.x + t[1] * this.y), (this.y = e), this;
                              },
                              _add: function (t) {
                                   return (this.x += t.x), (this.y += t.y), this;
                              },
                              _sub: function (t) {
                                   return (this.x -= t.x), (this.y -= t.y), this;
                              },
                              _mult: function (t) {
                                   return (this.x *= t), (this.y *= t), this;
                              },
                              _div: function (t) {
                                   return (this.x /= t), (this.y /= t), this;
                              },
                              _multByPoint: function (t) {
                                   return (this.x *= t.x), (this.y *= t.y), this;
                              },
                              _divByPoint: function (t) {
                                   return (this.x /= t.x), (this.y /= t.y), this;
                              },
                              _unit: function () {
                                   return this._div(this.mag()), this;
                              },
                              _perp: function () {
                                   var t = this.y;
                                   return (this.y = this.x), (this.x = -t), this;
                              },
                              _rotate: function (t) {
                                   var e = Math.cos(t),
                                        i = Math.sin(t),
                                        n = i * this.x + e * this.y;
                                   return (this.x = e * this.x - i * this.y), (this.y = n), this;
                              },
                              _rotateAround: function (t, e) {
                                   var i = Math.cos(t),
                                        n = Math.sin(t),
                                        r = e.y + n * (this.x - e.x) + i * (this.y - e.y);
                                   return (this.x = e.x + i * (this.x - e.x) - n * (this.y - e.y)), (this.y = r), this;
                              },
                              _round: function () {
                                   return (this.x = Math.round(this.x)), (this.y = Math.round(this.y)), this;
                              },
                         }),
                              (o.convert = function (t) {
                                   return t instanceof o ? t : Array.isArray(t) ? new o(t[0], t[1]) : t;
                              });
                         var s = a(0.25, 0.1, 0.25, 1);
                         function l(t, e, i) {
                              return Math.min(i, Math.max(e, t));
                         }
                         function c(t, e, i) {
                              var n = i - e,
                                   r = ((((t - e) % n) + n) % n) + e;
                              return r === e ? i : r;
                         }
                         function u(t) {
                              for (var e = [], i = arguments.length - 1; i-- > 0; ) e[i] = arguments[i + 1];
                              for (var n = 0, r = e; n < r.length; n += 1) {
                                   var o = r[n];
                                   for (var a in o) t[a] = o[a];
                              }
                              return t;
                         }
                         var h = 1;
                         function d() {
                              return h++;
                         }
                         function p() {
                              return (function t(e) {
                                   return e ? (e ^ ((16 * Math.random()) >> (e / 4))).toString(16) : ([1e7] + -[1e3] + -4e3 + -8e3 + -1e11).replace(/[018]/g, t);
                              })();
                         }
                         function f(t) {
                              return !!t && /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t);
                         }
                         function m(t, e) {
                              t.forEach(function (t) {
                                   e[t] && (e[t] = e[t].bind(e));
                              });
                         }
                         function g(t, e) {
                              return -1 !== t.indexOf(e, t.length - e.length);
                         }
                         function v(t, e, i) {
                              var n = {};
                              for (var r in t) n[r] = e.call(i || this, t[r], r, t);
                              return n;
                         }
                         function y(t, e, i) {
                              var n = {};
                              for (var r in t) e.call(i || this, t[r], r, t) && (n[r] = t[r]);
                              return n;
                         }
                         function b(t) {
                              return Array.isArray(t) ? t.map(b) : "object" == typeof t && t ? v(t, b) : t;
                         }
                         var _ = {};
                         function x(t) {
                              _[t] || ("undefined" != typeof console && console.warn(t), (_[t] = !0));
                         }
                         function w(t, e, i) {
                              return (i.y - t.y) * (e.x - t.x) > (e.y - t.y) * (i.x - t.x);
                         }
                         function k(t) {
                              for (var e = 0, i = 0, n = t.length, r = n - 1, o = void 0, a = void 0; i < n; r = i++) e += ((a = t[r]).x - (o = t[i]).x) * (o.y + a.y);
                              return e;
                         }
                         function S() {
                              return "undefined" != typeof WorkerGlobalScope && "undefined" != typeof self && self instanceof WorkerGlobalScope;
                         }
                         function M(t) {
                              var e = {};
                              if (
                                   (t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g, function (t, i, n, r) {
                                        var o = n || r;
                                        return (e[i] = !o || o.toLowerCase()), "";
                                   }),
                                   e["max-age"])
                              ) {
                                   var i = parseInt(e["max-age"], 10);
                                   isNaN(i) ? delete e["max-age"] : (e["max-age"] = i);
                              }
                              return e;
                         }
                         var T = null;
                         function C(t) {
                              if (null == T) {
                                   var e = t.navigator ? t.navigator.userAgent : null;
                                   T = !!t.safari || !(!e || !(/\b(iPad|iPhone|iPod)\b/.test(e) || (e.match("Safari") && !e.match("Chrome"))));
                              }
                              return T;
                         }
                         function D(t) {
                              try {
                                   var e = self[t];
                                   return e.setItem("_mapbox_test_", 1), e.removeItem("_mapbox_test_"), !0;
                              } catch (t) {
                                   return !1;
                              }
                         }
                         var L,
                              E,
                              A,
                              P,
                              I = self.performance && self.performance.now ? self.performance.now.bind(self.performance) : Date.now.bind(Date),
                              O = self.requestAnimationFrame || self.mozRequestAnimationFrame || self.webkitRequestAnimationFrame || self.msRequestAnimationFrame,
                              Y = self.cancelAnimationFrame || self.mozCancelAnimationFrame || self.webkitCancelAnimationFrame || self.msCancelAnimationFrame,
                              z = {
                                   now: I,
                                   frame: function (t) {
                                        var e = O(t);
                                        return {
                                             cancel: function () {
                                                  return Y(e);
                                             },
                                        };
                                   },
                                   getImageData: function (t, e) {
                                        void 0 === e && (e = 0);
                                        var i = self.document.createElement("canvas"),
                                             n = i.getContext("2d");
                                        if (!n) throw new Error("failed to create canvas 2d context");
                                        return (i.width = t.width), (i.height = t.height), n.drawImage(t, 0, 0, t.width, t.height), n.getImageData(-e, -e, t.width + 2 * e, t.height + 2 * e);
                                   },
                                   resolveURL: function (t) {
                                        return L || (L = self.document.createElement("a")), (L.href = t), L.href;
                                   },
                                   hardwareConcurrency: self.navigator.hardwareConcurrency || 4,
                                   get devicePixelRatio() {
                                        return self.devicePixelRatio;
                                   },
                                   get prefersReducedMotion() {
                                        return !!self.matchMedia && (null == E && (E = self.matchMedia("(prefers-reduced-motion: reduce)")), E.matches);
                                   },
                              },
                              R = {
                                   API_URL: "https://api.mapbox.com",
                                   get EVENTS_URL() {
                                        return this.API_URL
                                             ? 0 === this.API_URL.indexOf("https://api.mapbox.cn")
                                                  ? "https://events.mapbox.cn/events/v2"
                                                  : 0 === this.API_URL.indexOf("https://api.mapbox.com")
                                                  ? "https://events.mapbox.com/events/v2"
                                                  : null
                                             : null;
                                   },
                                   FEEDBACK_URL: "https://apps.mapbox.com/feedback",
                                   REQUIRE_ACCESS_TOKEN: !0,
                                   ACCESS_TOKEN: null,
                                   MAX_PARALLEL_IMAGE_REQUESTS: 16,
                              },
                              F = {
                                   supported: !1,
                                   testSupport: function (t) {
                                        !H && P && (j ? N(t) : (A = t));
                                   },
                              },
                              H = !1,
                              j = !1;
                         function N(t) {
                              var e = t.createTexture();
                              t.bindTexture(t.TEXTURE_2D, e);
                              try {
                                   if ((t.texImage2D(t.TEXTURE_2D, 0, t.RGBA, t.RGBA, t.UNSIGNED_BYTE, P), t.isContextLost())) return;
                                   F.supported = !0;
                              } catch (t) {}
                              t.deleteTexture(e), (H = !0);
                         }
                         self.document &&
                              (((P = self.document.createElement("img")).onload = function () {
                                   A && N(A), (A = null), (j = !0);
                              }),
                              (P.onerror = function () {
                                   (H = !0), (A = null);
                              }),
                              (P.src = "data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="));
                         var B = "01",
                              W = function (t, e) {
                                   (this._transformRequestFn = t), (this._customAccessToken = e), this._createSkuToken();
                              };
                         function V(t) {
                              return 0 === t.indexOf("mapbox:");
                         }
                         (W.prototype._createSkuToken = function () {
                              var t = (function () {
                                   for (var t = "", e = 0; e < 10; e++) t += "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62 * Math.random())];
                                   return { token: ["1", B, t].join(""), tokenExpiresAt: Date.now() + 432e5 };
                              })();
                              (this._skuToken = t.token), (this._skuTokenExpiresAt = t.tokenExpiresAt);
                         }),
                              (W.prototype._isSkuTokenExpired = function () {
                                   return Date.now() > this._skuTokenExpiresAt;
                              }),
                              (W.prototype.transformRequest = function (t, e) {
                                   return (this._transformRequestFn && this._transformRequestFn(t, e)) || { url: t };
                              }),
                              (W.prototype.normalizeStyleURL = function (t, e) {
                                   if (!V(t)) return t;
                                   var i = X(t);
                                   return (i.path = "/styles/v1" + i.path), this._makeAPIURL(i, this._customAccessToken || e);
                              }),
                              (W.prototype.normalizeGlyphsURL = function (t, e) {
                                   if (!V(t)) return t;
                                   var i = X(t);
                                   return (i.path = "/fonts/v1" + i.path), this._makeAPIURL(i, this._customAccessToken || e);
                              }),
                              (W.prototype.normalizeSourceURL = function (t, e) {
                                   if (!V(t)) return t;
                                   var i = X(t);
                                   return (i.path = "/v4/" + i.authority + ".json"), i.params.push("secure"), this._makeAPIURL(i, this._customAccessToken || e);
                              }),
                              (W.prototype.normalizeSpriteURL = function (t, e, i, n) {
                                   var r = X(t);
                                   return V(t) ? ((r.path = "/styles/v1" + r.path + "/sprite" + e + i), this._makeAPIURL(r, this._customAccessToken || n)) : ((r.path += "" + e + i), G(r));
                              }),
                              (W.prototype.normalizeTileURL = function (t, e) {
                                   if ((this._isSkuTokenExpired() && this._createSkuToken(), t && !V(t))) return t;
                                   var i = X(t);
                                   (i.path = i.path.replace(/(\.(png|jpg)\d*)(?=$)/, (z.devicePixelRatio >= 2 || 512 === e ? "@2x" : "") + (F.supported ? ".webp" : "$1"))),
                                        (i.path = i.path.replace(/^.+\/v4\//, "/")),
                                        (i.path = "/v4" + i.path);
                                   var n =
                                        this._customAccessToken ||
                                        (function (t) {
                                             for (var e = 0, i = t; e < i.length; e += 1) {
                                                  var n = i[e].match(/^access_token=(.*)$/);
                                                  if (n) return n[1];
                                             }
                                             return null;
                                        })(i.params) ||
                                        R.ACCESS_TOKEN;
                                   return R.REQUIRE_ACCESS_TOKEN && n && this._skuToken && i.params.push("sku=" + this._skuToken), this._makeAPIURL(i, n);
                              }),
                              (W.prototype.canonicalizeTileURL = function (t, e) {
                                   var i = X(t);
                                   if (!i.path.match(/(^\/v4\/)/) || !i.path.match(/\.[\w]+$/)) return t;
                                   var n = "mapbox://tiles/";
                                   n += i.path.replace("/v4/", "");
                                   var r = i.params;
                                   return (
                                        e &&
                                             (r = r.filter(function (t) {
                                                  return !t.match(/^access_token=/);
                                             })),
                                        r.length && (n += "?" + r.join("&")),
                                        n
                                   );
                              }),
                              (W.prototype.canonicalizeTileset = function (t, e) {
                                   for (var i = !!e && V(e), n = [], r = 0, o = t.tiles || []; r < o.length; r += 1) {
                                        var a = o[r];
                                        q(a) ? n.push(this.canonicalizeTileURL(a, i)) : n.push(a);
                                   }
                                   return n;
                              }),
                              (W.prototype._makeAPIURL = function (t, e) {
                                   var i = "See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes",
                                        n = X(R.API_URL);
                                   if (((t.protocol = n.protocol), (t.authority = n.authority), "/" !== n.path && (t.path = "" + n.path + t.path), !R.REQUIRE_ACCESS_TOKEN)) return G(t);
                                   if (!(e = e || R.ACCESS_TOKEN)) throw new Error("An API access token is required to use Mapbox GL. " + i);
                                   if ("s" === e[0]) throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). " + i);
                                   return (
                                        (t.params = t.params.filter(function (t) {
                                             return -1 === t.indexOf("access_token");
                                        })),
                                        t.params.push("access_token=" + e),
                                        G(t)
                                   );
                              });
                         var U = /^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;
                         function q(t) {
                              return U.test(t);
                         }
                         var $ = /^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;
                         function X(t) {
                              var e = t.match($);
                              if (!e) throw new Error("Unable to parse URL object");
                              return { protocol: e[1], authority: e[2], path: e[3] || "/", params: e[4] ? e[4].split("&") : [] };
                         }
                         function G(t) {
                              var e = t.params.length ? "?" + t.params.join("&") : "";
                              return t.protocol + "://" + t.authority + t.path + e;
                         }
                         function Z(t) {
                              if (!t) return null;
                              var e = t.split(".");
                              if (!e || 3 !== e.length) return null;
                              try {
                                   return JSON.parse(
                                        decodeURIComponent(
                                             self
                                                  .atob(e[1])
                                                  .split("")
                                                  .map(function (t) {
                                                       return "%" + ("00" + t.charCodeAt(0).toString(16)).slice(-2);
                                                  })
                                                  .join("")
                                        )
                                   );
                              } catch (t) {
                                   return null;
                              }
                         }
                         var J = function (t) {
                              (this.type = t), (this.anonId = null), (this.eventData = {}), (this.queue = []), (this.pendingRequest = null);
                         };
                         (J.prototype.getStorageKey = function (t) {
                              var e,
                                   i = Z(R.ACCESS_TOKEN);
                              return (
                                   (e =
                                        i && i.u
                                             ? self.btoa(
                                                    encodeURIComponent(i.u).replace(/%([0-9A-F]{2})/g, function (t, e) {
                                                         return String.fromCharCode(Number("0x" + e));
                                                    })
                                               )
                                             : R.ACCESS_TOKEN || ""),
                                   t ? "mapbox.eventData." + t + ":" + e : "mapbox.eventData:" + e
                              );
                         }),
                              (J.prototype.fetchEventData = function () {
                                   var t = D("localStorage"),
                                        e = this.getStorageKey(),
                                        i = this.getStorageKey("uuid");
                                   if (t)
                                        try {
                                             var n = self.localStorage.getItem(e);
                                             n && (this.eventData = JSON.parse(n));
                                             var r = self.localStorage.getItem(i);
                                             r && (this.anonId = r);
                                        } catch (t) {
                                             x("Unable to read from LocalStorage");
                                        }
                              }),
                              (J.prototype.saveEventData = function () {
                                   var t = D("localStorage"),
                                        e = this.getStorageKey(),
                                        i = this.getStorageKey("uuid");
                                   if (t)
                                        try {
                                             self.localStorage.setItem(i, this.anonId), Object.keys(this.eventData).length >= 1 && self.localStorage.setItem(e, JSON.stringify(this.eventData));
                                        } catch (t) {
                                             x("Unable to write to LocalStorage");
                                        }
                              }),
                              (J.prototype.processRequests = function (t) {}),
                              (J.prototype.postEvent = function (t, e, i, n) {
                                   var r = this;
                                   if (R.EVENTS_URL) {
                                        var o = X(R.EVENTS_URL);
                                        o.params.push("access_token=" + (n || R.ACCESS_TOKEN || ""));
                                        var a = { event: this.type, created: new Date(t).toISOString(), sdkIdentifier: "mapbox-gl-js", sdkVersion: "1.10.1", skuId: B, userId: this.anonId },
                                             s = e ? u(a, e) : a,
                                             l = { url: G(o), headers: { "Content-Type": "text/plain" }, body: JSON.stringify([s]) };
                                        this.pendingRequest = bt(l, function (t) {
                                             (r.pendingRequest = null), i(t), r.saveEventData(), r.processRequests(n);
                                        });
                                   }
                              }),
                              (J.prototype.queueRequest = function (t, e) {
                                   this.queue.push(t), this.processRequests(e);
                              });
                         var K,
                              Q,
                              tt = (function (t) {
                                   function e() {
                                        t.call(this, "map.load"), (this.success = {}), (this.skuToken = "");
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.postMapLoadEvent = function (t, e, i, n) {
                                             (this.skuToken = i),
                                                  ((R.EVENTS_URL && n) ||
                                                       (R.ACCESS_TOKEN &&
                                                            Array.isArray(t) &&
                                                            t.some(function (t) {
                                                                 return V(t) || q(t);
                                                            }))) &&
                                                       this.queueRequest({ id: e, timestamp: Date.now() }, n);
                                        }),
                                        (e.prototype.processRequests = function (t) {
                                             var e = this;
                                             if (!this.pendingRequest && 0 !== this.queue.length) {
                                                  var i = this.queue.shift(),
                                                       n = i.id,
                                                       r = i.timestamp;
                                                  (n && this.success[n]) ||
                                                       (this.anonId || this.fetchEventData(),
                                                       f(this.anonId) || (this.anonId = p()),
                                                       this.postEvent(
                                                            r,
                                                            { skuToken: this.skuToken },
                                                            function (t) {
                                                                 t || (n && (e.success[n] = !0));
                                                            },
                                                            t
                                                       ));
                                             }
                                        }),
                                        e
                                   );
                              })(J),
                              et = new ((function (t) {
                                   function e(e) {
                                        t.call(this, "appUserTurnstile"), (this._customAccessToken = e);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.postTurnstileEvent = function (t, e) {
                                             R.EVENTS_URL &&
                                                  R.ACCESS_TOKEN &&
                                                  Array.isArray(t) &&
                                                  t.some(function (t) {
                                                       return V(t) || q(t);
                                                  }) &&
                                                  this.queueRequest(Date.now(), e);
                                        }),
                                        (e.prototype.processRequests = function (t) {
                                             var e = this;
                                             if (!this.pendingRequest && 0 !== this.queue.length) {
                                                  (this.anonId && this.eventData.lastSuccess && this.eventData.tokenU) || this.fetchEventData();
                                                  var i = Z(R.ACCESS_TOKEN),
                                                       n = i ? i.u : R.ACCESS_TOKEN,
                                                       r = n !== this.eventData.tokenU;
                                                  f(this.anonId) || ((this.anonId = p()), (r = !0));
                                                  var o = this.queue.shift();
                                                  if (this.eventData.lastSuccess) {
                                                       var a = new Date(this.eventData.lastSuccess),
                                                            s = new Date(o),
                                                            l = (o - this.eventData.lastSuccess) / 864e5;
                                                       r = r || l >= 1 || l < -1 || a.getDate() !== s.getDate();
                                                  } else r = !0;
                                                  if (!r) return this.processRequests();
                                                  this.postEvent(
                                                       o,
                                                       { "enabled.telemetry": !1 },
                                                       function (t) {
                                                            t || ((e.eventData.lastSuccess = o), (e.eventData.tokenU = n));
                                                       },
                                                       t
                                                  );
                                             }
                                        }),
                                        e
                                   );
                              })(J))(),
                              it = et.postTurnstileEvent.bind(et),
                              nt = new tt(),
                              rt = nt.postMapLoadEvent.bind(nt),
                              ot = 500,
                              at = 50;
                         function st() {
                              self.caches && !K && (K = self.caches.open("mapbox-tiles"));
                         }
                         function lt(t) {
                              var e = t.indexOf("?");
                              return e < 0 ? t : t.slice(0, e);
                         }
                         var ct,
                              ut = 1 / 0;
                         function ht() {
                              return null == ct && (ct = self.OffscreenCanvas && new self.OffscreenCanvas(1, 1).getContext("2d") && "function" == typeof self.createImageBitmap), ct;
                         }
                         var dt = { Unknown: "Unknown", Style: "Style", Source: "Source", Tile: "Tile", Glyphs: "Glyphs", SpriteImage: "SpriteImage", SpriteJSON: "SpriteJSON", Image: "Image" };
                         "function" == typeof Object.freeze && Object.freeze(dt);
                         var pt,
                              ft,
                              mt = (function (t) {
                                   function e(e, i, n) {
                                        401 === i && q(n) && (e += ": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),
                                             t.call(this, e),
                                             (this.status = i),
                                             (this.url = n),
                                             (this.name = this.constructor.name),
                                             (this.message = e);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.toString = function () {
                                             return this.name + ": " + this.message + " (" + this.status + "): " + this.url;
                                        }),
                                        e
                                   );
                              })(Error),
                              gt = S()
                                   ? function () {
                                          return self.worker && self.worker.referrer;
                                     }
                                   : function () {
                                          return ("blob:" === self.location.protocol ? self.parent : self).location.href;
                                     },
                              vt = function (t, e) {
                                   if (!(/^file:/.test((i = t.url)) || (/^file:/.test(gt()) && !/^\w+:/.test(i)))) {
                                        if (self.fetch && self.Request && self.AbortController && self.Request.prototype.hasOwnProperty("signal"))
                                             return (function (t, e) {
                                                  var i,
                                                       n = new self.AbortController(),
                                                       r = new self.Request(t.url, { method: t.method || "GET", body: t.body, credentials: t.credentials, headers: t.headers, referrer: gt(), signal: n.signal }),
                                                       o = !1,
                                                       a = !1,
                                                       s = (i = r.url).indexOf("sku=") > 0 && q(i);
                                                  "json" === t.type && r.headers.set("Accept", "application/json");
                                                  var l = function (i, n, o) {
                                                            if (!a) {
                                                                 if ((i && "SecurityError" !== i.message && x(i), n && o)) return c(n);
                                                                 var l = Date.now();
                                                                 self.fetch(r)
                                                                      .then(function (i) {
                                                                           if (i.ok) {
                                                                                var n = s ? i.clone() : null;
                                                                                return c(i, n, l);
                                                                           }
                                                                           return e(new mt(i.statusText, i.status, t.url));
                                                                      })
                                                                      .catch(function (t) {
                                                                           20 !== t.code && e(new Error(t.message));
                                                                      });
                                                            }
                                                       },
                                                       c = function (i, n, s) {
                                                            ("arrayBuffer" === t.type ? i.arrayBuffer() : "json" === t.type ? i.json() : i.text())
                                                                 .then(function (t) {
                                                                      a ||
                                                                           (n &&
                                                                                s &&
                                                                                (function (t, e, i) {
                                                                                     if ((st(), K)) {
                                                                                          var n = { status: e.status, statusText: e.statusText, headers: new self.Headers() };
                                                                                          e.headers.forEach(function (t, e) {
                                                                                               return n.headers.set(e, t);
                                                                                          });
                                                                                          var r = M(e.headers.get("Cache-Control") || "");
                                                                                          r["no-store"] ||
                                                                                               (r["max-age"] && n.headers.set("Expires", new Date(i + 1e3 * r["max-age"]).toUTCString()),
                                                                                               new Date(n.headers.get("Expires")).getTime() - i < 42e4 ||
                                                                                                    (function (t, e) {
                                                                                                         if (void 0 === Q)
                                                                                                              try {
                                                                                                                   new Response(new ReadableStream()), (Q = !0);
                                                                                                              } catch (t) {
                                                                                                                   Q = !1;
                                                                                                              }
                                                                                                         Q ? e(t.body) : t.blob().then(e);
                                                                                                    })(e, function (e) {
                                                                                                         var i = new self.Response(e, n);
                                                                                                         st(),
                                                                                                              K &&
                                                                                                                   K.then(function (e) {
                                                                                                                        return e.put(lt(t.url), i);
                                                                                                                   }).catch(function (t) {
                                                                                                                        return x(t.message);
                                                                                                                   });
                                                                                                    }));
                                                                                     }
                                                                                })(r, n, s),
                                                                           (o = !0),
                                                                           e(null, t, i.headers.get("Cache-Control"), i.headers.get("Expires")));
                                                                 })
                                                                 .catch(function (t) {
                                                                      a || e(new Error(t.message));
                                                                 });
                                                       };
                                                  return (
                                                       s
                                                            ? (function (t, e) {
                                                                   if ((st(), !K)) return e(null);
                                                                   var i = lt(t.url);
                                                                   K.then(function (t) {
                                                                        t.match(i)
                                                                             .then(function (n) {
                                                                                  var r = (function (t) {
                                                                                       if (!t) return !1;
                                                                                       var e = new Date(t.headers.get("Expires") || 0),
                                                                                            i = M(t.headers.get("Cache-Control") || "");
                                                                                       return e > Date.now() && !i["no-cache"];
                                                                                  })(n);
                                                                                  t.delete(i), r && t.put(i, n.clone()), e(null, n, r);
                                                                             })
                                                                             .catch(e);
                                                                   }).catch(e);
                                                              })(r, l)
                                                            : l(null, null),
                                                       {
                                                            cancel: function () {
                                                                 (a = !0), o || n.abort();
                                                            },
                                                       }
                                                  );
                                             })(t, e);
                                        if (S() && self.worker && self.worker.actor) return self.worker.actor.send("getResource", t, e, void 0, !0);
                                   }
                                   var i;
                                   return (function (t, e) {
                                        var i = new self.XMLHttpRequest();
                                        for (var n in (i.open(t.method || "GET", t.url, !0), "arrayBuffer" === t.type && (i.responseType = "arraybuffer"), t.headers)) i.setRequestHeader(n, t.headers[n]);
                                        return (
                                             "json" === t.type && ((i.responseType = "text"), i.setRequestHeader("Accept", "application/json")),
                                             (i.withCredentials = "include" === t.credentials),
                                             (i.onerror = function () {
                                                  e(new Error(i.statusText));
                                             }),
                                             (i.onload = function () {
                                                  if (((i.status >= 200 && i.status < 300) || 0 === i.status) && null !== i.response) {
                                                       var n = i.response;
                                                       if ("json" === t.type)
                                                            try {
                                                                 n = JSON.parse(i.response);
                                                            } catch (t) {
                                                                 return e(t);
                                                            }
                                                       e(null, n, i.getResponseHeader("Cache-Control"), i.getResponseHeader("Expires"));
                                                  } else e(new mt(i.statusText, i.status, t.url));
                                             }),
                                             i.send(t.body),
                                             {
                                                  cancel: function () {
                                                       return i.abort();
                                                  },
                                             }
                                        );
                                   })(t, e);
                              },
                              yt = function (t, e) {
                                   return vt(u(t, { type: "arrayBuffer" }), e);
                              },
                              bt = function (t, e) {
                                   return vt(u(t, { method: "POST" }), e);
                              };
                         (pt = []), (ft = 0);
                         var _t = function (t, e) {
                              if ((F.supported && (t.headers || (t.headers = {}), (t.headers.accept = "image/webp,*/*")), ft >= R.MAX_PARALLEL_IMAGE_REQUESTS)) {
                                   var i = {
                                        requestParameters: t,
                                        callback: e,
                                        cancelled: !1,
                                        cancel: function () {
                                             this.cancelled = !0;
                                        },
                                   };
                                   return pt.push(i), i;
                              }
                              ft++;
                              var n = !1,
                                   r = function () {
                                        if (!n)
                                             for (n = !0, ft--; pt.length && ft < R.MAX_PARALLEL_IMAGE_REQUESTS; ) {
                                                  var t = pt.shift();
                                                  t.cancelled || (t.cancel = _t(t.requestParameters, t.callback).cancel);
                                             }
                                   },
                                   o = yt(t, function (t, i, n, o) {
                                        r(),
                                             t
                                                  ? e(t)
                                                  : i &&
                                                    (ht()
                                                         ? (function (t, e) {
                                                                var i = new self.Blob([new Uint8Array(t)], { type: "image/png" });
                                                                self.createImageBitmap(i)
                                                                     .then(function (t) {
                                                                          e(null, t);
                                                                     })
                                                                     .catch(function (t) {
                                                                          e(
                                                                               new Error(
                                                                                    "Could not load image because of " + t.message + ". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."
                                                                               )
                                                                          );
                                                                     });
                                                           })(i, e)
                                                         : (function (t, e, i, n) {
                                                                var r = new self.Image(),
                                                                     o = self.URL;
                                                                (r.onload = function () {
                                                                     e(null, r), o.revokeObjectURL(r.src);
                                                                }),
                                                                     (r.onerror = function () {
                                                                          return e(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));
                                                                     });
                                                                var a = new self.Blob([new Uint8Array(t)], { type: "image/png" });
                                                                (r.cacheControl = i),
                                                                     (r.expires = n),
                                                                     (r.src = t.byteLength ? o.createObjectURL(a) : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=");
                                                           })(i, e, n, o));
                                   });
                              return {
                                   cancel: function () {
                                        o.cancel(), r();
                                   },
                              };
                         };
                         function xt(t, e, i) {
                              (i[t] && -1 !== i[t].indexOf(e)) || ((i[t] = i[t] || []), i[t].push(e));
                         }
                         function wt(t, e, i) {
                              if (i && i[t]) {
                                   var n = i[t].indexOf(e);
                                   -1 !== n && i[t].splice(n, 1);
                              }
                         }
                         var kt = function (t, e) {
                                   void 0 === e && (e = {}), u(this, e), (this.type = t);
                              },
                              St = (function (t) {
                                   function e(e, i) {
                                        void 0 === i && (i = {}), t.call(this, "error", u({ error: e }, i));
                                   }
                                   return t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e), e;
                              })(kt),
                              Mt = function () {};
                         (Mt.prototype.on = function (t, e) {
                              return (this._listeners = this._listeners || {}), xt(t, e, this._listeners), this;
                         }),
                              (Mt.prototype.off = function (t, e) {
                                   return wt(t, e, this._listeners), wt(t, e, this._oneTimeListeners), this;
                              }),
                              (Mt.prototype.once = function (t, e) {
                                   return (this._oneTimeListeners = this._oneTimeListeners || {}), xt(t, e, this._oneTimeListeners), this;
                              }),
                              (Mt.prototype.fire = function (t, e) {
                                   "string" == typeof t && (t = new kt(t, e || {}));
                                   var i = t.type;
                                   if (this.listens(i)) {
                                        t.target = this;
                                        for (var n = 0, r = this._listeners && this._listeners[i] ? this._listeners[i].slice() : []; n < r.length; n += 1) r[n].call(this, t);
                                        for (var o = 0, a = this._oneTimeListeners && this._oneTimeListeners[i] ? this._oneTimeListeners[i].slice() : []; o < a.length; o += 1) {
                                             var s = a[o];
                                             wt(i, s, this._oneTimeListeners), s.call(this, t);
                                        }
                                        var l = this._eventedParent;
                                        l && (u(t, "function" == typeof this._eventedParentData ? this._eventedParentData() : this._eventedParentData), l.fire(t));
                                   } else t instanceof St && console.error(t.error);
                                   return this;
                              }),
                              (Mt.prototype.listens = function (t) {
                                   return (
                                        (this._listeners && this._listeners[t] && this._listeners[t].length > 0) ||
                                        (this._oneTimeListeners && this._oneTimeListeners[t] && this._oneTimeListeners[t].length > 0) ||
                                        (this._eventedParent && this._eventedParent.listens(t))
                                   );
                              }),
                              (Mt.prototype.setEventedParent = function (t, e) {
                                   return (this._eventedParent = t), (this._eventedParentData = e), this;
                              });
                         var Tt = {
                                   $version: 8,
                                   $root: {
                                        version: { required: !0, type: "enum", values: [8] },
                                        name: { type: "string" },
                                        metadata: { type: "*" },
                                        center: { type: "array", value: "number" },
                                        zoom: { type: "number" },
                                        bearing: { type: "number", default: 0, period: 360, units: "degrees" },
                                        pitch: { type: "number", default: 0, units: "degrees" },
                                        light: { type: "light" },
                                        sources: { required: !0, type: "sources" },
                                        sprite: { type: "string" },
                                        glyphs: { type: "string" },
                                        transition: { type: "transition" },
                                        layers: { required: !0, type: "array", value: "layer" },
                                   },
                                   sources: { "*": { type: "source" } },
                                   source: ["source_vector", "source_raster", "source_raster_dem", "source_geojson", "source_video", "source_image"],
                                   source_vector: {
                                        type: { required: !0, type: "enum", values: { vector: {} } },
                                        url: { type: "string" },
                                        tiles: { type: "array", value: "string" },
                                        bounds: { type: "array", value: "number", length: 4, default: [-180, -85.051129, 180, 85.051129] },
                                        scheme: { type: "enum", values: { xyz: {}, tms: {} }, default: "xyz" },
                                        minzoom: { type: "number", default: 0 },
                                        maxzoom: { type: "number", default: 22 },
                                        attribution: { type: "string" },
                                        promoteId: { type: "promoteId" },
                                        "*": { type: "*" },
                                   },
                                   source_raster: {
                                        type: { required: !0, type: "enum", values: { raster: {} } },
                                        url: { type: "string" },
                                        tiles: { type: "array", value: "string" },
                                        bounds: { type: "array", value: "number", length: 4, default: [-180, -85.051129, 180, 85.051129] },
                                        minzoom: { type: "number", default: 0 },
                                        maxzoom: { type: "number", default: 22 },
                                        tileSize: { type: "number", default: 512, units: "pixels" },
                                        scheme: { type: "enum", values: { xyz: {}, tms: {} }, default: "xyz" },
                                        attribution: { type: "string" },
                                        "*": { type: "*" },
                                   },
                                   source_raster_dem: {
                                        type: { required: !0, type: "enum", values: { "raster-dem": {} } },
                                        url: { type: "string" },
                                        tiles: { type: "array", value: "string" },
                                        bounds: { type: "array", value: "number", length: 4, default: [-180, -85.051129, 180, 85.051129] },
                                        minzoom: { type: "number", default: 0 },
                                        maxzoom: { type: "number", default: 22 },
                                        tileSize: { type: "number", default: 512, units: "pixels" },
                                        attribution: { type: "string" },
                                        encoding: { type: "enum", values: { terrarium: {}, mapbox: {} }, default: "mapbox" },
                                        "*": { type: "*" },
                                   },
                                   source_geojson: {
                                        type: { required: !0, type: "enum", values: { geojson: {} } },
                                        data: { type: "*" },
                                        maxzoom: { type: "number", default: 18 },
                                        attribution: { type: "string" },
                                        buffer: { type: "number", default: 128, maximum: 512, minimum: 0 },
                                        tolerance: { type: "number", default: 0.375 },
                                        cluster: { type: "boolean", default: !1 },
                                        clusterRadius: { type: "number", default: 50, minimum: 0 },
                                        clusterMaxZoom: { type: "number" },
                                        clusterProperties: { type: "*" },
                                        lineMetrics: { type: "boolean", default: !1 },
                                        generateId: { type: "boolean", default: !1 },
                                        promoteId: { type: "promoteId" },
                                   },
                                   source_video: {
                                        type: { required: !0, type: "enum", values: { video: {} } },
                                        urls: { required: !0, type: "array", value: "string" },
                                        coordinates: { required: !0, type: "array", length: 4, value: { type: "array", length: 2, value: "number" } },
                                   },
                                   source_image: {
                                        type: { required: !0, type: "enum", values: { image: {} } },
                                        url: { required: !0, type: "string" },
                                        coordinates: { required: !0, type: "array", length: 4, value: { type: "array", length: 2, value: "number" } },
                                   },
                                   layer: {
                                        id: { type: "string", required: !0 },
                                        type: { type: "enum", values: { fill: {}, line: {}, symbol: {}, circle: {}, heatmap: {}, "fill-extrusion": {}, raster: {}, hillshade: {}, background: {} }, required: !0 },
                                        metadata: { type: "*" },
                                        source: { type: "string" },
                                        "source-layer": { type: "string" },
                                        minzoom: { type: "number", minimum: 0, maximum: 24 },
                                        maxzoom: { type: "number", minimum: 0, maximum: 24 },
                                        filter: { type: "filter" },
                                        layout: { type: "layout" },
                                        paint: { type: "paint" },
                                   },
                                   layout: ["layout_fill", "layout_line", "layout_circle", "layout_heatmap", "layout_fill-extrusion", "layout_symbol", "layout_raster", "layout_hillshade", "layout_background"],
                                   layout_background: { visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } },
                                   layout_fill: {
                                        "fill-sort-key": { type: "number", expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" },
                                        visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" },
                                   },
                                   layout_circle: {
                                        "circle-sort-key": { type: "number", expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" },
                                        visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" },
                                   },
                                   layout_heatmap: { visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } },
                                   "layout_fill-extrusion": { visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } },
                                   layout_line: {
                                        "line-cap": { type: "enum", values: { butt: {}, round: {}, square: {} }, default: "butt", expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "line-join": { type: "enum", values: { bevel: {}, round: {}, miter: {} }, default: "miter", expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" },
                                        "line-miter-limit": { type: "number", default: 2, requires: [{ "line-join": "miter" }], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "line-round-limit": { type: "number", default: 1.05, requires: [{ "line-join": "round" }], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "line-sort-key": { type: "number", expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" },
                                        visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" },
                                   },
                                   layout_symbol: {
                                        "symbol-placement": { type: "enum", values: { point: {}, line: {}, "line-center": {} }, default: "point", expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "symbol-spacing": {
                                             type: "number",
                                             default: 250,
                                             minimum: 1,
                                             units: "pixels",
                                             requires: [{ "symbol-placement": "line" }],
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "symbol-avoid-edges": { type: "boolean", default: !1, expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "symbol-sort-key": { type: "number", expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" },
                                        "symbol-z-order": { type: "enum", values: { auto: {}, "viewport-y": {}, source: {} }, default: "auto", expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "icon-allow-overlap": { type: "boolean", default: !1, requires: ["icon-image"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "icon-ignore-placement": { type: "boolean", default: !1, requires: ["icon-image"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "icon-optional": { type: "boolean", default: !1, requires: ["icon-image", "text-field"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "icon-rotation-alignment": {
                                             type: "enum",
                                             values: { map: {}, viewport: {}, auto: {} },
                                             default: "auto",
                                             requires: ["icon-image"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "icon-size": {
                                             type: "number",
                                             default: 1,
                                             minimum: 0,
                                             units: "factor of the original icon size",
                                             requires: ["icon-image"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "icon-text-fit": {
                                             type: "enum",
                                             values: { none: {}, width: {}, height: {}, both: {} },
                                             default: "none",
                                             requires: ["icon-image", "text-field"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "icon-text-fit-padding": {
                                             type: "array",
                                             value: "number",
                                             length: 4,
                                             default: [0, 0, 0, 0],
                                             units: "pixels",
                                             requires: ["icon-image", "text-field", { "icon-text-fit": ["both", "width", "height"] }],
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "icon-image": { type: "resolvedImage", tokens: !0, expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" },
                                        "icon-rotate": {
                                             type: "number",
                                             default: 0,
                                             period: 360,
                                             units: "degrees",
                                             requires: ["icon-image"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "icon-padding": { type: "number", default: 2, minimum: 0, units: "pixels", requires: ["icon-image"], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "icon-keep-upright": {
                                             type: "boolean",
                                             default: !1,
                                             requires: ["icon-image", { "icon-rotation-alignment": "map" }, { "symbol-placement": ["line", "line-center"] }],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "icon-offset": {
                                             type: "array",
                                             value: "number",
                                             length: 2,
                                             default: [0, 0],
                                             requires: ["icon-image"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "icon-anchor": {
                                             type: "enum",
                                             values: { center: {}, left: {}, right: {}, top: {}, bottom: {}, "top-left": {}, "top-right": {}, "bottom-left": {}, "bottom-right": {} },
                                             default: "center",
                                             requires: ["icon-image"],
                                             expression: { interpolated: !1, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "icon-pitch-alignment": {
                                             type: "enum",
                                             values: { map: {}, viewport: {}, auto: {} },
                                             default: "auto",
                                             requires: ["icon-image"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "text-pitch-alignment": {
                                             type: "enum",
                                             values: { map: {}, viewport: {}, auto: {} },
                                             default: "auto",
                                             requires: ["text-field"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "text-rotation-alignment": {
                                             type: "enum",
                                             values: { map: {}, viewport: {}, auto: {} },
                                             default: "auto",
                                             requires: ["text-field"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "text-field": { type: "formatted", default: "", tokens: !0, expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" },
                                        "text-font": {
                                             type: "array",
                                             value: "string",
                                             default: ["Open Sans Regular", "Arial Unicode MS Regular"],
                                             requires: ["text-field"],
                                             expression: { interpolated: !1, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-size": { type: "number", default: 16, minimum: 0, units: "pixels", requires: ["text-field"], expression: { interpolated: !0, parameters: ["zoom", "feature"] }, "property-type": "data-driven" },
                                        "text-max-width": {
                                             type: "number",
                                             default: 10,
                                             minimum: 0,
                                             units: "ems",
                                             requires: ["text-field"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-line-height": { type: "number", default: 1.2, units: "ems", requires: ["text-field"], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "text-letter-spacing": { type: "number", default: 0, units: "ems", requires: ["text-field"], expression: { interpolated: !0, parameters: ["zoom", "feature"] }, "property-type": "data-driven" },
                                        "text-justify": {
                                             type: "enum",
                                             values: { auto: {}, left: {}, center: {}, right: {} },
                                             default: "center",
                                             requires: ["text-field"],
                                             expression: { interpolated: !1, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-radial-offset": { type: "number", units: "ems", default: 0, requires: ["text-field"], "property-type": "data-driven", expression: { interpolated: !0, parameters: ["zoom", "feature"] } },
                                        "text-variable-anchor": {
                                             type: "array",
                                             value: "enum",
                                             values: { center: {}, left: {}, right: {}, top: {}, bottom: {}, "top-left": {}, "top-right": {}, "bottom-left": {}, "bottom-right": {} },
                                             requires: ["text-field", { "symbol-placement": ["point"] }],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "text-anchor": {
                                             type: "enum",
                                             values: { center: {}, left: {}, right: {}, top: {}, bottom: {}, "top-left": {}, "top-right": {}, "bottom-left": {}, "bottom-right": {} },
                                             default: "center",
                                             requires: ["text-field", { "!": "text-variable-anchor" }],
                                             expression: { interpolated: !1, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-max-angle": {
                                             type: "number",
                                             default: 45,
                                             units: "degrees",
                                             requires: ["text-field", { "symbol-placement": ["line", "line-center"] }],
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "text-writing-mode": {
                                             type: "array",
                                             value: "enum",
                                             values: { horizontal: {}, vertical: {} },
                                             requires: ["text-field", { "symbol-placement": ["point"] }],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "text-rotate": {
                                             type: "number",
                                             default: 0,
                                             period: 360,
                                             units: "degrees",
                                             requires: ["text-field"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-padding": { type: "number", default: 2, minimum: 0, units: "pixels", requires: ["text-field"], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "text-keep-upright": {
                                             type: "boolean",
                                             default: !0,
                                             requires: ["text-field", { "text-rotation-alignment": "map" }, { "symbol-placement": ["line", "line-center"] }],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "text-transform": {
                                             type: "enum",
                                             values: { none: {}, uppercase: {}, lowercase: {} },
                                             default: "none",
                                             requires: ["text-field"],
                                             expression: { interpolated: !1, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-offset": {
                                             type: "array",
                                             value: "number",
                                             units: "ems",
                                             length: 2,
                                             default: [0, 0],
                                             requires: ["text-field", { "!": "text-radial-offset" }],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-allow-overlap": { type: "boolean", default: !1, requires: ["text-field"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "text-ignore-placement": { type: "boolean", default: !1, requires: ["text-field"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "text-optional": { type: "boolean", default: !1, requires: ["text-field", "icon-image"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" },
                                   },
                                   layout_raster: { visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } },
                                   layout_hillshade: { visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } },
                                   filter: { type: "array", value: "*" },
                                   filter_operator: { type: "enum", values: { "==": {}, "!=": {}, ">": {}, ">=": {}, "<": {}, "<=": {}, in: {}, "!in": {}, all: {}, any: {}, none: {}, has: {}, "!has": {}, within: {} } },
                                   geometry_type: { type: "enum", values: { Point: {}, LineString: {}, Polygon: {} } },
                                   function: {
                                        expression: { type: "expression" },
                                        stops: { type: "array", value: "function_stop" },
                                        base: { type: "number", default: 1, minimum: 0 },
                                        property: { type: "string", default: "$zoom" },
                                        type: { type: "enum", values: { identity: {}, exponential: {}, interval: {}, categorical: {} }, default: "exponential" },
                                        colorSpace: { type: "enum", values: { rgb: {}, lab: {}, hcl: {} }, default: "rgb" },
                                        default: { type: "*", required: !1 },
                                   },
                                   function_stop: { type: "array", minimum: 0, maximum: 24, value: ["number", "color"], length: 2 },
                                   expression: { type: "array", value: "*", minimum: 1 },
                                   expression_name: {
                                        type: "enum",
                                        values: {
                                             let: { group: "Variable binding" },
                                             var: { group: "Variable binding" },
                                             literal: { group: "Types" },
                                             array: { group: "Types" },
                                             at: { group: "Lookup" },
                                             in: { group: "Lookup" },
                                             "index-of": { group: "Lookup" },
                                             slice: { group: "Lookup" },
                                             case: { group: "Decision" },
                                             match: { group: "Decision" },
                                             coalesce: { group: "Decision" },
                                             step: { group: "Ramps, scales, curves" },
                                             interpolate: { group: "Ramps, scales, curves" },
                                             "interpolate-hcl": { group: "Ramps, scales, curves" },
                                             "interpolate-lab": { group: "Ramps, scales, curves" },
                                             ln2: { group: "Math" },
                                             pi: { group: "Math" },
                                             e: { group: "Math" },
                                             typeof: { group: "Types" },
                                             string: { group: "Types" },
                                             number: { group: "Types" },
                                             boolean: { group: "Types" },
                                             object: { group: "Types" },
                                             collator: { group: "Types" },
                                             format: { group: "Types" },
                                             image: { group: "Types" },
                                             "number-format": { group: "Types" },
                                             "to-string": { group: "Types" },
                                             "to-number": { group: "Types" },
                                             "to-boolean": { group: "Types" },
                                             "to-rgba": { group: "Color" },
                                             "to-color": { group: "Types" },
                                             rgb: { group: "Color" },
                                             rgba: { group: "Color" },
                                             get: { group: "Lookup" },
                                             has: { group: "Lookup" },
                                             length: { group: "Lookup" },
                                             properties: { group: "Feature data" },
                                             "feature-state": { group: "Feature data" },
                                             "geometry-type": { group: "Feature data" },
                                             id: { group: "Feature data" },
                                             zoom: { group: "Zoom" },
                                             "heatmap-density": { group: "Heatmap" },
                                             "line-progress": { group: "Feature data" },
                                             accumulated: { group: "Feature data" },
                                             "+": { group: "Math" },
                                             "*": { group: "Math" },
                                             "-": { group: "Math" },
                                             "/": { group: "Math" },
                                             "%": { group: "Math" },
                                             "^": { group: "Math" },
                                             sqrt: { group: "Math" },
                                             log10: { group: "Math" },
                                             ln: { group: "Math" },
                                             log2: { group: "Math" },
                                             sin: { group: "Math" },
                                             cos: { group: "Math" },
                                             tan: { group: "Math" },
                                             asin: { group: "Math" },
                                             acos: { group: "Math" },
                                             atan: { group: "Math" },
                                             min: { group: "Math" },
                                             max: { group: "Math" },
                                             round: { group: "Math" },
                                             abs: { group: "Math" },
                                             ceil: { group: "Math" },
                                             floor: { group: "Math" },
                                             distance: { group: "Math" },
                                             "==": { group: "Decision" },
                                             "!=": { group: "Decision" },
                                             ">": { group: "Decision" },
                                             "<": { group: "Decision" },
                                             ">=": { group: "Decision" },
                                             "<=": { group: "Decision" },
                                             all: { group: "Decision" },
                                             any: { group: "Decision" },
                                             "!": { group: "Decision" },
                                             within: { group: "Decision" },
                                             "is-supported-script": { group: "String" },
                                             upcase: { group: "String" },
                                             downcase: { group: "String" },
                                             concat: { group: "String" },
                                             "resolved-locale": { group: "String" },
                                        },
                                   },
                                   light: {
                                        anchor: { type: "enum", default: "viewport", values: { map: {}, viewport: {} }, "property-type": "data-constant", transition: !1, expression: { interpolated: !1, parameters: ["zoom"] } },
                                        position: { type: "array", default: [1.15, 210, 30], length: 3, value: "number", "property-type": "data-constant", transition: !0, expression: { interpolated: !0, parameters: ["zoom"] } },
                                        color: { type: "color", "property-type": "data-constant", default: "#ffffff", expression: { interpolated: !0, parameters: ["zoom"] }, transition: !0 },
                                        intensity: { type: "number", "property-type": "data-constant", default: 0.5, minimum: 0, maximum: 1, expression: { interpolated: !0, parameters: ["zoom"] }, transition: !0 },
                                   },
                                   paint: ["paint_fill", "paint_line", "paint_circle", "paint_heatmap", "paint_fill-extrusion", "paint_symbol", "paint_raster", "paint_hillshade", "paint_background"],
                                   paint_fill: {
                                        "fill-antialias": { type: "boolean", default: !0, expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "fill-opacity": {
                                             type: "number",
                                             default: 1,
                                             minimum: 0,
                                             maximum: 1,
                                             transition: !0,
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "fill-color": {
                                             type: "color",
                                             default: "#000000",
                                             transition: !0,
                                             requires: [{ "!": "fill-pattern" }],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "fill-outline-color": {
                                             type: "color",
                                             transition: !0,
                                             requires: [{ "!": "fill-pattern" }, { "fill-antialias": !0 }],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "fill-translate": {
                                             type: "array",
                                             value: "number",
                                             length: 2,
                                             default: [0, 0],
                                             transition: !0,
                                             units: "pixels",
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "fill-translate-anchor": {
                                             type: "enum",
                                             values: { map: {}, viewport: {} },
                                             default: "map",
                                             requires: ["fill-translate"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "fill-pattern": { type: "resolvedImage", transition: !0, expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "cross-faded-data-driven" },
                                   },
                                   "paint_fill-extrusion": {
                                        "fill-extrusion-opacity": { type: "number", default: 1, minimum: 0, maximum: 1, transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "fill-extrusion-color": {
                                             type: "color",
                                             default: "#000000",
                                             transition: !0,
                                             requires: [{ "!": "fill-extrusion-pattern" }],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "fill-extrusion-translate": {
                                             type: "array",
                                             value: "number",
                                             length: 2,
                                             default: [0, 0],
                                             transition: !0,
                                             units: "pixels",
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "fill-extrusion-translate-anchor": {
                                             type: "enum",
                                             values: { map: {}, viewport: {} },
                                             default: "map",
                                             requires: ["fill-extrusion-translate"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "fill-extrusion-pattern": { type: "resolvedImage", transition: !0, expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "cross-faded-data-driven" },
                                        "fill-extrusion-height": {
                                             type: "number",
                                             default: 0,
                                             minimum: 0,
                                             units: "meters",
                                             transition: !0,
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "fill-extrusion-base": {
                                             type: "number",
                                             default: 0,
                                             minimum: 0,
                                             units: "meters",
                                             transition: !0,
                                             requires: ["fill-extrusion-height"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "fill-extrusion-vertical-gradient": { type: "boolean", default: !0, transition: !1, expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                   },
                                   paint_line: {
                                        "line-opacity": {
                                             type: "number",
                                             default: 1,
                                             minimum: 0,
                                             maximum: 1,
                                             transition: !0,
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "line-color": {
                                             type: "color",
                                             default: "#000000",
                                             transition: !0,
                                             requires: [{ "!": "line-pattern" }],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "line-translate": {
                                             type: "array",
                                             value: "number",
                                             length: 2,
                                             default: [0, 0],
                                             transition: !0,
                                             units: "pixels",
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "line-translate-anchor": {
                                             type: "enum",
                                             values: { map: {}, viewport: {} },
                                             default: "map",
                                             requires: ["line-translate"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "line-width": {
                                             type: "number",
                                             default: 1,
                                             minimum: 0,
                                             transition: !0,
                                             units: "pixels",
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "line-gap-width": {
                                             type: "number",
                                             default: 0,
                                             minimum: 0,
                                             transition: !0,
                                             units: "pixels",
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "line-offset": { type: "number", default: 0, transition: !0, units: "pixels", expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] }, "property-type": "data-driven" },
                                        "line-blur": {
                                             type: "number",
                                             default: 0,
                                             minimum: 0,
                                             transition: !0,
                                             units: "pixels",
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "line-dasharray": {
                                             type: "array",
                                             value: "number",
                                             minimum: 0,
                                             transition: !0,
                                             units: "line widths",
                                             requires: [{ "!": "line-pattern" }],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "cross-faded",
                                        },
                                        "line-pattern": { type: "resolvedImage", transition: !0, expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "cross-faded-data-driven" },
                                        "line-gradient": {
                                             type: "color",
                                             transition: !1,
                                             requires: [{ "!": "line-dasharray" }, { "!": "line-pattern" }, { source: "geojson", has: { lineMetrics: !0 } }],
                                             expression: { interpolated: !0, parameters: ["line-progress"] },
                                             "property-type": "color-ramp",
                                        },
                                   },
                                   paint_circle: {
                                        "circle-radius": {
                                             type: "number",
                                             default: 5,
                                             minimum: 0,
                                             transition: !0,
                                             units: "pixels",
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "circle-color": { type: "color", default: "#000000", transition: !0, expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] }, "property-type": "data-driven" },
                                        "circle-blur": { type: "number", default: 0, transition: !0, expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] }, "property-type": "data-driven" },
                                        "circle-opacity": {
                                             type: "number",
                                             default: 1,
                                             minimum: 0,
                                             maximum: 1,
                                             transition: !0,
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "circle-translate": {
                                             type: "array",
                                             value: "number",
                                             length: 2,
                                             default: [0, 0],
                                             transition: !0,
                                             units: "pixels",
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "circle-translate-anchor": {
                                             type: "enum",
                                             values: { map: {}, viewport: {} },
                                             default: "map",
                                             requires: ["circle-translate"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "circle-pitch-scale": { type: "enum", values: { map: {}, viewport: {} }, default: "map", expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "circle-pitch-alignment": { type: "enum", values: { map: {}, viewport: {} }, default: "viewport", expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "circle-stroke-width": {
                                             type: "number",
                                             default: 0,
                                             minimum: 0,
                                             transition: !0,
                                             units: "pixels",
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "circle-stroke-color": { type: "color", default: "#000000", transition: !0, expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] }, "property-type": "data-driven" },
                                        "circle-stroke-opacity": {
                                             type: "number",
                                             default: 1,
                                             minimum: 0,
                                             maximum: 1,
                                             transition: !0,
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                   },
                                   paint_heatmap: {
                                        "heatmap-radius": {
                                             type: "number",
                                             default: 30,
                                             minimum: 1,
                                             transition: !0,
                                             units: "pixels",
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "heatmap-weight": { type: "number", default: 1, minimum: 0, transition: !1, expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] }, "property-type": "data-driven" },
                                        "heatmap-intensity": { type: "number", default: 1, minimum: 0, transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "heatmap-color": {
                                             type: "color",
                                             default: ["interpolate", ["linear"], ["heatmap-density"], 0, "rgba(0, 0, 255, 0)", 0.1, "royalblue", 0.3, "cyan", 0.5, "lime", 0.7, "yellow", 1, "red"],
                                             transition: !1,
                                             expression: { interpolated: !0, parameters: ["heatmap-density"] },
                                             "property-type": "color-ramp",
                                        },
                                        "heatmap-opacity": { type: "number", default: 1, minimum: 0, maximum: 1, transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                   },
                                   paint_symbol: {
                                        "icon-opacity": {
                                             type: "number",
                                             default: 1,
                                             minimum: 0,
                                             maximum: 1,
                                             transition: !0,
                                             requires: ["icon-image"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "icon-color": {
                                             type: "color",
                                             default: "#000000",
                                             transition: !0,
                                             requires: ["icon-image"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "icon-halo-color": {
                                             type: "color",
                                             default: "rgba(0, 0, 0, 0)",
                                             transition: !0,
                                             requires: ["icon-image"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "icon-halo-width": {
                                             type: "number",
                                             default: 0,
                                             minimum: 0,
                                             transition: !0,
                                             units: "pixels",
                                             requires: ["icon-image"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "icon-halo-blur": {
                                             type: "number",
                                             default: 0,
                                             minimum: 0,
                                             transition: !0,
                                             units: "pixels",
                                             requires: ["icon-image"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "icon-translate": {
                                             type: "array",
                                             value: "number",
                                             length: 2,
                                             default: [0, 0],
                                             transition: !0,
                                             units: "pixels",
                                             requires: ["icon-image"],
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "icon-translate-anchor": {
                                             type: "enum",
                                             values: { map: {}, viewport: {} },
                                             default: "map",
                                             requires: ["icon-image", "icon-translate"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "text-opacity": {
                                             type: "number",
                                             default: 1,
                                             minimum: 0,
                                             maximum: 1,
                                             transition: !0,
                                             requires: ["text-field"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-color": {
                                             type: "color",
                                             default: "#000000",
                                             transition: !0,
                                             overridable: !0,
                                             requires: ["text-field"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-halo-color": {
                                             type: "color",
                                             default: "rgba(0, 0, 0, 0)",
                                             transition: !0,
                                             requires: ["text-field"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-halo-width": {
                                             type: "number",
                                             default: 0,
                                             minimum: 0,
                                             transition: !0,
                                             units: "pixels",
                                             requires: ["text-field"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-halo-blur": {
                                             type: "number",
                                             default: 0,
                                             minimum: 0,
                                             transition: !0,
                                             units: "pixels",
                                             requires: ["text-field"],
                                             expression: { interpolated: !0, parameters: ["zoom", "feature", "feature-state"] },
                                             "property-type": "data-driven",
                                        },
                                        "text-translate": {
                                             type: "array",
                                             value: "number",
                                             length: 2,
                                             default: [0, 0],
                                             transition: !0,
                                             units: "pixels",
                                             requires: ["text-field"],
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "text-translate-anchor": {
                                             type: "enum",
                                             values: { map: {}, viewport: {} },
                                             default: "map",
                                             requires: ["text-field", "text-translate"],
                                             expression: { interpolated: !1, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                   },
                                   paint_raster: {
                                        "raster-opacity": { type: "number", default: 1, minimum: 0, maximum: 1, transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "raster-hue-rotate": { type: "number", default: 0, period: 360, transition: !0, units: "degrees", expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "raster-brightness-min": { type: "number", default: 0, minimum: 0, maximum: 1, transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "raster-brightness-max": { type: "number", default: 1, minimum: 0, maximum: 1, transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "raster-saturation": { type: "number", default: 0, minimum: -1, maximum: 1, transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "raster-contrast": { type: "number", default: 0, minimum: -1, maximum: 1, transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "raster-resampling": { type: "enum", values: { linear: {}, nearest: {} }, default: "linear", expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "raster-fade-duration": { type: "number", default: 300, minimum: 0, transition: !1, units: "milliseconds", expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                   },
                                   paint_hillshade: {
                                        "hillshade-illumination-direction": {
                                             type: "number",
                                             default: 335,
                                             minimum: 0,
                                             maximum: 359,
                                             transition: !1,
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "hillshade-illumination-anchor": { type: "enum", values: { map: {}, viewport: {} }, default: "viewport", expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "hillshade-exaggeration": { type: "number", default: 0.5, minimum: 0, maximum: 1, transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "hillshade-shadow-color": { type: "color", default: "#000000", transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "hillshade-highlight-color": { type: "color", default: "#FFFFFF", transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                        "hillshade-accent-color": { type: "color", default: "#000000", transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                   },
                                   paint_background: {
                                        "background-color": {
                                             type: "color",
                                             default: "#000000",
                                             transition: !0,
                                             requires: [{ "!": "background-pattern" }],
                                             expression: { interpolated: !0, parameters: ["zoom"] },
                                             "property-type": "data-constant",
                                        },
                                        "background-pattern": { type: "resolvedImage", transition: !0, expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "cross-faded" },
                                        "background-opacity": { type: "number", default: 1, minimum: 0, maximum: 1, transition: !0, expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" },
                                   },
                                   transition: { duration: { type: "number", default: 300, minimum: 0, units: "milliseconds" }, delay: { type: "number", default: 0, minimum: 0, units: "milliseconds" } },
                                   "property-type": {
                                        "data-driven": { type: "property-type" },
                                        "cross-faded": { type: "property-type" },
                                        "cross-faded-data-driven": { type: "property-type" },
                                        "color-ramp": { type: "property-type" },
                                        "data-constant": { type: "property-type" },
                                        constant: { type: "property-type" },
                                   },
                                   promoteId: { "*": { type: "string" } },
                              },
                              Ct = function (t, e, i, n) {
                                   (this.message = (t ? t + ": " : "") + i), n && (this.identifier = n), null != e && e.__line__ && (this.line = e.__line__);
                              };
                         function Dt(t) {
                              var e = t.value;
                              return e ? [new Ct(t.key, e, "constants have been deprecated as of v8")] : [];
                         }
                         function Lt(t) {
                              for (var e = [], i = arguments.length - 1; i-- > 0; ) e[i] = arguments[i + 1];
                              for (var n = 0, r = e; n < r.length; n += 1) {
                                   var o = r[n];
                                   for (var a in o) t[a] = o[a];
                              }
                              return t;
                         }
                         function Et(t) {
                              return t instanceof Number || t instanceof String || t instanceof Boolean ? t.valueOf() : t;
                         }
                         function At(t) {
                              if (Array.isArray(t)) return t.map(At);
                              if (t instanceof Object && !(t instanceof Number || t instanceof String || t instanceof Boolean)) {
                                   var e = {};
                                   for (var i in t) e[i] = At(t[i]);
                                   return e;
                              }
                              return Et(t);
                         }
                         var Pt = (function (t) {
                                   function e(e, i) {
                                        t.call(this, i), (this.message = i), (this.key = e);
                                   }
                                   return t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e), e;
                              })(Error),
                              It = function (t, e) {
                                   void 0 === e && (e = []), (this.parent = t), (this.bindings = {});
                                   for (var i = 0, n = e; i < n.length; i += 1) {
                                        var r = n[i];
                                        this.bindings[r[0]] = r[1];
                                   }
                              };
                         (It.prototype.concat = function (t) {
                              return new It(this, t);
                         }),
                              (It.prototype.get = function (t) {
                                   if (this.bindings[t]) return this.bindings[t];
                                   if (this.parent) return this.parent.get(t);
                                   throw new Error(t + " not found in scope.");
                              }),
                              (It.prototype.has = function (t) {
                                   return !!this.bindings[t] || (!!this.parent && this.parent.has(t));
                              });
                         var Ot = { kind: "null" },
                              Yt = { kind: "number" },
                              zt = { kind: "string" },
                              Rt = { kind: "boolean" },
                              Ft = { kind: "color" },
                              Ht = { kind: "object" },
                              jt = { kind: "value" },
                              Nt = { kind: "collator" },
                              Bt = { kind: "formatted" },
                              Wt = { kind: "resolvedImage" };
                         function Vt(t, e) {
                              return { kind: "array", itemType: t, N: e };
                         }
                         function Ut(t) {
                              if ("array" === t.kind) {
                                   var e = Ut(t.itemType);
                                   return "number" == typeof t.N ? "array<" + e + ", " + t.N + ">" : "value" === t.itemType.kind ? "array" : "array<" + e + ">";
                              }
                              return t.kind;
                         }
                         var qt = [Ot, Yt, zt, Rt, Ft, Bt, Ht, Vt(jt), Wt];
                         function $t(t, e) {
                              if ("error" === e.kind) return null;
                              if ("array" === t.kind) {
                                   if ("array" === e.kind && ((0 === e.N && "value" === e.itemType.kind) || !$t(t.itemType, e.itemType)) && ("number" != typeof t.N || t.N === e.N)) return null;
                              } else {
                                   if (t.kind === e.kind) return null;
                                   if ("value" === t.kind) for (var i = 0, n = qt; i < n.length; i += 1) if (!$t(n[i], e)) return null;
                              }
                              return "Expected " + Ut(t) + " but found " + Ut(e) + " instead.";
                         }
                         function Xt(t, e) {
                              return e.some(function (e) {
                                   return e.kind === t.kind;
                              });
                         }
                         function Gt(t, e) {
                              return e.some(function (e) {
                                   return "null" === e ? null === t : "array" === e ? Array.isArray(t) : "object" === e ? t && !Array.isArray(t) && "object" == typeof t : e === typeof t;
                              });
                         }
                         var Zt = e(function (t, e) {
                                   var i = {
                                        transparent: [0, 0, 0, 0],
                                        aliceblue: [240, 248, 255, 1],
                                        antiquewhite: [250, 235, 215, 1],
                                        aqua: [0, 255, 255, 1],
                                        aquamarine: [127, 255, 212, 1],
                                        azure: [240, 255, 255, 1],
                                        beige: [245, 245, 220, 1],
                                        bisque: [255, 228, 196, 1],
                                        black: [0, 0, 0, 1],
                                        blanchedalmond: [255, 235, 205, 1],
                                        blue: [0, 0, 255, 1],
                                        blueviolet: [138, 43, 226, 1],
                                        brown: [165, 42, 42, 1],
                                        burlywood: [222, 184, 135, 1],
                                        cadetblue: [95, 158, 160, 1],
                                        chartreuse: [127, 255, 0, 1],
                                        chocolate: [210, 105, 30, 1],
                                        coral: [255, 127, 80, 1],
                                        cornflowerblue: [100, 149, 237, 1],
                                        cornsilk: [255, 248, 220, 1],
                                        crimson: [220, 20, 60, 1],
                                        cyan: [0, 255, 255, 1],
                                        darkblue: [0, 0, 139, 1],
                                        darkcyan: [0, 139, 139, 1],
                                        darkgoldenrod: [184, 134, 11, 1],
                                        darkgray: [169, 169, 169, 1],
                                        darkgreen: [0, 100, 0, 1],
                                        darkgrey: [169, 169, 169, 1],
                                        darkkhaki: [189, 183, 107, 1],
                                        darkmagenta: [139, 0, 139, 1],
                                        darkolivegreen: [85, 107, 47, 1],
                                        darkorange: [255, 140, 0, 1],
                                        darkorchid: [153, 50, 204, 1],
                                        darkred: [139, 0, 0, 1],
                                        darksalmon: [233, 150, 122, 1],
                                        darkseagreen: [143, 188, 143, 1],
                                        darkslateblue: [72, 61, 139, 1],
                                        darkslategray: [47, 79, 79, 1],
                                        darkslategrey: [47, 79, 79, 1],
                                        darkturquoise: [0, 206, 209, 1],
                                        darkviolet: [148, 0, 211, 1],
                                        deeppink: [255, 20, 147, 1],
                                        deepskyblue: [0, 191, 255, 1],
                                        dimgray: [105, 105, 105, 1],
                                        dimgrey: [105, 105, 105, 1],
                                        dodgerblue: [30, 144, 255, 1],
                                        firebrick: [178, 34, 34, 1],
                                        floralwhite: [255, 250, 240, 1],
                                        forestgreen: [34, 139, 34, 1],
                                        fuchsia: [255, 0, 255, 1],
                                        gainsboro: [220, 220, 220, 1],
                                        ghostwhite: [248, 248, 255, 1],
                                        gold: [255, 215, 0, 1],
                                        goldenrod: [218, 165, 32, 1],
                                        gray: [128, 128, 128, 1],
                                        green: [0, 128, 0, 1],
                                        greenyellow: [173, 255, 47, 1],
                                        grey: [128, 128, 128, 1],
                                        honeydew: [240, 255, 240, 1],
                                        hotpink: [255, 105, 180, 1],
                                        indianred: [205, 92, 92, 1],
                                        indigo: [75, 0, 130, 1],
                                        ivory: [255, 255, 240, 1],
                                        khaki: [240, 230, 140, 1],
                                        lavender: [230, 230, 250, 1],
                                        lavenderblush: [255, 240, 245, 1],
                                        lawngreen: [124, 252, 0, 1],
                                        lemonchiffon: [255, 250, 205, 1],
                                        lightblue: [173, 216, 230, 1],
                                        lightcoral: [240, 128, 128, 1],
                                        lightcyan: [224, 255, 255, 1],
                                        lightgoldenrodyellow: [250, 250, 210, 1],
                                        lightgray: [211, 211, 211, 1],
                                        lightgreen: [144, 238, 144, 1],
                                        lightgrey: [211, 211, 211, 1],
                                        lightpink: [255, 182, 193, 1],
                                        lightsalmon: [255, 160, 122, 1],
                                        lightseagreen: [32, 178, 170, 1],
                                        lightskyblue: [135, 206, 250, 1],
                                        lightslategray: [119, 136, 153, 1],
                                        lightslategrey: [119, 136, 153, 1],
                                        lightsteelblue: [176, 196, 222, 1],
                                        lightyellow: [255, 255, 224, 1],
                                        lime: [0, 255, 0, 1],
                                        limegreen: [50, 205, 50, 1],
                                        linen: [250, 240, 230, 1],
                                        magenta: [255, 0, 255, 1],
                                        maroon: [128, 0, 0, 1],
                                        mediumaquamarine: [102, 205, 170, 1],
                                        mediumblue: [0, 0, 205, 1],
                                        mediumorchid: [186, 85, 211, 1],
                                        mediumpurple: [147, 112, 219, 1],
                                        mediumseagreen: [60, 179, 113, 1],
                                        mediumslateblue: [123, 104, 238, 1],
                                        mediumspringgreen: [0, 250, 154, 1],
                                        mediumturquoise: [72, 209, 204, 1],
                                        mediumvioletred: [199, 21, 133, 1],
                                        midnightblue: [25, 25, 112, 1],
                                        mintcream: [245, 255, 250, 1],
                                        mistyrose: [255, 228, 225, 1],
                                        moccasin: [255, 228, 181, 1],
                                        navajowhite: [255, 222, 173, 1],
                                        navy: [0, 0, 128, 1],
                                        oldlace: [253, 245, 230, 1],
                                        olive: [128, 128, 0, 1],
                                        olivedrab: [107, 142, 35, 1],
                                        orange: [255, 165, 0, 1],
                                        orangered: [255, 69, 0, 1],
                                        orchid: [218, 112, 214, 1],
                                        palegoldenrod: [238, 232, 170, 1],
                                        palegreen: [152, 251, 152, 1],
                                        paleturquoise: [175, 238, 238, 1],
                                        palevioletred: [219, 112, 147, 1],
                                        papayawhip: [255, 239, 213, 1],
                                        peachpuff: [255, 218, 185, 1],
                                        peru: [205, 133, 63, 1],
                                        pink: [255, 192, 203, 1],
                                        plum: [221, 160, 221, 1],
                                        powderblue: [176, 224, 230, 1],
                                        purple: [128, 0, 128, 1],
                                        rebeccapurple: [102, 51, 153, 1],
                                        red: [255, 0, 0, 1],
                                        rosybrown: [188, 143, 143, 1],
                                        royalblue: [65, 105, 225, 1],
                                        saddlebrown: [139, 69, 19, 1],
                                        salmon: [250, 128, 114, 1],
                                        sandybrown: [244, 164, 96, 1],
                                        seagreen: [46, 139, 87, 1],
                                        seashell: [255, 245, 238, 1],
                                        sienna: [160, 82, 45, 1],
                                        silver: [192, 192, 192, 1],
                                        skyblue: [135, 206, 235, 1],
                                        slateblue: [106, 90, 205, 1],
                                        slategray: [112, 128, 144, 1],
                                        slategrey: [112, 128, 144, 1],
                                        snow: [255, 250, 250, 1],
                                        springgreen: [0, 255, 127, 1],
                                        steelblue: [70, 130, 180, 1],
                                        tan: [210, 180, 140, 1],
                                        teal: [0, 128, 128, 1],
                                        thistle: [216, 191, 216, 1],
                                        tomato: [255, 99, 71, 1],
                                        turquoise: [64, 224, 208, 1],
                                        violet: [238, 130, 238, 1],
                                        wheat: [245, 222, 179, 1],
                                        white: [255, 255, 255, 1],
                                        whitesmoke: [245, 245, 245, 1],
                                        yellow: [255, 255, 0, 1],
                                        yellowgreen: [154, 205, 50, 1],
                                   };
                                   function n(t) {
                                        return (t = Math.round(t)) < 0 ? 0 : t > 255 ? 255 : t;
                                   }
                                   function r(t) {
                                        return n("%" === t[t.length - 1] ? (parseFloat(t) / 100) * 255 : parseInt(t));
                                   }
                                   function o(t) {
                                        return (e = "%" === t[t.length - 1] ? parseFloat(t) / 100 : parseFloat(t)) < 0 ? 0 : e > 1 ? 1 : e;
                                        var e;
                                   }
                                   function a(t, e, i) {
                                        return i < 0 ? (i += 1) : i > 1 && (i -= 1), 6 * i < 1 ? t + (e - t) * i * 6 : 2 * i < 1 ? e : 3 * i < 2 ? t + (e - t) * (2 / 3 - i) * 6 : t;
                                   }
                                   try {
                                        e.parseCSSColor = function (t) {
                                             var e,
                                                  s = t.replace(/ /g, "").toLowerCase();
                                             if (s in i) return i[s].slice();
                                             if ("#" === s[0])
                                                  return 4 === s.length
                                                       ? (e = parseInt(s.substr(1), 16)) >= 0 && e <= 4095
                                                            ? [((3840 & e) >> 4) | ((3840 & e) >> 8), (240 & e) | ((240 & e) >> 4), (15 & e) | ((15 & e) << 4), 1]
                                                            : null
                                                       : 7 === s.length && (e = parseInt(s.substr(1), 16)) >= 0 && e <= 16777215
                                                       ? [(16711680 & e) >> 16, (65280 & e) >> 8, 255 & e, 1]
                                                       : null;
                                             var l = s.indexOf("("),
                                                  c = s.indexOf(")");
                                             if (-1 !== l && c + 1 === s.length) {
                                                  var u = s.substr(0, l),
                                                       h = s.substr(l + 1, c - (l + 1)).split(","),
                                                       d = 1;
                                                  switch (u) {
                                                       case "rgba":
                                                            if (4 !== h.length) return null;
                                                            d = o(h.pop());
                                                       case "rgb":
                                                            return 3 !== h.length ? null : [r(h[0]), r(h[1]), r(h[2]), d];
                                                       case "hsla":
                                                            if (4 !== h.length) return null;
                                                            d = o(h.pop());
                                                       case "hsl":
                                                            if (3 !== h.length) return null;
                                                            var p = (((parseFloat(h[0]) % 360) + 360) % 360) / 360,
                                                                 f = o(h[1]),
                                                                 m = o(h[2]),
                                                                 g = m <= 0.5 ? m * (f + 1) : m + f - m * f,
                                                                 v = 2 * m - g;
                                                            return [n(255 * a(v, g, p + 1 / 3)), n(255 * a(v, g, p)), n(255 * a(v, g, p - 1 / 3)), d];
                                                       default:
                                                            return null;
                                                  }
                                             }
                                             return null;
                                        };
                                   } catch (t) {}
                              }).parseCSSColor,
                              Jt = function (t, e, i, n) {
                                   void 0 === n && (n = 1), (this.r = t), (this.g = e), (this.b = i), (this.a = n);
                              };
                         (Jt.parse = function (t) {
                              if (t) {
                                   if (t instanceof Jt) return t;
                                   if ("string" == typeof t) {
                                        var e = Zt(t);
                                        if (e) return new Jt((e[0] / 255) * e[3], (e[1] / 255) * e[3], (e[2] / 255) * e[3], e[3]);
                                   }
                              }
                         }),
                              (Jt.prototype.toString = function () {
                                   var t = this.toArray(),
                                        e = t[1],
                                        i = t[2],
                                        n = t[3];
                                   return "rgba(" + Math.round(t[0]) + "," + Math.round(e) + "," + Math.round(i) + "," + n + ")";
                              }),
                              (Jt.prototype.toArray = function () {
                                   var t = this.a;
                                   return 0 === t ? [0, 0, 0, 0] : [(255 * this.r) / t, (255 * this.g) / t, (255 * this.b) / t, t];
                              }),
                              (Jt.black = new Jt(0, 0, 0, 1)),
                              (Jt.white = new Jt(1, 1, 1, 1)),
                              (Jt.transparent = new Jt(0, 0, 0, 0)),
                              (Jt.red = new Jt(1, 0, 0, 1));
                         var Kt = function (t, e, i) {
                              (this.sensitivity = t ? (e ? "variant" : "case") : e ? "accent" : "base"),
                                   (this.locale = i),
                                   (this.collator = new Intl.Collator(this.locale ? this.locale : [], { sensitivity: this.sensitivity, usage: "search" }));
                         };
                         (Kt.prototype.compare = function (t, e) {
                              return this.collator.compare(t, e);
                         }),
                              (Kt.prototype.resolvedLocale = function () {
                                   return new Intl.Collator(this.locale ? this.locale : []).resolvedOptions().locale;
                              });
                         var Qt = function (t, e, i, n, r) {
                                   (this.text = t), (this.image = e), (this.scale = i), (this.fontStack = n), (this.textColor = r);
                              },
                              te = function (t) {
                                   this.sections = t;
                              };
                         (te.fromString = function (t) {
                              return new te([new Qt(t, null, null, null, null)]);
                         }),
                              (te.prototype.isEmpty = function () {
                                   return (
                                        0 === this.sections.length ||
                                        !this.sections.some(function (t) {
                                             return 0 !== t.text.length || (t.image && 0 !== t.image.name.length);
                                        })
                                   );
                              }),
                              (te.factory = function (t) {
                                   return t instanceof te ? t : te.fromString(t);
                              }),
                              (te.prototype.toString = function () {
                                   return 0 === this.sections.length
                                        ? ""
                                        : this.sections
                                               .map(function (t) {
                                                    return t.text;
                                               })
                                               .join("");
                              }),
                              (te.prototype.serialize = function () {
                                   for (var t = ["format"], e = 0, i = this.sections; e < i.length; e += 1) {
                                        var n = i[e];
                                        if (n.image) t.push(["image", n.image.name]);
                                        else {
                                             t.push(n.text);
                                             var r = {};
                                             n.fontStack && (r["text-font"] = ["literal", n.fontStack.split(",")]),
                                                  n.scale && (r["font-scale"] = n.scale),
                                                  n.textColor && (r["text-color"] = ["rgba"].concat(n.textColor.toArray())),
                                                  t.push(r);
                                        }
                                   }
                                   return t;
                              });
                         var ee = function (t) {
                              (this.name = t.name), (this.available = t.available);
                         };
                         function ie(t, e, i, n) {
                              return "number" == typeof t && t >= 0 && t <= 255 && "number" == typeof e && e >= 0 && e <= 255 && "number" == typeof i && i >= 0 && i <= 255
                                   ? void 0 === n || ("number" == typeof n && n >= 0 && n <= 1)
                                        ? null
                                        : "Invalid rgba value [" + [t, e, i, n].join(", ") + "]: 'a' must be between 0 and 1."
                                   : "Invalid rgba value [" + ("number" == typeof n ? [t, e, i, n] : [t, e, i]).join(", ") + "]: 'r', 'g', and 'b' must be between 0 and 255.";
                         }
                         function ne(t) {
                              if (null === t) return !0;
                              if ("string" == typeof t) return !0;
                              if ("boolean" == typeof t) return !0;
                              if ("number" == typeof t) return !0;
                              if (t instanceof Jt) return !0;
                              if (t instanceof Kt) return !0;
                              if (t instanceof te) return !0;
                              if (t instanceof ee) return !0;
                              if (Array.isArray(t)) {
                                   for (var e = 0, i = t; e < i.length; e += 1) if (!ne(i[e])) return !1;
                                   return !0;
                              }
                              if ("object" == typeof t) {
                                   for (var n in t) if (!ne(t[n])) return !1;
                                   return !0;
                              }
                              return !1;
                         }
                         function re(t) {
                              if (null === t) return Ot;
                              if ("string" == typeof t) return zt;
                              if ("boolean" == typeof t) return Rt;
                              if ("number" == typeof t) return Yt;
                              if (t instanceof Jt) return Ft;
                              if (t instanceof Kt) return Nt;
                              if (t instanceof te) return Bt;
                              if (t instanceof ee) return Wt;
                              if (Array.isArray(t)) {
                                   for (var e, i = t.length, n = 0, r = t; n < r.length; n += 1) {
                                        var o = re(r[n]);
                                        if (e) {
                                             if (e === o) continue;
                                             e = jt;
                                             break;
                                        }
                                        e = o;
                                   }
                                   return Vt(e || jt, i);
                              }
                              return Ht;
                         }
                         function oe(t) {
                              var e = typeof t;
                              return null === t ? "" : "string" === e || "number" === e || "boolean" === e ? String(t) : t instanceof Jt || t instanceof te || t instanceof ee ? t.toString() : JSON.stringify(t);
                         }
                         (ee.prototype.toString = function () {
                              return this.name;
                         }),
                              (ee.fromString = function (t) {
                                   return t ? new ee({ name: t, available: !1 }) : null;
                              }),
                              (ee.prototype.serialize = function () {
                                   return ["image", this.name];
                              });
                         var ae = function (t, e) {
                              (this.type = t), (this.value = e);
                         };
                         (ae.parse = function (t, e) {
                              if (2 !== t.length) return e.error("'literal' expression requires exactly one argument, but found " + (t.length - 1) + " instead.");
                              if (!ne(t[1])) return e.error("invalid value");
                              var i = t[1],
                                   n = re(i),
                                   r = e.expectedType;
                              return "array" !== n.kind || 0 !== n.N || !r || "array" !== r.kind || ("number" == typeof r.N && 0 !== r.N) || (n = r), new ae(n, i);
                         }),
                              (ae.prototype.evaluate = function () {
                                   return this.value;
                              }),
                              (ae.prototype.eachChild = function () {}),
                              (ae.prototype.outputDefined = function () {
                                   return !0;
                              }),
                              (ae.prototype.serialize = function () {
                                   return "array" === this.type.kind || "object" === this.type.kind
                                        ? ["literal", this.value]
                                        : this.value instanceof Jt
                                        ? ["rgba"].concat(this.value.toArray())
                                        : this.value instanceof te
                                        ? this.value.serialize()
                                        : this.value;
                              });
                         var se = function (t) {
                              (this.name = "ExpressionEvaluationError"), (this.message = t);
                         };
                         se.prototype.toJSON = function () {
                              return this.message;
                         };
                         var le = { string: zt, number: Yt, boolean: Rt, object: Ht },
                              ce = function (t, e) {
                                   (this.type = t), (this.args = e);
                              };
                         (ce.parse = function (t, e) {
                              if (t.length < 2) return e.error("Expected at least one argument.");
                              var i,
                                   n = 1,
                                   r = t[0];
                              if ("array" === r) {
                                   var o, a;
                                   if (t.length > 2) {
                                        var s = t[1];
                                        if ("string" != typeof s || !(s in le) || "object" === s) return e.error('The item type argument of "array" must be one of string, number, boolean', 1);
                                        (o = le[s]), n++;
                                   } else o = jt;
                                   if (t.length > 3) {
                                        if (null !== t[2] && ("number" != typeof t[2] || t[2] < 0 || t[2] !== Math.floor(t[2]))) return e.error('The length argument to "array" must be a positive integer literal', 2);
                                        (a = t[2]), n++;
                                   }
                                   i = Vt(o, a);
                              } else i = le[r];
                              for (var l = []; n < t.length; n++) {
                                   var c = e.parse(t[n], n, jt);
                                   if (!c) return null;
                                   l.push(c);
                              }
                              return new ce(i, l);
                         }),
                              (ce.prototype.evaluate = function (t) {
                                   for (var e = 0; e < this.args.length; e++) {
                                        var i = this.args[e].evaluate(t);
                                        if (!$t(this.type, re(i))) return i;
                                        if (e === this.args.length - 1) throw new se("Expected value to be of type " + Ut(this.type) + ", but found " + Ut(re(i)) + " instead.");
                                   }
                                   return null;
                              }),
                              (ce.prototype.eachChild = function (t) {
                                   this.args.forEach(t);
                              }),
                              (ce.prototype.outputDefined = function () {
                                   return this.args.every(function (t) {
                                        return t.outputDefined();
                                   });
                              }),
                              (ce.prototype.serialize = function () {
                                   var t = this.type,
                                        e = [t.kind];
                                   if ("array" === t.kind) {
                                        var i = t.itemType;
                                        if ("string" === i.kind || "number" === i.kind || "boolean" === i.kind) {
                                             e.push(i.kind);
                                             var n = t.N;
                                             ("number" == typeof n || this.args.length > 1) && e.push(n);
                                        }
                                   }
                                   return e.concat(
                                        this.args.map(function (t) {
                                             return t.serialize();
                                        })
                                   );
                              });
                         var ue = function (t) {
                              (this.type = Bt), (this.sections = t);
                         };
                         (ue.parse = function (t, e) {
                              if (t.length < 2) return e.error("Expected at least one argument.");
                              var i = t[1];
                              if (!Array.isArray(i) && "object" == typeof i) return e.error("First argument must be an image or text section.");
                              for (var n = [], r = !1, o = 1; o <= t.length - 1; ++o) {
                                   var a = t[o];
                                   if (r && "object" == typeof a && !Array.isArray(a)) {
                                        r = !1;
                                        var s = null;
                                        if (a["font-scale"] && !(s = e.parse(a["font-scale"], 1, Yt))) return null;
                                        var l = null;
                                        if (a["text-font"] && !(l = e.parse(a["text-font"], 1, Vt(zt)))) return null;
                                        var c = null;
                                        if (a["text-color"] && !(c = e.parse(a["text-color"], 1, Ft))) return null;
                                        var u = n[n.length - 1];
                                        (u.scale = s), (u.font = l), (u.textColor = c);
                                   } else {
                                        var h = e.parse(t[o], 1, jt);
                                        if (!h) return null;
                                        var d = h.type.kind;
                                        if ("string" !== d && "value" !== d && "null" !== d && "resolvedImage" !== d) return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");
                                        (r = !0), n.push({ content: h, scale: null, font: null, textColor: null });
                                   }
                              }
                              return new ue(n);
                         }),
                              (ue.prototype.evaluate = function (t) {
                                   return new te(
                                        this.sections.map(function (e) {
                                             var i = e.content.evaluate(t);
                                             return re(i) === Wt
                                                  ? new Qt("", i, null, null, null)
                                                  : new Qt(oe(i), null, e.scale ? e.scale.evaluate(t) : null, e.font ? e.font.evaluate(t).join(",") : null, e.textColor ? e.textColor.evaluate(t) : null);
                                        })
                                   );
                              }),
                              (ue.prototype.eachChild = function (t) {
                                   for (var e = 0, i = this.sections; e < i.length; e += 1) {
                                        var n = i[e];
                                        t(n.content), n.scale && t(n.scale), n.font && t(n.font), n.textColor && t(n.textColor);
                                   }
                              }),
                              (ue.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (ue.prototype.serialize = function () {
                                   for (var t = ["format"], e = 0, i = this.sections; e < i.length; e += 1) {
                                        var n = i[e];
                                        t.push(n.content.serialize());
                                        var r = {};
                                        n.scale && (r["font-scale"] = n.scale.serialize()), n.font && (r["text-font"] = n.font.serialize()), n.textColor && (r["text-color"] = n.textColor.serialize()), t.push(r);
                                   }
                                   return t;
                              });
                         var he = function (t) {
                              (this.type = Wt), (this.input = t);
                         };
                         (he.parse = function (t, e) {
                              if (2 !== t.length) return e.error("Expected two arguments.");
                              var i = e.parse(t[1], 1, zt);
                              return i ? new he(i) : e.error("No image name provided.");
                         }),
                              (he.prototype.evaluate = function (t) {
                                   var e = this.input.evaluate(t),
                                        i = ee.fromString(e);
                                   return i && t.availableImages && (i.available = t.availableImages.indexOf(e) > -1), i;
                              }),
                              (he.prototype.eachChild = function (t) {
                                   t(this.input);
                              }),
                              (he.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (he.prototype.serialize = function () {
                                   return ["image", this.input.serialize()];
                              });
                         var de = { "to-boolean": Rt, "to-color": Ft, "to-number": Yt, "to-string": zt },
                              pe = function (t, e) {
                                   (this.type = t), (this.args = e);
                              };
                         (pe.parse = function (t, e) {
                              if (t.length < 2) return e.error("Expected at least one argument.");
                              var i = t[0];
                              if (("to-boolean" === i || "to-string" === i) && 2 !== t.length) return e.error("Expected one argument.");
                              for (var n = de[i], r = [], o = 1; o < t.length; o++) {
                                   var a = e.parse(t[o], o, jt);
                                   if (!a) return null;
                                   r.push(a);
                              }
                              return new pe(n, r);
                         }),
                              (pe.prototype.evaluate = function (t) {
                                   if ("boolean" === this.type.kind) return Boolean(this.args[0].evaluate(t));
                                   if ("color" === this.type.kind) {
                                        for (var e, i, n = 0, r = this.args; n < r.length; n += 1) {
                                             if (((i = null), (e = r[n].evaluate(t)) instanceof Jt)) return e;
                                             if ("string" == typeof e) {
                                                  var o = t.parseColor(e);
                                                  if (o) return o;
                                             } else if (
                                                  Array.isArray(e) &&
                                                  !(i = e.length < 3 || e.length > 4 ? "Invalid rbga value " + JSON.stringify(e) + ": expected an array containing either three or four numeric values." : ie(e[0], e[1], e[2], e[3]))
                                             )
                                                  return new Jt(e[0] / 255, e[1] / 255, e[2] / 255, e[3]);
                                        }
                                        throw new se(i || "Could not parse color from value '" + ("string" == typeof e ? e : String(JSON.stringify(e))) + "'");
                                   }
                                   if ("number" === this.type.kind) {
                                        for (var a = null, s = 0, l = this.args; s < l.length; s += 1) {
                                             if (null === (a = l[s].evaluate(t))) return 0;
                                             var c = Number(a);
                                             if (!isNaN(c)) return c;
                                        }
                                        throw new se("Could not convert " + JSON.stringify(a) + " to number.");
                                   }
                                   return "formatted" === this.type.kind ? te.fromString(oe(this.args[0].evaluate(t))) : "resolvedImage" === this.type.kind ? ee.fromString(oe(this.args[0].evaluate(t))) : oe(this.args[0].evaluate(t));
                              }),
                              (pe.prototype.eachChild = function (t) {
                                   this.args.forEach(t);
                              }),
                              (pe.prototype.outputDefined = function () {
                                   return this.args.every(function (t) {
                                        return t.outputDefined();
                                   });
                              }),
                              (pe.prototype.serialize = function () {
                                   if ("formatted" === this.type.kind) return new ue([{ content: this.args[0], scale: null, font: null, textColor: null }]).serialize();
                                   if ("resolvedImage" === this.type.kind) return new he(this.args[0]).serialize();
                                   var t = ["to-" + this.type.kind];
                                   return (
                                        this.eachChild(function (e) {
                                             t.push(e.serialize());
                                        }),
                                        t
                                   );
                              });
                         var fe = ["Unknown", "Point", "LineString", "Polygon"],
                              me = function () {
                                   (this.globals = null), (this.feature = null), (this.featureState = null), (this.formattedSection = null), (this._parseColorCache = {}), (this.availableImages = null), (this.canonical = null);
                              };
                         (me.prototype.id = function () {
                              return this.feature && "id" in this.feature ? this.feature.id : null;
                         }),
                              (me.prototype.geometryType = function () {
                                   return this.feature ? ("number" == typeof this.feature.type ? fe[this.feature.type] : this.feature.type) : null;
                              }),
                              (me.prototype.geometry = function () {
                                   return this.feature && "geometry" in this.feature ? this.feature.geometry : null;
                              }),
                              (me.prototype.canonicalID = function () {
                                   return this.canonical;
                              }),
                              (me.prototype.properties = function () {
                                   return (this.feature && this.feature.properties) || {};
                              }),
                              (me.prototype.parseColor = function (t) {
                                   var e = this._parseColorCache[t];
                                   return e || (e = this._parseColorCache[t] = Jt.parse(t)), e;
                              });
                         var ge = function (t, e, i, n) {
                              (this.name = t), (this.type = e), (this._evaluate = i), (this.args = n);
                         };
                         (ge.prototype.evaluate = function (t) {
                              return this._evaluate(t, this.args);
                         }),
                              (ge.prototype.eachChild = function (t) {
                                   this.args.forEach(t);
                              }),
                              (ge.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (ge.prototype.serialize = function () {
                                   return [this.name].concat(
                                        this.args.map(function (t) {
                                             return t.serialize();
                                        })
                                   );
                              }),
                              (ge.parse = function (t, e) {
                                   var i,
                                        n = t[0],
                                        r = ge.definitions[n];
                                   if (!r) return e.error('Unknown expression "' + n + '". If you wanted a literal array, use ["literal", [...]].', 0);
                                   for (
                                        var o = Array.isArray(r) ? r[0] : r.type,
                                             a = Array.isArray(r) ? [[r[1], r[2]]] : r.overloads,
                                             s = a.filter(function (e) {
                                                  var i = e[0];
                                                  return !Array.isArray(i) || i.length === t.length - 1;
                                             }),
                                             l = null,
                                             c = 0,
                                             u = s;
                                        c < u.length;
                                        c += 1
                                   ) {
                                        var h = u[c],
                                             d = h[0],
                                             p = h[1];
                                        l = new Fe(e.registry, e.path, null, e.scope);
                                        for (var f = [], m = !1, g = 1; g < t.length; g++) {
                                             var v = t[g],
                                                  y = Array.isArray(d) ? d[g - 1] : d.type,
                                                  b = l.parse(v, 1 + f.length, y);
                                             if (!b) {
                                                  m = !0;
                                                  break;
                                             }
                                             f.push(b);
                                        }
                                        if (!m)
                                             if (Array.isArray(d) && d.length !== f.length) l.error("Expected " + d.length + " arguments, but found " + f.length + " instead.");
                                             else {
                                                  for (var _ = 0; _ < f.length; _++) {
                                                       var x = Array.isArray(d) ? d[_] : d.type,
                                                            w = f[_];
                                                       l.concat(_ + 1).checkSubtype(x, w.type);
                                                  }
                                                  if (0 === l.errors.length) return new ge(n, o, p, f);
                                             }
                                   }
                                   if (1 === s.length) (i = e.errors).push.apply(i, l.errors);
                                   else {
                                        for (
                                             var k = (s.length ? s : a)
                                                       .map(function (t) {
                                                            var e;
                                                            return (e = t[0]), Array.isArray(e) ? "(" + e.map(Ut).join(", ") + ")" : "(" + Ut(e.type) + "...)";
                                                       })
                                                       .join(" | "),
                                                  S = [],
                                                  M = 1;
                                             M < t.length;
                                             M++
                                        ) {
                                             var T = e.parse(t[M], 1 + S.length);
                                             if (!T) return null;
                                             S.push(Ut(T.type));
                                        }
                                        e.error("Expected arguments of type " + k + ", but found (" + S.join(", ") + ") instead.");
                                   }
                                   return null;
                              }),
                              (ge.register = function (t, e) {
                                   for (var i in ((ge.definitions = e), e)) t[i] = ge;
                              });
                         var ve = function (t, e, i) {
                              (this.type = Nt), (this.locale = i), (this.caseSensitive = t), (this.diacriticSensitive = e);
                         };
                         function ye(t, e) {
                              (t[0] = Math.min(t[0], e[0])), (t[1] = Math.min(t[1], e[1])), (t[2] = Math.max(t[2], e[0])), (t[3] = Math.max(t[3], e[1]));
                         }
                         function be(t, e) {
                              return !(t[0] <= e[0] || t[2] >= e[2] || t[1] <= e[1] || t[3] >= e[3]);
                         }
                         function _e(t, e) {
                              var i = (180 + t[0]) / 360,
                                   n = (180 - (180 / Math.PI) * Math.log(Math.tan(Math.PI / 4 + (t[1] * Math.PI) / 360))) / 360,
                                   r = Math.pow(2, e.z);
                              return [Math.round(i * r * 8192), Math.round(n * r * 8192)];
                         }
                         function xe(t, e, i) {
                              return e[1] > t[1] != i[1] > t[1] && t[0] < ((i[0] - e[0]) * (t[1] - e[1])) / (i[1] - e[1]) + e[0];
                         }
                         function we(t, e) {
                              for (var i, n, r, o, a, s, l, c = !1, u = 0, h = e.length; u < h; u++)
                                   for (var d = e[u], p = 0, f = d.length; p < f - 1; p++) {
                                        if ((o = (i = t)[0] - (n = d[p])[0]) * (l = i[1] - (r = d[p + 1])[1]) - (s = i[0] - r[0]) * (a = i[1] - n[1]) == 0 && o * s <= 0 && a * l <= 0) return !1;
                                        xe(t, d[p], d[p + 1]) && (c = !c);
                                   }
                              return c;
                         }
                         function ke(t, e) {
                              for (var i = 0; i < e.length; i++) if (we(t, e[i])) return !0;
                              return !1;
                         }
                         function Se(t, e, i, n) {
                              var r = n[0] - i[0],
                                   o = n[1] - i[1],
                                   a = (t[0] - i[0]) * o - r * (t[1] - i[1]),
                                   s = (e[0] - i[0]) * o - r * (e[1] - i[1]);
                              return (a > 0 && s < 0) || (a < 0 && s > 0);
                         }
                         function Me(t, e, i) {
                              for (var n = 0, r = i; n < r.length; n += 1)
                                   for (var o = r[n], a = 0; a < o.length - 1; ++a)
                                        if (0 != (h = [(u = o[a + 1])[0] - (c = o[a])[0], u[1] - c[1]])[0] * (d = [(l = e)[0] - (s = t)[0], l[1] - s[1]])[1] - h[1] * d[0] && Se(s, l, c, u) && Se(c, u, s, l)) return !0;
                              var s, l, c, u, h, d;
                              return !1;
                         }
                         function Te(t, e) {
                              for (var i = 0; i < t.length; ++i) if (!we(t[i], e)) return !1;
                              for (var n = 0; n < t.length - 1; ++n) if (Me(t[n], t[n + 1], e)) return !1;
                              return !0;
                         }
                         function Ce(t, e) {
                              for (var i = 0; i < e.length; i++) if (Te(t, e[i])) return !0;
                              return !1;
                         }
                         function De(t, e, i) {
                              for (var n = [], r = 0; r < t.length; r++) {
                                   for (var o = [], a = 0; a < t[r].length; a++) {
                                        var s = _e(t[r][a], i);
                                        ye(e, s), o.push(s);
                                   }
                                   n.push(o);
                              }
                              return n;
                         }
                         function Le(t, e, i) {
                              for (var n = [], r = 0; r < t.length; r++) {
                                   var o = De(t[r], e, i);
                                   n.push(o);
                              }
                              return n;
                         }
                         function Ee(t, e, i, n) {
                              if (t[0] < i[0] || t[0] > i[2]) {
                                   var r = 0.5 * n,
                                        o = t[0] - i[0] > r ? -n : i[0] - t[0] > r ? n : 0;
                                   0 === o && (o = t[0] - i[2] > r ? -n : i[2] - t[0] > r ? n : 0), (t[0] += o);
                              }
                              ye(e, t);
                         }
                         function Ae(t, e, i, n) {
                              for (var r = 8192 * Math.pow(2, n.z), o = [8192 * n.x, 8192 * n.y], a = [], s = 0, l = t; s < l.length; s += 1)
                                   for (var c = 0, u = l[s]; c < u.length; c += 1) {
                                        var h = u[c],
                                             d = [h.x + o[0], h.y + o[1]];
                                        Ee(d, e, i, r), a.push(d);
                                   }
                              return a;
                         }
                         function Pe(t, e, i, n) {
                              for (var r, o = 8192 * Math.pow(2, n.z), a = [8192 * n.x, 8192 * n.y], s = [], l = 0, c = t; l < c.length; l += 1) {
                                   for (var u = [], h = 0, d = c[l]; h < d.length; h += 1) {
                                        var p = d[h],
                                             f = [p.x + a[0], p.y + a[1]];
                                        ye(e, f), u.push(f);
                                   }
                                   s.push(u);
                              }
                              if (e[2] - e[0] <= o / 2) {
                                   ((r = e)[0] = r[1] = 1 / 0), (r[2] = r[3] = -1 / 0);
                                   for (var m = 0, g = s; m < g.length; m += 1) for (var v = 0, y = g[m]; v < y.length; v += 1) Ee(y[v], e, i, o);
                              }
                              return s;
                         }
                         (ve.parse = function (t, e) {
                              if (2 !== t.length) return e.error("Expected one argument.");
                              var i = t[1];
                              if ("object" != typeof i || Array.isArray(i)) return e.error("Collator options argument must be an object.");
                              var n = e.parse(void 0 !== i["case-sensitive"] && i["case-sensitive"], 1, Rt);
                              if (!n) return null;
                              var r = e.parse(void 0 !== i["diacritic-sensitive"] && i["diacritic-sensitive"], 1, Rt);
                              if (!r) return null;
                              var o = null;
                              return i.locale && !(o = e.parse(i.locale, 1, zt)) ? null : new ve(n, r, o);
                         }),
                              (ve.prototype.evaluate = function (t) {
                                   return new Kt(this.caseSensitive.evaluate(t), this.diacriticSensitive.evaluate(t), this.locale ? this.locale.evaluate(t) : null);
                              }),
                              (ve.prototype.eachChild = function (t) {
                                   t(this.caseSensitive), t(this.diacriticSensitive), this.locale && t(this.locale);
                              }),
                              (ve.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (ve.prototype.serialize = function () {
                                   var t = {};
                                   return (t["case-sensitive"] = this.caseSensitive.serialize()), (t["diacritic-sensitive"] = this.diacriticSensitive.serialize()), this.locale && (t.locale = this.locale.serialize()), ["collator", t];
                              });
                         var Ie = function (t, e) {
                              (this.type = Rt), (this.geojson = t), (this.geometries = e);
                         };
                         function Oe(t) {
                              if (t instanceof ge) {
                                   if ("get" === t.name && 1 === t.args.length) return !1;
                                   if ("feature-state" === t.name) return !1;
                                   if ("has" === t.name && 1 === t.args.length) return !1;
                                   if ("properties" === t.name || "geometry-type" === t.name || "id" === t.name) return !1;
                                   if (/^filter-/.test(t.name)) return !1;
                              }
                              if (t instanceof Ie) return !1;
                              var e = !0;
                              return (
                                   t.eachChild(function (t) {
                                        e && !Oe(t) && (e = !1);
                                   }),
                                   e
                              );
                         }
                         function Ye(t) {
                              if (t instanceof ge && "feature-state" === t.name) return !1;
                              var e = !0;
                              return (
                                   t.eachChild(function (t) {
                                        e && !Ye(t) && (e = !1);
                                   }),
                                   e
                              );
                         }
                         function ze(t, e) {
                              if (t instanceof ge && e.indexOf(t.name) >= 0) return !1;
                              var i = !0;
                              return (
                                   t.eachChild(function (t) {
                                        i && !ze(t, e) && (i = !1);
                                   }),
                                   i
                              );
                         }
                         (Ie.parse = function (t, e) {
                              if (2 !== t.length) return e.error("'within' expression requires exactly one argument, but found " + (t.length - 1) + " instead.");
                              if (ne(t[1])) {
                                   var i = t[1];
                                   if ("FeatureCollection" === i.type)
                                        for (var n = 0; n < i.features.length; ++n) {
                                             var r = i.features[n].geometry.type;
                                             if ("Polygon" === r || "MultiPolygon" === r) return new Ie(i, i.features[n].geometry);
                                        }
                                   else if ("Feature" === i.type) {
                                        var o = i.geometry.type;
                                        if ("Polygon" === o || "MultiPolygon" === o) return new Ie(i, i.geometry);
                                   } else if ("Polygon" === i.type || "MultiPolygon" === i.type) return new Ie(i, i);
                              }
                              return e.error("'within' expression requires valid geojson object that contains polygon geometry type.");
                         }),
                              (Ie.prototype.evaluate = function (t) {
                                   if (null != t.geometry() && null != t.canonicalID()) {
                                        if ("Point" === t.geometryType())
                                             return (function (t, e) {
                                                  var i = [1 / 0, 1 / 0, -1 / 0, -1 / 0],
                                                       n = [1 / 0, 1 / 0, -1 / 0, -1 / 0],
                                                       r = t.canonicalID();
                                                  if ("Polygon" === e.type) {
                                                       var o = De(e.coordinates, n, r),
                                                            a = Ae(t.geometry(), i, n, r);
                                                       if (!be(i, n)) return !1;
                                                       for (var s = 0, l = a; s < l.length; s += 1) if (!we(l[s], o)) return !1;
                                                  }
                                                  if ("MultiPolygon" === e.type) {
                                                       var c = Le(e.coordinates, n, r),
                                                            u = Ae(t.geometry(), i, n, r);
                                                       if (!be(i, n)) return !1;
                                                       for (var h = 0, d = u; h < d.length; h += 1) if (!ke(d[h], c)) return !1;
                                                  }
                                                  return !0;
                                             })(t, this.geometries);
                                        if ("LineString" === t.geometryType())
                                             return (function (t, e) {
                                                  var i = [1 / 0, 1 / 0, -1 / 0, -1 / 0],
                                                       n = [1 / 0, 1 / 0, -1 / 0, -1 / 0],
                                                       r = t.canonicalID();
                                                  if ("Polygon" === e.type) {
                                                       var o = De(e.coordinates, n, r),
                                                            a = Pe(t.geometry(), i, n, r);
                                                       if (!be(i, n)) return !1;
                                                       for (var s = 0, l = a; s < l.length; s += 1) if (!Te(l[s], o)) return !1;
                                                  }
                                                  if ("MultiPolygon" === e.type) {
                                                       var c = Le(e.coordinates, n, r),
                                                            u = Pe(t.geometry(), i, n, r);
                                                       if (!be(i, n)) return !1;
                                                       for (var h = 0, d = u; h < d.length; h += 1) if (!Ce(d[h], c)) return !1;
                                                  }
                                                  return !0;
                                             })(t, this.geometries);
                                   }
                                   return !1;
                              }),
                              (Ie.prototype.eachChild = function () {}),
                              (Ie.prototype.outputDefined = function () {
                                   return !0;
                              }),
                              (Ie.prototype.serialize = function () {
                                   return ["within", this.geojson];
                              });
                         var Re = function (t, e) {
                              (this.type = e.type), (this.name = t), (this.boundExpression = e);
                         };
                         (Re.parse = function (t, e) {
                              if (2 !== t.length || "string" != typeof t[1]) return e.error("'var' expression requires exactly one string literal argument.");
                              var i = t[1];
                              return e.scope.has(i) ? new Re(i, e.scope.get(i)) : e.error('Unknown variable "' + i + '". Make sure "' + i + '" has been bound in an enclosing "let" expression before using it.', 1);
                         }),
                              (Re.prototype.evaluate = function (t) {
                                   return this.boundExpression.evaluate(t);
                              }),
                              (Re.prototype.eachChild = function () {}),
                              (Re.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (Re.prototype.serialize = function () {
                                   return ["var", this.name];
                              });
                         var Fe = function (t, e, i, n, r) {
                              void 0 === e && (e = []),
                                   void 0 === n && (n = new It()),
                                   void 0 === r && (r = []),
                                   (this.registry = t),
                                   (this.path = e),
                                   (this.key = e
                                        .map(function (t) {
                                             return "[" + t + "]";
                                        })
                                        .join("")),
                                   (this.scope = n),
                                   (this.errors = r),
                                   (this.expectedType = i);
                         };
                         function He(t, e) {
                              for (var i, n = t.length - 1, r = 0, o = n, a = 0; r <= o; )
                                   if ((i = t[(a = Math.floor((r + o) / 2))]) <= e) {
                                        if (a === n || e < t[a + 1]) return a;
                                        r = a + 1;
                                   } else {
                                        if (!(i > e)) throw new se("Input is not a number.");
                                        o = a - 1;
                                   }
                              return 0;
                         }
                         (Fe.prototype.parse = function (t, e, i, n, r) {
                              return void 0 === r && (r = {}), e ? this.concat(e, i, n)._parse(t, r) : this._parse(t, r);
                         }),
                              (Fe.prototype._parse = function (t, e) {
                                   function i(t, e, i) {
                                        return "assert" === i ? new ce(e, [t]) : "coerce" === i ? new pe(e, [t]) : t;
                                   }
                                   if (((null !== t && "string" != typeof t && "boolean" != typeof t && "number" != typeof t) || (t = ["literal", t]), Array.isArray(t))) {
                                        if (0 === t.length) return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');
                                        var n = t[0];
                                        if ("string" != typeof n) return this.error("Expression name must be a string, but found " + typeof n + ' instead. If you wanted a literal array, use ["literal", [...]].', 0), null;
                                        var r = this.registry[n];
                                        if (r) {
                                             var o = r.parse(t, this);
                                             if (!o) return null;
                                             if (this.expectedType) {
                                                  var a = this.expectedType,
                                                       s = o.type;
                                                  if (("string" !== a.kind && "number" !== a.kind && "boolean" !== a.kind && "object" !== a.kind && "array" !== a.kind) || "value" !== s.kind)
                                                       if (("color" !== a.kind && "formatted" !== a.kind && "resolvedImage" !== a.kind) || ("value" !== s.kind && "string" !== s.kind)) {
                                                            if (this.checkSubtype(a, s)) return null;
                                                       } else o = i(o, a, e.typeAnnotation || "coerce");
                                                  else o = i(o, a, e.typeAnnotation || "assert");
                                             }
                                             if (
                                                  !(o instanceof ae) &&
                                                  "resolvedImage" !== o.type.kind &&
                                                  (function t(e) {
                                                       if (e instanceof Re) return t(e.boundExpression);
                                                       if (e instanceof ge && "error" === e.name) return !1;
                                                       if (e instanceof ve) return !1;
                                                       if (e instanceof Ie) return !1;
                                                       var i = e instanceof pe || e instanceof ce,
                                                            n = !0;
                                                       return (
                                                            e.eachChild(function (e) {
                                                                 n = i ? n && t(e) : n && e instanceof ae;
                                                            }),
                                                            !!n && Oe(e) && ze(e, ["zoom", "heatmap-density", "line-progress", "accumulated", "is-supported-script"])
                                                       );
                                                  })(o)
                                             ) {
                                                  var l = new me();
                                                  try {
                                                       o = new ae(o.type, o.evaluate(l));
                                                  } catch (t) {
                                                       return this.error(t.message), null;
                                                  }
                                             }
                                             return o;
                                        }
                                        return this.error('Unknown expression "' + n + '". If you wanted a literal array, use ["literal", [...]].', 0);
                                   }
                                   return this.error(
                                        void 0 === t
                                             ? "'undefined' value invalid. Use null instead."
                                             : "object" == typeof t
                                             ? 'Bare objects invalid. Use ["literal", {...}] instead.'
                                             : "Expected an array, but found " + typeof t + " instead."
                                   );
                              }),
                              (Fe.prototype.concat = function (t, e, i) {
                                   var n = "number" == typeof t ? this.path.concat(t) : this.path,
                                        r = i ? this.scope.concat(i) : this.scope;
                                   return new Fe(this.registry, n, e || null, r, this.errors);
                              }),
                              (Fe.prototype.error = function (t) {
                                   for (var e = [], i = arguments.length - 1; i-- > 0; ) e[i] = arguments[i + 1];
                                   var n =
                                        "" +
                                        this.key +
                                        e
                                             .map(function (t) {
                                                  return "[" + t + "]";
                                             })
                                             .join("");
                                   this.errors.push(new Pt(n, t));
                              }),
                              (Fe.prototype.checkSubtype = function (t, e) {
                                   var i = $t(t, e);
                                   return i && this.error(i), i;
                              });
                         var je = function (t, e, i) {
                              (this.type = t), (this.input = e), (this.labels = []), (this.outputs = []);
                              for (var n = 0, r = i; n < r.length; n += 1) {
                                   var o = r[n],
                                        a = o[1];
                                   this.labels.push(o[0]), this.outputs.push(a);
                              }
                         };
                         function Ne(t, e, i) {
                              return t * (1 - i) + e * i;
                         }
                         (je.parse = function (t, e) {
                              if (t.length - 1 < 4) return e.error("Expected at least 4 arguments, but found only " + (t.length - 1) + ".");
                              if ((t.length - 1) % 2 != 0) return e.error("Expected an even number of arguments.");
                              var i = e.parse(t[1], 1, Yt);
                              if (!i) return null;
                              var n = [],
                                   r = null;
                              e.expectedType && "value" !== e.expectedType.kind && (r = e.expectedType);
                              for (var o = 1; o < t.length; o += 2) {
                                   var a = 1 === o ? -1 / 0 : t[o],
                                        s = t[o + 1],
                                        l = o,
                                        c = o + 1;
                                   if ("number" != typeof a) return e.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.', l);
                                   if (n.length && n[n.length - 1][0] >= a) return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.', l);
                                   var u = e.parse(s, c, r);
                                   if (!u) return null;
                                   (r = r || u.type), n.push([a, u]);
                              }
                              return new je(r, i, n);
                         }),
                              (je.prototype.evaluate = function (t) {
                                   var e = this.labels,
                                        i = this.outputs;
                                   if (1 === e.length) return i[0].evaluate(t);
                                   var n = this.input.evaluate(t);
                                   if (n <= e[0]) return i[0].evaluate(t);
                                   var r = e.length;
                                   return n >= e[r - 1] ? i[r - 1].evaluate(t) : i[He(e, n)].evaluate(t);
                              }),
                              (je.prototype.eachChild = function (t) {
                                   t(this.input);
                                   for (var e = 0, i = this.outputs; e < i.length; e += 1) t(i[e]);
                              }),
                              (je.prototype.outputDefined = function () {
                                   return this.outputs.every(function (t) {
                                        return t.outputDefined();
                                   });
                              }),
                              (je.prototype.serialize = function () {
                                   for (var t = ["step", this.input.serialize()], e = 0; e < this.labels.length; e++) e > 0 && t.push(this.labels[e]), t.push(this.outputs[e].serialize());
                                   return t;
                              });
                         var Be = Object.freeze({
                                   __proto__: null,
                                   number: Ne,
                                   color: function (t, e, i) {
                                        return new Jt(Ne(t.r, e.r, i), Ne(t.g, e.g, i), Ne(t.b, e.b, i), Ne(t.a, e.a, i));
                                   },
                                   array: function (t, e, i) {
                                        return t.map(function (t, n) {
                                             return Ne(t, e[n], i);
                                        });
                                   },
                              }),
                              We = (6 / 29) * 3 * (6 / 29),
                              Ve = Math.PI / 180,
                              Ue = 180 / Math.PI;
                         function qe(t) {
                              return t > 0.008856451679035631 ? Math.pow(t, 1 / 3) : t / We + 4 / 29;
                         }
                         function $e(t) {
                              return t > 6 / 29 ? t * t * t : We * (t - 4 / 29);
                         }
                         function Xe(t) {
                              return 255 * (t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055);
                         }
                         function Ge(t) {
                              return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
                         }
                         function Ze(t) {
                              var e = Ge(t.r),
                                   i = Ge(t.g),
                                   n = Ge(t.b),
                                   r = qe((0.4124564 * e + 0.3575761 * i + 0.1804375 * n) / 0.95047),
                                   o = qe((0.2126729 * e + 0.7151522 * i + 0.072175 * n) / 1);
                              return { l: 116 * o - 16, a: 500 * (r - o), b: 200 * (o - qe((0.0193339 * e + 0.119192 * i + 0.9503041 * n) / 1.08883)), alpha: t.a };
                         }
                         function Je(t) {
                              var e = (t.l + 16) / 116,
                                   i = isNaN(t.a) ? e : e + t.a / 500,
                                   n = isNaN(t.b) ? e : e - t.b / 200;
                              return (
                                   (e = 1 * $e(e)),
                                   (i = 0.95047 * $e(i)),
                                   (n = 1.08883 * $e(n)),
                                   new Jt(Xe(3.2404542 * i - 1.5371385 * e - 0.4985314 * n), Xe(-0.969266 * i + 1.8760108 * e + 0.041556 * n), Xe(0.0556434 * i - 0.2040259 * e + 1.0572252 * n), t.alpha)
                              );
                         }
                         function Ke(t, e, i) {
                              var n = e - t;
                              return t + i * (n > 180 || n < -180 ? n - 360 * Math.round(n / 360) : n);
                         }
                         var Qe = {
                                   forward: Ze,
                                   reverse: Je,
                                   interpolate: function (t, e, i) {
                                        return { l: Ne(t.l, e.l, i), a: Ne(t.a, e.a, i), b: Ne(t.b, e.b, i), alpha: Ne(t.alpha, e.alpha, i) };
                                   },
                              },
                              ti = {
                                   forward: function (t) {
                                        var e = Ze(t),
                                             i = e.l,
                                             n = e.a,
                                             r = e.b,
                                             o = Math.atan2(r, n) * Ue;
                                        return { h: o < 0 ? o + 360 : o, c: Math.sqrt(n * n + r * r), l: i, alpha: t.a };
                                   },
                                   reverse: function (t) {
                                        var e = t.h * Ve,
                                             i = t.c;
                                        return Je({ l: t.l, a: Math.cos(e) * i, b: Math.sin(e) * i, alpha: t.alpha });
                                   },
                                   interpolate: function (t, e, i) {
                                        return { h: Ke(t.h, e.h, i), c: Ne(t.c, e.c, i), l: Ne(t.l, e.l, i), alpha: Ne(t.alpha, e.alpha, i) };
                                   },
                              },
                              ei = Object.freeze({ __proto__: null, lab: Qe, hcl: ti }),
                              ii = function (t, e, i, n, r) {
                                   (this.type = t), (this.operator = e), (this.interpolation = i), (this.input = n), (this.labels = []), (this.outputs = []);
                                   for (var o = 0, a = r; o < a.length; o += 1) {
                                        var s = a[o],
                                             l = s[1];
                                        this.labels.push(s[0]), this.outputs.push(l);
                                   }
                              };
                         function ni(t, e, i, n) {
                              var r = n - i,
                                   o = t - i;
                              return 0 === r ? 0 : 1 === e ? o / r : (Math.pow(e, o) - 1) / (Math.pow(e, r) - 1);
                         }
                         (ii.interpolationFactor = function (t, e, n, r) {
                              var o = 0;
                              if ("exponential" === t.name) o = ni(e, t.base, n, r);
                              else if ("linear" === t.name) o = ni(e, 1, n, r);
                              else if ("cubic-bezier" === t.name) {
                                   var a = t.controlPoints;
                                   o = new i(a[0], a[1], a[2], a[3]).solve(ni(e, 1, n, r));
                              }
                              return o;
                         }),
                              (ii.parse = function (t, e) {
                                   var i = t[0],
                                        n = t[1],
                                        r = t[2],
                                        o = t.slice(3);
                                   if (!Array.isArray(n) || 0 === n.length) return e.error("Expected an interpolation type expression.", 1);
                                   if ("linear" === n[0]) n = { name: "linear" };
                                   else if ("exponential" === n[0]) {
                                        var a = n[1];
                                        if ("number" != typeof a) return e.error("Exponential interpolation requires a numeric base.", 1, 1);
                                        n = { name: "exponential", base: a };
                                   } else {
                                        if ("cubic-bezier" !== n[0]) return e.error("Unknown interpolation type " + String(n[0]), 1, 0);
                                        var s = n.slice(1);
                                        if (
                                             4 !== s.length ||
                                             s.some(function (t) {
                                                  return "number" != typeof t || t < 0 || t > 1;
                                             })
                                        )
                                             return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.", 1);
                                        n = { name: "cubic-bezier", controlPoints: s };
                                   }
                                   if (t.length - 1 < 4) return e.error("Expected at least 4 arguments, but found only " + (t.length - 1) + ".");
                                   if ((t.length - 1) % 2 != 0) return e.error("Expected an even number of arguments.");
                                   if (!(r = e.parse(r, 2, Yt))) return null;
                                   var l = [],
                                        c = null;
                                   "interpolate-hcl" === i || "interpolate-lab" === i ? (c = Ft) : e.expectedType && "value" !== e.expectedType.kind && (c = e.expectedType);
                                   for (var u = 0; u < o.length; u += 2) {
                                        var h = o[u],
                                             d = o[u + 1],
                                             p = u + 3,
                                             f = u + 4;
                                        if ("number" != typeof h) return e.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.', p);
                                        if (l.length && l[l.length - 1][0] >= h) return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.', p);
                                        var m = e.parse(d, f, c);
                                        if (!m) return null;
                                        (c = c || m.type), l.push([h, m]);
                                   }
                                   return "number" === c.kind || "color" === c.kind || ("array" === c.kind && "number" === c.itemType.kind && "number" == typeof c.N)
                                        ? new ii(c, i, n, r, l)
                                        : e.error("Type " + Ut(c) + " is not interpolatable.");
                              }),
                              (ii.prototype.evaluate = function (t) {
                                   var e = this.labels,
                                        i = this.outputs;
                                   if (1 === e.length) return i[0].evaluate(t);
                                   var n = this.input.evaluate(t);
                                   if (n <= e[0]) return i[0].evaluate(t);
                                   var r = e.length;
                                   if (n >= e[r - 1]) return i[r - 1].evaluate(t);
                                   var o = He(e, n),
                                        a = ii.interpolationFactor(this.interpolation, n, e[o], e[o + 1]),
                                        s = i[o].evaluate(t),
                                        l = i[o + 1].evaluate(t);
                                   return "interpolate" === this.operator
                                        ? Be[this.type.kind.toLowerCase()](s, l, a)
                                        : "interpolate-hcl" === this.operator
                                        ? ti.reverse(ti.interpolate(ti.forward(s), ti.forward(l), a))
                                        : Qe.reverse(Qe.interpolate(Qe.forward(s), Qe.forward(l), a));
                              }),
                              (ii.prototype.eachChild = function (t) {
                                   t(this.input);
                                   for (var e = 0, i = this.outputs; e < i.length; e += 1) t(i[e]);
                              }),
                              (ii.prototype.outputDefined = function () {
                                   return this.outputs.every(function (t) {
                                        return t.outputDefined();
                                   });
                              }),
                              (ii.prototype.serialize = function () {
                                   var t;
                                   t =
                                        "linear" === this.interpolation.name
                                             ? ["linear"]
                                             : "exponential" === this.interpolation.name
                                             ? 1 === this.interpolation.base
                                                  ? ["linear"]
                                                  : ["exponential", this.interpolation.base]
                                             : ["cubic-bezier"].concat(this.interpolation.controlPoints);
                                   for (var e = [this.operator, t, this.input.serialize()], i = 0; i < this.labels.length; i++) e.push(this.labels[i], this.outputs[i].serialize());
                                   return e;
                              });
                         var ri = function (t, e) {
                              (this.type = t), (this.args = e);
                         };
                         (ri.parse = function (t, e) {
                              if (t.length < 2) return e.error("Expectected at least one argument.");
                              var i = null,
                                   n = e.expectedType;
                              n && "value" !== n.kind && (i = n);
                              for (var r = [], o = 0, a = t.slice(1); o < a.length; o += 1) {
                                   var s = e.parse(a[o], 1 + r.length, i, void 0, { typeAnnotation: "omit" });
                                   if (!s) return null;
                                   (i = i || s.type), r.push(s);
                              }
                              var l =
                                   n &&
                                   r.some(function (t) {
                                        return $t(n, t.type);
                                   });
                              return new ri(l ? jt : i, r);
                         }),
                              (ri.prototype.evaluate = function (t) {
                                   for (
                                        var e, i = null, n = 0, r = 0, o = this.args;
                                        r < o.length && (n++, (i = o[r].evaluate(t)) && i instanceof ee && !i.available && (e || (e = i.name), (i = null), n === this.args.length && (i = e)), null === i);
                                        r += 1
                                   );
                                   return i;
                              }),
                              (ri.prototype.eachChild = function (t) {
                                   this.args.forEach(t);
                              }),
                              (ri.prototype.outputDefined = function () {
                                   return this.args.every(function (t) {
                                        return t.outputDefined();
                                   });
                              }),
                              (ri.prototype.serialize = function () {
                                   var t = ["coalesce"];
                                   return (
                                        this.eachChild(function (e) {
                                             t.push(e.serialize());
                                        }),
                                        t
                                   );
                              });
                         var oi = function (t, e) {
                              (this.type = e.type), (this.bindings = [].concat(t)), (this.result = e);
                         };
                         (oi.prototype.evaluate = function (t) {
                              return this.result.evaluate(t);
                         }),
                              (oi.prototype.eachChild = function (t) {
                                   for (var e = 0, i = this.bindings; e < i.length; e += 1) t(i[e][1]);
                                   t(this.result);
                              }),
                              (oi.parse = function (t, e) {
                                   if (t.length < 4) return e.error("Expected at least 3 arguments, but found " + (t.length - 1) + " instead.");
                                   for (var i = [], n = 1; n < t.length - 1; n += 2) {
                                        var r = t[n];
                                        if ("string" != typeof r) return e.error("Expected string, but found " + typeof r + " instead.", n);
                                        if (/[^a-zA-Z0-9_]/.test(r)) return e.error("Variable names must contain only alphanumeric characters or '_'.", n);
                                        var o = e.parse(t[n + 1], n + 1);
                                        if (!o) return null;
                                        i.push([r, o]);
                                   }
                                   var a = e.parse(t[t.length - 1], t.length - 1, e.expectedType, i);
                                   return a ? new oi(i, a) : null;
                              }),
                              (oi.prototype.outputDefined = function () {
                                   return this.result.outputDefined();
                              }),
                              (oi.prototype.serialize = function () {
                                   for (var t = ["let"], e = 0, i = this.bindings; e < i.length; e += 1) {
                                        var n = i[e];
                                        t.push(n[0], n[1].serialize());
                                   }
                                   return t.push(this.result.serialize()), t;
                              });
                         var ai = function (t, e, i) {
                              (this.type = t), (this.index = e), (this.input = i);
                         };
                         (ai.parse = function (t, e) {
                              if (3 !== t.length) return e.error("Expected 2 arguments, but found " + (t.length - 1) + " instead.");
                              var i = e.parse(t[1], 1, Yt),
                                   n = e.parse(t[2], 2, Vt(e.expectedType || jt));
                              return i && n ? new ai(n.type.itemType, i, n) : null;
                         }),
                              (ai.prototype.evaluate = function (t) {
                                   var e = this.index.evaluate(t),
                                        i = this.input.evaluate(t);
                                   if (e < 0) throw new se("Array index out of bounds: " + e + " < 0.");
                                   if (e >= i.length) throw new se("Array index out of bounds: " + e + " > " + (i.length - 1) + ".");
                                   if (e !== Math.floor(e)) throw new se("Array index must be an integer, but found " + e + " instead.");
                                   return i[e];
                              }),
                              (ai.prototype.eachChild = function (t) {
                                   t(this.index), t(this.input);
                              }),
                              (ai.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (ai.prototype.serialize = function () {
                                   return ["at", this.index.serialize(), this.input.serialize()];
                              });
                         var si = function (t, e) {
                              (this.type = Rt), (this.needle = t), (this.haystack = e);
                         };
                         (si.parse = function (t, e) {
                              if (3 !== t.length) return e.error("Expected 2 arguments, but found " + (t.length - 1) + " instead.");
                              var i = e.parse(t[1], 1, jt),
                                   n = e.parse(t[2], 2, jt);
                              return i && n ? (Xt(i.type, [Rt, zt, Yt, Ot, jt]) ? new si(i, n) : e.error("Expected first argument to be of type boolean, string, number or null, but found " + Ut(i.type) + " instead")) : null;
                         }),
                              (si.prototype.evaluate = function (t) {
                                   var e = this.needle.evaluate(t),
                                        i = this.haystack.evaluate(t);
                                   if (!i) return !1;
                                   if (!Gt(e, ["boolean", "string", "number", "null"])) throw new se("Expected first argument to be of type boolean, string, number or null, but found " + Ut(re(e)) + " instead.");
                                   if (!Gt(i, ["string", "array"])) throw new se("Expected second argument to be of type array or string, but found " + Ut(re(i)) + " instead.");
                                   return i.indexOf(e) >= 0;
                              }),
                              (si.prototype.eachChild = function (t) {
                                   t(this.needle), t(this.haystack);
                              }),
                              (si.prototype.outputDefined = function () {
                                   return !0;
                              }),
                              (si.prototype.serialize = function () {
                                   return ["in", this.needle.serialize(), this.haystack.serialize()];
                              });
                         var li = function (t, e, i) {
                              (this.type = Yt), (this.needle = t), (this.haystack = e), (this.fromIndex = i);
                         };
                         (li.parse = function (t, e) {
                              if (t.length <= 2 || t.length >= 5) return e.error("Expected 3 or 4 arguments, but found " + (t.length - 1) + " instead.");
                              var i = e.parse(t[1], 1, jt),
                                   n = e.parse(t[2], 2, jt);
                              if (!i || !n) return null;
                              if (!Xt(i.type, [Rt, zt, Yt, Ot, jt])) return e.error("Expected first argument to be of type boolean, string, number or null, but found " + Ut(i.type) + " instead");
                              if (4 === t.length) {
                                   var r = e.parse(t[3], 3, Yt);
                                   return r ? new li(i, n, r) : null;
                              }
                              return new li(i, n);
                         }),
                              (li.prototype.evaluate = function (t) {
                                   var e = this.needle.evaluate(t),
                                        i = this.haystack.evaluate(t);
                                   if (!Gt(e, ["boolean", "string", "number", "null"])) throw new se("Expected first argument to be of type boolean, string, number or null, but found " + Ut(re(e)) + " instead.");
                                   if (!Gt(i, ["string", "array"])) throw new se("Expected second argument to be of type array or string, but found " + Ut(re(i)) + " instead.");
                                   if (this.fromIndex) {
                                        var n = this.fromIndex.evaluate(t);
                                        return i.indexOf(e, n);
                                   }
                                   return i.indexOf(e);
                              }),
                              (li.prototype.eachChild = function (t) {
                                   t(this.needle), t(this.haystack), this.fromIndex && t(this.fromIndex);
                              }),
                              (li.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (li.prototype.serialize = function () {
                                   if (null != this.fromIndex && void 0 !== this.fromIndex) {
                                        var t = this.fromIndex.serialize();
                                        return ["index-of", this.needle.serialize(), this.haystack.serialize(), t];
                                   }
                                   return ["index-of", this.needle.serialize(), this.haystack.serialize()];
                              });
                         var ci = function (t, e, i, n, r, o) {
                              (this.inputType = t), (this.type = e), (this.input = i), (this.cases = n), (this.outputs = r), (this.otherwise = o);
                         };
                         (ci.parse = function (t, e) {
                              if (t.length < 5) return e.error("Expected at least 4 arguments, but found only " + (t.length - 1) + ".");
                              if (t.length % 2 != 1) return e.error("Expected an even number of arguments.");
                              var i, n;
                              e.expectedType && "value" !== e.expectedType.kind && (n = e.expectedType);
                              for (var r = {}, o = [], a = 2; a < t.length - 1; a += 2) {
                                   var s = t[a],
                                        l = t[a + 1];
                                   Array.isArray(s) || (s = [s]);
                                   var c = e.concat(a);
                                   if (0 === s.length) return c.error("Expected at least one branch label.");
                                   for (var u = 0, h = s; u < h.length; u += 1) {
                                        var d = h[u];
                                        if ("number" != typeof d && "string" != typeof d) return c.error("Branch labels must be numbers or strings.");
                                        if ("number" == typeof d && Math.abs(d) > Number.MAX_SAFE_INTEGER) return c.error("Branch labels must be integers no larger than " + Number.MAX_SAFE_INTEGER + ".");
                                        if ("number" == typeof d && Math.floor(d) !== d) return c.error("Numeric branch labels must be integer values.");
                                        if (i) {
                                             if (c.checkSubtype(i, re(d))) return null;
                                        } else i = re(d);
                                        if (void 0 !== r[String(d)]) return c.error("Branch labels must be unique.");
                                        r[String(d)] = o.length;
                                   }
                                   var p = e.parse(l, a, n);
                                   if (!p) return null;
                                   (n = n || p.type), o.push(p);
                              }
                              var f = e.parse(t[1], 1, jt);
                              if (!f) return null;
                              var m = e.parse(t[t.length - 1], t.length - 1, n);
                              return m ? ("value" !== f.type.kind && e.concat(1).checkSubtype(i, f.type) ? null : new ci(i, n, f, r, o, m)) : null;
                         }),
                              (ci.prototype.evaluate = function (t) {
                                   var e = this.input.evaluate(t);
                                   return ((re(e) === this.inputType && this.outputs[this.cases[e]]) || this.otherwise).evaluate(t);
                              }),
                              (ci.prototype.eachChild = function (t) {
                                   t(this.input), this.outputs.forEach(t), t(this.otherwise);
                              }),
                              (ci.prototype.outputDefined = function () {
                                   return (
                                        this.outputs.every(function (t) {
                                             return t.outputDefined();
                                        }) && this.otherwise.outputDefined()
                                   );
                              }),
                              (ci.prototype.serialize = function () {
                                   for (var t = this, e = ["match", this.input.serialize()], i = [], n = {}, r = 0, o = Object.keys(this.cases).sort(); r < o.length; r += 1) {
                                        var a = o[r];
                                        void 0 === (h = n[this.cases[a]]) ? ((n[this.cases[a]] = i.length), i.push([this.cases[a], [a]])) : i[h][1].push(a);
                                   }
                                   for (
                                        var s = function (e) {
                                                  return "number" === t.inputType.kind ? Number(e) : e;
                                             },
                                             l = 0,
                                             c = i;
                                        l < c.length;
                                        l += 1
                                   ) {
                                        var u = c[l],
                                             h = u[0],
                                             d = u[1];
                                        e.push(1 === d.length ? s(d[0]) : d.map(s)), e.push(this.outputs[outputIndex$1].serialize());
                                   }
                                   return e.push(this.otherwise.serialize()), e;
                              });
                         var ui = function (t, e, i) {
                              (this.type = t), (this.branches = e), (this.otherwise = i);
                         };
                         (ui.parse = function (t, e) {
                              if (t.length < 4) return e.error("Expected at least 3 arguments, but found only " + (t.length - 1) + ".");
                              if (t.length % 2 != 0) return e.error("Expected an odd number of arguments.");
                              var i;
                              e.expectedType && "value" !== e.expectedType.kind && (i = e.expectedType);
                              for (var n = [], r = 1; r < t.length - 1; r += 2) {
                                   var o = e.parse(t[r], r, Rt);
                                   if (!o) return null;
                                   var a = e.parse(t[r + 1], r + 1, i);
                                   if (!a) return null;
                                   n.push([o, a]), (i = i || a.type);
                              }
                              var s = e.parse(t[t.length - 1], t.length - 1, i);
                              return s ? new ui(i, n, s) : null;
                         }),
                              (ui.prototype.evaluate = function (t) {
                                   for (var e = 0, i = this.branches; e < i.length; e += 1) {
                                        var n = i[e],
                                             r = n[1];
                                        if (n[0].evaluate(t)) return r.evaluate(t);
                                   }
                                   return this.otherwise.evaluate(t);
                              }),
                              (ui.prototype.eachChild = function (t) {
                                   for (var e = 0, i = this.branches; e < i.length; e += 1) {
                                        var n = i[e],
                                             r = n[1];
                                        t(n[0]), t(r);
                                   }
                                   t(this.otherwise);
                              }),
                              (ui.prototype.outputDefined = function () {
                                   return (
                                        this.branches.every(function (t) {
                                             return t[1].outputDefined();
                                        }) && this.otherwise.outputDefined()
                                   );
                              }),
                              (ui.prototype.serialize = function () {
                                   var t = ["case"];
                                   return (
                                        this.eachChild(function (e) {
                                             t.push(e.serialize());
                                        }),
                                        t
                                   );
                              });
                         var hi = function (t, e, i, n) {
                              (this.type = t), (this.input = e), (this.beginIndex = i), (this.endIndex = n);
                         };
                         function di(t, e) {
                              return "==" === t || "!=" === t
                                   ? "boolean" === e.kind || "string" === e.kind || "number" === e.kind || "null" === e.kind || "value" === e.kind
                                   : "string" === e.kind || "number" === e.kind || "value" === e.kind;
                         }
                         function pi(t, e, i, n) {
                              return 0 === n.compare(e, i);
                         }
                         function fi(t, e, i) {
                              var n = "==" !== t && "!=" !== t;
                              return (function () {
                                   function r(t, e, i) {
                                        (this.type = Rt), (this.lhs = t), (this.rhs = e), (this.collator = i), (this.hasUntypedArgument = "value" === t.type.kind || "value" === e.type.kind);
                                   }
                                   return (
                                        (r.parse = function (t, e) {
                                             if (3 !== t.length && 4 !== t.length) return e.error("Expected two or three arguments.");
                                             var i = t[0],
                                                  o = e.parse(t[1], 1, jt);
                                             if (!o) return null;
                                             if (!di(i, o.type)) return e.concat(1).error('"' + i + "\" comparisons are not supported for type '" + Ut(o.type) + "'.");
                                             var a = e.parse(t[2], 2, jt);
                                             if (!a) return null;
                                             if (!di(i, a.type)) return e.concat(2).error('"' + i + "\" comparisons are not supported for type '" + Ut(a.type) + "'.");
                                             if (o.type.kind !== a.type.kind && "value" !== o.type.kind && "value" !== a.type.kind) return e.error("Cannot compare types '" + Ut(o.type) + "' and '" + Ut(a.type) + "'.");
                                             n && ("value" === o.type.kind && "value" !== a.type.kind ? (o = new ce(a.type, [o])) : "value" !== o.type.kind && "value" === a.type.kind && (a = new ce(o.type, [a])));
                                             var s = null;
                                             if (4 === t.length) {
                                                  if ("string" !== o.type.kind && "string" !== a.type.kind && "value" !== o.type.kind && "value" !== a.type.kind) return e.error("Cannot use collator to compare non-string types.");
                                                  if (!(s = e.parse(t[3], 3, Nt))) return null;
                                             }
                                             return new r(o, a, s);
                                        }),
                                        (r.prototype.evaluate = function (r) {
                                             var o = this.lhs.evaluate(r),
                                                  a = this.rhs.evaluate(r);
                                             if (n && this.hasUntypedArgument) {
                                                  var s = re(o),
                                                       l = re(a);
                                                  if (s.kind !== l.kind || ("string" !== s.kind && "number" !== s.kind))
                                                       throw new se('Expected arguments for "' + t + '" to be (string, string) or (number, number), but found (' + s.kind + ", " + l.kind + ") instead.");
                                             }
                                             if (this.collator && !n && this.hasUntypedArgument) {
                                                  var c = re(o),
                                                       u = re(a);
                                                  if ("string" !== c.kind || "string" !== u.kind) return e(r, o, a);
                                             }
                                             return this.collator ? i(r, o, a, this.collator.evaluate(r)) : e(r, o, a);
                                        }),
                                        (r.prototype.eachChild = function (t) {
                                             t(this.lhs), t(this.rhs), this.collator && t(this.collator);
                                        }),
                                        (r.prototype.outputDefined = function () {
                                             return !0;
                                        }),
                                        (r.prototype.serialize = function () {
                                             var e = [t];
                                             return (
                                                  this.eachChild(function (t) {
                                                       e.push(t.serialize());
                                                  }),
                                                  e
                                             );
                                        }),
                                        r
                                   );
                              })();
                         }
                         (hi.parse = function (t, e) {
                              if (t.length <= 2 || t.length >= 5) return e.error("Expected 3 or 4 arguments, but found " + (t.length - 1) + " instead.");
                              var i = e.parse(t[1], 1, jt),
                                   n = e.parse(t[2], 2, Yt);
                              if (!i || !n) return null;
                              if (!Xt(i.type, [Vt(jt), zt, jt])) return e.error("Expected first argument to be of type array or string, but found " + Ut(i.type) + " instead");
                              if (4 === t.length) {
                                   var r = e.parse(t[3], 3, Yt);
                                   return r ? new hi(i.type, i, n, r) : null;
                              }
                              return new hi(i.type, i, n);
                         }),
                              (hi.prototype.evaluate = function (t) {
                                   var e = this.input.evaluate(t),
                                        i = this.beginIndex.evaluate(t);
                                   if (!Gt(e, ["string", "array"])) throw new se("Expected first argument to be of type array or string, but found " + Ut(re(e)) + " instead.");
                                   if (this.endIndex) {
                                        var n = this.endIndex.evaluate(t);
                                        return e.slice(i, n);
                                   }
                                   return e.slice(i);
                              }),
                              (hi.prototype.eachChild = function (t) {
                                   t(this.input), t(this.beginIndex), this.endIndex && t(this.endIndex);
                              }),
                              (hi.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (hi.prototype.serialize = function () {
                                   if (null != this.endIndex && void 0 !== this.endIndex) {
                                        var t = this.endIndex.serialize();
                                        return ["slice", this.input.serialize(), this.beginIndex.serialize(), t];
                                   }
                                   return ["slice", this.input.serialize(), this.beginIndex.serialize()];
                              });
                         var mi = fi(
                                   "==",
                                   function (t, e, i) {
                                        return e === i;
                                   },
                                   pi
                              ),
                              gi = fi(
                                   "!=",
                                   function (t, e, i) {
                                        return e !== i;
                                   },
                                   function (t, e, i, n) {
                                        return !pi(0, e, i, n);
                                   }
                              ),
                              vi = fi(
                                   "<",
                                   function (t, e, i) {
                                        return e < i;
                                   },
                                   function (t, e, i, n) {
                                        return n.compare(e, i) < 0;
                                   }
                              ),
                              yi = fi(
                                   ">",
                                   function (t, e, i) {
                                        return e > i;
                                   },
                                   function (t, e, i, n) {
                                        return n.compare(e, i) > 0;
                                   }
                              ),
                              bi = fi(
                                   "<=",
                                   function (t, e, i) {
                                        return e <= i;
                                   },
                                   function (t, e, i, n) {
                                        return n.compare(e, i) <= 0;
                                   }
                              ),
                              _i = fi(
                                   ">=",
                                   function (t, e, i) {
                                        return e >= i;
                                   },
                                   function (t, e, i, n) {
                                        return n.compare(e, i) >= 0;
                                   }
                              ),
                              xi = function (t, e, i, n, r) {
                                   (this.type = zt), (this.number = t), (this.locale = e), (this.currency = i), (this.minFractionDigits = n), (this.maxFractionDigits = r);
                              };
                         (xi.parse = function (t, e) {
                              if (3 !== t.length) return e.error("Expected two arguments.");
                              var i = e.parse(t[1], 1, Yt);
                              if (!i) return null;
                              var n = t[2];
                              if ("object" != typeof n || Array.isArray(n)) return e.error("NumberFormat options argument must be an object.");
                              var r = null;
                              if (n.locale && !(r = e.parse(n.locale, 1, zt))) return null;
                              var o = null;
                              if (n.currency && !(o = e.parse(n.currency, 1, zt))) return null;
                              var a = null;
                              if (n["min-fraction-digits"] && !(a = e.parse(n["min-fraction-digits"], 1, Yt))) return null;
                              var s = null;
                              return n["max-fraction-digits"] && !(s = e.parse(n["max-fraction-digits"], 1, Yt)) ? null : new xi(i, r, o, a, s);
                         }),
                              (xi.prototype.evaluate = function (t) {
                                   return new Intl.NumberFormat(this.locale ? this.locale.evaluate(t) : [], {
                                        style: this.currency ? "currency" : "decimal",
                                        currency: this.currency ? this.currency.evaluate(t) : void 0,
                                        minimumFractionDigits: this.minFractionDigits ? this.minFractionDigits.evaluate(t) : void 0,
                                        maximumFractionDigits: this.maxFractionDigits ? this.maxFractionDigits.evaluate(t) : void 0,
                                   }).format(this.number.evaluate(t));
                              }),
                              (xi.prototype.eachChild = function (t) {
                                   t(this.number), this.locale && t(this.locale), this.currency && t(this.currency), this.minFractionDigits && t(this.minFractionDigits), this.maxFractionDigits && t(this.maxFractionDigits);
                              }),
                              (xi.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (xi.prototype.serialize = function () {
                                   var t = {};
                                   return (
                                        this.locale && (t.locale = this.locale.serialize()),
                                        this.currency && (t.currency = this.currency.serialize()),
                                        this.minFractionDigits && (t["min-fraction-digits"] = this.minFractionDigits.serialize()),
                                        this.maxFractionDigits && (t["max-fraction-digits"] = this.maxFractionDigits.serialize()),
                                        ["number-format", this.number.serialize(), t]
                                   );
                              });
                         var wi = function (t) {
                              (this.type = Yt), (this.input = t);
                         };
                         (wi.parse = function (t, e) {
                              if (2 !== t.length) return e.error("Expected 1 argument, but found " + (t.length - 1) + " instead.");
                              var i = e.parse(t[1], 1);
                              return i ? ("array" !== i.type.kind && "string" !== i.type.kind && "value" !== i.type.kind ? e.error("Expected argument of type string or array, but found " + Ut(i.type) + " instead.") : new wi(i)) : null;
                         }),
                              (wi.prototype.evaluate = function (t) {
                                   var e = this.input.evaluate(t);
                                   if ("string" == typeof e) return e.length;
                                   if (Array.isArray(e)) return e.length;
                                   throw new se("Expected value to be of type string or array, but found " + Ut(re(e)) + " instead.");
                              }),
                              (wi.prototype.eachChild = function (t) {
                                   t(this.input);
                              }),
                              (wi.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (wi.prototype.serialize = function () {
                                   var t = ["length"];
                                   return (
                                        this.eachChild(function (e) {
                                             t.push(e.serialize());
                                        }),
                                        t
                                   );
                              });
                         var ki = {
                              "==": mi,
                              "!=": gi,
                              ">": yi,
                              "<": vi,
                              ">=": _i,
                              "<=": bi,
                              array: ce,
                              at: ai,
                              boolean: ce,
                              case: ui,
                              coalesce: ri,
                              collator: ve,
                              format: ue,
                              image: he,
                              in: si,
                              "index-of": li,
                              interpolate: ii,
                              "interpolate-hcl": ii,
                              "interpolate-lab": ii,
                              length: wi,
                              let: oi,
                              literal: ae,
                              match: ci,
                              number: ce,
                              "number-format": xi,
                              object: ce,
                              slice: hi,
                              step: je,
                              string: ce,
                              "to-boolean": pe,
                              "to-color": pe,
                              "to-number": pe,
                              "to-string": pe,
                              var: Re,
                              within: Ie,
                         };
                         function Si(t, e) {
                              var i = e[0],
                                   n = e[1],
                                   r = e[2],
                                   o = e[3];
                              (i = i.evaluate(t)), (n = n.evaluate(t)), (r = r.evaluate(t));
                              var a = o ? o.evaluate(t) : 1,
                                   s = ie(i, n, r, a);
                              if (s) throw new se(s);
                              return new Jt((i / 255) * a, (n / 255) * a, (r / 255) * a, a);
                         }
                         function Mi(t, e) {
                              return t in e;
                         }
                         function Ti(t, e) {
                              var i = e[t];
                              return void 0 === i ? null : i;
                         }
                         function Ci(t) {
                              return { type: t };
                         }
                         function Di(t) {
                              return { result: "success", value: t };
                         }
                         function Li(t) {
                              return { result: "error", value: t };
                         }
                         function Ei(t) {
                              return "data-driven" === t["property-type"] || "cross-faded-data-driven" === t["property-type"];
                         }
                         function Ai(t) {
                              return !!t.expression && t.expression.parameters.indexOf("zoom") > -1;
                         }
                         function Pi(t) {
                              return !!t.expression && t.expression.interpolated;
                         }
                         function Ii(t) {
                              return t instanceof Number ? "number" : t instanceof String ? "string" : t instanceof Boolean ? "boolean" : Array.isArray(t) ? "array" : null === t ? "null" : typeof t;
                         }
                         function Oi(t) {
                              return "object" == typeof t && null !== t && !Array.isArray(t);
                         }
                         function Yi(t) {
                              return t;
                         }
                         function zi(t, e, i) {
                              return void 0 !== t ? t : void 0 !== e ? e : void 0 !== i ? i : void 0;
                         }
                         function Ri(t, e, i, n, r) {
                              return zi(typeof i === r ? n[i] : void 0, t.default, e.default);
                         }
                         function Fi(t, e, i) {
                              if ("number" !== Ii(i)) return zi(t.default, e.default);
                              var n = t.stops.length;
                              if (1 === n) return t.stops[0][1];
                              if (i <= t.stops[0][0]) return t.stops[0][1];
                              if (i >= t.stops[n - 1][0]) return t.stops[n - 1][1];
                              var r = He(
                                   t.stops.map(function (t) {
                                        return t[0];
                                   }),
                                   i
                              );
                              return t.stops[r][1];
                         }
                         function Hi(t, e, i) {
                              var n = void 0 !== t.base ? t.base : 1;
                              if ("number" !== Ii(i)) return zi(t.default, e.default);
                              var r = t.stops.length;
                              if (1 === r) return t.stops[0][1];
                              if (i <= t.stops[0][0]) return t.stops[0][1];
                              if (i >= t.stops[r - 1][0]) return t.stops[r - 1][1];
                              var o = He(
                                        t.stops.map(function (t) {
                                             return t[0];
                                        }),
                                        i
                                   ),
                                   a = (function (t, e, i, n) {
                                        var r = n - i,
                                             o = t - i;
                                        return 0 === r ? 0 : 1 === e ? o / r : (Math.pow(e, o) - 1) / (Math.pow(e, r) - 1);
                                   })(i, n, t.stops[o][0], t.stops[o + 1][0]),
                                   s = t.stops[o][1],
                                   l = t.stops[o + 1][1],
                                   c = Be[e.type] || Yi;
                              if (t.colorSpace && "rgb" !== t.colorSpace) {
                                   var u = ei[t.colorSpace];
                                   c = function (t, e) {
                                        return u.reverse(u.interpolate(u.forward(t), u.forward(e), a));
                                   };
                              }
                              return "function" == typeof s.evaluate
                                   ? {
                                          evaluate: function () {
                                               for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e];
                                               var i = s.evaluate.apply(void 0, t),
                                                    n = l.evaluate.apply(void 0, t);
                                               if (void 0 !== i && void 0 !== n) return c(i, n, a);
                                          },
                                     }
                                   : c(s, l, a);
                         }
                         function ji(t, e, i) {
                              return (
                                   "color" === e.type
                                        ? (i = Jt.parse(i))
                                        : "formatted" === e.type
                                        ? (i = te.fromString(i.toString()))
                                        : "resolvedImage" === e.type
                                        ? (i = ee.fromString(i.toString()))
                                        : Ii(i) === e.type || ("enum" === e.type && e.values[i]) || (i = void 0),
                                   zi(i, t.default, e.default)
                              );
                         }
                         ge.register(ki, {
                              error: [
                                   { kind: "error" },
                                   [zt],
                                   function (t, e) {
                                        throw new se(e[0].evaluate(t));
                                   },
                              ],
                              typeof: [
                                   zt,
                                   [jt],
                                   function (t, e) {
                                        return Ut(re(e[0].evaluate(t)));
                                   },
                              ],
                              "to-rgba": [
                                   Vt(Yt, 4),
                                   [Ft],
                                   function (t, e) {
                                        return e[0].evaluate(t).toArray();
                                   },
                              ],
                              rgb: [Ft, [Yt, Yt, Yt], Si],
                              rgba: [Ft, [Yt, Yt, Yt, Yt], Si],
                              has: {
                                   type: Rt,
                                   overloads: [
                                        [
                                             [zt],
                                             function (t, e) {
                                                  return Mi(e[0].evaluate(t), t.properties());
                                             },
                                        ],
                                        [
                                             [zt, Ht],
                                             function (t, e) {
                                                  var i = e[1];
                                                  return Mi(e[0].evaluate(t), i.evaluate(t));
                                             },
                                        ],
                                   ],
                              },
                              get: {
                                   type: jt,
                                   overloads: [
                                        [
                                             [zt],
                                             function (t, e) {
                                                  return Ti(e[0].evaluate(t), t.properties());
                                             },
                                        ],
                                        [
                                             [zt, Ht],
                                             function (t, e) {
                                                  var i = e[1];
                                                  return Ti(e[0].evaluate(t), i.evaluate(t));
                                             },
                                        ],
                                   ],
                              },
                              "feature-state": [
                                   jt,
                                   [zt],
                                   function (t, e) {
                                        return Ti(e[0].evaluate(t), t.featureState || {});
                                   },
                              ],
                              properties: [
                                   Ht,
                                   [],
                                   function (t) {
                                        return t.properties();
                                   },
                              ],
                              "geometry-type": [
                                   zt,
                                   [],
                                   function (t) {
                                        return t.geometryType();
                                   },
                              ],
                              id: [
                                   jt,
                                   [],
                                   function (t) {
                                        return t.id();
                                   },
                              ],
                              zoom: [
                                   Yt,
                                   [],
                                   function (t) {
                                        return t.globals.zoom;
                                   },
                              ],
                              "heatmap-density": [
                                   Yt,
                                   [],
                                   function (t) {
                                        return t.globals.heatmapDensity || 0;
                                   },
                              ],
                              "line-progress": [
                                   Yt,
                                   [],
                                   function (t) {
                                        return t.globals.lineProgress || 0;
                                   },
                              ],
                              accumulated: [
                                   jt,
                                   [],
                                   function (t) {
                                        return void 0 === t.globals.accumulated ? null : t.globals.accumulated;
                                   },
                              ],
                              "+": [
                                   Yt,
                                   Ci(Yt),
                                   function (t, e) {
                                        for (var i = 0, n = 0, r = e; n < r.length; n += 1) i += r[n].evaluate(t);
                                        return i;
                                   },
                              ],
                              "*": [
                                   Yt,
                                   Ci(Yt),
                                   function (t, e) {
                                        for (var i = 1, n = 0, r = e; n < r.length; n += 1) i *= r[n].evaluate(t);
                                        return i;
                                   },
                              ],
                              "-": {
                                   type: Yt,
                                   overloads: [
                                        [
                                             [Yt, Yt],
                                             function (t, e) {
                                                  var i = e[1];
                                                  return e[0].evaluate(t) - i.evaluate(t);
                                             },
                                        ],
                                        [
                                             [Yt],
                                             function (t, e) {
                                                  return -e[0].evaluate(t);
                                             },
                                        ],
                                   ],
                              },
                              "/": [
                                   Yt,
                                   [Yt, Yt],
                                   function (t, e) {
                                        var i = e[1];
                                        return e[0].evaluate(t) / i.evaluate(t);
                                   },
                              ],
                              "%": [
                                   Yt,
                                   [Yt, Yt],
                                   function (t, e) {
                                        var i = e[1];
                                        return e[0].evaluate(t) % i.evaluate(t);
                                   },
                              ],
                              ln2: [
                                   Yt,
                                   [],
                                   function () {
                                        return Math.LN2;
                                   },
                              ],
                              pi: [
                                   Yt,
                                   [],
                                   function () {
                                        return Math.PI;
                                   },
                              ],
                              e: [
                                   Yt,
                                   [],
                                   function () {
                                        return Math.E;
                                   },
                              ],
                              "^": [
                                   Yt,
                                   [Yt, Yt],
                                   function (t, e) {
                                        var i = e[1];
                                        return Math.pow(e[0].evaluate(t), i.evaluate(t));
                                   },
                              ],
                              sqrt: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.sqrt(e[0].evaluate(t));
                                   },
                              ],
                              log10: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.log(e[0].evaluate(t)) / Math.LN10;
                                   },
                              ],
                              ln: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.log(e[0].evaluate(t));
                                   },
                              ],
                              log2: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.log(e[0].evaluate(t)) / Math.LN2;
                                   },
                              ],
                              sin: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.sin(e[0].evaluate(t));
                                   },
                              ],
                              cos: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.cos(e[0].evaluate(t));
                                   },
                              ],
                              tan: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.tan(e[0].evaluate(t));
                                   },
                              ],
                              asin: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.asin(e[0].evaluate(t));
                                   },
                              ],
                              acos: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.acos(e[0].evaluate(t));
                                   },
                              ],
                              atan: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.atan(e[0].evaluate(t));
                                   },
                              ],
                              min: [
                                   Yt,
                                   Ci(Yt),
                                   function (t, e) {
                                        return Math.min.apply(
                                             Math,
                                             e.map(function (e) {
                                                  return e.evaluate(t);
                                             })
                                        );
                                   },
                              ],
                              max: [
                                   Yt,
                                   Ci(Yt),
                                   function (t, e) {
                                        return Math.max.apply(
                                             Math,
                                             e.map(function (e) {
                                                  return e.evaluate(t);
                                             })
                                        );
                                   },
                              ],
                              abs: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.abs(e[0].evaluate(t));
                                   },
                              ],
                              round: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        var i = e[0].evaluate(t);
                                        return i < 0 ? -Math.round(-i) : Math.round(i);
                                   },
                              ],
                              floor: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.floor(e[0].evaluate(t));
                                   },
                              ],
                              ceil: [
                                   Yt,
                                   [Yt],
                                   function (t, e) {
                                        return Math.ceil(e[0].evaluate(t));
                                   },
                              ],
                              "filter-==": [
                                   Rt,
                                   [zt, jt],
                                   function (t, e) {
                                        var i = e[0],
                                             n = e[1];
                                        return t.properties()[i.value] === n.value;
                                   },
                              ],
                              "filter-id-==": [
                                   Rt,
                                   [jt],
                                   function (t, e) {
                                        var i = e[0];
                                        return t.id() === i.value;
                                   },
                              ],
                              "filter-type-==": [
                                   Rt,
                                   [zt],
                                   function (t, e) {
                                        var i = e[0];
                                        return t.geometryType() === i.value;
                                   },
                              ],
                              "filter-<": [
                                   Rt,
                                   [zt, jt],
                                   function (t, e) {
                                        var i = e[0],
                                             n = e[1],
                                             r = t.properties()[i.value],
                                             o = n.value;
                                        return typeof r == typeof o && r < o;
                                   },
                              ],
                              "filter-id-<": [
                                   Rt,
                                   [jt],
                                   function (t, e) {
                                        var i = e[0],
                                             n = t.id(),
                                             r = i.value;
                                        return typeof n == typeof r && n < r;
                                   },
                              ],
                              "filter->": [
                                   Rt,
                                   [zt, jt],
                                   function (t, e) {
                                        var i = e[0],
                                             n = e[1],
                                             r = t.properties()[i.value],
                                             o = n.value;
                                        return typeof r == typeof o && r > o;
                                   },
                              ],
                              "filter-id->": [
                                   Rt,
                                   [jt],
                                   function (t, e) {
                                        var i = e[0],
                                             n = t.id(),
                                             r = i.value;
                                        return typeof n == typeof r && n > r;
                                   },
                              ],
                              "filter-<=": [
                                   Rt,
                                   [zt, jt],
                                   function (t, e) {
                                        var i = e[0],
                                             n = e[1],
                                             r = t.properties()[i.value],
                                             o = n.value;
                                        return typeof r == typeof o && r <= o;
                                   },
                              ],
                              "filter-id-<=": [
                                   Rt,
                                   [jt],
                                   function (t, e) {
                                        var i = e[0],
                                             n = t.id(),
                                             r = i.value;
                                        return typeof n == typeof r && n <= r;
                                   },
                              ],
                              "filter->=": [
                                   Rt,
                                   [zt, jt],
                                   function (t, e) {
                                        var i = e[0],
                                             n = e[1],
                                             r = t.properties()[i.value],
                                             o = n.value;
                                        return typeof r == typeof o && r >= o;
                                   },
                              ],
                              "filter-id->=": [
                                   Rt,
                                   [jt],
                                   function (t, e) {
                                        var i = e[0],
                                             n = t.id(),
                                             r = i.value;
                                        return typeof n == typeof r && n >= r;
                                   },
                              ],
                              "filter-has": [
                                   Rt,
                                   [jt],
                                   function (t, e) {
                                        return e[0].value in t.properties();
                                   },
                              ],
                              "filter-has-id": [
                                   Rt,
                                   [],
                                   function (t) {
                                        return null !== t.id() && void 0 !== t.id();
                                   },
                              ],
                              "filter-type-in": [
                                   Rt,
                                   [Vt(zt)],
                                   function (t, e) {
                                        return e[0].value.indexOf(t.geometryType()) >= 0;
                                   },
                              ],
                              "filter-id-in": [
                                   Rt,
                                   [Vt(jt)],
                                   function (t, e) {
                                        return e[0].value.indexOf(t.id()) >= 0;
                                   },
                              ],
                              "filter-in-small": [
                                   Rt,
                                   [zt, Vt(jt)],
                                   function (t, e) {
                                        var i = e[0];
                                        return e[1].value.indexOf(t.properties()[i.value]) >= 0;
                                   },
                              ],
                              "filter-in-large": [
                                   Rt,
                                   [zt, Vt(jt)],
                                   function (t, e) {
                                        var i = e[0],
                                             n = e[1];
                                        return (function (t, e, i, n) {
                                             for (; i <= n; ) {
                                                  var r = (i + n) >> 1;
                                                  if (e[r] === t) return !0;
                                                  e[r] > t ? (n = r - 1) : (i = r + 1);
                                             }
                                             return !1;
                                        })(t.properties()[i.value], n.value, 0, n.value.length - 1);
                                   },
                              ],
                              all: {
                                   type: Rt,
                                   overloads: [
                                        [
                                             [Rt, Rt],
                                             function (t, e) {
                                                  var i = e[1];
                                                  return e[0].evaluate(t) && i.evaluate(t);
                                             },
                                        ],
                                        [
                                             Ci(Rt),
                                             function (t, e) {
                                                  for (var i = 0, n = e; i < n.length; i += 1) if (!n[i].evaluate(t)) return !1;
                                                  return !0;
                                             },
                                        ],
                                   ],
                              },
                              any: {
                                   type: Rt,
                                   overloads: [
                                        [
                                             [Rt, Rt],
                                             function (t, e) {
                                                  var i = e[1];
                                                  return e[0].evaluate(t) || i.evaluate(t);
                                             },
                                        ],
                                        [
                                             Ci(Rt),
                                             function (t, e) {
                                                  for (var i = 0, n = e; i < n.length; i += 1) if (n[i].evaluate(t)) return !0;
                                                  return !1;
                                             },
                                        ],
                                   ],
                              },
                              "!": [
                                   Rt,
                                   [Rt],
                                   function (t, e) {
                                        return !e[0].evaluate(t);
                                   },
                              ],
                              "is-supported-script": [
                                   Rt,
                                   [zt],
                                   function (t, e) {
                                        var i = t.globals && t.globals.isSupportedScript;
                                        return !i || i(e[0].evaluate(t));
                                   },
                              ],
                              upcase: [
                                   zt,
                                   [zt],
                                   function (t, e) {
                                        return e[0].evaluate(t).toUpperCase();
                                   },
                              ],
                              downcase: [
                                   zt,
                                   [zt],
                                   function (t, e) {
                                        return e[0].evaluate(t).toLowerCase();
                                   },
                              ],
                              concat: [
                                   zt,
                                   Ci(jt),
                                   function (t, e) {
                                        return e
                                             .map(function (e) {
                                                  return oe(e.evaluate(t));
                                             })
                                             .join("");
                                   },
                              ],
                              "resolved-locale": [
                                   zt,
                                   [Nt],
                                   function (t, e) {
                                        return e[0].evaluate(t).resolvedLocale();
                                   },
                              ],
                         });
                         var Ni = function (t, e) {
                              (this.expression = t),
                                   (this._warningHistory = {}),
                                   (this._evaluator = new me()),
                                   (this._defaultValue = e
                                        ? (function (t) {
                                               return "color" === t.type && Oi(t.default) ? new Jt(0, 0, 0, 0) : "color" === t.type ? Jt.parse(t.default) || null : void 0 === t.default ? null : t.default;
                                          })(e)
                                        : null),
                                   (this._enumValues = e && "enum" === e.type ? e.values : null);
                         };
                         function Bi(t) {
                              return Array.isArray(t) && t.length > 0 && "string" == typeof t[0] && t[0] in ki;
                         }
                         function Wi(t, e) {
                              var i = new Fe(
                                        ki,
                                        [],
                                        e
                                             ? (function (t) {
                                                    var e = { color: Ft, string: zt, number: Yt, enum: zt, boolean: Rt, formatted: Bt, resolvedImage: Wt };
                                                    return "array" === t.type ? Vt(e[t.value] || jt, t.length) : e[t.type];
                                               })(e)
                                             : void 0
                                   ),
                                   n = i.parse(t, void 0, void 0, void 0, e && "string" === e.type ? { typeAnnotation: "coerce" } : void 0);
                              return n ? Di(new Ni(n, e)) : Li(i.errors);
                         }
                         (Ni.prototype.evaluateWithoutErrorHandling = function (t, e, i, n, r, o) {
                              return (
                                   (this._evaluator.globals = t),
                                   (this._evaluator.feature = e),
                                   (this._evaluator.featureState = i),
                                   (this._evaluator.canonical = n),
                                   (this._evaluator.availableImages = r || null),
                                   (this._evaluator.formattedSection = o),
                                   this.expression.evaluate(this._evaluator)
                              );
                         }),
                              (Ni.prototype.evaluate = function (t, e, i, n, r, o) {
                                   (this._evaluator.globals = t),
                                        (this._evaluator.feature = e || null),
                                        (this._evaluator.featureState = i || null),
                                        (this._evaluator.canonical = n),
                                        (this._evaluator.availableImages = r || null),
                                        (this._evaluator.formattedSection = o || null);
                                   try {
                                        var a = this.expression.evaluate(this._evaluator);
                                        if (null == a || ("number" == typeof a && a != a)) return this._defaultValue;
                                        if (this._enumValues && !(a in this._enumValues))
                                             throw new se(
                                                  "Expected value to be one of " +
                                                       Object.keys(this._enumValues)
                                                            .map(function (t) {
                                                                 return JSON.stringify(t);
                                                            })
                                                            .join(", ") +
                                                       ", but found " +
                                                       JSON.stringify(a) +
                                                       " instead."
                                             );
                                        return a;
                                   } catch (t) {
                                        return this._warningHistory[t.message] || ((this._warningHistory[t.message] = !0), "undefined" != typeof console && console.warn(t.message)), this._defaultValue;
                                   }
                              });
                         var Vi = function (t, e) {
                              (this.kind = t), (this._styleExpression = e), (this.isStateDependent = "constant" !== t && !Ye(e.expression));
                         };
                         (Vi.prototype.evaluateWithoutErrorHandling = function (t, e, i, n, r, o) {
                              return this._styleExpression.evaluateWithoutErrorHandling(t, e, i, n, r, o);
                         }),
                              (Vi.prototype.evaluate = function (t, e, i, n, r, o) {
                                   return this._styleExpression.evaluate(t, e, i, n, r, o);
                              });
                         var Ui = function (t, e, i, n) {
                              (this.kind = t), (this.zoomStops = i), (this._styleExpression = e), (this.isStateDependent = "camera" !== t && !Ye(e.expression)), (this.interpolationType = n);
                         };
                         function qi(t, e) {
                              if ("error" === (t = Wi(t, e)).result) return t;
                              var i = t.value.expression,
                                   n = Oe(i);
                              if (!n && !Ei(e)) return Li([new Pt("", "data expressions not supported")]);
                              var r = ze(i, ["zoom"]);
                              if (!r && !Ai(e)) return Li([new Pt("", "zoom expressions not supported")]);
                              var o = (function t(e) {
                                   var i = null;
                                   if (e instanceof oi) i = t(e.result);
                                   else if (e instanceof ri) for (var n = 0, r = e.args; n < r.length && !(i = t(r[n])); n += 1);
                                   else (e instanceof je || e instanceof ii) && e.input instanceof ge && "zoom" === e.input.name && (i = e);
                                   return (
                                        i instanceof Pt ||
                                             e.eachChild(function (e) {
                                                  var n = t(e);
                                                  n instanceof Pt
                                                       ? (i = n)
                                                       : !i && n
                                                       ? (i = new Pt("", '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'))
                                                       : i && n && i !== n && (i = new Pt("", 'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'));
                                             }),
                                        i
                                   );
                              })(i);
                              return o || r
                                   ? o instanceof Pt
                                        ? Li([o])
                                        : o instanceof ii && !Pi(e)
                                        ? Li([new Pt("", '"interpolate" expressions cannot be used with this property')])
                                        : Di(o ? new Ui(n ? "camera" : "composite", t.value, o.labels, o instanceof ii ? o.interpolation : void 0) : new Vi(n ? "constant" : "source", t.value))
                                   : Li([new Pt("", '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);
                         }
                         (Ui.prototype.evaluateWithoutErrorHandling = function (t, e, i, n, r, o) {
                              return this._styleExpression.evaluateWithoutErrorHandling(t, e, i, n, r, o);
                         }),
                              (Ui.prototype.evaluate = function (t, e, i, n, r, o) {
                                   return this._styleExpression.evaluate(t, e, i, n, r, o);
                              }),
                              (Ui.prototype.interpolationFactor = function (t, e, i) {
                                   return this.interpolationType ? ii.interpolationFactor(this.interpolationType, t, e, i) : 0;
                              });
                         var $i = function (t, e) {
                              (this._parameters = t),
                                   (this._specification = e),
                                   Lt(
                                        this,
                                        (function t(e, i) {
                                             var n,
                                                  r,
                                                  o,
                                                  a = "color" === i.type,
                                                  s = e.stops && "object" == typeof e.stops[0][0],
                                                  l = s || !(s || void 0 !== e.property),
                                                  c = e.type || (Pi(i) ? "exponential" : "interval");
                                             if (
                                                  (a &&
                                                       ((e = Lt({}, e)).stops &&
                                                            (e.stops = e.stops.map(function (t) {
                                                                 return [t[0], Jt.parse(t[1])];
                                                            })),
                                                       (e.default = Jt.parse(e.default ? e.default : i.default))),
                                                  e.colorSpace && "rgb" !== e.colorSpace && !ei[e.colorSpace])
                                             )
                                                  throw new Error("Unknown color space: " + e.colorSpace);
                                             if ("exponential" === c) n = Hi;
                                             else if ("interval" === c) n = Fi;
                                             else if ("categorical" === c) {
                                                  (n = Ri), (r = Object.create(null));
                                                  for (var u = 0, h = e.stops; u < h.length; u += 1) {
                                                       var d = h[u];
                                                       r[d[0]] = d[1];
                                                  }
                                                  o = typeof e.stops[0][0];
                                             } else {
                                                  if ("identity" !== c) throw new Error('Unknown function type "' + c + '"');
                                                  n = ji;
                                             }
                                             if (s) {
                                                  for (var p = {}, f = [], m = 0; m < e.stops.length; m++) {
                                                       var g = e.stops[m],
                                                            v = g[0].zoom;
                                                       void 0 === p[v] && ((p[v] = { zoom: v, type: e.type, property: e.property, default: e.default, stops: [] }), f.push(v)), p[v].stops.push([g[0].value, g[1]]);
                                                  }
                                                  for (var y = [], b = 0, _ = f; b < _.length; b += 1) {
                                                       var x = _[b];
                                                       y.push([p[x].zoom, t(p[x], i)]);
                                                  }
                                                  var w = { name: "linear" };
                                                  return {
                                                       kind: "composite",
                                                       interpolationType: w,
                                                       interpolationFactor: ii.interpolationFactor.bind(void 0, w),
                                                       zoomStops: y.map(function (t) {
                                                            return t[0];
                                                       }),
                                                       evaluate: function (t, n) {
                                                            var r = t.zoom;
                                                            return Hi({ stops: y, base: e.base }, i, r).evaluate(r, n);
                                                       },
                                                  };
                                             }
                                             if (l) {
                                                  var k = "exponential" === c ? { name: "exponential", base: void 0 !== e.base ? e.base : 1 } : null;
                                                  return {
                                                       kind: "camera",
                                                       interpolationType: k,
                                                       interpolationFactor: ii.interpolationFactor.bind(void 0, k),
                                                       zoomStops: e.stops.map(function (t) {
                                                            return t[0];
                                                       }),
                                                       evaluate: function (t) {
                                                            return n(e, i, t.zoom, r, o);
                                                       },
                                                  };
                                             }
                                             return {
                                                  kind: "source",
                                                  evaluate: function (t, a) {
                                                       var s = a && a.properties ? a.properties[e.property] : void 0;
                                                       return void 0 === s ? zi(e.default, i.default) : n(e, i, s, r, o);
                                                  },
                                             };
                                        })(this._parameters, this._specification)
                                   );
                         };
                         function Xi(t) {
                              var e = t.key,
                                   i = t.value,
                                   n = t.valueSpec || {},
                                   r = t.objectElementValidators || {},
                                   o = t.style,
                                   a = t.styleSpec,
                                   s = [],
                                   l = Ii(i);
                              if ("object" !== l) return [new Ct(e, i, "object expected, " + l + " found")];
                              for (var c in i) {
                                   var u = c.split(".")[0],
                                        h = n[u] || n["*"],
                                        d = void 0;
                                   if (r[u]) d = r[u];
                                   else if (n[u]) d = _n;
                                   else if (r["*"]) d = r["*"];
                                   else {
                                        if (!n["*"]) {
                                             s.push(new Ct(e, i[c], 'unknown property "' + c + '"'));
                                             continue;
                                        }
                                        d = _n;
                                   }
                                   s = s.concat(d({ key: (e ? e + "." : e) + c, value: i[c], valueSpec: h, style: o, styleSpec: a, object: i, objectKey: c }, i));
                              }
                              for (var p in n) r[p] || (n[p].required && void 0 === n[p].default && void 0 === i[p] && s.push(new Ct(e, i, 'missing required property "' + p + '"')));
                              return s;
                         }
                         function Gi(t) {
                              var e = t.value,
                                   i = t.valueSpec,
                                   n = t.style,
                                   r = t.styleSpec,
                                   o = t.key,
                                   a = t.arrayElementValidator || _n;
                              if ("array" !== Ii(e)) return [new Ct(o, e, "array expected, " + Ii(e) + " found")];
                              if (i.length && e.length !== i.length) return [new Ct(o, e, "array length " + i.length + " expected, length " + e.length + " found")];
                              if (i["min-length"] && e.length < i["min-length"]) return [new Ct(o, e, "array length at least " + i["min-length"] + " expected, length " + e.length + " found")];
                              var s = { type: i.value, values: i.values };
                              r.$version < 7 && (s.function = i.function), "object" === Ii(i.value) && (s = i.value);
                              for (var l = [], c = 0; c < e.length; c++) l = l.concat(a({ array: e, arrayIndex: c, value: e[c], valueSpec: s, style: n, styleSpec: r, key: o + "[" + c + "]" }));
                              return l;
                         }
                         function Zi(t) {
                              var e = t.key,
                                   i = t.value,
                                   n = t.valueSpec,
                                   r = Ii(i);
                              return (
                                   "number" === r && i != i && (r = "NaN"),
                                   "number" !== r
                                        ? [new Ct(e, i, "number expected, " + r + " found")]
                                        : "minimum" in n && i < n.minimum
                                        ? [new Ct(e, i, i + " is less than the minimum value " + n.minimum)]
                                        : "maximum" in n && i > n.maximum
                                        ? [new Ct(e, i, i + " is greater than the maximum value " + n.maximum)]
                                        : []
                              );
                         }
                         function Ji(t) {
                              var e,
                                   i,
                                   n,
                                   r = t.valueSpec,
                                   o = Et(t.value.type),
                                   a = {},
                                   s = "categorical" !== o && void 0 === t.value.property,
                                   l = !s,
                                   c = "array" === Ii(t.value.stops) && "array" === Ii(t.value.stops[0]) && "object" === Ii(t.value.stops[0][0]),
                                   u = Xi({
                                        key: t.key,
                                        value: t.value,
                                        valueSpec: t.styleSpec.function,
                                        style: t.style,
                                        styleSpec: t.styleSpec,
                                        objectElementValidators: {
                                             stops: function (t) {
                                                  if ("identity" === o) return [new Ct(t.key, t.value, 'identity function may not have a "stops" property')];
                                                  var e = [],
                                                       i = t.value;
                                                  return (
                                                       (e = e.concat(Gi({ key: t.key, value: i, valueSpec: t.valueSpec, style: t.style, styleSpec: t.styleSpec, arrayElementValidator: h }))),
                                                       "array" === Ii(i) && 0 === i.length && e.push(new Ct(t.key, i, "array must have at least one stop")),
                                                       e
                                                  );
                                             },
                                             default: function (t) {
                                                  return _n({ key: t.key, value: t.value, valueSpec: r, style: t.style, styleSpec: t.styleSpec });
                                             },
                                        },
                                   });
                              return (
                                   "identity" === o && s && u.push(new Ct(t.key, t.value, 'missing required property "property"')),
                                   "identity" === o || t.value.stops || u.push(new Ct(t.key, t.value, 'missing required property "stops"')),
                                   "exponential" === o && t.valueSpec.expression && !Pi(t.valueSpec) && u.push(new Ct(t.key, t.value, "exponential functions not supported")),
                                   t.styleSpec.$version >= 8 &&
                                        (l && !Ei(t.valueSpec) ? u.push(new Ct(t.key, t.value, "property functions not supported")) : s && !Ai(t.valueSpec) && u.push(new Ct(t.key, t.value, "zoom functions not supported"))),
                                   ("categorical" !== o && !c) || void 0 !== t.value.property || u.push(new Ct(t.key, t.value, '"property" property is required')),
                                   u
                              );
                              function h(t) {
                                   var e = [],
                                        o = t.value,
                                        s = t.key;
                                   if ("array" !== Ii(o)) return [new Ct(s, o, "array expected, " + Ii(o) + " found")];
                                   if (2 !== o.length) return [new Ct(s, o, "array length 2 expected, length " + o.length + " found")];
                                   if (c) {
                                        if ("object" !== Ii(o[0])) return [new Ct(s, o, "object expected, " + Ii(o[0]) + " found")];
                                        if (void 0 === o[0].zoom) return [new Ct(s, o, "object stop key must have zoom")];
                                        if (void 0 === o[0].value) return [new Ct(s, o, "object stop key must have value")];
                                        if (n && n > Et(o[0].zoom)) return [new Ct(s, o[0].zoom, "stop zoom values must appear in ascending order")];
                                        Et(o[0].zoom) !== n && ((n = Et(o[0].zoom)), (i = void 0), (a = {})),
                                             (e = e.concat(Xi({ key: s + "[0]", value: o[0], valueSpec: { zoom: {} }, style: t.style, styleSpec: t.styleSpec, objectElementValidators: { zoom: Zi, value: d } })));
                                   } else e = e.concat(d({ key: s + "[0]", value: o[0], valueSpec: {}, style: t.style, styleSpec: t.styleSpec }, o));
                                   return Bi(At(o[1]))
                                        ? e.concat([new Ct(s + "[1]", o[1], "expressions are not allowed in function stops.")])
                                        : e.concat(_n({ key: s + "[1]", value: o[1], valueSpec: r, style: t.style, styleSpec: t.styleSpec }));
                              }
                              function d(t, n) {
                                   var s = Ii(t.value),
                                        l = Et(t.value),
                                        c = null !== t.value ? t.value : n;
                                   if (e) {
                                        if (s !== e) return [new Ct(t.key, c, s + " stop domain type must match previous stop domain type " + e)];
                                   } else e = s;
                                   if ("number" !== s && "string" !== s && "boolean" !== s) return [new Ct(t.key, c, "stop domain value must be a number, string, or boolean")];
                                   if ("number" !== s && "categorical" !== o) {
                                        var u = "number expected, " + s + " found";
                                        return Ei(r) && void 0 === o && (u += '\nIf you intended to use a categorical function, specify `"type": "categorical"`.'), [new Ct(t.key, c, u)];
                                   }
                                   return "categorical" !== o || "number" !== s || (isFinite(l) && Math.floor(l) === l)
                                        ? "categorical" !== o && "number" === s && void 0 !== i && l < i
                                             ? [new Ct(t.key, c, "stop domain values must appear in ascending order")]
                                             : ((i = l), "categorical" === o && l in a ? [new Ct(t.key, c, "stop domain values must be unique")] : ((a[l] = !0), []))
                                        : [new Ct(t.key, c, "integer expected, found " + l)];
                              }
                         }
                         function Ki(t) {
                              var e = ("property" === t.expressionContext ? qi : Wi)(At(t.value), t.valueSpec);
                              if ("error" === e.result)
                                   return e.value.map(function (e) {
                                        return new Ct("" + t.key + e.key, t.value, e.message);
                                   });
                              var i = e.value.expression || e.value._styleExpression.expression;
                              if ("property" === t.expressionContext && "text-font" === t.propertyKey && !i.outputDefined())
                                   return [new Ct(t.key, t.value, 'Invalid data expression for "' + t.propertyKey + '". Output values must be contained as literals within the expression.')];
                              if ("property" === t.expressionContext && "layout" === t.propertyType && !Ye(i)) return [new Ct(t.key, t.value, '"feature-state" data expressions are not supported with layout properties.')];
                              if ("filter" === t.expressionContext && !Ye(i)) return [new Ct(t.key, t.value, '"feature-state" data expressions are not supported with filters.')];
                              if (t.expressionContext && 0 === t.expressionContext.indexOf("cluster")) {
                                   if (!ze(i, ["zoom", "feature-state"])) return [new Ct(t.key, t.value, '"zoom" and "feature-state" expressions are not supported with cluster properties.')];
                                   if ("cluster-initial" === t.expressionContext && !Oe(i)) return [new Ct(t.key, t.value, "Feature data expressions are not supported with initial expression part of cluster properties.")];
                              }
                              return [];
                         }
                         function Qi(t) {
                              var e = t.key,
                                   i = t.value,
                                   n = t.valueSpec,
                                   r = [];
                              return (
                                   Array.isArray(n.values)
                                        ? -1 === n.values.indexOf(Et(i)) && r.push(new Ct(e, i, "expected one of [" + n.values.join(", ") + "], " + JSON.stringify(i) + " found"))
                                        : -1 === Object.keys(n.values).indexOf(Et(i)) && r.push(new Ct(e, i, "expected one of [" + Object.keys(n.values).join(", ") + "], " + JSON.stringify(i) + " found")),
                                   r
                              );
                         }
                         function tn(t) {
                              if (!0 === t || !1 === t) return !0;
                              if (!Array.isArray(t) || 0 === t.length) return !1;
                              switch (t[0]) {
                                   case "has":
                                        return t.length >= 2 && "$id" !== t[1] && "$type" !== t[1];
                                   case "in":
                                        return t.length >= 3 && ("string" != typeof t[1] || Array.isArray(t[2]));
                                   case "!in":
                                   case "!has":
                                   case "none":
                                        return !1;
                                   case "==":
                                   case "!=":
                                   case ">":
                                   case ">=":
                                   case "<":
                                   case "<=":
                                        return 3 !== t.length || Array.isArray(t[1]) || Array.isArray(t[2]);
                                   case "any":
                                   case "all":
                                        for (var e = 0, i = t.slice(1); e < i.length; e += 1) {
                                             var n = i[e];
                                             if (!tn(n) && "boolean" != typeof n) return !1;
                                        }
                                        return !0;
                                   default:
                                        return !0;
                              }
                         }
                         ($i.deserialize = function (t) {
                              return new $i(t._parameters, t._specification);
                         }),
                              ($i.serialize = function (t) {
                                   return { _parameters: t._parameters, _specification: t._specification };
                              });
                         var en = { type: "boolean", default: !1, transition: !1, "property-type": "data-driven", expression: { interpolated: !1, parameters: ["zoom", "feature"] } };
                         function nn(t) {
                              if (null == t)
                                   return {
                                        filter: function () {
                                             return !0;
                                        },
                                        needGeometry: !1,
                                   };
                              tn(t) || (t = on(t));
                              var e = Wi(t, en);
                              if ("error" === e.result)
                                   throw new Error(
                                        e.value
                                             .map(function (t) {
                                                  return t.key + ": " + t.message;
                                             })
                                             .join(", ")
                                   );
                              return {
                                   filter: function (t, i, n) {
                                        return e.value.evaluate(t, i, {}, n);
                                   },
                                   needGeometry: (function t(e) {
                                        if (!Array.isArray(e)) return !1;
                                        if ("within" === e[0]) return !0;
                                        for (var i = 1; i < e.length; i++) if (t(e[i])) return !0;
                                        return !1;
                                   })(t),
                              };
                         }
                         function rn(t, e) {
                              return t < e ? -1 : t > e ? 1 : 0;
                         }
                         function on(t) {
                              if (!t) return !0;
                              var e,
                                   i = t[0];
                              return t.length <= 1
                                   ? "any" !== i
                                   : "==" === i
                                   ? an(t[1], t[2], "==")
                                   : "!=" === i
                                   ? cn(an(t[1], t[2], "=="))
                                   : "<" === i || ">" === i || "<=" === i || ">=" === i
                                   ? an(t[1], t[2], i)
                                   : "any" === i
                                   ? ((e = t.slice(1)), ["any"].concat(e.map(on)))
                                   : "all" === i
                                   ? ["all"].concat(t.slice(1).map(on))
                                   : "none" === i
                                   ? ["all"].concat(t.slice(1).map(on).map(cn))
                                   : "in" === i
                                   ? sn(t[1], t.slice(2))
                                   : "!in" === i
                                   ? cn(sn(t[1], t.slice(2)))
                                   : "has" === i
                                   ? ln(t[1])
                                   : "!has" === i
                                   ? cn(ln(t[1]))
                                   : "within" !== i || t;
                         }
                         function an(t, e, i) {
                              switch (t) {
                                   case "$type":
                                        return ["filter-type-" + i, e];
                                   case "$id":
                                        return ["filter-id-" + i, e];
                                   default:
                                        return ["filter-" + i, t, e];
                              }
                         }
                         function sn(t, e) {
                              if (0 === e.length) return !1;
                              switch (t) {
                                   case "$type":
                                        return ["filter-type-in", ["literal", e]];
                                   case "$id":
                                        return ["filter-id-in", ["literal", e]];
                                   default:
                                        return e.length > 200 &&
                                             !e.some(function (t) {
                                                  return typeof t != typeof e[0];
                                             })
                                             ? ["filter-in-large", t, ["literal", e.sort(rn)]]
                                             : ["filter-in-small", t, ["literal", e]];
                              }
                         }
                         function ln(t) {
                              switch (t) {
                                   case "$type":
                                        return !0;
                                   case "$id":
                                        return ["filter-has-id"];
                                   default:
                                        return ["filter-has", t];
                              }
                         }
                         function cn(t) {
                              return ["!", t];
                         }
                         function un(t) {
                              return tn(At(t.value))
                                   ? Ki(Lt({}, t, { expressionContext: "filter", valueSpec: { value: "boolean" } }))
                                   : (function t(e) {
                                          var i = e.value,
                                               n = e.key;
                                          if ("array" !== Ii(i)) return [new Ct(n, i, "array expected, " + Ii(i) + " found")];
                                          var r,
                                               o = e.styleSpec,
                                               a = [];
                                          if (i.length < 1) return [new Ct(n, i, "filter array must have at least 1 element")];
                                          switch (((a = a.concat(Qi({ key: n + "[0]", value: i[0], valueSpec: o.filter_operator, style: e.style, styleSpec: e.styleSpec }))), Et(i[0]))) {
                                               case "<":
                                               case "<=":
                                               case ">":
                                               case ">=":
                                                    i.length >= 2 && "$type" === Et(i[1]) && a.push(new Ct(n, i, '"$type" cannot be use with operator "' + i[0] + '"'));
                                               case "==":
                                               case "!=":
                                                    3 !== i.length && a.push(new Ct(n, i, 'filter array for operator "' + i[0] + '" must have 3 elements'));
                                               case "in":
                                               case "!in":
                                                    i.length >= 2 && "string" !== (r = Ii(i[1])) && a.push(new Ct(n + "[1]", i[1], "string expected, " + r + " found"));
                                                    for (var s = 2; s < i.length; s++)
                                                         (r = Ii(i[s])),
                                                              "$type" === Et(i[1])
                                                                   ? (a = a.concat(Qi({ key: n + "[" + s + "]", value: i[s], valueSpec: o.geometry_type, style: e.style, styleSpec: e.styleSpec })))
                                                                   : "string" !== r && "number" !== r && "boolean" !== r && a.push(new Ct(n + "[" + s + "]", i[s], "string, number, or boolean expected, " + r + " found"));
                                                    break;
                                               case "any":
                                               case "all":
                                               case "none":
                                                    for (var l = 1; l < i.length; l++) a = a.concat(t({ key: n + "[" + l + "]", value: i[l], style: e.style, styleSpec: e.styleSpec }));
                                                    break;
                                               case "has":
                                               case "!has":
                                                    (r = Ii(i[1])),
                                                         2 !== i.length
                                                              ? a.push(new Ct(n, i, 'filter array for "' + i[0] + '" operator must have 2 elements'))
                                                              : "string" !== r && a.push(new Ct(n + "[1]", i[1], "string expected, " + r + " found"));
                                                    break;
                                               case "within":
                                                    (r = Ii(i[1])),
                                                         2 !== i.length
                                                              ? a.push(new Ct(n, i, 'filter array for "' + i[0] + '" operator must have 2 elements'))
                                                              : "object" !== r && a.push(new Ct(n + "[1]", i[1], "object expected, " + r + " found"));
                                          }
                                          return a;
                                     })(t);
                         }
                         function hn(t, e) {
                              var i = t.key,
                                   n = t.style,
                                   r = t.styleSpec,
                                   o = t.value,
                                   a = t.objectKey,
                                   s = r[e + "_" + t.layerType];
                              if (!s) return [];
                              var l = a.match(/^(.*)-transition$/);
                              if ("paint" === e && l && s[l[1]] && s[l[1]].transition) return _n({ key: i, value: o, valueSpec: r.transition, style: n, styleSpec: r });
                              var c,
                                   u = t.valueSpec || s[a];
                              if (!u) return [new Ct(i, o, 'unknown property "' + a + '"')];
                              if ("string" === Ii(o) && Ei(u) && !u.tokens && (c = /^{([^}]+)}$/.exec(o)))
                                   return [new Ct(i, o, '"' + a + '" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": ' + JSON.stringify(c[1]) + " }`.")];
                              var h = [];
                              return (
                                   "symbol" === t.layerType &&
                                        ("text-field" === a && n && !n.glyphs && h.push(new Ct(i, o, 'use of "text-field" requires a style "glyphs" property')),
                                        "text-font" === a && Oi(At(o)) && "identity" === Et(o.type) && h.push(new Ct(i, o, '"text-font" does not support identity functions'))),
                                   h.concat(_n({ key: t.key, value: o, valueSpec: u, style: n, styleSpec: r, expressionContext: "property", propertyType: e, propertyKey: a }))
                              );
                         }
                         function dn(t) {
                              return hn(t, "paint");
                         }
                         function pn(t) {
                              return hn(t, "layout");
                         }
                         function fn(t) {
                              var e = [],
                                   i = t.value,
                                   n = t.key,
                                   r = t.style,
                                   o = t.styleSpec;
                              i.type || i.ref || e.push(new Ct(n, i, 'either "type" or "ref" is required'));
                              var a,
                                   s = Et(i.type),
                                   l = Et(i.ref);
                              if (i.id)
                                   for (var c = Et(i.id), u = 0; u < t.arrayIndex; u++) {
                                        var h = r.layers[u];
                                        Et(h.id) === c && e.push(new Ct(n, i.id, 'duplicate layer id "' + i.id + '", previously used at line ' + h.id.__line__));
                                   }
                              if ("ref" in i)
                                   ["type", "source", "source-layer", "filter", "layout"].forEach(function (t) {
                                        t in i && e.push(new Ct(n, i[t], '"' + t + '" is prohibited for ref layers'));
                                   }),
                                        r.layers.forEach(function (t) {
                                             Et(t.id) === l && (a = t);
                                        }),
                                        a ? (a.ref ? e.push(new Ct(n, i.ref, "ref cannot reference another ref layer")) : (s = Et(a.type))) : e.push(new Ct(n, i.ref, 'ref layer "' + l + '" not found'));
                              else if ("background" !== s)
                                   if (i.source) {
                                        var d = r.sources && r.sources[i.source],
                                             p = d && Et(d.type);
                                        d
                                             ? "vector" === p && "raster" === s
                                                  ? e.push(new Ct(n, i.source, 'layer "' + i.id + '" requires a raster source'))
                                                  : "raster" === p && "raster" !== s
                                                  ? e.push(new Ct(n, i.source, 'layer "' + i.id + '" requires a vector source'))
                                                  : "vector" !== p || i["source-layer"]
                                                  ? "raster-dem" === p && "hillshade" !== s
                                                       ? e.push(new Ct(n, i.source, "raster-dem source can only be used with layer type 'hillshade'."))
                                                       : "line" !== s ||
                                                         !i.paint ||
                                                         !i.paint["line-gradient"] ||
                                                         ("geojson" === p && d.lineMetrics) ||
                                                         e.push(new Ct(n, i, 'layer "' + i.id + '" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.'))
                                                  : e.push(new Ct(n, i, 'layer "' + i.id + '" must specify a "source-layer"'))
                                             : e.push(new Ct(n, i.source, 'source "' + i.source + '" not found'));
                                   } else e.push(new Ct(n, i, 'missing required property "source"'));
                              return (e = e.concat(
                                   Xi({
                                        key: n,
                                        value: i,
                                        valueSpec: o.layer,
                                        style: t.style,
                                        styleSpec: t.styleSpec,
                                        objectElementValidators: {
                                             "*": function () {
                                                  return [];
                                             },
                                             type: function () {
                                                  return _n({ key: n + ".type", value: i.type, valueSpec: o.layer.type, style: t.style, styleSpec: t.styleSpec, object: i, objectKey: "type" });
                                             },
                                             filter: un,
                                             layout: function (t) {
                                                  return Xi({
                                                       layer: i,
                                                       key: t.key,
                                                       value: t.value,
                                                       style: t.style,
                                                       styleSpec: t.styleSpec,
                                                       objectElementValidators: {
                                                            "*": function (t) {
                                                                 return pn(Lt({ layerType: s }, t));
                                                            },
                                                       },
                                                  });
                                             },
                                             paint: function (t) {
                                                  return Xi({
                                                       layer: i,
                                                       key: t.key,
                                                       value: t.value,
                                                       style: t.style,
                                                       styleSpec: t.styleSpec,
                                                       objectElementValidators: {
                                                            "*": function (t) {
                                                                 return dn(Lt({ layerType: s }, t));
                                                            },
                                                       },
                                                  });
                                             },
                                        },
                                   })
                              ));
                         }
                         function mn(t) {
                              var e = t.value,
                                   i = t.key,
                                   n = Ii(e);
                              return "string" !== n ? [new Ct(i, e, "string expected, " + n + " found")] : [];
                         }
                         var gn = {
                              promoteId: function (t) {
                                   var e = t.key,
                                        i = t.value;
                                   if ("string" === Ii(i)) return mn({ key: e, value: i });
                                   var n = [];
                                   for (var r in i) n.push.apply(n, mn({ key: e + "." + r, value: i[r] }));
                                   return n;
                              },
                         };
                         function vn(t) {
                              var e = t.value,
                                   i = t.key,
                                   n = t.styleSpec,
                                   r = t.style;
                              if (!e.type) return [new Ct(i, e, '"type" is required')];
                              var o,
                                   a = Et(e.type);
                              switch (a) {
                                   case "vector":
                                   case "raster":
                                   case "raster-dem":
                                        return Xi({ key: i, value: e, valueSpec: n["source_" + a.replace("-", "_")], style: t.style, styleSpec: n, objectElementValidators: gn });
                                   case "geojson":
                                        if (((o = Xi({ key: i, value: e, valueSpec: n.source_geojson, style: r, styleSpec: n, objectElementValidators: gn })), e.cluster))
                                             for (var s in e.clusterProperties) {
                                                  var l = e.clusterProperties[s],
                                                       c = l[0],
                                                       u = "string" == typeof c ? [c, ["accumulated"], ["get", s]] : c;
                                                  o.push.apply(o, Ki({ key: i + "." + s + ".map", value: l[1], expressionContext: "cluster-map" })),
                                                       o.push.apply(o, Ki({ key: i + "." + s + ".reduce", value: u, expressionContext: "cluster-reduce" }));
                                             }
                                        return o;
                                   case "video":
                                        return Xi({ key: i, value: e, valueSpec: n.source_video, style: r, styleSpec: n });
                                   case "image":
                                        return Xi({ key: i, value: e, valueSpec: n.source_image, style: r, styleSpec: n });
                                   case "canvas":
                                        return [new Ct(i, null, "Please use runtime APIs to add canvas sources, rather than including them in stylesheets.", "source.canvas")];
                                   default:
                                        return Qi({ key: i + ".type", value: e.type, valueSpec: { values: ["vector", "raster", "raster-dem", "geojson", "video", "image"] }, style: r, styleSpec: n });
                              }
                         }
                         function yn(t) {
                              var e = t.value,
                                   i = t.styleSpec,
                                   n = i.light,
                                   r = t.style,
                                   o = [],
                                   a = Ii(e);
                              if (void 0 === e) return o;
                              if ("object" !== a) return o.concat([new Ct("light", e, "object expected, " + a + " found")]);
                              for (var s in e) {
                                   var l = s.match(/^(.*)-transition$/);
                                   o = o.concat(
                                        l && n[l[1]] && n[l[1]].transition
                                             ? _n({ key: s, value: e[s], valueSpec: i.transition, style: r, styleSpec: i })
                                             : n[s]
                                             ? _n({ key: s, value: e[s], valueSpec: n[s], style: r, styleSpec: i })
                                             : [new Ct(s, e[s], 'unknown property "' + s + '"')]
                                   );
                              }
                              return o;
                         }
                         var bn = {
                              "*": function () {
                                   return [];
                              },
                              array: Gi,
                              boolean: function (t) {
                                   var e = t.value,
                                        i = t.key,
                                        n = Ii(e);
                                   return "boolean" !== n ? [new Ct(i, e, "boolean expected, " + n + " found")] : [];
                              },
                              number: Zi,
                              color: function (t) {
                                   var e = t.key,
                                        i = t.value,
                                        n = Ii(i);
                                   return "string" !== n ? [new Ct(e, i, "color expected, " + n + " found")] : null === Zt(i) ? [new Ct(e, i, 'color expected, "' + i + '" found')] : [];
                              },
                              constants: Dt,
                              enum: Qi,
                              filter: un,
                              function: Ji,
                              layer: fn,
                              object: Xi,
                              source: vn,
                              light: yn,
                              string: mn,
                              formatted: function (t) {
                                   return 0 === mn(t).length ? [] : Ki(t);
                              },
                              resolvedImage: function (t) {
                                   return 0 === mn(t).length ? [] : Ki(t);
                              },
                         };
                         function _n(t) {
                              var e = t.value,
                                   i = t.valueSpec,
                                   n = t.styleSpec;
                              return i.expression && Oi(Et(e)) ? Ji(t) : i.expression && Bi(At(e)) ? Ki(t) : i.type && bn[i.type] ? bn[i.type](t) : Xi(Lt({}, t, { valueSpec: i.type ? n[i.type] : i }));
                         }
                         function xn(t) {
                              var e = t.value,
                                   i = t.key,
                                   n = mn(t);
                              return (
                                   n.length ||
                                        (-1 === e.indexOf("{fontstack}") && n.push(new Ct(i, e, '"glyphs" url must include a "{fontstack}" token')),
                                        -1 === e.indexOf("{range}") && n.push(new Ct(i, e, '"glyphs" url must include a "{range}" token'))),
                                   n
                              );
                         }
                         function wn(t, e) {
                              void 0 === e && (e = Tt);
                              var i = [];
                              return (
                                   (i = i.concat(
                                        _n({
                                             key: "",
                                             value: t,
                                             valueSpec: e.$root,
                                             styleSpec: e,
                                             style: t,
                                             objectElementValidators: {
                                                  glyphs: xn,
                                                  "*": function () {
                                                       return [];
                                                  },
                                             },
                                        })
                                   )),
                                   t.constants && (i = i.concat(Dt({ key: "constants", value: t.constants, style: t, styleSpec: e }))),
                                   kn(i)
                              );
                         }
                         function kn(t) {
                              return [].concat(t).sort(function (t, e) {
                                   return t.line - e.line;
                              });
                         }
                         function Sn(t) {
                              return function () {
                                   for (var e = [], i = arguments.length; i--; ) e[i] = arguments[i];
                                   return kn(t.apply(this, e));
                              };
                         }
                         (wn.source = Sn(vn)), (wn.light = Sn(yn)), (wn.layer = Sn(fn)), (wn.filter = Sn(un)), (wn.paintProperty = Sn(dn)), (wn.layoutProperty = Sn(pn));
                         var Mn = wn,
                              Tn = Mn.light,
                              Cn = Mn.paintProperty,
                              Dn = Mn.layoutProperty;
                         function Ln(t, e) {
                              var i = !1;
                              if (e && e.length) for (var n = 0, r = e; n < r.length; n += 1) t.fire(new St(new Error(r[n].message))), (i = !0);
                              return i;
                         }
                         var En = An;
                         function An(t, e, i) {
                              var n = (this.cells = []);
                              if (t instanceof ArrayBuffer) {
                                   this.arrayBuffer = t;
                                   var r = new Int32Array(this.arrayBuffer);
                                   (t = r[0]), (this.d = (e = r[1]) + 2 * (i = r[2]));
                                   for (var o = 0; o < this.d * this.d; o++) {
                                        var a = r[3 + o],
                                             s = r[3 + o + 1];
                                        n.push(a === s ? null : r.subarray(a, s));
                                   }
                                   var l = r[3 + n.length + 1];
                                   (this.keys = r.subarray(r[3 + n.length], l)), (this.bboxes = r.subarray(l)), (this.insert = this._insertReadonly);
                              } else {
                                   this.d = e + 2 * i;
                                   for (var c = 0; c < this.d * this.d; c++) n.push([]);
                                   (this.keys = []), (this.bboxes = []);
                              }
                              (this.n = e), (this.extent = t), (this.padding = i), (this.scale = e / t), (this.uid = 0);
                              var u = (i / e) * t;
                              (this.min = -u), (this.max = t + u);
                         }
                         (An.prototype.insert = function (t, e, i, n, r) {
                              this._forEachCell(e, i, n, r, this._insertCell, this.uid++), this.keys.push(t), this.bboxes.push(e), this.bboxes.push(i), this.bboxes.push(n), this.bboxes.push(r);
                         }),
                              (An.prototype._insertReadonly = function () {
                                   throw "Cannot insert into a GridIndex created from an ArrayBuffer.";
                              }),
                              (An.prototype._insertCell = function (t, e, i, n, r, o) {
                                   this.cells[r].push(o);
                              }),
                              (An.prototype.query = function (t, e, i, n, r) {
                                   var o = this.min,
                                        a = this.max;
                                   if (t <= o && e <= o && a <= i && a <= n && !r) return Array.prototype.slice.call(this.keys);
                                   var s = [];
                                   return this._forEachCell(t, e, i, n, this._queryCell, s, {}, r), s;
                              }),
                              (An.prototype._queryCell = function (t, e, i, n, r, o, a, s) {
                                   var l = this.cells[r];
                                   if (null !== l)
                                        for (var c = this.keys, u = this.bboxes, h = 0; h < l.length; h++) {
                                             var d = l[h];
                                             if (void 0 === a[d]) {
                                                  var p = 4 * d;
                                                  (s ? s(u[p + 0], u[p + 1], u[p + 2], u[p + 3]) : t <= u[p + 2] && e <= u[p + 3] && i >= u[p + 0] && n >= u[p + 1]) ? ((a[d] = !0), o.push(c[d])) : (a[d] = !1);
                                             }
                                        }
                              }),
                              (An.prototype._forEachCell = function (t, e, i, n, r, o, a, s) {
                                   for (var l = this._convertToCellCoord(t), c = this._convertToCellCoord(e), u = this._convertToCellCoord(i), h = this._convertToCellCoord(n), d = l; d <= u; d++)
                                        for (var p = c; p <= h; p++) {
                                             var f = this.d * p + d;
                                             if ((!s || s(this._convertFromCellCoord(d), this._convertFromCellCoord(p), this._convertFromCellCoord(d + 1), this._convertFromCellCoord(p + 1))) && r.call(this, t, e, i, n, f, o, a, s)) return;
                                        }
                              }),
                              (An.prototype._convertFromCellCoord = function (t) {
                                   return (t - this.padding) / this.scale;
                              }),
                              (An.prototype._convertToCellCoord = function (t) {
                                   return Math.max(0, Math.min(this.d - 1, Math.floor(t * this.scale) + this.padding));
                              }),
                              (An.prototype.toArrayBuffer = function () {
                                   if (this.arrayBuffer) return this.arrayBuffer;
                                   for (var t = this.cells, e = 3 + this.cells.length + 1 + 1, i = 0, n = 0; n < this.cells.length; n++) i += this.cells[n].length;
                                   var r = new Int32Array(e + i + this.keys.length + this.bboxes.length);
                                   (r[0] = this.extent), (r[1] = this.n), (r[2] = this.padding);
                                   for (var o = e, a = 0; a < t.length; a++) {
                                        var s = t[a];
                                        (r[3 + a] = o), r.set(s, o), (o += s.length);
                                   }
                                   return (r[3 + t.length] = o), r.set(this.keys, o), (r[3 + t.length + 1] = o += this.keys.length), r.set(this.bboxes, o), (o += this.bboxes.length), r.buffer;
                              });
                         var Pn = self.ImageData,
                              In = self.ImageBitmap,
                              On = {};
                         function Yn(t, e, i) {
                              void 0 === i && (i = {}), Object.defineProperty(e, "_classRegistryKey", { value: t, writeable: !1 }), (On[t] = { klass: e, omit: i.omit || [], shallow: i.shallow || [] });
                         }
                         for (var zn in (Yn("Object", Object),
                         (En.serialize = function (t, e) {
                              var i = t.toArrayBuffer();
                              return e && e.push(i), { buffer: i };
                         }),
                         (En.deserialize = function (t) {
                              return new En(t.buffer);
                         }),
                         Yn("Grid", En),
                         Yn("Color", Jt),
                         Yn("Error", Error),
                         Yn("ResolvedImage", ee),
                         Yn("StylePropertyFunction", $i),
                         Yn("StyleExpression", Ni, { omit: ["_evaluator"] }),
                         Yn("ZoomDependentExpression", Ui),
                         Yn("ZoomConstantExpression", Vi),
                         Yn("CompoundExpression", ge, { omit: ["_evaluate"] }),
                         ki))
                              ki[zn]._classRegistryKey || Yn("Expression_" + zn, ki[zn]);
                         function Rn(t) {
                              return t && "undefined" != typeof ArrayBuffer && (t instanceof ArrayBuffer || (t.constructor && "ArrayBuffer" === t.constructor.name));
                         }
                         function Fn(t) {
                              return In && t instanceof In;
                         }
                         function Hn(t, e) {
                              if (null == t || "boolean" == typeof t || "number" == typeof t || "string" == typeof t || t instanceof Boolean || t instanceof Number || t instanceof String || t instanceof Date || t instanceof RegExp)
                                   return t;
                              if (Rn(t) || Fn(t)) return e && e.push(t), t;
                              if (ArrayBuffer.isView(t)) {
                                   var i = t;
                                   return e && e.push(i.buffer), i;
                              }
                              if (t instanceof Pn) return e && e.push(t.data.buffer), t;
                              if (Array.isArray(t)) {
                                   for (var n = [], r = 0, o = t; r < o.length; r += 1) n.push(Hn(o[r], e));
                                   return n;
                              }
                              if ("object" == typeof t) {
                                   var a = t.constructor,
                                        s = a._classRegistryKey;
                                   if (!s) throw new Error("can't serialize object of unregistered class");
                                   var l = a.serialize ? a.serialize(t, e) : {};
                                   if (!a.serialize) {
                                        for (var c in t)
                                             if (t.hasOwnProperty(c) && !(On[s].omit.indexOf(c) >= 0)) {
                                                  var u = t[c];
                                                  l[c] = On[s].shallow.indexOf(c) >= 0 ? u : Hn(u, e);
                                             }
                                        t instanceof Error && (l.message = t.message);
                                   }
                                   if (l.$name) throw new Error("$name property is reserved for worker serialization logic.");
                                   return "Object" !== s && (l.$name = s), l;
                              }
                              throw new Error("can't serialize object of type " + typeof t);
                         }
                         function jn(t) {
                              if (
                                   null == t ||
                                   "boolean" == typeof t ||
                                   "number" == typeof t ||
                                   "string" == typeof t ||
                                   t instanceof Boolean ||
                                   t instanceof Number ||
                                   t instanceof String ||
                                   t instanceof Date ||
                                   t instanceof RegExp ||
                                   Rn(t) ||
                                   Fn(t) ||
                                   ArrayBuffer.isView(t) ||
                                   t instanceof Pn
                              )
                                   return t;
                              if (Array.isArray(t)) return t.map(jn);
                              if ("object" == typeof t) {
                                   var e = t.$name || "Object",
                                        i = On[e].klass;
                                   if (!i) throw new Error("can't deserialize unregistered class " + e);
                                   if (i.deserialize) return i.deserialize(t);
                                   for (var n = Object.create(i.prototype), r = 0, o = Object.keys(t); r < o.length; r += 1) {
                                        var a = o[r];
                                        if ("$name" !== a) {
                                             var s = t[a];
                                             n[a] = On[e].shallow.indexOf(a) >= 0 ? s : jn(s);
                                        }
                                   }
                                   return n;
                              }
                              throw new Error("can't deserialize object of type " + typeof t);
                         }
                         var Nn = function () {
                              this.first = !0;
                         };
                         Nn.prototype.update = function (t, e) {
                              var i = Math.floor(t);
                              return this.first
                                   ? ((this.first = !1), (this.lastIntegerZoom = i), (this.lastIntegerZoomTime = 0), (this.lastZoom = t), (this.lastFloorZoom = i), !0)
                                   : (this.lastFloorZoom > i ? ((this.lastIntegerZoom = i + 1), (this.lastIntegerZoomTime = e)) : this.lastFloorZoom < i && ((this.lastIntegerZoom = i), (this.lastIntegerZoomTime = e)),
                                     t !== this.lastZoom && ((this.lastZoom = t), (this.lastFloorZoom = i), !0));
                         };
                         var Bn = {
                              "Latin-1 Supplement": function (t) {
                                   return t >= 128 && t <= 255;
                              },
                              Arabic: function (t) {
                                   return t >= 1536 && t <= 1791;
                              },
                              "Arabic Supplement": function (t) {
                                   return t >= 1872 && t <= 1919;
                              },
                              "Arabic Extended-A": function (t) {
                                   return t >= 2208 && t <= 2303;
                              },
                              "Hangul Jamo": function (t) {
                                   return t >= 4352 && t <= 4607;
                              },
                              "Unified Canadian Aboriginal Syllabics": function (t) {
                                   return t >= 5120 && t <= 5759;
                              },
                              Khmer: function (t) {
                                   return t >= 6016 && t <= 6143;
                              },
                              "Unified Canadian Aboriginal Syllabics Extended": function (t) {
                                   return t >= 6320 && t <= 6399;
                              },
                              "General Punctuation": function (t) {
                                   return t >= 8192 && t <= 8303;
                              },
                              "Letterlike Symbols": function (t) {
                                   return t >= 8448 && t <= 8527;
                              },
                              "Number Forms": function (t) {
                                   return t >= 8528 && t <= 8591;
                              },
                              "Miscellaneous Technical": function (t) {
                                   return t >= 8960 && t <= 9215;
                              },
                              "Control Pictures": function (t) {
                                   return t >= 9216 && t <= 9279;
                              },
                              "Optical Character Recognition": function (t) {
                                   return t >= 9280 && t <= 9311;
                              },
                              "Enclosed Alphanumerics": function (t) {
                                   return t >= 9312 && t <= 9471;
                              },
                              "Geometric Shapes": function (t) {
                                   return t >= 9632 && t <= 9727;
                              },
                              "Miscellaneous Symbols": function (t) {
                                   return t >= 9728 && t <= 9983;
                              },
                              "Miscellaneous Symbols and Arrows": function (t) {
                                   return t >= 11008 && t <= 11263;
                              },
                              "CJK Radicals Supplement": function (t) {
                                   return t >= 11904 && t <= 12031;
                              },
                              "Kangxi Radicals": function (t) {
                                   return t >= 12032 && t <= 12255;
                              },
                              "Ideographic Description Characters": function (t) {
                                   return t >= 12272 && t <= 12287;
                              },
                              "CJK Symbols and Punctuation": function (t) {
                                   return t >= 12288 && t <= 12351;
                              },
                              Hiragana: function (t) {
                                   return t >= 12352 && t <= 12447;
                              },
                              Katakana: function (t) {
                                   return t >= 12448 && t <= 12543;
                              },
                              Bopomofo: function (t) {
                                   return t >= 12544 && t <= 12591;
                              },
                              "Hangul Compatibility Jamo": function (t) {
                                   return t >= 12592 && t <= 12687;
                              },
                              Kanbun: function (t) {
                                   return t >= 12688 && t <= 12703;
                              },
                              "Bopomofo Extended": function (t) {
                                   return t >= 12704 && t <= 12735;
                              },
                              "CJK Strokes": function (t) {
                                   return t >= 12736 && t <= 12783;
                              },
                              "Katakana Phonetic Extensions": function (t) {
                                   return t >= 12784 && t <= 12799;
                              },
                              "Enclosed CJK Letters and Months": function (t) {
                                   return t >= 12800 && t <= 13055;
                              },
                              "CJK Compatibility": function (t) {
                                   return t >= 13056 && t <= 13311;
                              },
                              "CJK Unified Ideographs Extension A": function (t) {
                                   return t >= 13312 && t <= 19903;
                              },
                              "Yijing Hexagram Symbols": function (t) {
                                   return t >= 19904 && t <= 19967;
                              },
                              "CJK Unified Ideographs": function (t) {
                                   return t >= 19968 && t <= 40959;
                              },
                              "Yi Syllables": function (t) {
                                   return t >= 40960 && t <= 42127;
                              },
                              "Yi Radicals": function (t) {
                                   return t >= 42128 && t <= 42191;
                              },
                              "Hangul Jamo Extended-A": function (t) {
                                   return t >= 43360 && t <= 43391;
                              },
                              "Hangul Syllables": function (t) {
                                   return t >= 44032 && t <= 55215;
                              },
                              "Hangul Jamo Extended-B": function (t) {
                                   return t >= 55216 && t <= 55295;
                              },
                              "Private Use Area": function (t) {
                                   return t >= 57344 && t <= 63743;
                              },
                              "CJK Compatibility Ideographs": function (t) {
                                   return t >= 63744 && t <= 64255;
                              },
                              "Arabic Presentation Forms-A": function (t) {
                                   return t >= 64336 && t <= 65023;
                              },
                              "Vertical Forms": function (t) {
                                   return t >= 65040 && t <= 65055;
                              },
                              "CJK Compatibility Forms": function (t) {
                                   return t >= 65072 && t <= 65103;
                              },
                              "Small Form Variants": function (t) {
                                   return t >= 65104 && t <= 65135;
                              },
                              "Arabic Presentation Forms-B": function (t) {
                                   return t >= 65136 && t <= 65279;
                              },
                              "Halfwidth and Fullwidth Forms": function (t) {
                                   return t >= 65280 && t <= 65519;
                              },
                         };
                         function Wn(t) {
                              for (var e = 0, i = t; e < i.length; e += 1) if (Vn(i[e].charCodeAt(0))) return !0;
                              return !1;
                         }
                         function Vn(t) {
                              return !(
                                   746 !== t &&
                                   747 !== t &&
                                   (t < 4352 ||
                                        !(
                                             Bn["Bopomofo Extended"](t) ||
                                             Bn.Bopomofo(t) ||
                                             (Bn["CJK Compatibility Forms"](t) && !(t >= 65097 && t <= 65103)) ||
                                             Bn["CJK Compatibility Ideographs"](t) ||
                                             Bn["CJK Compatibility"](t) ||
                                             Bn["CJK Radicals Supplement"](t) ||
                                             Bn["CJK Strokes"](t) ||
                                             !(!Bn["CJK Symbols and Punctuation"](t) || (t >= 12296 && t <= 12305) || (t >= 12308 && t <= 12319) || 12336 === t) ||
                                             Bn["CJK Unified Ideographs Extension A"](t) ||
                                             Bn["CJK Unified Ideographs"](t) ||
                                             Bn["Enclosed CJK Letters and Months"](t) ||
                                             Bn["Hangul Compatibility Jamo"](t) ||
                                             Bn["Hangul Jamo Extended-A"](t) ||
                                             Bn["Hangul Jamo Extended-B"](t) ||
                                             Bn["Hangul Jamo"](t) ||
                                             Bn["Hangul Syllables"](t) ||
                                             Bn.Hiragana(t) ||
                                             Bn["Ideographic Description Characters"](t) ||
                                             Bn.Kanbun(t) ||
                                             Bn["Kangxi Radicals"](t) ||
                                             Bn["Katakana Phonetic Extensions"](t) ||
                                             (Bn.Katakana(t) && 12540 !== t) ||
                                             !(
                                                  !Bn["Halfwidth and Fullwidth Forms"](t) ||
                                                  65288 === t ||
                                                  65289 === t ||
                                                  65293 === t ||
                                                  (t >= 65306 && t <= 65310) ||
                                                  65339 === t ||
                                                  65341 === t ||
                                                  65343 === t ||
                                                  (t >= 65371 && t <= 65503) ||
                                                  65507 === t ||
                                                  (t >= 65512 && t <= 65519)
                                             ) ||
                                             !(!Bn["Small Form Variants"](t) || (t >= 65112 && t <= 65118) || (t >= 65123 && t <= 65126)) ||
                                             Bn["Unified Canadian Aboriginal Syllabics"](t) ||
                                             Bn["Unified Canadian Aboriginal Syllabics Extended"](t) ||
                                             Bn["Vertical Forms"](t) ||
                                             Bn["Yijing Hexagram Symbols"](t) ||
                                             Bn["Yi Syllables"](t) ||
                                             Bn["Yi Radicals"](t)
                                        ))
                              );
                         }
                         function Un(t) {
                              return !(
                                   Vn(t) ||
                                   (function (t) {
                                        return !!(
                                             (Bn["Latin-1 Supplement"](t) && (167 === t || 169 === t || 174 === t || 177 === t || 188 === t || 189 === t || 190 === t || 215 === t || 247 === t)) ||
                                             (Bn["General Punctuation"](t) &&
                                                  (8214 === t || 8224 === t || 8225 === t || 8240 === t || 8241 === t || 8251 === t || 8252 === t || 8258 === t || 8263 === t || 8264 === t || 8265 === t || 8273 === t)) ||
                                             Bn["Letterlike Symbols"](t) ||
                                             Bn["Number Forms"](t) ||
                                             (Bn["Miscellaneous Technical"](t) &&
                                                  ((t >= 8960 && t <= 8967) ||
                                                       (t >= 8972 && t <= 8991) ||
                                                       (t >= 8996 && t <= 9e3) ||
                                                       9003 === t ||
                                                       (t >= 9085 && t <= 9114) ||
                                                       (t >= 9150 && t <= 9165) ||
                                                       9167 === t ||
                                                       (t >= 9169 && t <= 9179) ||
                                                       (t >= 9186 && t <= 9215))) ||
                                             (Bn["Control Pictures"](t) && 9251 !== t) ||
                                             Bn["Optical Character Recognition"](t) ||
                                             Bn["Enclosed Alphanumerics"](t) ||
                                             Bn["Geometric Shapes"](t) ||
                                             (Bn["Miscellaneous Symbols"](t) && !(t >= 9754 && t <= 9759)) ||
                                             (Bn["Miscellaneous Symbols and Arrows"](t) && ((t >= 11026 && t <= 11055) || (t >= 11088 && t <= 11097) || (t >= 11192 && t <= 11243))) ||
                                             Bn["CJK Symbols and Punctuation"](t) ||
                                             Bn.Katakana(t) ||
                                             Bn["Private Use Area"](t) ||
                                             Bn["CJK Compatibility Forms"](t) ||
                                             Bn["Small Form Variants"](t) ||
                                             Bn["Halfwidth and Fullwidth Forms"](t) ||
                                             8734 === t ||
                                             8756 === t ||
                                             8757 === t ||
                                             (t >= 9984 && t <= 10087) ||
                                             (t >= 10102 && t <= 10131) ||
                                             65532 === t ||
                                             65533 === t
                                        );
                                   })(t)
                              );
                         }
                         function qn(t) {
                              return (t >= 1424 && t <= 2303) || Bn["Arabic Presentation Forms-A"](t) || Bn["Arabic Presentation Forms-B"](t);
                         }
                         function $n(t, e) {
                              return !((!e && qn(t)) || (t >= 2304 && t <= 3583) || (t >= 3840 && t <= 4255) || Bn.Khmer(t));
                         }
                         function Xn(t) {
                              for (var e = 0, i = t; e < i.length; e += 1) if (qn(i[e].charCodeAt(0))) return !0;
                              return !1;
                         }
                         var Gn = null,
                              Zn = "unavailable",
                              Jn = null,
                              Kn = function (t) {
                                   t && "string" == typeof t && t.indexOf("NetworkError") > -1 && (Zn = "error"), Gn && Gn(t);
                              };
                         function Qn() {
                              tr.fire(new kt("pluginStateChange", { pluginStatus: Zn, pluginURL: Jn }));
                         }
                         var tr = new Mt(),
                              er = function () {
                                   return Zn;
                              },
                              ir = function () {
                                   if ("deferred" !== Zn || !Jn) throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");
                                   (Zn = "loading"),
                                        Qn(),
                                        Jn &&
                                             yt({ url: Jn }, function (t) {
                                                  t ? Kn(t) : ((Zn = "loaded"), Qn());
                                             });
                              },
                              nr = {
                                   applyArabicShaping: null,
                                   processBidirectionalText: null,
                                   processStyledBidirectionalText: null,
                                   isLoaded: function () {
                                        return "loaded" === Zn || null != nr.applyArabicShaping;
                                   },
                                   isLoading: function () {
                                        return "loading" === Zn;
                                   },
                                   setState: function (t) {
                                        (Zn = t.pluginStatus), (Jn = t.pluginURL);
                                   },
                                   isParsed: function () {
                                        return null != nr.applyArabicShaping && null != nr.processBidirectionalText && null != nr.processStyledBidirectionalText;
                                   },
                                   getPluginURL: function () {
                                        return Jn;
                                   },
                              },
                              rr = function (t, e) {
                                   (this.zoom = t),
                                        e
                                             ? ((this.now = e.now), (this.fadeDuration = e.fadeDuration), (this.zoomHistory = e.zoomHistory), (this.transition = e.transition))
                                             : ((this.now = 0), (this.fadeDuration = 0), (this.zoomHistory = new Nn()), (this.transition = {}));
                              };
                         (rr.prototype.isSupportedScript = function (t) {
                              return (function (t, e) {
                                   for (var i = 0, n = t; i < n.length; i += 1) if (!$n(n[i].charCodeAt(0), e)) return !1;
                                   return !0;
                              })(t, nr.isLoaded());
                         }),
                              (rr.prototype.crossFadingFactor = function () {
                                   return 0 === this.fadeDuration ? 1 : Math.min((this.now - this.zoomHistory.lastIntegerZoomTime) / this.fadeDuration, 1);
                              }),
                              (rr.prototype.getCrossfadeParameters = function () {
                                   var t = this.zoom,
                                        e = t - Math.floor(t),
                                        i = this.crossFadingFactor();
                                   return t > this.zoomHistory.lastIntegerZoom ? { fromScale: 2, toScale: 1, t: e + (1 - e) * i } : { fromScale: 0.5, toScale: 1, t: 1 - (1 - i) * e };
                              });
                         var or = function (t, e) {
                              (this.property = t),
                                   (this.value = e),
                                   (this.expression = (function (t, e) {
                                        if (Oi(t)) return new $i(t, e);
                                        if (Bi(t)) {
                                             var i = qi(t, e);
                                             if ("error" === i.result)
                                                  throw new Error(
                                                       i.value
                                                            .map(function (t) {
                                                                 return t.key + ": " + t.message;
                                                            })
                                                            .join(", ")
                                                  );
                                             return i.value;
                                        }
                                        var n = t;
                                        return (
                                             "string" == typeof t && "color" === e.type && (n = Jt.parse(t)),
                                             {
                                                  kind: "constant",
                                                  evaluate: function () {
                                                       return n;
                                                  },
                                             }
                                        );
                                   })(void 0 === e ? t.specification.default : e, t.specification));
                         };
                         (or.prototype.isDataDriven = function () {
                              return "source" === this.expression.kind || "composite" === this.expression.kind;
                         }),
                              (or.prototype.possiblyEvaluate = function (t, e, i) {
                                   return this.property.possiblyEvaluate(this, t, e, i);
                              });
                         var ar = function (t) {
                              (this.property = t), (this.value = new or(t, void 0));
                         };
                         (ar.prototype.transitioned = function (t, e) {
                              return new lr(this.property, this.value, e, u({}, t.transition, this.transition), t.now);
                         }),
                              (ar.prototype.untransitioned = function () {
                                   return new lr(this.property, this.value, null, {}, 0);
                              });
                         var sr = function (t) {
                              (this._properties = t), (this._values = Object.create(t.defaultTransitionablePropertyValues));
                         };
                         (sr.prototype.getValue = function (t) {
                              return b(this._values[t].value.value);
                         }),
                              (sr.prototype.setValue = function (t, e) {
                                   this._values.hasOwnProperty(t) || (this._values[t] = new ar(this._values[t].property)), (this._values[t].value = new or(this._values[t].property, null === e ? void 0 : b(e)));
                              }),
                              (sr.prototype.getTransition = function (t) {
                                   return b(this._values[t].transition);
                              }),
                              (sr.prototype.setTransition = function (t, e) {
                                   this._values.hasOwnProperty(t) || (this._values[t] = new ar(this._values[t].property)), (this._values[t].transition = b(e) || void 0);
                              }),
                              (sr.prototype.serialize = function () {
                                   for (var t = {}, e = 0, i = Object.keys(this._values); e < i.length; e += 1) {
                                        var n = i[e],
                                             r = this.getValue(n);
                                        void 0 !== r && (t[n] = r);
                                        var o = this.getTransition(n);
                                        void 0 !== o && (t[n + "-transition"] = o);
                                   }
                                   return t;
                              }),
                              (sr.prototype.transitioned = function (t, e) {
                                   for (var i = new cr(this._properties), n = 0, r = Object.keys(this._values); n < r.length; n += 1) {
                                        var o = r[n];
                                        i._values[o] = this._values[o].transitioned(t, e._values[o]);
                                   }
                                   return i;
                              }),
                              (sr.prototype.untransitioned = function () {
                                   for (var t = new cr(this._properties), e = 0, i = Object.keys(this._values); e < i.length; e += 1) {
                                        var n = i[e];
                                        t._values[n] = this._values[n].untransitioned();
                                   }
                                   return t;
                              });
                         var lr = function (t, e, i, n, r) {
                              (this.property = t), (this.value = e), (this.begin = r + n.delay || 0), (this.end = this.begin + n.duration || 0), t.specification.transition && (n.delay || n.duration) && (this.prior = i);
                         };
                         lr.prototype.possiblyEvaluate = function (t, e, i) {
                              var n = t.now || 0,
                                   r = this.value.possiblyEvaluate(t, e, i),
                                   o = this.prior;
                              if (o) {
                                   if (n > this.end) return (this.prior = null), r;
                                   if (this.value.isDataDriven()) return (this.prior = null), r;
                                   if (n < this.begin) return o.possiblyEvaluate(t, e, i);
                                   var a = (n - this.begin) / (this.end - this.begin);
                                   return this.property.interpolate(
                                        o.possiblyEvaluate(t, e, i),
                                        r,
                                        (function (t) {
                                             if (t <= 0) return 0;
                                             if (t >= 1) return 1;
                                             var e = t * t,
                                                  i = e * t;
                                             return 4 * (t < 0.5 ? i : 3 * (t - e) + i - 0.75);
                                        })(a)
                                   );
                              }
                              return r;
                         };
                         var cr = function (t) {
                              (this._properties = t), (this._values = Object.create(t.defaultTransitioningPropertyValues));
                         };
                         (cr.prototype.possiblyEvaluate = function (t, e, i) {
                              for (var n = new dr(this._properties), r = 0, o = Object.keys(this._values); r < o.length; r += 1) {
                                   var a = o[r];
                                   n._values[a] = this._values[a].possiblyEvaluate(t, e, i);
                              }
                              return n;
                         }),
                              (cr.prototype.hasTransition = function () {
                                   for (var t = 0, e = Object.keys(this._values); t < e.length; t += 1) if (this._values[e[t]].prior) return !0;
                                   return !1;
                              });
                         var ur = function (t) {
                              (this._properties = t), (this._values = Object.create(t.defaultPropertyValues));
                         };
                         (ur.prototype.getValue = function (t) {
                              return b(this._values[t].value);
                         }),
                              (ur.prototype.setValue = function (t, e) {
                                   this._values[t] = new or(this._values[t].property, null === e ? void 0 : b(e));
                              }),
                              (ur.prototype.serialize = function () {
                                   for (var t = {}, e = 0, i = Object.keys(this._values); e < i.length; e += 1) {
                                        var n = i[e],
                                             r = this.getValue(n);
                                        void 0 !== r && (t[n] = r);
                                   }
                                   return t;
                              }),
                              (ur.prototype.possiblyEvaluate = function (t, e, i) {
                                   for (var n = new dr(this._properties), r = 0, o = Object.keys(this._values); r < o.length; r += 1) {
                                        var a = o[r];
                                        n._values[a] = this._values[a].possiblyEvaluate(t, e, i);
                                   }
                                   return n;
                              });
                         var hr = function (t, e, i) {
                              (this.property = t), (this.value = e), (this.parameters = i);
                         };
                         (hr.prototype.isConstant = function () {
                              return "constant" === this.value.kind;
                         }),
                              (hr.prototype.constantOr = function (t) {
                                   return "constant" === this.value.kind ? this.value.value : t;
                              }),
                              (hr.prototype.evaluate = function (t, e, i, n) {
                                   return this.property.evaluate(this.value, this.parameters, t, e, i, n);
                              });
                         var dr = function (t) {
                              (this._properties = t), (this._values = Object.create(t.defaultPossiblyEvaluatedValues));
                         };
                         dr.prototype.get = function (t) {
                              return this._values[t];
                         };
                         var pr = function (t) {
                              this.specification = t;
                         };
                         (pr.prototype.possiblyEvaluate = function (t, e) {
                              return t.expression.evaluate(e);
                         }),
                              (pr.prototype.interpolate = function (t, e, i) {
                                   var n = Be[this.specification.type];
                                   return n ? n(t, e, i) : t;
                              });
                         var fr = function (t, e) {
                              (this.specification = t), (this.overrides = e);
                         };
                         (fr.prototype.possiblyEvaluate = function (t, e, i, n) {
                              return new hr(this, "constant" === t.expression.kind || "camera" === t.expression.kind ? { kind: "constant", value: t.expression.evaluate(e, null, {}, i, n) } : t.expression, e);
                         }),
                              (fr.prototype.interpolate = function (t, e, i) {
                                   if ("constant" !== t.value.kind || "constant" !== e.value.kind) return t;
                                   if (void 0 === t.value.value || void 0 === e.value.value) return new hr(this, { kind: "constant", value: void 0 }, t.parameters);
                                   var n = Be[this.specification.type];
                                   return n ? new hr(this, { kind: "constant", value: n(t.value.value, e.value.value, i) }, t.parameters) : t;
                              }),
                              (fr.prototype.evaluate = function (t, e, i, n, r, o) {
                                   return "constant" === t.kind ? t.value : t.evaluate(e, i, n, r, o);
                              });
                         var mr = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.possiblyEvaluate = function (t, e, i, n) {
                                             if (void 0 === t.value) return new hr(this, { kind: "constant", value: void 0 }, e);
                                             if ("constant" === t.expression.kind) {
                                                  var r = t.expression.evaluate(e, null, {}, i, n),
                                                       o = "resolvedImage" === t.property.specification.type && "string" != typeof r ? r.name : r,
                                                       a = this._calculate(o, o, o, e);
                                                  return new hr(this, { kind: "constant", value: a }, e);
                                             }
                                             if ("camera" === t.expression.kind) {
                                                  var s = this._calculate(t.expression.evaluate({ zoom: e.zoom - 1 }), t.expression.evaluate({ zoom: e.zoom }), t.expression.evaluate({ zoom: e.zoom + 1 }), e);
                                                  return new hr(this, { kind: "constant", value: s }, e);
                                             }
                                             return new hr(this, t.expression, e);
                                        }),
                                        (e.prototype.evaluate = function (t, e, i, n, r, o) {
                                             if ("source" === t.kind) {
                                                  var a = t.evaluate(e, i, n, r, o);
                                                  return this._calculate(a, a, a, e);
                                             }
                                             return "composite" === t.kind
                                                  ? this._calculate(t.evaluate({ zoom: Math.floor(e.zoom) - 1 }, i, n), t.evaluate({ zoom: Math.floor(e.zoom) }, i, n), t.evaluate({ zoom: Math.floor(e.zoom) + 1 }, i, n), e)
                                                  : t.value;
                                        }),
                                        (e.prototype._calculate = function (t, e, i, n) {
                                             return n.zoom > n.zoomHistory.lastIntegerZoom ? { from: t, to: e } : { from: i, to: e };
                                        }),
                                        (e.prototype.interpolate = function (t) {
                                             return t;
                                        }),
                                        e
                                   );
                              })(fr),
                              gr = function (t) {
                                   this.specification = t;
                              };
                         (gr.prototype.possiblyEvaluate = function (t, e, i, n) {
                              if (void 0 !== t.value) {
                                   if ("constant" === t.expression.kind) {
                                        var r = t.expression.evaluate(e, null, {}, i, n);
                                        return this._calculate(r, r, r, e);
                                   }
                                   return this._calculate(t.expression.evaluate(new rr(Math.floor(e.zoom - 1), e)), t.expression.evaluate(new rr(Math.floor(e.zoom), e)), t.expression.evaluate(new rr(Math.floor(e.zoom + 1), e)), e);
                              }
                         }),
                              (gr.prototype._calculate = function (t, e, i, n) {
                                   return n.zoom > n.zoomHistory.lastIntegerZoom ? { from: t, to: e } : { from: i, to: e };
                              }),
                              (gr.prototype.interpolate = function (t) {
                                   return t;
                              });
                         var vr = function (t) {
                              this.specification = t;
                         };
                         (vr.prototype.possiblyEvaluate = function (t, e, i, n) {
                              return !!t.expression.evaluate(e, null, {}, i, n);
                         }),
                              (vr.prototype.interpolate = function () {
                                   return !1;
                              });
                         var yr = function (t) {
                              for (var e in ((this.properties = t),
                              (this.defaultPropertyValues = {}),
                              (this.defaultTransitionablePropertyValues = {}),
                              (this.defaultTransitioningPropertyValues = {}),
                              (this.defaultPossiblyEvaluatedValues = {}),
                              (this.overridableProperties = []),
                              t)) {
                                   var i = t[e];
                                   i.specification.overridable && this.overridableProperties.push(e);
                                   var n = (this.defaultPropertyValues[e] = new or(i, void 0)),
                                        r = (this.defaultTransitionablePropertyValues[e] = new ar(i));
                                   (this.defaultTransitioningPropertyValues[e] = r.untransitioned()), (this.defaultPossiblyEvaluatedValues[e] = n.possiblyEvaluate({}));
                              }
                         };
                         Yn("DataDrivenProperty", fr), Yn("DataConstantProperty", pr), Yn("CrossFadedDataDrivenProperty", mr), Yn("CrossFadedProperty", gr), Yn("ColorRampProperty", vr);
                         var br = (function (t) {
                                   function e(e, i) {
                                        if (
                                             (t.call(this),
                                             (this.id = e.id),
                                             (this.type = e.type),
                                             (this._featureFilter = {
                                                  filter: function () {
                                                       return !0;
                                                  },
                                                  needGeometry: !1,
                                             }),
                                             "custom" !== e.type &&
                                                  ((this.metadata = (e = e).metadata),
                                                  (this.minzoom = e.minzoom),
                                                  (this.maxzoom = e.maxzoom),
                                                  "background" !== e.type && ((this.source = e.source), (this.sourceLayer = e["source-layer"]), (this.filter = e.filter)),
                                                  i.layout && (this._unevaluatedLayout = new ur(i.layout)),
                                                  i.paint))
                                        ) {
                                             for (var n in ((this._transitionablePaint = new sr(i.paint)), e.paint)) this.setPaintProperty(n, e.paint[n], { validate: !1 });
                                             for (var r in e.layout) this.setLayoutProperty(r, e.layout[r], { validate: !1 });
                                             (this._transitioningPaint = this._transitionablePaint.untransitioned()), (this.paint = new dr(i.paint));
                                        }
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getCrossfadeParameters = function () {
                                             return this._crossfadeParameters;
                                        }),
                                        (e.prototype.getLayoutProperty = function (t) {
                                             return "visibility" === t ? this.visibility : this._unevaluatedLayout.getValue(t);
                                        }),
                                        (e.prototype.setLayoutProperty = function (t, e, i) {
                                             void 0 === i && (i = {}),
                                                  (null != e && this._validate(Dn, "layers." + this.id + ".layout." + t, t, e, i)) || ("visibility" !== t ? this._unevaluatedLayout.setValue(t, e) : (this.visibility = e));
                                        }),
                                        (e.prototype.getPaintProperty = function (t) {
                                             return g(t, "-transition") ? this._transitionablePaint.getTransition(t.slice(0, -"-transition".length)) : this._transitionablePaint.getValue(t);
                                        }),
                                        (e.prototype.setPaintProperty = function (t, e, i) {
                                             if ((void 0 === i && (i = {}), null != e && this._validate(Cn, "layers." + this.id + ".paint." + t, t, e, i))) return !1;
                                             if (g(t, "-transition")) return this._transitionablePaint.setTransition(t.slice(0, -"-transition".length), e || void 0), !1;
                                             var n = this._transitionablePaint._values[t],
                                                  r = "cross-faded-data-driven" === n.property.specification["property-type"],
                                                  o = n.value.isDataDriven(),
                                                  a = n.value;
                                             this._transitionablePaint.setValue(t, e), this._handleSpecialPaintPropertyUpdate(t);
                                             var s = this._transitionablePaint._values[t].value;
                                             return s.isDataDriven() || o || r || this._handleOverridablePaintPropertyUpdate(t, a, s);
                                        }),
                                        (e.prototype._handleSpecialPaintPropertyUpdate = function (t) {}),
                                        (e.prototype._handleOverridablePaintPropertyUpdate = function (t, e, i) {
                                             return !1;
                                        }),
                                        (e.prototype.isHidden = function (t) {
                                             return !!(this.minzoom && t < this.minzoom) || !!(this.maxzoom && t >= this.maxzoom) || "none" === this.visibility;
                                        }),
                                        (e.prototype.updateTransitions = function (t) {
                                             this._transitioningPaint = this._transitionablePaint.transitioned(t, this._transitioningPaint);
                                        }),
                                        (e.prototype.hasTransition = function () {
                                             return this._transitioningPaint.hasTransition();
                                        }),
                                        (e.prototype.recalculate = function (t, e) {
                                             t.getCrossfadeParameters && (this._crossfadeParameters = t.getCrossfadeParameters()),
                                                  this._unevaluatedLayout && (this.layout = this._unevaluatedLayout.possiblyEvaluate(t, void 0, e)),
                                                  (this.paint = this._transitioningPaint.possiblyEvaluate(t, void 0, e));
                                        }),
                                        (e.prototype.serialize = function () {
                                             var t = {
                                                  id: this.id,
                                                  type: this.type,
                                                  source: this.source,
                                                  "source-layer": this.sourceLayer,
                                                  metadata: this.metadata,
                                                  minzoom: this.minzoom,
                                                  maxzoom: this.maxzoom,
                                                  filter: this.filter,
                                                  layout: this._unevaluatedLayout && this._unevaluatedLayout.serialize(),
                                                  paint: this._transitionablePaint && this._transitionablePaint.serialize(),
                                             };
                                             return (
                                                  this.visibility && ((t.layout = t.layout || {}), (t.layout.visibility = this.visibility)),
                                                  y(t, function (t, e) {
                                                       return !(void 0 === t || ("layout" === e && !Object.keys(t).length) || ("paint" === e && !Object.keys(t).length));
                                                  })
                                             );
                                        }),
                                        (e.prototype._validate = function (t, e, i, n, r) {
                                             return void 0 === r && (r = {}), (!r || !1 !== r.validate) && Ln(this, t.call(Mn, { key: e, layerType: this.type, objectKey: i, value: n, styleSpec: Tt, style: { glyphs: !0, sprite: !0 } }));
                                        }),
                                        (e.prototype.is3D = function () {
                                             return !1;
                                        }),
                                        (e.prototype.isTileClipped = function () {
                                             return !1;
                                        }),
                                        (e.prototype.hasOffscreenPass = function () {
                                             return !1;
                                        }),
                                        (e.prototype.resize = function () {}),
                                        (e.prototype.isStateDependent = function () {
                                             for (var t in this.paint._values) {
                                                  var e = this.paint.get(t);
                                                  if (e instanceof hr && Ei(e.property.specification) && ("source" === e.value.kind || "composite" === e.value.kind) && e.value.isStateDependent) return !0;
                                             }
                                             return !1;
                                        }),
                                        e
                                   );
                              })(Mt),
                              _r = { Int8: Int8Array, Uint8: Uint8Array, Int16: Int16Array, Uint16: Uint16Array, Int32: Int32Array, Uint32: Uint32Array, Float32: Float32Array },
                              xr = function (t, e) {
                                   (this._structArray = t), (this._pos1 = e * this.size), (this._pos2 = this._pos1 / 2), (this._pos4 = this._pos1 / 4), (this._pos8 = this._pos1 / 8);
                              },
                              wr = function () {
                                   (this.isTransferred = !1), (this.capacity = -1), this.resize(0);
                              };
                         function kr(t, e) {
                              void 0 === e && (e = 1);
                              var i = 0,
                                   n = 0;
                              return {
                                   members: t.map(function (t) {
                                        var r = _r[t.type].BYTES_PER_ELEMENT,
                                             o = (i = Sr(i, Math.max(e, r))),
                                             a = t.components || 1;
                                        return (n = Math.max(n, r)), (i += r * a), { name: t.name, type: t.type, components: a, offset: o };
                                   }),
                                   size: Sr(i, Math.max(n, e)),
                                   alignment: e,
                              };
                         }
                         function Sr(t, e) {
                              return Math.ceil(t / e) * e;
                         }
                         (wr.serialize = function (t, e) {
                              return t._trim(), e && ((t.isTransferred = !0), e.push(t.arrayBuffer)), { length: t.length, arrayBuffer: t.arrayBuffer };
                         }),
                              (wr.deserialize = function (t) {
                                   var e = Object.create(this.prototype);
                                   return (e.arrayBuffer = t.arrayBuffer), (e.length = t.length), (e.capacity = t.arrayBuffer.byteLength / e.bytesPerElement), e._refreshViews(), e;
                              }),
                              (wr.prototype._trim = function () {
                                   this.length !== this.capacity && ((this.capacity = this.length), (this.arrayBuffer = this.arrayBuffer.slice(0, this.length * this.bytesPerElement)), this._refreshViews());
                              }),
                              (wr.prototype.clear = function () {
                                   this.length = 0;
                              }),
                              (wr.prototype.resize = function (t) {
                                   this.reserve(t), (this.length = t);
                              }),
                              (wr.prototype.reserve = function (t) {
                                   if (t > this.capacity) {
                                        (this.capacity = Math.max(t, Math.floor(5 * this.capacity), 128)), (this.arrayBuffer = new ArrayBuffer(this.capacity * this.bytesPerElement));
                                        var e = this.uint8;
                                        this._refreshViews(), e && this.uint8.set(e);
                                   }
                              }),
                              (wr.prototype._refreshViews = function () {
                                   throw new Error("_refreshViews() must be implemented by each concrete StructArray layout");
                              });
                         var Mr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.int16 = new Int16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e) {
                                        var i = this.length;
                                        return this.resize(i + 1), this.emplace(i, t, e);
                                   }),
                                   (e.prototype.emplace = function (t, e, i) {
                                        var n = 2 * t;
                                        return (this.int16[n + 0] = e), (this.int16[n + 1] = i), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Mr.prototype.bytesPerElement = 4), Yn("StructArrayLayout2i4", Mr);
                         var Tr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.int16 = new Int16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n) {
                                        var r = this.length;
                                        return this.resize(r + 1), this.emplace(r, t, e, i, n);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r) {
                                        var o = 4 * t;
                                        return (this.int16[o + 0] = e), (this.int16[o + 1] = i), (this.int16[o + 2] = n), (this.int16[o + 3] = r), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Tr.prototype.bytesPerElement = 8), Yn("StructArrayLayout4i8", Tr);
                         var Cr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.int16 = new Int16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n, r, o) {
                                        var a = this.length;
                                        return this.resize(a + 1), this.emplace(a, t, e, i, n, r, o);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r, o, a) {
                                        var s = 6 * t;
                                        return (this.int16[s + 0] = e), (this.int16[s + 1] = i), (this.int16[s + 2] = n), (this.int16[s + 3] = r), (this.int16[s + 4] = o), (this.int16[s + 5] = a), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Cr.prototype.bytesPerElement = 12), Yn("StructArrayLayout2i4i12", Cr);
                         var Dr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.int16 = new Int16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n, r, o) {
                                        var a = this.length;
                                        return this.resize(a + 1), this.emplace(a, t, e, i, n, r, o);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r, o, a) {
                                        var s = 4 * t,
                                             l = 8 * t;
                                        return (this.int16[s + 0] = e), (this.int16[s + 1] = i), (this.uint8[l + 4] = n), (this.uint8[l + 5] = r), (this.uint8[l + 6] = o), (this.uint8[l + 7] = a), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Dr.prototype.bytesPerElement = 8), Yn("StructArrayLayout2i4ub8", Dr);
                         var Lr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.uint16 = new Uint16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n, r, o, a, s, l, c) {
                                        var u = this.length;
                                        return this.resize(u + 1), this.emplace(u, t, e, i, n, r, o, a, s, l, c);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r, o, a, s, l, c, u) {
                                        var h = 9 * t,
                                             d = 18 * t;
                                        return (
                                             (this.uint16[h + 0] = e),
                                             (this.uint16[h + 1] = i),
                                             (this.uint16[h + 2] = n),
                                             (this.uint16[h + 3] = r),
                                             (this.uint16[h + 4] = o),
                                             (this.uint16[h + 5] = a),
                                             (this.uint16[h + 6] = s),
                                             (this.uint16[h + 7] = l),
                                             (this.uint8[d + 16] = c),
                                             (this.uint8[d + 17] = u),
                                             t
                                        );
                                   }),
                                   e
                              );
                         })(wr);
                         (Lr.prototype.bytesPerElement = 18), Yn("StructArrayLayout8ui2ub18", Lr);
                         var Er = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.int16 = new Int16Array(this.arrayBuffer)), (this.uint16 = new Uint16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n, r, o, a, s, l, c, u, h) {
                                        var d = this.length;
                                        return this.resize(d + 1), this.emplace(d, t, e, i, n, r, o, a, s, l, c, u, h);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r, o, a, s, l, c, u, h, d) {
                                        var p = 12 * t;
                                        return (
                                             (this.int16[p + 0] = e),
                                             (this.int16[p + 1] = i),
                                             (this.int16[p + 2] = n),
                                             (this.int16[p + 3] = r),
                                             (this.uint16[p + 4] = o),
                                             (this.uint16[p + 5] = a),
                                             (this.uint16[p + 6] = s),
                                             (this.uint16[p + 7] = l),
                                             (this.int16[p + 8] = c),
                                             (this.int16[p + 9] = u),
                                             (this.int16[p + 10] = h),
                                             (this.int16[p + 11] = d),
                                             t
                                        );
                                   }),
                                   e
                              );
                         })(wr);
                         (Er.prototype.bytesPerElement = 24), Yn("StructArrayLayout4i4ui4i24", Er);
                         var Ar = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.float32 = new Float32Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i) {
                                        var n = this.length;
                                        return this.resize(n + 1), this.emplace(n, t, e, i);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n) {
                                        var r = 3 * t;
                                        return (this.float32[r + 0] = e), (this.float32[r + 1] = i), (this.float32[r + 2] = n), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Ar.prototype.bytesPerElement = 12), Yn("StructArrayLayout3f12", Ar);
                         var Pr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.uint32 = new Uint32Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t) {
                                        var e = this.length;
                                        return this.resize(e + 1), this.emplace(e, t);
                                   }),
                                   (e.prototype.emplace = function (t, e) {
                                        return (this.uint32[1 * t + 0] = e), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Pr.prototype.bytesPerElement = 4), Yn("StructArrayLayout1ul4", Pr);
                         var Ir = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.int16 = new Int16Array(this.arrayBuffer)), (this.uint32 = new Uint32Array(this.arrayBuffer)), (this.uint16 = new Uint16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n, r, o, a, s, l) {
                                        var c = this.length;
                                        return this.resize(c + 1), this.emplace(c, t, e, i, n, r, o, a, s, l);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r, o, a, s, l, c) {
                                        var u = 10 * t,
                                             h = 5 * t;
                                        return (
                                             (this.int16[u + 0] = e),
                                             (this.int16[u + 1] = i),
                                             (this.int16[u + 2] = n),
                                             (this.int16[u + 3] = r),
                                             (this.int16[u + 4] = o),
                                             (this.int16[u + 5] = a),
                                             (this.uint32[h + 3] = s),
                                             (this.uint16[u + 8] = l),
                                             (this.uint16[u + 9] = c),
                                             t
                                        );
                                   }),
                                   e
                              );
                         })(wr);
                         (Ir.prototype.bytesPerElement = 20), Yn("StructArrayLayout6i1ul2ui20", Ir);
                         var Or = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.int16 = new Int16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n, r, o) {
                                        var a = this.length;
                                        return this.resize(a + 1), this.emplace(a, t, e, i, n, r, o);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r, o, a) {
                                        var s = 6 * t;
                                        return (this.int16[s + 0] = e), (this.int16[s + 1] = i), (this.int16[s + 2] = n), (this.int16[s + 3] = r), (this.int16[s + 4] = o), (this.int16[s + 5] = a), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Or.prototype.bytesPerElement = 12), Yn("StructArrayLayout2i2i2i12", Or);
                         var Yr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.float32 = new Float32Array(this.arrayBuffer)), (this.int16 = new Int16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n, r) {
                                        var o = this.length;
                                        return this.resize(o + 1), this.emplace(o, t, e, i, n, r);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r, o) {
                                        var a = 4 * t,
                                             s = 8 * t;
                                        return (this.float32[a + 0] = e), (this.float32[a + 1] = i), (this.float32[a + 2] = n), (this.int16[s + 6] = r), (this.int16[s + 7] = o), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Yr.prototype.bytesPerElement = 16), Yn("StructArrayLayout2f1f2i16", Yr);
                         var zr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.float32 = new Float32Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n) {
                                        var r = this.length;
                                        return this.resize(r + 1), this.emplace(r, t, e, i, n);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r) {
                                        var o = 12 * t,
                                             a = 3 * t;
                                        return (this.uint8[o + 0] = e), (this.uint8[o + 1] = i), (this.float32[a + 1] = n), (this.float32[a + 2] = r), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (zr.prototype.bytesPerElement = 12), Yn("StructArrayLayout2ub2f12", zr);
                         var Rr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.uint16 = new Uint16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i) {
                                        var n = this.length;
                                        return this.resize(n + 1), this.emplace(n, t, e, i);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n) {
                                        var r = 3 * t;
                                        return (this.uint16[r + 0] = e), (this.uint16[r + 1] = i), (this.uint16[r + 2] = n), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Rr.prototype.bytesPerElement = 6), Yn("StructArrayLayout3ui6", Rr);
                         var Fr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)),
                                             (this.int16 = new Int16Array(this.arrayBuffer)),
                                             (this.uint16 = new Uint16Array(this.arrayBuffer)),
                                             (this.uint32 = new Uint32Array(this.arrayBuffer)),
                                             (this.float32 = new Float32Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n, r, o, a, s, l, c, u, h, d, p, f, m, g) {
                                        var v = this.length;
                                        return this.resize(v + 1), this.emplace(v, t, e, i, n, r, o, a, s, l, c, u, h, d, p, f, m, g);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r, o, a, s, l, c, u, h, d, p, f, m, g, v) {
                                        var y = 24 * t,
                                             b = 12 * t,
                                             _ = 48 * t;
                                        return (
                                             (this.int16[y + 0] = e),
                                             (this.int16[y + 1] = i),
                                             (this.uint16[y + 2] = n),
                                             (this.uint16[y + 3] = r),
                                             (this.uint32[b + 2] = o),
                                             (this.uint32[b + 3] = a),
                                             (this.uint32[b + 4] = s),
                                             (this.uint16[y + 10] = l),
                                             (this.uint16[y + 11] = c),
                                             (this.uint16[y + 12] = u),
                                             (this.float32[b + 7] = h),
                                             (this.float32[b + 8] = d),
                                             (this.uint8[_ + 36] = p),
                                             (this.uint8[_ + 37] = f),
                                             (this.uint8[_ + 38] = m),
                                             (this.uint32[b + 10] = g),
                                             (this.int16[y + 22] = v),
                                             t
                                        );
                                   }),
                                   e
                              );
                         })(wr);
                         (Fr.prototype.bytesPerElement = 48), Yn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48", Fr);
                         var Hr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)),
                                             (this.int16 = new Int16Array(this.arrayBuffer)),
                                             (this.uint16 = new Uint16Array(this.arrayBuffer)),
                                             (this.uint32 = new Uint32Array(this.arrayBuffer)),
                                             (this.float32 = new Float32Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n, r, o, a, s, l, c, u, h, d, p, f, m, g, v, y, b, _, x, w, k, S, M, T, C) {
                                        var D = this.length;
                                        return this.resize(D + 1), this.emplace(D, t, e, i, n, r, o, a, s, l, c, u, h, d, p, f, m, g, v, y, b, _, x, w, k, S, M, T, C);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r, o, a, s, l, c, u, h, d, p, f, m, g, v, y, b, _, x, w, k, S, M, T, C, D) {
                                        var L = 34 * t,
                                             E = 17 * t;
                                        return (
                                             (this.int16[L + 0] = e),
                                             (this.int16[L + 1] = i),
                                             (this.int16[L + 2] = n),
                                             (this.int16[L + 3] = r),
                                             (this.int16[L + 4] = o),
                                             (this.int16[L + 5] = a),
                                             (this.int16[L + 6] = s),
                                             (this.int16[L + 7] = l),
                                             (this.uint16[L + 8] = c),
                                             (this.uint16[L + 9] = u),
                                             (this.uint16[L + 10] = h),
                                             (this.uint16[L + 11] = d),
                                             (this.uint16[L + 12] = p),
                                             (this.uint16[L + 13] = f),
                                             (this.uint16[L + 14] = m),
                                             (this.uint16[L + 15] = g),
                                             (this.uint16[L + 16] = v),
                                             (this.uint16[L + 17] = y),
                                             (this.uint16[L + 18] = b),
                                             (this.uint16[L + 19] = _),
                                             (this.uint16[L + 20] = x),
                                             (this.uint16[L + 21] = w),
                                             (this.uint16[L + 22] = k),
                                             (this.uint32[E + 12] = S),
                                             (this.float32[E + 13] = M),
                                             (this.float32[E + 14] = T),
                                             (this.float32[E + 15] = C),
                                             (this.float32[E + 16] = D),
                                             t
                                        );
                                   }),
                                   e
                              );
                         })(wr);
                         (Hr.prototype.bytesPerElement = 68), Yn("StructArrayLayout8i15ui1ul4f68", Hr);
                         var jr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.float32 = new Float32Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t) {
                                        var e = this.length;
                                        return this.resize(e + 1), this.emplace(e, t);
                                   }),
                                   (e.prototype.emplace = function (t, e) {
                                        return (this.float32[1 * t + 0] = e), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (jr.prototype.bytesPerElement = 4), Yn("StructArrayLayout1f4", jr);
                         var Nr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.int16 = new Int16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i) {
                                        var n = this.length;
                                        return this.resize(n + 1), this.emplace(n, t, e, i);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n) {
                                        var r = 3 * t;
                                        return (this.int16[r + 0] = e), (this.int16[r + 1] = i), (this.int16[r + 2] = n), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Nr.prototype.bytesPerElement = 6), Yn("StructArrayLayout3i6", Nr);
                         var Br = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.uint32 = new Uint32Array(this.arrayBuffer)), (this.uint16 = new Uint16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i) {
                                        var n = this.length;
                                        return this.resize(n + 1), this.emplace(n, t, e, i);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n) {
                                        var r = 4 * t;
                                        return (this.uint32[2 * t + 0] = e), (this.uint16[r + 2] = i), (this.uint16[r + 3] = n), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Br.prototype.bytesPerElement = 8), Yn("StructArrayLayout1ul2ui8", Br);
                         var Wr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.uint16 = new Uint16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e) {
                                        var i = this.length;
                                        return this.resize(i + 1), this.emplace(i, t, e);
                                   }),
                                   (e.prototype.emplace = function (t, e, i) {
                                        var n = 2 * t;
                                        return (this.uint16[n + 0] = e), (this.uint16[n + 1] = i), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Wr.prototype.bytesPerElement = 4), Yn("StructArrayLayout2ui4", Wr);
                         var Vr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.uint16 = new Uint16Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t) {
                                        var e = this.length;
                                        return this.resize(e + 1), this.emplace(e, t);
                                   }),
                                   (e.prototype.emplace = function (t, e) {
                                        return (this.uint16[1 * t + 0] = e), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Vr.prototype.bytesPerElement = 2), Yn("StructArrayLayout1ui2", Vr);
                         var Ur = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.float32 = new Float32Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e) {
                                        var i = this.length;
                                        return this.resize(i + 1), this.emplace(i, t, e);
                                   }),
                                   (e.prototype.emplace = function (t, e, i) {
                                        var n = 2 * t;
                                        return (this.float32[n + 0] = e), (this.float32[n + 1] = i), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (Ur.prototype.bytesPerElement = 8), Yn("StructArrayLayout2f8", Ur);
                         var qr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._refreshViews = function () {
                                        (this.uint8 = new Uint8Array(this.arrayBuffer)), (this.float32 = new Float32Array(this.arrayBuffer));
                                   }),
                                   (e.prototype.emplaceBack = function (t, e, i, n) {
                                        var r = this.length;
                                        return this.resize(r + 1), this.emplace(r, t, e, i, n);
                                   }),
                                   (e.prototype.emplace = function (t, e, i, n, r) {
                                        var o = 4 * t;
                                        return (this.float32[o + 0] = e), (this.float32[o + 1] = i), (this.float32[o + 2] = n), (this.float32[o + 3] = r), t;
                                   }),
                                   e
                              );
                         })(wr);
                         (qr.prototype.bytesPerElement = 16), Yn("StructArrayLayout4f16", qr);
                         var $r = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e);
                              var i = {
                                   anchorPointX: { configurable: !0 },
                                   anchorPointY: { configurable: !0 },
                                   x1: { configurable: !0 },
                                   y1: { configurable: !0 },
                                   x2: { configurable: !0 },
                                   y2: { configurable: !0 },
                                   featureIndex: { configurable: !0 },
                                   sourceLayerIndex: { configurable: !0 },
                                   bucketIndex: { configurable: !0 },
                                   anchorPoint: { configurable: !0 },
                              };
                              return (
                                   (i.anchorPointX.get = function () {
                                        return this._structArray.int16[this._pos2 + 0];
                                   }),
                                   (i.anchorPointY.get = function () {
                                        return this._structArray.int16[this._pos2 + 1];
                                   }),
                                   (i.x1.get = function () {
                                        return this._structArray.int16[this._pos2 + 2];
                                   }),
                                   (i.y1.get = function () {
                                        return this._structArray.int16[this._pos2 + 3];
                                   }),
                                   (i.x2.get = function () {
                                        return this._structArray.int16[this._pos2 + 4];
                                   }),
                                   (i.y2.get = function () {
                                        return this._structArray.int16[this._pos2 + 5];
                                   }),
                                   (i.featureIndex.get = function () {
                                        return this._structArray.uint32[this._pos4 + 3];
                                   }),
                                   (i.sourceLayerIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 8];
                                   }),
                                   (i.bucketIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 9];
                                   }),
                                   (i.anchorPoint.get = function () {
                                        return new r(this.anchorPointX, this.anchorPointY);
                                   }),
                                   Object.defineProperties(e.prototype, i),
                                   e
                              );
                         })(xr);
                         $r.prototype.size = 20;
                         var Xr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype.get = function (t) {
                                        return new $r(this, t);
                                   }),
                                   e
                              );
                         })(Ir);
                         Yn("CollisionBoxArray", Xr);
                         var Gr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e);
                              var i = {
                                   anchorX: { configurable: !0 },
                                   anchorY: { configurable: !0 },
                                   glyphStartIndex: { configurable: !0 },
                                   numGlyphs: { configurable: !0 },
                                   vertexStartIndex: { configurable: !0 },
                                   lineStartIndex: { configurable: !0 },
                                   lineLength: { configurable: !0 },
                                   segment: { configurable: !0 },
                                   lowerSize: { configurable: !0 },
                                   upperSize: { configurable: !0 },
                                   lineOffsetX: { configurable: !0 },
                                   lineOffsetY: { configurable: !0 },
                                   writingMode: { configurable: !0 },
                                   placedOrientation: { configurable: !0 },
                                   hidden: { configurable: !0 },
                                   crossTileID: { configurable: !0 },
                                   associatedIconIndex: { configurable: !0 },
                              };
                              return (
                                   (i.anchorX.get = function () {
                                        return this._structArray.int16[this._pos2 + 0];
                                   }),
                                   (i.anchorY.get = function () {
                                        return this._structArray.int16[this._pos2 + 1];
                                   }),
                                   (i.glyphStartIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 2];
                                   }),
                                   (i.numGlyphs.get = function () {
                                        return this._structArray.uint16[this._pos2 + 3];
                                   }),
                                   (i.vertexStartIndex.get = function () {
                                        return this._structArray.uint32[this._pos4 + 2];
                                   }),
                                   (i.lineStartIndex.get = function () {
                                        return this._structArray.uint32[this._pos4 + 3];
                                   }),
                                   (i.lineLength.get = function () {
                                        return this._structArray.uint32[this._pos4 + 4];
                                   }),
                                   (i.segment.get = function () {
                                        return this._structArray.uint16[this._pos2 + 10];
                                   }),
                                   (i.lowerSize.get = function () {
                                        return this._structArray.uint16[this._pos2 + 11];
                                   }),
                                   (i.upperSize.get = function () {
                                        return this._structArray.uint16[this._pos2 + 12];
                                   }),
                                   (i.lineOffsetX.get = function () {
                                        return this._structArray.float32[this._pos4 + 7];
                                   }),
                                   (i.lineOffsetY.get = function () {
                                        return this._structArray.float32[this._pos4 + 8];
                                   }),
                                   (i.writingMode.get = function () {
                                        return this._structArray.uint8[this._pos1 + 36];
                                   }),
                                   (i.placedOrientation.get = function () {
                                        return this._structArray.uint8[this._pos1 + 37];
                                   }),
                                   (i.placedOrientation.set = function (t) {
                                        this._structArray.uint8[this._pos1 + 37] = t;
                                   }),
                                   (i.hidden.get = function () {
                                        return this._structArray.uint8[this._pos1 + 38];
                                   }),
                                   (i.hidden.set = function (t) {
                                        this._structArray.uint8[this._pos1 + 38] = t;
                                   }),
                                   (i.crossTileID.get = function () {
                                        return this._structArray.uint32[this._pos4 + 10];
                                   }),
                                   (i.crossTileID.set = function (t) {
                                        this._structArray.uint32[this._pos4 + 10] = t;
                                   }),
                                   (i.associatedIconIndex.get = function () {
                                        return this._structArray.int16[this._pos2 + 22];
                                   }),
                                   Object.defineProperties(e.prototype, i),
                                   e
                              );
                         })(xr);
                         Gr.prototype.size = 48;
                         var Zr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype.get = function (t) {
                                        return new Gr(this, t);
                                   }),
                                   e
                              );
                         })(Fr);
                         Yn("PlacedSymbolArray", Zr);
                         var Jr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e);
                              var i = {
                                   anchorX: { configurable: !0 },
                                   anchorY: { configurable: !0 },
                                   rightJustifiedTextSymbolIndex: { configurable: !0 },
                                   centerJustifiedTextSymbolIndex: { configurable: !0 },
                                   leftJustifiedTextSymbolIndex: { configurable: !0 },
                                   verticalPlacedTextSymbolIndex: { configurable: !0 },
                                   placedIconSymbolIndex: { configurable: !0 },
                                   verticalPlacedIconSymbolIndex: { configurable: !0 },
                                   key: { configurable: !0 },
                                   textBoxStartIndex: { configurable: !0 },
                                   textBoxEndIndex: { configurable: !0 },
                                   verticalTextBoxStartIndex: { configurable: !0 },
                                   verticalTextBoxEndIndex: { configurable: !0 },
                                   iconBoxStartIndex: { configurable: !0 },
                                   iconBoxEndIndex: { configurable: !0 },
                                   verticalIconBoxStartIndex: { configurable: !0 },
                                   verticalIconBoxEndIndex: { configurable: !0 },
                                   featureIndex: { configurable: !0 },
                                   numHorizontalGlyphVertices: { configurable: !0 },
                                   numVerticalGlyphVertices: { configurable: !0 },
                                   numIconVertices: { configurable: !0 },
                                   numVerticalIconVertices: { configurable: !0 },
                                   useRuntimeCollisionCircles: { configurable: !0 },
                                   crossTileID: { configurable: !0 },
                                   textBoxScale: { configurable: !0 },
                                   textOffset0: { configurable: !0 },
                                   textOffset1: { configurable: !0 },
                                   collisionCircleDiameter: { configurable: !0 },
                              };
                              return (
                                   (i.anchorX.get = function () {
                                        return this._structArray.int16[this._pos2 + 0];
                                   }),
                                   (i.anchorY.get = function () {
                                        return this._structArray.int16[this._pos2 + 1];
                                   }),
                                   (i.rightJustifiedTextSymbolIndex.get = function () {
                                        return this._structArray.int16[this._pos2 + 2];
                                   }),
                                   (i.centerJustifiedTextSymbolIndex.get = function () {
                                        return this._structArray.int16[this._pos2 + 3];
                                   }),
                                   (i.leftJustifiedTextSymbolIndex.get = function () {
                                        return this._structArray.int16[this._pos2 + 4];
                                   }),
                                   (i.verticalPlacedTextSymbolIndex.get = function () {
                                        return this._structArray.int16[this._pos2 + 5];
                                   }),
                                   (i.placedIconSymbolIndex.get = function () {
                                        return this._structArray.int16[this._pos2 + 6];
                                   }),
                                   (i.verticalPlacedIconSymbolIndex.get = function () {
                                        return this._structArray.int16[this._pos2 + 7];
                                   }),
                                   (i.key.get = function () {
                                        return this._structArray.uint16[this._pos2 + 8];
                                   }),
                                   (i.textBoxStartIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 9];
                                   }),
                                   (i.textBoxEndIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 10];
                                   }),
                                   (i.verticalTextBoxStartIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 11];
                                   }),
                                   (i.verticalTextBoxEndIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 12];
                                   }),
                                   (i.iconBoxStartIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 13];
                                   }),
                                   (i.iconBoxEndIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 14];
                                   }),
                                   (i.verticalIconBoxStartIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 15];
                                   }),
                                   (i.verticalIconBoxEndIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 16];
                                   }),
                                   (i.featureIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 17];
                                   }),
                                   (i.numHorizontalGlyphVertices.get = function () {
                                        return this._structArray.uint16[this._pos2 + 18];
                                   }),
                                   (i.numVerticalGlyphVertices.get = function () {
                                        return this._structArray.uint16[this._pos2 + 19];
                                   }),
                                   (i.numIconVertices.get = function () {
                                        return this._structArray.uint16[this._pos2 + 20];
                                   }),
                                   (i.numVerticalIconVertices.get = function () {
                                        return this._structArray.uint16[this._pos2 + 21];
                                   }),
                                   (i.useRuntimeCollisionCircles.get = function () {
                                        return this._structArray.uint16[this._pos2 + 22];
                                   }),
                                   (i.crossTileID.get = function () {
                                        return this._structArray.uint32[this._pos4 + 12];
                                   }),
                                   (i.crossTileID.set = function (t) {
                                        this._structArray.uint32[this._pos4 + 12] = t;
                                   }),
                                   (i.textBoxScale.get = function () {
                                        return this._structArray.float32[this._pos4 + 13];
                                   }),
                                   (i.textOffset0.get = function () {
                                        return this._structArray.float32[this._pos4 + 14];
                                   }),
                                   (i.textOffset1.get = function () {
                                        return this._structArray.float32[this._pos4 + 15];
                                   }),
                                   (i.collisionCircleDiameter.get = function () {
                                        return this._structArray.float32[this._pos4 + 16];
                                   }),
                                   Object.defineProperties(e.prototype, i),
                                   e
                              );
                         })(xr);
                         Jr.prototype.size = 68;
                         var Kr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype.get = function (t) {
                                        return new Jr(this, t);
                                   }),
                                   e
                              );
                         })(Hr);
                         Yn("SymbolInstanceArray", Kr);
                         var Qr = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype.getoffsetX = function (t) {
                                        return this.float32[1 * t + 0];
                                   }),
                                   e
                              );
                         })(jr);
                         Yn("GlyphOffsetArray", Qr);
                         var to = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype.getx = function (t) {
                                        return this.int16[3 * t + 0];
                                   }),
                                   (e.prototype.gety = function (t) {
                                        return this.int16[3 * t + 1];
                                   }),
                                   (e.prototype.gettileUnitDistanceFromAnchor = function (t) {
                                        return this.int16[3 * t + 2];
                                   }),
                                   e
                              );
                         })(Nr);
                         Yn("SymbolLineVertexArray", to);
                         var eo = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e);
                              var i = { featureIndex: { configurable: !0 }, sourceLayerIndex: { configurable: !0 }, bucketIndex: { configurable: !0 } };
                              return (
                                   (i.featureIndex.get = function () {
                                        return this._structArray.uint32[this._pos4 + 0];
                                   }),
                                   (i.sourceLayerIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 2];
                                   }),
                                   (i.bucketIndex.get = function () {
                                        return this._structArray.uint16[this._pos2 + 3];
                                   }),
                                   Object.defineProperties(e.prototype, i),
                                   e
                              );
                         })(xr);
                         eo.prototype.size = 8;
                         var io = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype.get = function (t) {
                                        return new eo(this, t);
                                   }),
                                   e
                              );
                         })(Br);
                         Yn("FeatureIndexArray", io);
                         var no = kr([{ name: "a_pos", components: 2, type: "Int16" }], 4).members,
                              ro = function (t) {
                                   void 0 === t && (t = []), (this.segments = t);
                              };
                         function oo(t, e) {
                              return 256 * (t = l(Math.floor(t), 0, 255)) + l(Math.floor(e), 0, 255);
                         }
                         (ro.prototype.prepareSegment = function (t, e, i, n) {
                              var r = this.segments[this.segments.length - 1];
                              return (
                                   t > ro.MAX_VERTEX_ARRAY_LENGTH && x("Max vertices per segment is " + ro.MAX_VERTEX_ARRAY_LENGTH + ": bucket requested " + t),
                                   (!r || r.vertexLength + t > ro.MAX_VERTEX_ARRAY_LENGTH || r.sortKey !== n) &&
                                        ((r = { vertexOffset: e.length, primitiveOffset: i.length, vertexLength: 0, primitiveLength: 0 }), void 0 !== n && (r.sortKey = n), this.segments.push(r)),
                                   r
                              );
                         }),
                              (ro.prototype.get = function () {
                                   return this.segments;
                              }),
                              (ro.prototype.destroy = function () {
                                   for (var t = 0, e = this.segments; t < e.length; t += 1) {
                                        var i = e[t];
                                        for (var n in i.vaos) i.vaos[n].destroy();
                                   }
                              }),
                              (ro.simpleSegment = function (t, e, i, n) {
                                   return new ro([{ vertexOffset: t, primitiveOffset: e, vertexLength: i, primitiveLength: n, vaos: {}, sortKey: 0 }]);
                              }),
                              (ro.MAX_VERTEX_ARRAY_LENGTH = Math.pow(2, 16) - 1),
                              Yn("SegmentVector", ro);
                         var ao = kr([
                                   { name: "a_pattern_from", components: 4, type: "Uint16" },
                                   { name: "a_pattern_to", components: 4, type: "Uint16" },
                                   { name: "a_pixel_ratio_from", components: 1, type: "Uint8" },
                                   { name: "a_pixel_ratio_to", components: 1, type: "Uint8" },
                              ]),
                              so = e(function (t) {
                                   t.exports = function (t, e) {
                                        var i, n, r, o, a, s, l, c;
                                        for (n = t.length - (i = 3 & t.length), r = e, a = 3432918353, s = 461845907, c = 0; c < n; )
                                             (l = (255 & t.charCodeAt(c)) | ((255 & t.charCodeAt(++c)) << 8) | ((255 & t.charCodeAt(++c)) << 16) | ((255 & t.charCodeAt(++c)) << 24)),
                                                  ++c,
                                                  (r =
                                                       27492 +
                                                       (65535 &
                                                            (o =
                                                                 (5 *
                                                                      (65535 &
                                                                           (r =
                                                                                ((r ^= l =
                                                                                     ((65535 & (l = ((l = ((65535 & l) * a + ((((l >>> 16) * a) & 65535) << 16)) & 4294967295) << 15) | (l >>> 17))) * s + ((((l >>> 16) * s) & 65535) << 16)) &
                                                                                     4294967295) <<
                                                                                     13) |
                                                                                (r >>> 19))) +
                                                                      (((5 * (r >>> 16)) & 65535) << 16)) &
                                                                 4294967295)) +
                                                       (((58964 + (o >>> 16)) & 65535) << 16));
                                        switch (((l = 0), i)) {
                                             case 3:
                                                  l ^= (255 & t.charCodeAt(c + 2)) << 16;
                                             case 2:
                                                  l ^= (255 & t.charCodeAt(c + 1)) << 8;
                                             case 1:
                                                  r ^= l =
                                                       ((65535 & (l = ((l = ((65535 & (l ^= 255 & t.charCodeAt(c))) * a + ((((l >>> 16) * a) & 65535) << 16)) & 4294967295) << 15) | (l >>> 17))) * s + ((((l >>> 16) * s) & 65535) << 16)) &
                                                       4294967295;
                                        }
                                        return (
                                             (r ^= t.length),
                                             (r = (2246822507 * (65535 & (r ^= r >>> 16)) + (((2246822507 * (r >>> 16)) & 65535) << 16)) & 4294967295),
                                             (r = (3266489909 * (65535 & (r ^= r >>> 13)) + (((3266489909 * (r >>> 16)) & 65535) << 16)) & 4294967295),
                                             (r ^= r >>> 16) >>> 0
                                        );
                                   };
                              }),
                              lo = e(function (t) {
                                   t.exports = function (t, e) {
                                        for (var i, n = t.length, r = e ^ n, o = 0; n >= 4; )
                                             (i =
                                                  1540483477 * (65535 & (i = (255 & t.charCodeAt(o)) | ((255 & t.charCodeAt(++o)) << 8) | ((255 & t.charCodeAt(++o)) << 16) | ((255 & t.charCodeAt(++o)) << 24))) +
                                                  (((1540483477 * (i >>> 16)) & 65535) << 16)),
                                                  (r = (1540483477 * (65535 & r) + (((1540483477 * (r >>> 16)) & 65535) << 16)) ^ (i = 1540483477 * (65535 & (i ^= i >>> 24)) + (((1540483477 * (i >>> 16)) & 65535) << 16))),
                                                  (n -= 4),
                                                  ++o;
                                        switch (n) {
                                             case 3:
                                                  r ^= (255 & t.charCodeAt(o + 2)) << 16;
                                             case 2:
                                                  r ^= (255 & t.charCodeAt(o + 1)) << 8;
                                             case 1:
                                                  r = 1540483477 * (65535 & (r ^= 255 & t.charCodeAt(o))) + (((1540483477 * (r >>> 16)) & 65535) << 16);
                                        }
                                        return (r = 1540483477 * (65535 & (r ^= r >>> 13)) + (((1540483477 * (r >>> 16)) & 65535) << 16)), (r ^= r >>> 15) >>> 0;
                                   };
                              }),
                              co = so,
                              uo = lo;
                         (co.murmur3 = so), (co.murmur2 = uo);
                         var ho = function () {
                              (this.ids = []), (this.positions = []), (this.indexed = !1);
                         };
                         (ho.prototype.add = function (t, e, i, n) {
                              this.ids.push(fo(t)), this.positions.push(e, i, n);
                         }),
                              (ho.prototype.getPositions = function (t) {
                                   for (var e = fo(t), i = 0, n = this.ids.length - 1; i < n; ) {
                                        var r = (i + n) >> 1;
                                        this.ids[r] >= e ? (n = r) : (i = r + 1);
                                   }
                                   for (var o = []; this.ids[i] === e; ) o.push({ index: this.positions[3 * i], start: this.positions[3 * i + 1], end: this.positions[3 * i + 2] }), i++;
                                   return o;
                              }),
                              (ho.serialize = function (t, e) {
                                   var i = new Float64Array(t.ids),
                                        n = new Uint32Array(t.positions);
                                   return (
                                        (function t(e, i, n, r) {
                                             for (; n < r; ) {
                                                  for (var o = e[(n + r) >> 1], a = n - 1, s = r + 1; ; ) {
                                                       do {
                                                            a++;
                                                       } while (e[a] < o);
                                                       do {
                                                            s--;
                                                       } while (e[s] > o);
                                                       if (a >= s) break;
                                                       mo(e, a, s), mo(i, 3 * a, 3 * s), mo(i, 3 * a + 1, 3 * s + 1), mo(i, 3 * a + 2, 3 * s + 2);
                                                  }
                                                  s - n < r - s ? (t(e, i, n, s), (n = s + 1)) : (t(e, i, s + 1, r), (r = s));
                                             }
                                        })(i, n, 0, i.length - 1),
                                        e && e.push(i.buffer, n.buffer),
                                        { ids: i, positions: n }
                                   );
                              }),
                              (ho.deserialize = function (t) {
                                   var e = new ho();
                                   return (e.ids = t.ids), (e.positions = t.positions), (e.indexed = !0), e;
                              });
                         var po = Math.pow(2, 53) - 1;
                         function fo(t) {
                              var e = +t;
                              return !isNaN(e) && e <= po ? e : co(String(t));
                         }
                         function mo(t, e, i) {
                              var n = t[e];
                              (t[e] = t[i]), (t[i] = n);
                         }
                         Yn("FeaturePositionMap", ho);
                         var go = function (t, e) {
                                   (this.gl = t.gl), (this.location = e);
                              },
                              vo = (function (t) {
                                   function e(e, i) {
                                        t.call(this, e, i), (this.current = 0);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.set = function (t) {
                                             this.current !== t && ((this.current = t), this.gl.uniform1i(this.location, t));
                                        }),
                                        e
                                   );
                              })(go),
                              yo = (function (t) {
                                   function e(e, i) {
                                        t.call(this, e, i), (this.current = 0);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.set = function (t) {
                                             this.current !== t && ((this.current = t), this.gl.uniform1f(this.location, t));
                                        }),
                                        e
                                   );
                              })(go),
                              bo = (function (t) {
                                   function e(e, i) {
                                        t.call(this, e, i), (this.current = [0, 0]);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.set = function (t) {
                                             (t[0] === this.current[0] && t[1] === this.current[1]) || ((this.current = t), this.gl.uniform2f(this.location, t[0], t[1]));
                                        }),
                                        e
                                   );
                              })(go),
                              _o = (function (t) {
                                   function e(e, i) {
                                        t.call(this, e, i), (this.current = [0, 0, 0]);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.set = function (t) {
                                             (t[0] === this.current[0] && t[1] === this.current[1] && t[2] === this.current[2]) || ((this.current = t), this.gl.uniform3f(this.location, t[0], t[1], t[2]));
                                        }),
                                        e
                                   );
                              })(go),
                              xo = (function (t) {
                                   function e(e, i) {
                                        t.call(this, e, i), (this.current = [0, 0, 0, 0]);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.set = function (t) {
                                             (t[0] === this.current[0] && t[1] === this.current[1] && t[2] === this.current[2] && t[3] === this.current[3]) || ((this.current = t), this.gl.uniform4f(this.location, t[0], t[1], t[2], t[3]));
                                        }),
                                        e
                                   );
                              })(go),
                              wo = (function (t) {
                                   function e(e, i) {
                                        t.call(this, e, i), (this.current = Jt.transparent);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.set = function (t) {
                                             (t.r === this.current.r && t.g === this.current.g && t.b === this.current.b && t.a === this.current.a) || ((this.current = t), this.gl.uniform4f(this.location, t.r, t.g, t.b, t.a));
                                        }),
                                        e
                                   );
                              })(go),
                              ko = new Float32Array(16),
                              So = (function (t) {
                                   function e(e, i) {
                                        t.call(this, e, i), (this.current = ko);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.set = function (t) {
                                             if (t[12] !== this.current[12] || t[0] !== this.current[0]) return (this.current = t), void this.gl.uniformMatrix4fv(this.location, !1, t);
                                             for (var e = 1; e < 16; e++)
                                                  if (t[e] !== this.current[e]) {
                                                       (this.current = t), this.gl.uniformMatrix4fv(this.location, !1, t);
                                                       break;
                                                  }
                                        }),
                                        e
                                   );
                              })(go);
                         function Mo(t) {
                              return [oo(255 * t.r, 255 * t.g), oo(255 * t.b, 255 * t.a)];
                         }
                         var To = function (t, e, i) {
                              (this.value = t),
                                   (this.uniformNames = e.map(function (t) {
                                        return "u_" + t;
                                   })),
                                   (this.type = i);
                         };
                         (To.prototype.setUniform = function (t, e, i) {
                              t.set(i.constantOr(this.value));
                         }),
                              (To.prototype.getBinding = function (t, e, i) {
                                   return "color" === this.type ? new wo(t, e) : new yo(t, e);
                              });
                         var Co = function (t, e) {
                              (this.uniformNames = e.map(function (t) {
                                   return "u_" + t;
                              })),
                                   (this.patternFrom = null),
                                   (this.patternTo = null),
                                   (this.pixelRatioFrom = 1),
                                   (this.pixelRatioTo = 1);
                         };
                         (Co.prototype.setConstantPatternPositions = function (t, e) {
                              (this.pixelRatioFrom = e.pixelRatio), (this.pixelRatioTo = t.pixelRatio), (this.patternFrom = e.tlbr), (this.patternTo = t.tlbr);
                         }),
                              (Co.prototype.setUniform = function (t, e, i, n) {
                                   var r = "u_pattern_to" === n ? this.patternTo : "u_pattern_from" === n ? this.patternFrom : "u_pixel_ratio_to" === n ? this.pixelRatioTo : "u_pixel_ratio_from" === n ? this.pixelRatioFrom : null;
                                   r && t.set(r);
                              }),
                              (Co.prototype.getBinding = function (t, e, i) {
                                   return "u_pattern" === i.substr(0, 9) ? new xo(t, e) : new yo(t, e);
                              });
                         var Do = function (t, e, i, n) {
                              (this.expression = t),
                                   (this.type = i),
                                   (this.maxValue = 0),
                                   (this.paintVertexAttributes = e.map(function (t) {
                                        return { name: "a_" + t, type: "Float32", components: "color" === i ? 2 : 1, offset: 0 };
                                   })),
                                   (this.paintVertexArray = new n());
                         };
                         (Do.prototype.populatePaintArray = function (t, e, i, n, r) {
                              var o = this.paintVertexArray.length,
                                   a = this.expression.evaluate(new rr(0), e, {}, n, [], r);
                              this.paintVertexArray.resize(t), this._setPaintValue(o, t, a);
                         }),
                              (Do.prototype.updatePaintArray = function (t, e, i, n) {
                                   var r = this.expression.evaluate({ zoom: 0 }, i, n);
                                   this._setPaintValue(t, e, r);
                              }),
                              (Do.prototype._setPaintValue = function (t, e, i) {
                                   if ("color" === this.type) for (var n = Mo(i), r = t; r < e; r++) this.paintVertexArray.emplace(r, n[0], n[1]);
                                   else {
                                        for (var o = t; o < e; o++) this.paintVertexArray.emplace(o, i);
                                        this.maxValue = Math.max(this.maxValue, Math.abs(i));
                                   }
                              }),
                              (Do.prototype.upload = function (t) {
                                   this.paintVertexArray &&
                                        this.paintVertexArray.arrayBuffer &&
                                        (this.paintVertexBuffer && this.paintVertexBuffer.buffer
                                             ? this.paintVertexBuffer.updateData(this.paintVertexArray)
                                             : (this.paintVertexBuffer = t.createVertexBuffer(this.paintVertexArray, this.paintVertexAttributes, this.expression.isStateDependent)));
                              }),
                              (Do.prototype.destroy = function () {
                                   this.paintVertexBuffer && this.paintVertexBuffer.destroy();
                              });
                         var Lo = function (t, e, i, n, r, o) {
                              (this.expression = t),
                                   (this.uniformNames = e.map(function (t) {
                                        return "u_" + t + "_t";
                                   })),
                                   (this.type = i),
                                   (this.useIntegerZoom = n),
                                   (this.zoom = r),
                                   (this.maxValue = 0),
                                   (this.paintVertexAttributes = e.map(function (t) {
                                        return { name: "a_" + t, type: "Float32", components: "color" === i ? 4 : 2, offset: 0 };
                                   })),
                                   (this.paintVertexArray = new o());
                         };
                         (Lo.prototype.populatePaintArray = function (t, e, i, n, r) {
                              var o = this.expression.evaluate(new rr(this.zoom), e, {}, n, [], r),
                                   a = this.expression.evaluate(new rr(this.zoom + 1), e, {}, n, [], r),
                                   s = this.paintVertexArray.length;
                              this.paintVertexArray.resize(t), this._setPaintValue(s, t, o, a);
                         }),
                              (Lo.prototype.updatePaintArray = function (t, e, i, n) {
                                   var r = this.expression.evaluate({ zoom: this.zoom }, i, n),
                                        o = this.expression.evaluate({ zoom: this.zoom + 1 }, i, n);
                                   this._setPaintValue(t, e, r, o);
                              }),
                              (Lo.prototype._setPaintValue = function (t, e, i, n) {
                                   if ("color" === this.type) for (var r = Mo(i), o = Mo(n), a = t; a < e; a++) this.paintVertexArray.emplace(a, r[0], r[1], o[0], o[1]);
                                   else {
                                        for (var s = t; s < e; s++) this.paintVertexArray.emplace(s, i, n);
                                        this.maxValue = Math.max(this.maxValue, Math.abs(i), Math.abs(n));
                                   }
                              }),
                              (Lo.prototype.upload = function (t) {
                                   this.paintVertexArray &&
                                        this.paintVertexArray.arrayBuffer &&
                                        (this.paintVertexBuffer && this.paintVertexBuffer.buffer
                                             ? this.paintVertexBuffer.updateData(this.paintVertexArray)
                                             : (this.paintVertexBuffer = t.createVertexBuffer(this.paintVertexArray, this.paintVertexAttributes, this.expression.isStateDependent)));
                              }),
                              (Lo.prototype.destroy = function () {
                                   this.paintVertexBuffer && this.paintVertexBuffer.destroy();
                              }),
                              (Lo.prototype.setUniform = function (t, e) {
                                   var i = this.useIntegerZoom ? Math.floor(e.zoom) : e.zoom,
                                        n = l(this.expression.interpolationFactor(i, this.zoom, this.zoom + 1), 0, 1);
                                   t.set(n);
                              }),
                              (Lo.prototype.getBinding = function (t, e, i) {
                                   return new yo(t, e);
                              });
                         var Eo = function (t, e, i, n, r, o) {
                              (this.expression = t), (this.type = e), (this.useIntegerZoom = i), (this.zoom = n), (this.layerId = o), (this.zoomInPaintVertexArray = new r()), (this.zoomOutPaintVertexArray = new r());
                         };
                         (Eo.prototype.populatePaintArray = function (t, e, i) {
                              var n = this.zoomInPaintVertexArray.length;
                              this.zoomInPaintVertexArray.resize(t), this.zoomOutPaintVertexArray.resize(t), this._setPaintValues(n, t, e.patterns && e.patterns[this.layerId], i);
                         }),
                              (Eo.prototype.updatePaintArray = function (t, e, i, n, r) {
                                   this._setPaintValues(t, e, i.patterns && i.patterns[this.layerId], r);
                              }),
                              (Eo.prototype._setPaintValues = function (t, e, i, n) {
                                   if (n && i) {
                                        var r = n[i.min],
                                             o = n[i.mid],
                                             a = n[i.max];
                                        if (r && o && a)
                                             for (var s = t; s < e; s++)
                                                  this.zoomInPaintVertexArray.emplace(s, o.tl[0], o.tl[1], o.br[0], o.br[1], r.tl[0], r.tl[1], r.br[0], r.br[1], o.pixelRatio, r.pixelRatio),
                                                       this.zoomOutPaintVertexArray.emplace(s, o.tl[0], o.tl[1], o.br[0], o.br[1], a.tl[0], a.tl[1], a.br[0], a.br[1], o.pixelRatio, a.pixelRatio);
                                   }
                              }),
                              (Eo.prototype.upload = function (t) {
                                   this.zoomInPaintVertexArray &&
                                        this.zoomInPaintVertexArray.arrayBuffer &&
                                        this.zoomOutPaintVertexArray &&
                                        this.zoomOutPaintVertexArray.arrayBuffer &&
                                        ((this.zoomInPaintVertexBuffer = t.createVertexBuffer(this.zoomInPaintVertexArray, ao.members, this.expression.isStateDependent)),
                                        (this.zoomOutPaintVertexBuffer = t.createVertexBuffer(this.zoomOutPaintVertexArray, ao.members, this.expression.isStateDependent)));
                              }),
                              (Eo.prototype.destroy = function () {
                                   this.zoomOutPaintVertexBuffer && this.zoomOutPaintVertexBuffer.destroy(), this.zoomInPaintVertexBuffer && this.zoomInPaintVertexBuffer.destroy();
                              });
                         var Ao = function (t, e, i, n) {
                              (this.binders = {}), (this.layoutAttributes = n), (this._buffers = []);
                              var r = [];
                              for (var o in t.paint._values)
                                   if (i(o)) {
                                        var a = t.paint.get(o);
                                        if (a instanceof hr && Ei(a.property.specification)) {
                                             var s = Io(o, t.type),
                                                  l = a.value,
                                                  c = a.property.specification.type,
                                                  u = a.property.useIntegerZoom,
                                                  h = a.property.specification["property-type"],
                                                  d = "cross-faded" === h || "cross-faded-data-driven" === h;
                                             if ("constant" === l.kind) (this.binders[o] = d ? new Co(l.value, s) : new To(l.value, s, c)), r.push("/u_" + o);
                                             else if ("source" === l.kind || d) {
                                                  var p = Oo(o, c, "source");
                                                  (this.binders[o] = d ? new Eo(l, c, u, e, p, t.id) : new Do(l, s, c, p)), r.push("/a_" + o);
                                             } else {
                                                  var f = Oo(o, c, "composite");
                                                  (this.binders[o] = new Lo(l, s, c, u, e, f)), r.push("/z_" + o);
                                             }
                                        }
                                   }
                              this.cacheKey = r.sort().join("");
                         };
                         (Ao.prototype.getMaxValue = function (t) {
                              var e = this.binders[t];
                              return e instanceof Do || e instanceof Lo ? e.maxValue : 0;
                         }),
                              (Ao.prototype.populatePaintArrays = function (t, e, i, n, r) {
                                   for (var o in this.binders) {
                                        var a = this.binders[o];
                                        (a instanceof Do || a instanceof Lo || a instanceof Eo) && a.populatePaintArray(t, e, i, n, r);
                                   }
                              }),
                              (Ao.prototype.setConstantPatternPositions = function (t, e) {
                                   for (var i in this.binders) {
                                        var n = this.binders[i];
                                        n instanceof Co && n.setConstantPatternPositions(t, e);
                                   }
                              }),
                              (Ao.prototype.updatePaintArrays = function (t, e, i, n, r) {
                                   var o = !1;
                                   for (var a in t)
                                        for (var s = 0, l = e.getPositions(a); s < l.length; s += 1) {
                                             var c = l[s],
                                                  u = i.feature(c.index);
                                             for (var h in this.binders) {
                                                  var d = this.binders[h];
                                                  if ((d instanceof Do || d instanceof Lo || d instanceof Eo) && !0 === d.expression.isStateDependent) {
                                                       var p = n.paint.get(h);
                                                       (d.expression = p.value), d.updatePaintArray(c.start, c.end, u, t[a], r), (o = !0);
                                                  }
                                             }
                                        }
                                   return o;
                              }),
                              (Ao.prototype.defines = function () {
                                   var t = [];
                                   for (var e in this.binders) {
                                        var i = this.binders[e];
                                        (i instanceof To || i instanceof Co) &&
                                             t.push.apply(
                                                  t,
                                                  i.uniformNames.map(function (t) {
                                                       return "#define HAS_UNIFORM_" + t;
                                                  })
                                             );
                                   }
                                   return t;
                              }),
                              (Ao.prototype.getPaintVertexBuffers = function () {
                                   return this._buffers;
                              }),
                              (Ao.prototype.getUniforms = function (t, e) {
                                   var i = [];
                                   for (var n in this.binders) {
                                        var r = this.binders[n];
                                        if (r instanceof To || r instanceof Co || r instanceof Lo)
                                             for (var o = 0, a = r.uniformNames; o < a.length; o += 1) {
                                                  var s = a[o];
                                                  if (e[s]) {
                                                       var l = r.getBinding(t, e[s], s);
                                                       i.push({ name: s, property: n, binding: l });
                                                  }
                                             }
                                   }
                                   return i;
                              }),
                              (Ao.prototype.setUniforms = function (t, e, i, n) {
                                   for (var r = 0, o = e; r < o.length; r += 1) {
                                        var a = o[r],
                                             s = a.name,
                                             l = a.property;
                                        this.binders[l].setUniform(a.binding, n, i.get(l), s);
                                   }
                              }),
                              (Ao.prototype.updatePaintBuffers = function (t) {
                                   for (var e in ((this._buffers = []), this.binders)) {
                                        var i = this.binders[e];
                                        if (t && i instanceof Eo) {
                                             var n = 2 === t.fromScale ? i.zoomInPaintVertexBuffer : i.zoomOutPaintVertexBuffer;
                                             n && this._buffers.push(n);
                                        } else (i instanceof Do || i instanceof Lo) && i.paintVertexBuffer && this._buffers.push(i.paintVertexBuffer);
                                   }
                              }),
                              (Ao.prototype.upload = function (t) {
                                   for (var e in this.binders) {
                                        var i = this.binders[e];
                                        (i instanceof Do || i instanceof Lo || i instanceof Eo) && i.upload(t);
                                   }
                                   this.updatePaintBuffers();
                              }),
                              (Ao.prototype.destroy = function () {
                                   for (var t in this.binders) {
                                        var e = this.binders[t];
                                        (e instanceof Do || e instanceof Lo || e instanceof Eo) && e.destroy();
                                   }
                              });
                         var Po = function (t, e, i, n) {
                              void 0 === n &&
                                   (n = function () {
                                        return !0;
                                   }),
                                   (this.programConfigurations = {});
                              for (var r = 0, o = e; r < o.length; r += 1) {
                                   var a = o[r];
                                   this.programConfigurations[a.id] = new Ao(a, i, n, t);
                              }
                              (this.needsUpload = !1), (this._featureMap = new ho()), (this._bufferOffset = 0);
                         };
                         function Io(t, e) {
                              return (
                                   {
                                        "text-opacity": ["opacity"],
                                        "icon-opacity": ["opacity"],
                                        "text-color": ["fill_color"],
                                        "icon-color": ["fill_color"],
                                        "text-halo-color": ["halo_color"],
                                        "icon-halo-color": ["halo_color"],
                                        "text-halo-blur": ["halo_blur"],
                                        "icon-halo-blur": ["halo_blur"],
                                        "text-halo-width": ["halo_width"],
                                        "icon-halo-width": ["halo_width"],
                                        "line-gap-width": ["gapwidth"],
                                        "line-pattern": ["pattern_to", "pattern_from", "pixel_ratio_to", "pixel_ratio_from"],
                                        "fill-pattern": ["pattern_to", "pattern_from", "pixel_ratio_to", "pixel_ratio_from"],
                                        "fill-extrusion-pattern": ["pattern_to", "pattern_from", "pixel_ratio_to", "pixel_ratio_from"],
                                   }[t] || [t.replace(e + "-", "").replace(/-/g, "_")]
                              );
                         }
                         function Oo(t, e, i) {
                              var n = { color: { source: Ur, composite: qr }, number: { source: jr, composite: Ur } },
                                   r = (function (t) {
                                        return { "line-pattern": { source: Lr, composite: Lr }, "fill-pattern": { source: Lr, composite: Lr }, "fill-extrusion-pattern": { source: Lr, composite: Lr } }[t];
                                   })(t);
                              return (r && r[i]) || n[e][i];
                         }
                         (Po.prototype.populatePaintArrays = function (t, e, i, n, r, o) {
                              for (var a in this.programConfigurations) this.programConfigurations[a].populatePaintArrays(t, e, n, r, o);
                              void 0 !== e.id && this._featureMap.add(e.id, i, this._bufferOffset, t), (this._bufferOffset = t), (this.needsUpload = !0);
                         }),
                              (Po.prototype.updatePaintArrays = function (t, e, i, n) {
                                   for (var r = 0, o = i; r < o.length; r += 1) {
                                        var a = o[r];
                                        this.needsUpload = this.programConfigurations[a.id].updatePaintArrays(t, this._featureMap, e, a, n) || this.needsUpload;
                                   }
                              }),
                              (Po.prototype.get = function (t) {
                                   return this.programConfigurations[t];
                              }),
                              (Po.prototype.upload = function (t) {
                                   if (this.needsUpload) {
                                        for (var e in this.programConfigurations) this.programConfigurations[e].upload(t);
                                        this.needsUpload = !1;
                                   }
                              }),
                              (Po.prototype.destroy = function () {
                                   for (var t in this.programConfigurations) this.programConfigurations[t].destroy();
                              }),
                              Yn("ConstantBinder", To),
                              Yn("CrossFadedConstantBinder", Co),
                              Yn("SourceExpressionBinder", Do),
                              Yn("CrossFadedCompositeBinder", Eo),
                              Yn("CompositeExpressionBinder", Lo),
                              Yn("ProgramConfiguration", Ao, { omit: ["_buffers"] }),
                              Yn("ProgramConfigurationSet", Po);
                         var Yo = { min: -1 * Math.pow(2, 14), max: Math.pow(2, 14) - 1 };
                         function zo(t) {
                              for (var e = 8192 / t.extent, i = t.loadGeometry(), n = 0; n < i.length; n++)
                                   for (var r = i[n], o = 0; o < r.length; o++) {
                                        var a = r[o];
                                        (a.x = Math.round(a.x * e)),
                                             (a.y = Math.round(a.y * e)),
                                             (a.x < Yo.min || a.x > Yo.max || a.y < Yo.min || a.y > Yo.max) &&
                                                  (x("Geometry exceeds allowed extent, reduce your vector tile buffer size"), (a.x = l(a.x, Yo.min, Yo.max)), (a.y = l(a.y, Yo.min, Yo.max)));
                                   }
                              return i;
                         }
                         function Ro(t, e, i, n, r) {
                              t.emplaceBack(2 * e + (n + 1) / 2, 2 * i + (r + 1) / 2);
                         }
                         var Fo = function (t) {
                              (this.zoom = t.zoom),
                                   (this.overscaling = t.overscaling),
                                   (this.layers = t.layers),
                                   (this.layerIds = this.layers.map(function (t) {
                                        return t.id;
                                   })),
                                   (this.index = t.index),
                                   (this.hasPattern = !1),
                                   (this.layoutVertexArray = new Mr()),
                                   (this.indexArray = new Rr()),
                                   (this.segments = new ro()),
                                   (this.programConfigurations = new Po(no, t.layers, t.zoom)),
                                   (this.stateDependentLayerIds = this.layers
                                        .filter(function (t) {
                                             return t.isStateDependent();
                                        })
                                        .map(function (t) {
                                             return t.id;
                                        }));
                         };
                         function Ho(t, e) {
                              for (var i = 0; i < t.length; i++) if (Xo(e, t[i])) return !0;
                              for (var n = 0; n < e.length; n++) if (Xo(t, e[n])) return !0;
                              return !!Wo(t, e);
                         }
                         function jo(t, e, i) {
                              return !!Xo(t, e) || !!Uo(e, t, i);
                         }
                         function No(t, e) {
                              if (1 === t.length) return $o(e, t[0]);
                              for (var i = 0; i < e.length; i++) for (var n = e[i], r = 0; r < n.length; r++) if (Xo(t, n[r])) return !0;
                              for (var o = 0; o < t.length; o++) if ($o(e, t[o])) return !0;
                              for (var a = 0; a < e.length; a++) if (Wo(t, e[a])) return !0;
                              return !1;
                         }
                         function Bo(t, e, i) {
                              if (t.length > 1) {
                                   if (Wo(t, e)) return !0;
                                   for (var n = 0; n < e.length; n++) if (Uo(e[n], t, i)) return !0;
                              }
                              for (var r = 0; r < t.length; r++) if (Uo(t[r], e, i)) return !0;
                              return !1;
                         }
                         function Wo(t, e) {
                              if (0 === t.length || 0 === e.length) return !1;
                              for (var i = 0; i < t.length - 1; i++) for (var n = t[i], r = t[i + 1], o = 0; o < e.length - 1; o++) if (Vo(n, r, e[o], e[o + 1])) return !0;
                              return !1;
                         }
                         function Vo(t, e, i, n) {
                              return w(t, i, n) !== w(e, i, n) && w(t, e, i) !== w(t, e, n);
                         }
                         function Uo(t, e, i) {
                              var n = i * i;
                              if (1 === e.length) return t.distSqr(e[0]) < n;
                              for (var r = 1; r < e.length; r++) if (qo(t, e[r - 1], e[r]) < n) return !0;
                              return !1;
                         }
                         function qo(t, e, i) {
                              var n = e.distSqr(i);
                              if (0 === n) return t.distSqr(e);
                              var r = ((t.x - e.x) * (i.x - e.x) + (t.y - e.y) * (i.y - e.y)) / n;
                              return t.distSqr(r < 0 ? e : r > 1 ? i : i.sub(e)._mult(r)._add(e));
                         }
                         function $o(t, e) {
                              for (var i, n, r, o = !1, a = 0; a < t.length; a++)
                                   for (var s = 0, l = (i = t[a]).length - 1; s < i.length; l = s++) (n = i[s]).y > e.y != (r = i[l]).y > e.y && e.x < ((r.x - n.x) * (e.y - n.y)) / (r.y - n.y) + n.x && (o = !o);
                              return o;
                         }
                         function Xo(t, e) {
                              for (var i = !1, n = 0, r = t.length - 1; n < t.length; r = n++) {
                                   var o = t[n],
                                        a = t[r];
                                   o.y > e.y != a.y > e.y && e.x < ((a.x - o.x) * (e.y - o.y)) / (a.y - o.y) + o.x && (i = !i);
                              }
                              return i;
                         }
                         function Go(t, e, i) {
                              var n = i[0],
                                   r = i[2];
                              if ((t.x < n.x && e.x < n.x) || (t.x > r.x && e.x > r.x) || (t.y < n.y && e.y < n.y) || (t.y > r.y && e.y > r.y)) return !1;
                              var o = w(t, e, i[0]);
                              return o !== w(t, e, i[1]) || o !== w(t, e, i[2]) || o !== w(t, e, i[3]);
                         }
                         function Zo(t, e, i) {
                              var n = e.paint.get(t).value;
                              return "constant" === n.kind ? n.value : i.programConfigurations.get(e.id).getMaxValue(t);
                         }
                         function Jo(t) {
                              return Math.sqrt(t[0] * t[0] + t[1] * t[1]);
                         }
                         function Ko(t, e, i, n, o) {
                              if (!e[0] && !e[1]) return t;
                              var a = r.convert(e)._mult(o);
                              "viewport" === i && a._rotate(-n);
                              for (var s = [], l = 0; l < t.length; l++) s.push(t[l].sub(a));
                              return s;
                         }
                         (Fo.prototype.populate = function (t, e, i) {
                              var n = this.layers[0],
                                   r = [],
                                   o = null;
                              "circle" === n.type && (o = n.layout.get("circle-sort-key"));
                              for (var a = 0, s = t; a < s.length; a += 1) {
                                   var l = s[a],
                                        c = l.feature,
                                        u = l.id,
                                        h = l.index,
                                        d = l.sourceLayerIndex,
                                        p = this.layers[0]._featureFilter.needGeometry,
                                        f = { type: c.type, id: u, properties: c.properties, geometry: p ? zo(c) : [] };
                                   if (this.layers[0]._featureFilter.filter(new rr(this.zoom), f, i)) {
                                        p || (f.geometry = zo(c));
                                        var m = o ? o.evaluate(f, {}, i) : void 0;
                                        r.push({ id: u, properties: c.properties, type: c.type, sourceLayerIndex: d, index: h, geometry: f.geometry, patterns: {}, sortKey: m });
                                   }
                              }
                              o &&
                                   r.sort(function (t, e) {
                                        return t.sortKey - e.sortKey;
                                   });
                              for (var g = 0, v = r; g < v.length; g += 1) {
                                   var y = v[g],
                                        b = y.geometry,
                                        _ = y.index,
                                        x = y.sourceLayerIndex,
                                        w = t[_].feature;
                                   this.addFeature(y, b, _, i), e.featureIndex.insert(w, b, _, x, this.index);
                              }
                         }),
                              (Fo.prototype.update = function (t, e, i) {
                                   this.stateDependentLayers.length && this.programConfigurations.updatePaintArrays(t, e, this.stateDependentLayers, i);
                              }),
                              (Fo.prototype.isEmpty = function () {
                                   return 0 === this.layoutVertexArray.length;
                              }),
                              (Fo.prototype.uploadPending = function () {
                                   return !this.uploaded || this.programConfigurations.needsUpload;
                              }),
                              (Fo.prototype.upload = function (t) {
                                   this.uploaded || ((this.layoutVertexBuffer = t.createVertexBuffer(this.layoutVertexArray, no)), (this.indexBuffer = t.createIndexBuffer(this.indexArray))),
                                        this.programConfigurations.upload(t),
                                        (this.uploaded = !0);
                              }),
                              (Fo.prototype.destroy = function () {
                                   this.layoutVertexBuffer && (this.layoutVertexBuffer.destroy(), this.indexBuffer.destroy(), this.programConfigurations.destroy(), this.segments.destroy());
                              }),
                              (Fo.prototype.addFeature = function (t, e, i, n) {
                                   for (var r = 0, o = e; r < o.length; r += 1)
                                        for (var a = 0, s = o[r]; a < s.length; a += 1) {
                                             var l = s[a],
                                                  c = l.x,
                                                  u = l.y;
                                             if (!(c < 0 || c >= 8192 || u < 0 || u >= 8192)) {
                                                  var h = this.segments.prepareSegment(4, this.layoutVertexArray, this.indexArray, t.sortKey),
                                                       d = h.vertexLength;
                                                  Ro(this.layoutVertexArray, c, u, -1, -1),
                                                       Ro(this.layoutVertexArray, c, u, 1, -1),
                                                       Ro(this.layoutVertexArray, c, u, 1, 1),
                                                       Ro(this.layoutVertexArray, c, u, -1, 1),
                                                       this.indexArray.emplaceBack(d, d + 1, d + 2),
                                                       this.indexArray.emplaceBack(d, d + 3, d + 2),
                                                       (h.vertexLength += 4),
                                                       (h.primitiveLength += 2);
                                             }
                                        }
                                   this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length, t, i, {}, n);
                              }),
                              Yn("CircleBucket", Fo, { omit: ["layers"] });
                         var Qo = new yr({ "circle-sort-key": new fr(Tt.layout_circle["circle-sort-key"]) }),
                              ta = {
                                   paint: new yr({
                                        "circle-radius": new fr(Tt.paint_circle["circle-radius"]),
                                        "circle-color": new fr(Tt.paint_circle["circle-color"]),
                                        "circle-blur": new fr(Tt.paint_circle["circle-blur"]),
                                        "circle-opacity": new fr(Tt.paint_circle["circle-opacity"]),
                                        "circle-translate": new pr(Tt.paint_circle["circle-translate"]),
                                        "circle-translate-anchor": new pr(Tt.paint_circle["circle-translate-anchor"]),
                                        "circle-pitch-scale": new pr(Tt.paint_circle["circle-pitch-scale"]),
                                        "circle-pitch-alignment": new pr(Tt.paint_circle["circle-pitch-alignment"]),
                                        "circle-stroke-width": new fr(Tt.paint_circle["circle-stroke-width"]),
                                        "circle-stroke-color": new fr(Tt.paint_circle["circle-stroke-color"]),
                                        "circle-stroke-opacity": new fr(Tt.paint_circle["circle-stroke-opacity"]),
                                   }),
                                   layout: Qo,
                              },
                              ea = "undefined" != typeof Float32Array ? Float32Array : Array;
                         function ia(t) {
                              return (t[0] = 1), (t[1] = 0), (t[2] = 0), (t[3] = 0), (t[4] = 0), (t[5] = 1), (t[6] = 0), (t[7] = 0), (t[8] = 0), (t[9] = 0), (t[10] = 1), (t[11] = 0), (t[12] = 0), (t[13] = 0), (t[14] = 0), (t[15] = 1), t;
                         }
                         function na(t, e, i) {
                              var n = e[0],
                                   r = e[1],
                                   o = e[2],
                                   a = e[3],
                                   s = e[4],
                                   l = e[5],
                                   c = e[6],
                                   u = e[7],
                                   h = e[8],
                                   d = e[9],
                                   p = e[10],
                                   f = e[11],
                                   m = e[12],
                                   g = e[13],
                                   v = e[14],
                                   y = e[15],
                                   b = i[0],
                                   _ = i[1],
                                   x = i[2],
                                   w = i[3];
                              return (
                                   (t[0] = b * n + _ * s + x * h + w * m),
                                   (t[1] = b * r + _ * l + x * d + w * g),
                                   (t[2] = b * o + _ * c + x * p + w * v),
                                   (t[3] = b * a + _ * u + x * f + w * y),
                                   (t[4] = (b = i[4]) * n + (_ = i[5]) * s + (x = i[6]) * h + (w = i[7]) * m),
                                   (t[5] = b * r + _ * l + x * d + w * g),
                                   (t[6] = b * o + _ * c + x * p + w * v),
                                   (t[7] = b * a + _ * u + x * f + w * y),
                                   (t[8] = (b = i[8]) * n + (_ = i[9]) * s + (x = i[10]) * h + (w = i[11]) * m),
                                   (t[9] = b * r + _ * l + x * d + w * g),
                                   (t[10] = b * o + _ * c + x * p + w * v),
                                   (t[11] = b * a + _ * u + x * f + w * y),
                                   (t[12] = (b = i[12]) * n + (_ = i[13]) * s + (x = i[14]) * h + (w = i[15]) * m),
                                   (t[13] = b * r + _ * l + x * d + w * g),
                                   (t[14] = b * o + _ * c + x * p + w * v),
                                   (t[15] = b * a + _ * u + x * f + w * y),
                                   t
                              );
                         }
                         Math.hypot ||
                              (Math.hypot = function () {
                                   for (var t = arguments, e = 0, i = arguments.length; i--; ) e += t[i] * t[i];
                                   return Math.sqrt(e);
                              });
                         var ra,
                              oa = na;
                         function aa(t, e, i) {
                              var n = e[0],
                                   r = e[1],
                                   o = e[2],
                                   a = e[3];
                              return (
                                   (t[0] = i[0] * n + i[4] * r + i[8] * o + i[12] * a),
                                   (t[1] = i[1] * n + i[5] * r + i[9] * o + i[13] * a),
                                   (t[2] = i[2] * n + i[6] * r + i[10] * o + i[14] * a),
                                   (t[3] = i[3] * n + i[7] * r + i[11] * o + i[15] * a),
                                   t
                              );
                         }
                         (ra = new ea(3)),
                              ea != Float32Array && ((ra[0] = 0), (ra[1] = 0), (ra[2] = 0)),
                              (function () {
                                   var t = new ea(4);
                                   ea != Float32Array && ((t[0] = 0), (t[1] = 0), (t[2] = 0), (t[3] = 0));
                              })();
                         var sa =
                              ((function () {
                                   var t = new ea(2);
                                   ea != Float32Array && ((t[0] = 0), (t[1] = 0));
                              })(),
                              (function (t) {
                                   function e(e) {
                                        t.call(this, e, ta);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.createBucket = function (t) {
                                             return new Fo(t);
                                        }),
                                        (e.prototype.queryRadius = function (t) {
                                             var e = t;
                                             return Zo("circle-radius", this, e) + Zo("circle-stroke-width", this, e) + Jo(this.paint.get("circle-translate"));
                                        }),
                                        (e.prototype.queryIntersectsFeature = function (t, e, i, n, r, o, a, s) {
                                             for (
                                                  var l = Ko(t, this.paint.get("circle-translate"), this.paint.get("circle-translate-anchor"), o.angle, a),
                                                       c = this.paint.get("circle-radius").evaluate(e, i) + this.paint.get("circle-stroke-width").evaluate(e, i),
                                                       u = "map" === this.paint.get("circle-pitch-alignment"),
                                                       h = u
                                                            ? l
                                                            : (function (t, e) {
                                                                   return t.map(function (t) {
                                                                        return la(t, e);
                                                                   });
                                                              })(l, s),
                                                       d = u ? c * a : c,
                                                       p = 0,
                                                       f = n;
                                                  p < f.length;
                                                  p += 1
                                             )
                                                  for (var m = 0, g = f[p]; m < g.length; m += 1) {
                                                       var v = g[m],
                                                            y = u ? v : la(v, s),
                                                            b = d,
                                                            _ = aa([], [v.x, v.y, 0, 1], s);
                                                       if (
                                                            ("viewport" === this.paint.get("circle-pitch-scale") && "map" === this.paint.get("circle-pitch-alignment")
                                                                 ? (b *= _[3] / o.cameraToCenterDistance)
                                                                 : "map" === this.paint.get("circle-pitch-scale") && "viewport" === this.paint.get("circle-pitch-alignment") && (b *= o.cameraToCenterDistance / _[3]),
                                                            jo(h, y, b))
                                                       )
                                                            return !0;
                                                  }
                                             return !1;
                                        }),
                                        e
                                   );
                              })(br));
                         function la(t, e) {
                              var i = aa([], [t.x, t.y, 0, 1], e);
                              return new r(i[0] / i[3], i[1] / i[3]);
                         }
                         var ca = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e), e;
                         })(Fo);
                         function ua(t, e, i, n) {
                              var r = e.width,
                                   o = e.height;
                              if (n) {
                                   if (n instanceof Uint8ClampedArray) n = new Uint8Array(n.buffer);
                                   else if (n.length !== r * o * i) throw new RangeError("mismatched image size");
                              } else n = new Uint8Array(r * o * i);
                              return (t.width = r), (t.height = o), (t.data = n), t;
                         }
                         function ha(t, e, i) {
                              var n = e.width,
                                   r = e.height;
                              if (n !== t.width || r !== t.height) {
                                   var o = ua({}, { width: n, height: r }, i);
                                   da(t, o, { x: 0, y: 0 }, { x: 0, y: 0 }, { width: Math.min(t.width, n), height: Math.min(t.height, r) }, i), (t.width = n), (t.height = r), (t.data = o.data);
                              }
                         }
                         function da(t, e, i, n, r, o) {
                              if (0 === r.width || 0 === r.height) return e;
                              if (r.width > t.width || r.height > t.height || i.x > t.width - r.width || i.y > t.height - r.height) throw new RangeError("out of range source coordinates for image copy");
                              if (r.width > e.width || r.height > e.height || n.x > e.width - r.width || n.y > e.height - r.height) throw new RangeError("out of range destination coordinates for image copy");
                              for (var a = t.data, s = e.data, l = 0; l < r.height; l++) for (var c = ((i.y + l) * t.width + i.x) * o, u = ((n.y + l) * e.width + n.x) * o, h = 0; h < r.width * o; h++) s[u + h] = a[c + h];
                              return e;
                         }
                         Yn("HeatmapBucket", ca, { omit: ["layers"] });
                         var pa = function (t, e) {
                              ua(this, t, 1, e);
                         };
                         (pa.prototype.resize = function (t) {
                              ha(this, t, 1);
                         }),
                              (pa.prototype.clone = function () {
                                   return new pa({ width: this.width, height: this.height }, new Uint8Array(this.data));
                              }),
                              (pa.copy = function (t, e, i, n, r) {
                                   da(t, e, i, n, r, 1);
                              });
                         var fa = function (t, e) {
                              ua(this, t, 4, e);
                         };
                         (fa.prototype.resize = function (t) {
                              ha(this, t, 4);
                         }),
                              (fa.prototype.replace = function (t, e) {
                                   e ? this.data.set(t) : (this.data = t instanceof Uint8ClampedArray ? new Uint8Array(t.buffer) : t);
                              }),
                              (fa.prototype.clone = function () {
                                   return new fa({ width: this.width, height: this.height }, new Uint8Array(this.data));
                              }),
                              (fa.copy = function (t, e, i, n, r) {
                                   da(t, e, i, n, r, 4);
                              }),
                              Yn("AlphaImage", pa),
                              Yn("RGBAImage", fa);
                         var ma = {
                              paint: new yr({
                                   "heatmap-radius": new fr(Tt.paint_heatmap["heatmap-radius"]),
                                   "heatmap-weight": new fr(Tt.paint_heatmap["heatmap-weight"]),
                                   "heatmap-intensity": new pr(Tt.paint_heatmap["heatmap-intensity"]),
                                   "heatmap-color": new vr(Tt.paint_heatmap["heatmap-color"]),
                                   "heatmap-opacity": new pr(Tt.paint_heatmap["heatmap-opacity"]),
                              }),
                         };
                         function ga(t, e) {
                              for (var i = new Uint8Array(1024), n = {}, r = 0, o = 0; r < 256; r++, o += 4) {
                                   n[e] = r / 255;
                                   var a = t.evaluate(n);
                                   (i[o + 0] = Math.floor((255 * a.r) / a.a)), (i[o + 1] = Math.floor((255 * a.g) / a.a)), (i[o + 2] = Math.floor((255 * a.b) / a.a)), (i[o + 3] = Math.floor(255 * a.a));
                              }
                              return new fa({ width: 256, height: 1 }, i);
                         }
                         var va = (function (t) {
                                   function e(e) {
                                        t.call(this, e, ma), this._updateColorRamp();
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.createBucket = function (t) {
                                             return new ca(t);
                                        }),
                                        (e.prototype._handleSpecialPaintPropertyUpdate = function (t) {
                                             "heatmap-color" === t && this._updateColorRamp();
                                        }),
                                        (e.prototype._updateColorRamp = function () {
                                             (this.colorRamp = ga(this._transitionablePaint._values["heatmap-color"].value.expression, "heatmapDensity")), (this.colorRampTexture = null);
                                        }),
                                        (e.prototype.resize = function () {
                                             this.heatmapFbo && (this.heatmapFbo.destroy(), (this.heatmapFbo = null));
                                        }),
                                        (e.prototype.queryRadius = function () {
                                             return 0;
                                        }),
                                        (e.prototype.queryIntersectsFeature = function () {
                                             return !1;
                                        }),
                                        (e.prototype.hasOffscreenPass = function () {
                                             return 0 !== this.paint.get("heatmap-opacity") && "none" !== this.visibility;
                                        }),
                                        e
                                   );
                              })(br),
                              ya = {
                                   paint: new yr({
                                        "hillshade-illumination-direction": new pr(Tt.paint_hillshade["hillshade-illumination-direction"]),
                                        "hillshade-illumination-anchor": new pr(Tt.paint_hillshade["hillshade-illumination-anchor"]),
                                        "hillshade-exaggeration": new pr(Tt.paint_hillshade["hillshade-exaggeration"]),
                                        "hillshade-shadow-color": new pr(Tt.paint_hillshade["hillshade-shadow-color"]),
                                        "hillshade-highlight-color": new pr(Tt.paint_hillshade["hillshade-highlight-color"]),
                                        "hillshade-accent-color": new pr(Tt.paint_hillshade["hillshade-accent-color"]),
                                   }),
                              },
                              ba = (function (t) {
                                   function e(e) {
                                        t.call(this, e, ya);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.hasOffscreenPass = function () {
                                             return 0 !== this.paint.get("hillshade-exaggeration") && "none" !== this.visibility;
                                        }),
                                        e
                                   );
                              })(br),
                              _a = kr([{ name: "a_pos", components: 2, type: "Int16" }], 4).members,
                              xa = ka,
                              wa = ka;
                         function ka(t, e, i) {
                              i = i || 2;
                              var n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c,
                                   u = e && e.length,
                                   h = u ? e[0] * i : t.length,
                                   d = Sa(t, 0, h, i, !0),
                                   p = [];
                              if (!d || d.next === d.prev) return p;
                              if (
                                   (u &&
                                        (d = (function (t, e, i, n) {
                                             var r,
                                                  o,
                                                  a,
                                                  s = [];
                                             for (r = 0, o = e.length; r < o; r++) (a = Sa(t, e[r] * n, r < o - 1 ? e[r + 1] * n : t.length, n, !1)) === a.next && (a.steiner = !0), s.push(Ya(a));
                                             for (s.sort(Aa), r = 0; r < s.length; r++) Pa(s[r], i), (i = Ma(i, i.next));
                                             return i;
                                        })(t, e, d, i)),
                                   t.length > 80 * i)
                              ) {
                                   (n = o = t[0]), (r = a = t[1]);
                                   for (var f = i; f < h; f += i) (s = t[f]) < n && (n = s), (l = t[f + 1]) < r && (r = l), s > o && (o = s), l > a && (a = l);
                                   c = 0 !== (c = Math.max(o - n, a - r)) ? 1 / c : 0;
                              }
                              return Ta(d, p, i, n, r, c), p;
                         }
                         function Sa(t, e, i, n, r) {
                              var o, a;
                              if (r === Xa(t, e, i, n) > 0) for (o = e; o < i; o += n) a = Ua(o, t[o], t[o + 1], a);
                              else for (o = i - n; o >= e; o -= n) a = Ua(o, t[o], t[o + 1], a);
                              return a && Ha(a, a.next) && (qa(a), (a = a.next)), a;
                         }
                         function Ma(t, e) {
                              if (!t) return t;
                              e || (e = t);
                              var i,
                                   n = t;
                              do {
                                   if (((i = !1), n.steiner || (!Ha(n, n.next) && 0 !== Fa(n.prev, n, n.next)))) n = n.next;
                                   else {
                                        if ((qa(n), (n = e = n.prev) === n.next)) break;
                                        i = !0;
                                   }
                              } while (i || n !== e);
                              return e;
                         }
                         function Ta(t, e, i, n, r, o, a) {
                              if (t) {
                                   !a &&
                                        o &&
                                        (function (t, e, i, n) {
                                             var r = t;
                                             do {
                                                  null === r.z && (r.z = Oa(r.x, r.y, e, i, n)), (r.prevZ = r.prev), (r.nextZ = r.next), (r = r.next);
                                             } while (r !== t);
                                             (r.prevZ.nextZ = null),
                                                  (r.prevZ = null),
                                                  (function (t) {
                                                       var e,
                                                            i,
                                                            n,
                                                            r,
                                                            o,
                                                            a,
                                                            s,
                                                            l,
                                                            c = 1;
                                                       do {
                                                            for (i = t, t = null, o = null, a = 0; i; ) {
                                                                 for (a++, n = i, s = 0, e = 0; e < c && (s++, (n = n.nextZ)); e++);
                                                                 for (l = c; s > 0 || (l > 0 && n); )
                                                                      0 !== s && (0 === l || !n || i.z <= n.z) ? ((r = i), (i = i.nextZ), s--) : ((r = n), (n = n.nextZ), l--), o ? (o.nextZ = r) : (t = r), (r.prevZ = o), (o = r);
                                                                 i = n;
                                                            }
                                                            (o.nextZ = null), (c *= 2);
                                                       } while (a > 1);
                                                  })(r);
                                        })(t, n, r, o);
                                   for (var s, l, c = t; t.prev !== t.next; )
                                        if (((s = t.prev), (l = t.next), o ? Da(t, n, r, o) : Ca(t))) e.push(s.i / i), e.push(t.i / i), e.push(l.i / i), qa(t), (t = l.next), (c = l.next);
                                        else if ((t = l) === c) {
                                             a ? (1 === a ? Ta((t = La(Ma(t), e, i)), e, i, n, r, o, 2) : 2 === a && Ea(t, e, i, n, r, o)) : Ta(Ma(t), e, i, n, r, o, 1);
                                             break;
                                        }
                              }
                         }
                         function Ca(t) {
                              var e = t.prev,
                                   i = t,
                                   n = t.next;
                              if (Fa(e, i, n) >= 0) return !1;
                              for (var r = t.next.next; r !== t.prev; ) {
                                   if (za(e.x, e.y, i.x, i.y, n.x, n.y, r.x, r.y) && Fa(r.prev, r, r.next) >= 0) return !1;
                                   r = r.next;
                              }
                              return !0;
                         }
                         function Da(t, e, i, n) {
                              var r = t.prev,
                                   o = t,
                                   a = t.next;
                              if (Fa(r, o, a) >= 0) return !1;
                              for (
                                   var s = r.x > o.x ? (r.x > a.x ? r.x : a.x) : o.x > a.x ? o.x : a.x,
                                        l = r.y > o.y ? (r.y > a.y ? r.y : a.y) : o.y > a.y ? o.y : a.y,
                                        c = Oa(r.x < o.x ? (r.x < a.x ? r.x : a.x) : o.x < a.x ? o.x : a.x, r.y < o.y ? (r.y < a.y ? r.y : a.y) : o.y < a.y ? o.y : a.y, e, i, n),
                                        u = Oa(s, l, e, i, n),
                                        h = t.prevZ,
                                        d = t.nextZ;
                                   h && h.z >= c && d && d.z <= u;

                              ) {
                                   if (h !== t.prev && h !== t.next && za(r.x, r.y, o.x, o.y, a.x, a.y, h.x, h.y) && Fa(h.prev, h, h.next) >= 0) return !1;
                                   if (((h = h.prevZ), d !== t.prev && d !== t.next && za(r.x, r.y, o.x, o.y, a.x, a.y, d.x, d.y) && Fa(d.prev, d, d.next) >= 0)) return !1;
                                   d = d.nextZ;
                              }
                              for (; h && h.z >= c; ) {
                                   if (h !== t.prev && h !== t.next && za(r.x, r.y, o.x, o.y, a.x, a.y, h.x, h.y) && Fa(h.prev, h, h.next) >= 0) return !1;
                                   h = h.prevZ;
                              }
                              for (; d && d.z <= u; ) {
                                   if (d !== t.prev && d !== t.next && za(r.x, r.y, o.x, o.y, a.x, a.y, d.x, d.y) && Fa(d.prev, d, d.next) >= 0) return !1;
                                   d = d.nextZ;
                              }
                              return !0;
                         }
                         function La(t, e, i) {
                              var n = t;
                              do {
                                   var r = n.prev,
                                        o = n.next.next;
                                   !Ha(r, o) && ja(r, n, n.next, o) && Wa(r, o) && Wa(o, r) && (e.push(r.i / i), e.push(n.i / i), e.push(o.i / i), qa(n), qa(n.next), (n = t = o)), (n = n.next);
                              } while (n !== t);
                              return Ma(n);
                         }
                         function Ea(t, e, i, n, r, o) {
                              var a = t;
                              do {
                                   for (var s = a.next.next; s !== a.prev; ) {
                                        if (a.i !== s.i && Ra(a, s)) {
                                             var l = Va(a, s);
                                             return (a = Ma(a, a.next)), (l = Ma(l, l.next)), Ta(a, e, i, n, r, o), void Ta(l, e, i, n, r, o);
                                        }
                                        s = s.next;
                                   }
                                   a = a.next;
                              } while (a !== t);
                         }
                         function Aa(t, e) {
                              return t.x - e.x;
                         }
                         function Pa(t, e) {
                              if (
                                   (e = (function (t, e) {
                                        var i,
                                             n = e,
                                             r = t.x,
                                             o = t.y,
                                             a = -1 / 0;
                                        do {
                                             if (o <= n.y && o >= n.next.y && n.next.y !== n.y) {
                                                  var s = n.x + ((o - n.y) * (n.next.x - n.x)) / (n.next.y - n.y);
                                                  if (s <= r && s > a) {
                                                       if (((a = s), s === r)) {
                                                            if (o === n.y) return n;
                                                            if (o === n.next.y) return n.next;
                                                       }
                                                       i = n.x < n.next.x ? n : n.next;
                                                  }
                                             }
                                             n = n.next;
                                        } while (n !== e);
                                        if (!i) return null;
                                        if (r === a) return i;
                                        var l,
                                             c = i,
                                             u = i.x,
                                             h = i.y,
                                             d = 1 / 0;
                                        n = i;
                                        do {
                                             r >= n.x &&
                                                  n.x >= u &&
                                                  r !== n.x &&
                                                  za(o < h ? r : a, o, u, h, o < h ? a : r, o, n.x, n.y) &&
                                                  ((l = Math.abs(o - n.y) / (r - n.x)), Wa(n, t) && (l < d || (l === d && (n.x > i.x || (n.x === i.x && Ia(i, n))))) && ((i = n), (d = l))),
                                                  (n = n.next);
                                        } while (n !== c);
                                        return i;
                                   })(t, e))
                              ) {
                                   var i = Va(e, t);
                                   Ma(e, e.next), Ma(i, i.next);
                              }
                         }
                         function Ia(t, e) {
                              return Fa(t.prev, t, e.prev) < 0 && Fa(e.next, t, t.next) < 0;
                         }
                         function Oa(t, e, i, n, r) {
                              return (
                                   (t = 1431655765 & ((t = 858993459 & ((t = 252645135 & ((t = 16711935 & ((t = 32767 * (t - i) * r) | (t << 8))) | (t << 4))) | (t << 2))) | (t << 1))) |
                                   ((e = 1431655765 & ((e = 858993459 & ((e = 252645135 & ((e = 16711935 & ((e = 32767 * (e - n) * r) | (e << 8))) | (e << 4))) | (e << 2))) | (e << 1))) << 1)
                              );
                         }
                         function Ya(t) {
                              var e = t,
                                   i = t;
                              do {
                                   (e.x < i.x || (e.x === i.x && e.y < i.y)) && (i = e), (e = e.next);
                              } while (e !== t);
                              return i;
                         }
                         function za(t, e, i, n, r, o, a, s) {
                              return (r - a) * (e - s) - (t - a) * (o - s) >= 0 && (t - a) * (n - s) - (i - a) * (e - s) >= 0 && (i - a) * (o - s) - (r - a) * (n - s) >= 0;
                         }
                         function Ra(t, e) {
                              return (
                                   t.next.i !== e.i &&
                                   t.prev.i !== e.i &&
                                   !(function (t, e) {
                                        var i = t;
                                        do {
                                             if (i.i !== t.i && i.next.i !== t.i && i.i !== e.i && i.next.i !== e.i && ja(i, i.next, t, e)) return !0;
                                             i = i.next;
                                        } while (i !== t);
                                        return !1;
                                   })(t, e) &&
                                   ((Wa(t, e) &&
                                        Wa(e, t) &&
                                        (function (t, e) {
                                             var i = t,
                                                  n = !1,
                                                  r = (t.x + e.x) / 2,
                                                  o = (t.y + e.y) / 2;
                                             do {
                                                  i.y > o != i.next.y > o && i.next.y !== i.y && r < ((i.next.x - i.x) * (o - i.y)) / (i.next.y - i.y) + i.x && (n = !n), (i = i.next);
                                             } while (i !== t);
                                             return n;
                                        })(t, e) &&
                                        (Fa(t.prev, t, e.prev) || Fa(t, e.prev, e))) ||
                                        (Ha(t, e) && Fa(t.prev, t, t.next) > 0 && Fa(e.prev, e, e.next) > 0))
                              );
                         }
                         function Fa(t, e, i) {
                              return (e.y - t.y) * (i.x - e.x) - (e.x - t.x) * (i.y - e.y);
                         }
                         function Ha(t, e) {
                              return t.x === e.x && t.y === e.y;
                         }
                         function ja(t, e, i, n) {
                              var r = Ba(Fa(t, e, i)),
                                   o = Ba(Fa(t, e, n)),
                                   a = Ba(Fa(i, n, t)),
                                   s = Ba(Fa(i, n, e));
                              return (r !== o && a !== s) || !(0 !== r || !Na(t, i, e)) || !(0 !== o || !Na(t, n, e)) || !(0 !== a || !Na(i, t, n)) || !(0 !== s || !Na(i, e, n));
                         }
                         function Na(t, e, i) {
                              return e.x <= Math.max(t.x, i.x) && e.x >= Math.min(t.x, i.x) && e.y <= Math.max(t.y, i.y) && e.y >= Math.min(t.y, i.y);
                         }
                         function Ba(t) {
                              return t > 0 ? 1 : t < 0 ? -1 : 0;
                         }
                         function Wa(t, e) {
                              return Fa(t.prev, t, t.next) < 0 ? Fa(t, e, t.next) >= 0 && Fa(t, t.prev, e) >= 0 : Fa(t, e, t.prev) < 0 || Fa(t, t.next, e) < 0;
                         }
                         function Va(t, e) {
                              var i = new $a(t.i, t.x, t.y),
                                   n = new $a(e.i, e.x, e.y),
                                   r = t.next,
                                   o = e.prev;
                              return (t.next = e), (e.prev = t), (i.next = r), (r.prev = i), (n.next = i), (i.prev = n), (o.next = n), (n.prev = o), n;
                         }
                         function Ua(t, e, i, n) {
                              var r = new $a(t, e, i);
                              return n ? ((r.next = n.next), (r.prev = n), (n.next.prev = r), (n.next = r)) : ((r.prev = r), (r.next = r)), r;
                         }
                         function qa(t) {
                              (t.next.prev = t.prev), (t.prev.next = t.next), t.prevZ && (t.prevZ.nextZ = t.nextZ), t.nextZ && (t.nextZ.prevZ = t.prevZ);
                         }
                         function $a(t, e, i) {
                              (this.i = t), (this.x = e), (this.y = i), (this.prev = null), (this.next = null), (this.z = null), (this.prevZ = null), (this.nextZ = null), (this.steiner = !1);
                         }
                         function Xa(t, e, i, n) {
                              for (var r = 0, o = e, a = i - n; o < i; o += n) (r += (t[a] - t[o]) * (t[o + 1] + t[a + 1])), (a = o);
                              return r;
                         }
                         function Ga(t, e, i, n, r) {
                              !(function t(e, i, n, r, o) {
                                   for (; r > n; ) {
                                        if (r - n > 600) {
                                             var a = r - n + 1,
                                                  s = i - n + 1,
                                                  l = Math.log(a),
                                                  c = 0.5 * Math.exp((2 * l) / 3),
                                                  u = 0.5 * Math.sqrt((l * c * (a - c)) / a) * (s - a / 2 < 0 ? -1 : 1);
                                             t(e, i, Math.max(n, Math.floor(i - (s * c) / a + u)), Math.min(r, Math.floor(i + ((a - s) * c) / a + u)), o);
                                        }
                                        var h = e[i],
                                             d = n,
                                             p = r;
                                        for (Za(e, n, i), o(e[r], h) > 0 && Za(e, n, r); d < p; ) {
                                             for (Za(e, d, p), d++, p--; o(e[d], h) < 0; ) d++;
                                             for (; o(e[p], h) > 0; ) p--;
                                        }
                                        0 === o(e[n], h) ? Za(e, n, p) : Za(e, ++p, r), p <= i && (n = p + 1), i <= p && (r = p - 1);
                                   }
                              })(t, e, i || 0, n || t.length - 1, r || Ja);
                         }
                         function Za(t, e, i) {
                              var n = t[e];
                              (t[e] = t[i]), (t[i] = n);
                         }
                         function Ja(t, e) {
                              return t < e ? -1 : t > e ? 1 : 0;
                         }
                         function Ka(t, e) {
                              var i = t.length;
                              if (i <= 1) return [t];
                              for (var n, r, o = [], a = 0; a < i; a++) {
                                   var s = k(t[a]);
                                   0 !== s && ((t[a].area = Math.abs(s)), void 0 === r && (r = s < 0), r === s < 0 ? (n && o.push(n), (n = [t[a]])) : n.push(t[a]));
                              }
                              if ((n && o.push(n), e > 1)) for (var l = 0; l < o.length; l++) o[l].length <= e || (Ga(o[l], e, 1, o[l].length - 1, Qa), (o[l] = o[l].slice(0, e)));
                              return o;
                         }
                         function Qa(t, e) {
                              return e.area - t.area;
                         }
                         function ts(t, e, i) {
                              for (var n = i.patternDependencies, r = !1, o = 0, a = e; o < a.length; o += 1) {
                                   var s = a[o].paint.get(t + "-pattern");
                                   s.isConstant() || (r = !0);
                                   var l = s.constantOr(null);
                                   l && ((r = !0), (n[l.to] = !0), (n[l.from] = !0));
                              }
                              return r;
                         }
                         function es(t, e, i, n, r) {
                              for (var o = r.patternDependencies, a = 0, s = e; a < s.length; a += 1) {
                                   var l = s[a],
                                        c = l.paint.get(t + "-pattern").value;
                                   if ("constant" !== c.kind) {
                                        var u = c.evaluate({ zoom: n - 1 }, i, {}, r.availableImages),
                                             h = c.evaluate({ zoom: n }, i, {}, r.availableImages),
                                             d = c.evaluate({ zoom: n + 1 }, i, {}, r.availableImages);
                                        (h = h && h.name ? h.name : h), (d = d && d.name ? d.name : d), (o[(u = u && u.name ? u.name : u)] = !0), (o[h] = !0), (o[d] = !0), (i.patterns[l.id] = { min: u, mid: h, max: d });
                                   }
                              }
                              return i;
                         }
                         (ka.deviation = function (t, e, i, n) {
                              var r = e && e.length,
                                   o = Math.abs(Xa(t, 0, r ? e[0] * i : t.length, i));
                              if (r) for (var a = 0, s = e.length; a < s; a++) o -= Math.abs(Xa(t, e[a] * i, a < s - 1 ? e[a + 1] * i : t.length, i));
                              var l = 0;
                              for (a = 0; a < n.length; a += 3) {
                                   var c = n[a] * i,
                                        u = n[a + 1] * i,
                                        h = n[a + 2] * i;
                                   l += Math.abs((t[c] - t[h]) * (t[u + 1] - t[c + 1]) - (t[c] - t[u]) * (t[h + 1] - t[c + 1]));
                              }
                              return 0 === o && 0 === l ? 0 : Math.abs((l - o) / o);
                         }),
                              (ka.flatten = function (t) {
                                   for (var e = t[0][0].length, i = { vertices: [], holes: [], dimensions: e }, n = 0, r = 0; r < t.length; r++) {
                                        for (var o = 0; o < t[r].length; o++) for (var a = 0; a < e; a++) i.vertices.push(t[r][o][a]);
                                        r > 0 && i.holes.push((n += t[r - 1].length));
                                   }
                                   return i;
                              }),
                              (xa.default = wa);
                         var is = function (t) {
                              (this.zoom = t.zoom),
                                   (this.overscaling = t.overscaling),
                                   (this.layers = t.layers),
                                   (this.layerIds = this.layers.map(function (t) {
                                        return t.id;
                                   })),
                                   (this.index = t.index),
                                   (this.hasPattern = !1),
                                   (this.patternFeatures = []),
                                   (this.layoutVertexArray = new Mr()),
                                   (this.indexArray = new Rr()),
                                   (this.indexArray2 = new Wr()),
                                   (this.programConfigurations = new Po(_a, t.layers, t.zoom)),
                                   (this.segments = new ro()),
                                   (this.segments2 = new ro()),
                                   (this.stateDependentLayerIds = this.layers
                                        .filter(function (t) {
                                             return t.isStateDependent();
                                        })
                                        .map(function (t) {
                                             return t.id;
                                        }));
                         };
                         (is.prototype.populate = function (t, e, i) {
                              this.hasPattern = ts("fill", this.layers, e);
                              for (var n = this.layers[0].layout.get("fill-sort-key"), r = [], o = 0, a = t; o < a.length; o += 1) {
                                   var s = a[o],
                                        l = s.feature,
                                        c = s.id,
                                        u = s.index,
                                        h = s.sourceLayerIndex,
                                        d = this.layers[0]._featureFilter.needGeometry,
                                        p = { type: l.type, id: c, properties: l.properties, geometry: d ? zo(l) : [] };
                                   if (this.layers[0]._featureFilter.filter(new rr(this.zoom), p, i)) {
                                        d || (p.geometry = zo(l));
                                        var f = n ? n.evaluate(p, {}, i, e.availableImages) : void 0;
                                        r.push({ id: c, properties: l.properties, type: l.type, sourceLayerIndex: h, index: u, geometry: p.geometry, patterns: {}, sortKey: f });
                                   }
                              }
                              n &&
                                   r.sort(function (t, e) {
                                        return t.sortKey - e.sortKey;
                                   });
                              for (var m = 0, g = r; m < g.length; m += 1) {
                                   var v = g[m],
                                        y = v.geometry,
                                        b = v.index,
                                        _ = v.sourceLayerIndex;
                                   if (this.hasPattern) {
                                        var x = es("fill", this.layers, v, this.zoom, e);
                                        this.patternFeatures.push(x);
                                   } else this.addFeature(v, y, b, i, {});
                                   e.featureIndex.insert(t[b].feature, y, b, _, this.index);
                              }
                         }),
                              (is.prototype.update = function (t, e, i) {
                                   this.stateDependentLayers.length && this.programConfigurations.updatePaintArrays(t, e, this.stateDependentLayers, i);
                              }),
                              (is.prototype.addFeatures = function (t, e, i) {
                                   for (var n = 0, r = this.patternFeatures; n < r.length; n += 1) {
                                        var o = r[n];
                                        this.addFeature(o, o.geometry, o.index, e, i);
                                   }
                              }),
                              (is.prototype.isEmpty = function () {
                                   return 0 === this.layoutVertexArray.length;
                              }),
                              (is.prototype.uploadPending = function () {
                                   return !this.uploaded || this.programConfigurations.needsUpload;
                              }),
                              (is.prototype.upload = function (t) {
                                   this.uploaded ||
                                        ((this.layoutVertexBuffer = t.createVertexBuffer(this.layoutVertexArray, _a)), (this.indexBuffer = t.createIndexBuffer(this.indexArray)), (this.indexBuffer2 = t.createIndexBuffer(this.indexArray2))),
                                        this.programConfigurations.upload(t),
                                        (this.uploaded = !0);
                              }),
                              (is.prototype.destroy = function () {
                                   this.layoutVertexBuffer &&
                                        (this.layoutVertexBuffer.destroy(), this.indexBuffer.destroy(), this.indexBuffer2.destroy(), this.programConfigurations.destroy(), this.segments.destroy(), this.segments2.destroy());
                              }),
                              (is.prototype.addFeature = function (t, e, i, n, r) {
                                   for (var o = 0, a = Ka(e, 500); o < a.length; o += 1) {
                                        for (var s = a[o], l = 0, c = 0, u = s; c < u.length; c += 1) l += u[c].length;
                                        for (var h = this.segments.prepareSegment(l, this.layoutVertexArray, this.indexArray), d = h.vertexLength, p = [], f = [], m = 0, g = s; m < g.length; m += 1) {
                                             var v = g[m];
                                             if (0 !== v.length) {
                                                  v !== s[0] && f.push(p.length / 2);
                                                  var y = this.segments2.prepareSegment(v.length, this.layoutVertexArray, this.indexArray2),
                                                       b = y.vertexLength;
                                                  this.layoutVertexArray.emplaceBack(v[0].x, v[0].y), this.indexArray2.emplaceBack(b + v.length - 1, b), p.push(v[0].x), p.push(v[0].y);
                                                  for (var _ = 1; _ < v.length; _++) this.layoutVertexArray.emplaceBack(v[_].x, v[_].y), this.indexArray2.emplaceBack(b + _ - 1, b + _), p.push(v[_].x), p.push(v[_].y);
                                                  (y.vertexLength += v.length), (y.primitiveLength += v.length);
                                             }
                                        }
                                        for (var x = xa(p, f), w = 0; w < x.length; w += 3) this.indexArray.emplaceBack(d + x[w], d + x[w + 1], d + x[w + 2]);
                                        (h.vertexLength += l), (h.primitiveLength += x.length / 3);
                                   }
                                   this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length, t, i, r, n);
                              }),
                              Yn("FillBucket", is, { omit: ["layers", "patternFeatures"] });
                         var ns = new yr({ "fill-sort-key": new fr(Tt.layout_fill["fill-sort-key"]) }),
                              rs = {
                                   paint: new yr({
                                        "fill-antialias": new pr(Tt.paint_fill["fill-antialias"]),
                                        "fill-opacity": new fr(Tt.paint_fill["fill-opacity"]),
                                        "fill-color": new fr(Tt.paint_fill["fill-color"]),
                                        "fill-outline-color": new fr(Tt.paint_fill["fill-outline-color"]),
                                        "fill-translate": new pr(Tt.paint_fill["fill-translate"]),
                                        "fill-translate-anchor": new pr(Tt.paint_fill["fill-translate-anchor"]),
                                        "fill-pattern": new mr(Tt.paint_fill["fill-pattern"]),
                                   }),
                                   layout: ns,
                              },
                              os = (function (t) {
                                   function e(e) {
                                        t.call(this, e, rs);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.recalculate = function (e, i) {
                                             t.prototype.recalculate.call(this, e, i);
                                             var n = this.paint._values["fill-outline-color"];
                                             "constant" === n.value.kind && void 0 === n.value.value && (this.paint._values["fill-outline-color"] = this.paint._values["fill-color"]);
                                        }),
                                        (e.prototype.createBucket = function (t) {
                                             return new is(t);
                                        }),
                                        (e.prototype.queryRadius = function () {
                                             return Jo(this.paint.get("fill-translate"));
                                        }),
                                        (e.prototype.queryIntersectsFeature = function (t, e, i, n, r, o, a) {
                                             return No(Ko(t, this.paint.get("fill-translate"), this.paint.get("fill-translate-anchor"), o.angle, a), n);
                                        }),
                                        (e.prototype.isTileClipped = function () {
                                             return !0;
                                        }),
                                        e
                                   );
                              })(br),
                              as = kr(
                                   [
                                        { name: "a_pos", components: 2, type: "Int16" },
                                        { name: "a_normal_ed", components: 4, type: "Int16" },
                                   ],
                                   4
                              ).members,
                              ss = ls;
                         function ls(t, e, i, n, r) {
                              (this.properties = {}), (this.extent = i), (this.type = 0), (this._pbf = t), (this._geometry = -1), (this._keys = n), (this._values = r), t.readFields(cs, this, e);
                         }
                         function cs(t, e, i) {
                              1 == t
                                   ? (e.id = i.readVarint())
                                   : 2 == t
                                   ? (function (t, e) {
                                          for (var i = t.readVarint() + t.pos; t.pos < i; ) {
                                               var n = e._keys[t.readVarint()],
                                                    r = e._values[t.readVarint()];
                                               e.properties[n] = r;
                                          }
                                     })(i, e)
                                   : 3 == t
                                   ? (e.type = i.readVarint())
                                   : 4 == t && (e._geometry = i.pos);
                         }
                         function us(t) {
                              for (var e, i, n = 0, r = 0, o = t.length, a = o - 1; r < o; a = r++) n += ((i = t[a]).x - (e = t[r]).x) * (e.y + i.y);
                              return n;
                         }
                         (ls.types = ["Unknown", "Point", "LineString", "Polygon"]),
                              (ls.prototype.loadGeometry = function () {
                                   var t = this._pbf;
                                   t.pos = this._geometry;
                                   for (var e, i = t.readVarint() + t.pos, n = 1, o = 0, a = 0, s = 0, l = []; t.pos < i; ) {
                                        if (o <= 0) {
                                             var c = t.readVarint();
                                             (n = 7 & c), (o = c >> 3);
                                        }
                                        if ((o--, 1 === n || 2 === n)) (a += t.readSVarint()), (s += t.readSVarint()), 1 === n && (e && l.push(e), (e = [])), e.push(new r(a, s));
                                        else {
                                             if (7 !== n) throw new Error("unknown command " + n);
                                             e && e.push(e[0].clone());
                                        }
                                   }
                                   return e && l.push(e), l;
                              }),
                              (ls.prototype.bbox = function () {
                                   var t = this._pbf;
                                   t.pos = this._geometry;
                                   for (var e = t.readVarint() + t.pos, i = 1, n = 0, r = 0, o = 0, a = 1 / 0, s = -1 / 0, l = 1 / 0, c = -1 / 0; t.pos < e; ) {
                                        if (n <= 0) {
                                             var u = t.readVarint();
                                             (i = 7 & u), (n = u >> 3);
                                        }
                                        if ((n--, 1 === i || 2 === i)) (r += t.readSVarint()) < a && (a = r), r > s && (s = r), (o += t.readSVarint()) < l && (l = o), o > c && (c = o);
                                        else if (7 !== i) throw new Error("unknown command " + i);
                                   }
                                   return [a, l, s, c];
                              }),
                              (ls.prototype.toGeoJSON = function (t, e, i) {
                                   var n,
                                        r,
                                        o = this.extent * Math.pow(2, i),
                                        a = this.extent * t,
                                        s = this.extent * e,
                                        l = this.loadGeometry(),
                                        c = ls.types[this.type];
                                   function u(t) {
                                        for (var e = 0; e < t.length; e++) {
                                             var i = t[e];
                                             t[e] = [(360 * (i.x + a)) / o - 180, (360 / Math.PI) * Math.atan(Math.exp(((180 - (360 * (i.y + s)) / o) * Math.PI) / 180)) - 90];
                                        }
                                   }
                                   switch (this.type) {
                                        case 1:
                                             var h = [];
                                             for (n = 0; n < l.length; n++) h[n] = l[n][0];
                                             u((l = h));
                                             break;
                                        case 2:
                                             for (n = 0; n < l.length; n++) u(l[n]);
                                             break;
                                        case 3:
                                             for (
                                                  l = (function (t) {
                                                       var e = t.length;
                                                       if (e <= 1) return [t];
                                                       for (var i, n, r = [], o = 0; o < e; o++) {
                                                            var a = us(t[o]);
                                                            0 !== a && (void 0 === n && (n = a < 0), n === a < 0 ? (i && r.push(i), (i = [t[o]])) : i.push(t[o]));
                                                       }
                                                       return i && r.push(i), r;
                                                  })(l),
                                                       n = 0;
                                                  n < l.length;
                                                  n++
                                             )
                                                  for (r = 0; r < l[n].length; r++) u(l[n][r]);
                                   }
                                   1 === l.length ? (l = l[0]) : (c = "Multi" + c);
                                   var d = { type: "Feature", geometry: { type: c, coordinates: l }, properties: this.properties };
                                   return "id" in this && (d.id = this.id), d;
                              });
                         var hs = ds;
                         function ds(t, e) {
                              (this.version = 1),
                                   (this.name = null),
                                   (this.extent = 4096),
                                   (this.length = 0),
                                   (this._pbf = t),
                                   (this._keys = []),
                                   (this._values = []),
                                   (this._features = []),
                                   t.readFields(ps, this, e),
                                   (this.length = this._features.length);
                         }
                         function ps(t, e, i) {
                              15 === t
                                   ? (e.version = i.readVarint())
                                   : 1 === t
                                   ? (e.name = i.readString())
                                   : 5 === t
                                   ? (e.extent = i.readVarint())
                                   : 2 === t
                                   ? e._features.push(i.pos)
                                   : 3 === t
                                   ? e._keys.push(i.readString())
                                   : 4 === t &&
                                     e._values.push(
                                          (function (t) {
                                               for (var e = null, i = t.readVarint() + t.pos; t.pos < i; ) {
                                                    var n = t.readVarint() >> 3;
                                                    e =
                                                         1 === n
                                                              ? t.readString()
                                                              : 2 === n
                                                              ? t.readFloat()
                                                              : 3 === n
                                                              ? t.readDouble()
                                                              : 4 === n
                                                              ? t.readVarint64()
                                                              : 5 === n
                                                              ? t.readVarint()
                                                              : 6 === n
                                                              ? t.readSVarint()
                                                              : 7 === n
                                                              ? t.readBoolean()
                                                              : null;
                                               }
                                               return e;
                                          })(i)
                                     );
                         }
                         function fs(t, e, i) {
                              if (3 === t) {
                                   var n = new hs(i, i.readVarint() + i.pos);
                                   n.length && (e[n.name] = n);
                              }
                         }
                         ds.prototype.feature = function (t) {
                              if (t < 0 || t >= this._features.length) throw new Error("feature index out of bounds");
                              this._pbf.pos = this._features[t];
                              var e = this._pbf.readVarint() + this._pbf.pos;
                              return new ss(this._pbf, e, this.extent, this._keys, this._values);
                         };
                         var ms = {
                                   VectorTile: function (t, e) {
                                        this.layers = t.readFields(fs, {}, e);
                                   },
                                   VectorTileFeature: ss,
                                   VectorTileLayer: hs,
                              },
                              gs = ms.VectorTileFeature.types,
                              vs = Math.pow(2, 13);
                         function ys(t, e, i, n, r, o, a, s) {
                              t.emplaceBack(e, i, 2 * Math.floor(n * vs) + a, r * vs * 2, o * vs * 2, Math.round(s));
                         }
                         var bs = function (t) {
                              (this.zoom = t.zoom),
                                   (this.overscaling = t.overscaling),
                                   (this.layers = t.layers),
                                   (this.layerIds = this.layers.map(function (t) {
                                        return t.id;
                                   })),
                                   (this.index = t.index),
                                   (this.hasPattern = !1),
                                   (this.layoutVertexArray = new Cr()),
                                   (this.indexArray = new Rr()),
                                   (this.programConfigurations = new Po(as, t.layers, t.zoom)),
                                   (this.segments = new ro()),
                                   (this.stateDependentLayerIds = this.layers
                                        .filter(function (t) {
                                             return t.isStateDependent();
                                        })
                                        .map(function (t) {
                                             return t.id;
                                        }));
                         };
                         function _s(t, e) {
                              return (t.x === e.x && (t.x < 0 || t.x > 8192)) || (t.y === e.y && (t.y < 0 || t.y > 8192));
                         }
                         (bs.prototype.populate = function (t, e, i) {
                              (this.features = []), (this.hasPattern = ts("fill-extrusion", this.layers, e));
                              for (var n = 0, r = t; n < r.length; n += 1) {
                                   var o = r[n],
                                        a = o.feature,
                                        s = o.id,
                                        l = o.index,
                                        c = o.sourceLayerIndex,
                                        u = this.layers[0]._featureFilter.needGeometry,
                                        h = { type: a.type, id: s, properties: a.properties, geometry: u ? zo(a) : [] };
                                   if (this.layers[0]._featureFilter.filter(new rr(this.zoom), h, i)) {
                                        var d = { id: s, sourceLayerIndex: c, index: l, geometry: u ? h.geometry : zo(a), properties: a.properties, type: a.type, patterns: {} };
                                        void 0 !== a.id && (d.id = a.id),
                                             this.hasPattern ? this.features.push(es("fill-extrusion", this.layers, d, this.zoom, e)) : this.addFeature(d, d.geometry, l, i, {}),
                                             e.featureIndex.insert(a, d.geometry, l, c, this.index, !0);
                                   }
                              }
                         }),
                              (bs.prototype.addFeatures = function (t, e, i) {
                                   for (var n = 0, r = this.features; n < r.length; n += 1) {
                                        var o = r[n];
                                        this.addFeature(o, o.geometry, o.index, e, i);
                                   }
                              }),
                              (bs.prototype.update = function (t, e, i) {
                                   this.stateDependentLayers.length && this.programConfigurations.updatePaintArrays(t, e, this.stateDependentLayers, i);
                              }),
                              (bs.prototype.isEmpty = function () {
                                   return 0 === this.layoutVertexArray.length;
                              }),
                              (bs.prototype.uploadPending = function () {
                                   return !this.uploaded || this.programConfigurations.needsUpload;
                              }),
                              (bs.prototype.upload = function (t) {
                                   this.uploaded || ((this.layoutVertexBuffer = t.createVertexBuffer(this.layoutVertexArray, as)), (this.indexBuffer = t.createIndexBuffer(this.indexArray))),
                                        this.programConfigurations.upload(t),
                                        (this.uploaded = !0);
                              }),
                              (bs.prototype.destroy = function () {
                                   this.layoutVertexBuffer && (this.layoutVertexBuffer.destroy(), this.indexBuffer.destroy(), this.programConfigurations.destroy(), this.segments.destroy());
                              }),
                              (bs.prototype.addFeature = function (t, e, i, n, r) {
                                   for (var o = 0, a = Ka(e, 500); o < a.length; o += 1) {
                                        for (var s = a[o], l = 0, c = 0, u = s; c < u.length; c += 1) l += u[c].length;
                                        for (var h = this.segments.prepareSegment(4, this.layoutVertexArray, this.indexArray), d = 0, p = s; d < p.length; d += 1) {
                                             var f = p[d];
                                             if (
                                                  0 !== f.length &&
                                                  !(
                                                       (P = f).every(function (t) {
                                                            return t.x < 0;
                                                       }) ||
                                                       P.every(function (t) {
                                                            return t.x > 8192;
                                                       }) ||
                                                       P.every(function (t) {
                                                            return t.y < 0;
                                                       }) ||
                                                       P.every(function (t) {
                                                            return t.y > 8192;
                                                       })
                                                  )
                                             )
                                                  for (var m = 0, g = 0; g < f.length; g++) {
                                                       var v = f[g];
                                                       if (g >= 1) {
                                                            var y = f[g - 1];
                                                            if (!_s(v, y)) {
                                                                 h.vertexLength + 4 > ro.MAX_VERTEX_ARRAY_LENGTH && (h = this.segments.prepareSegment(4, this.layoutVertexArray, this.indexArray));
                                                                 var b = v.sub(y)._perp()._unit(),
                                                                      _ = y.dist(v);
                                                                 m + _ > 32768 && (m = 0),
                                                                      ys(this.layoutVertexArray, v.x, v.y, b.x, b.y, 0, 0, m),
                                                                      ys(this.layoutVertexArray, v.x, v.y, b.x, b.y, 0, 1, m),
                                                                      ys(this.layoutVertexArray, y.x, y.y, b.x, b.y, 0, 0, (m += _)),
                                                                      ys(this.layoutVertexArray, y.x, y.y, b.x, b.y, 0, 1, m);
                                                                 var x = h.vertexLength;
                                                                 this.indexArray.emplaceBack(x, x + 2, x + 1), this.indexArray.emplaceBack(x + 1, x + 2, x + 3), (h.vertexLength += 4), (h.primitiveLength += 2);
                                                            }
                                                       }
                                                  }
                                        }
                                        if ((h.vertexLength + l > ro.MAX_VERTEX_ARRAY_LENGTH && (h = this.segments.prepareSegment(l, this.layoutVertexArray, this.indexArray)), "Polygon" === gs[t.type])) {
                                             for (var w = [], k = [], S = h.vertexLength, M = 0, T = s; M < T.length; M += 1) {
                                                  var C = T[M];
                                                  if (0 !== C.length) {
                                                       C !== s[0] && k.push(w.length / 2);
                                                       for (var D = 0; D < C.length; D++) {
                                                            var L = C[D];
                                                            ys(this.layoutVertexArray, L.x, L.y, 0, 0, 1, 1, 0), w.push(L.x), w.push(L.y);
                                                       }
                                                  }
                                             }
                                             for (var E = xa(w, k), A = 0; A < E.length; A += 3) this.indexArray.emplaceBack(S + E[A], S + E[A + 2], S + E[A + 1]);
                                             (h.primitiveLength += E.length / 3), (h.vertexLength += l);
                                        }
                                   }
                                   var P;
                                   this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length, t, i, r, n);
                              }),
                              Yn("FillExtrusionBucket", bs, { omit: ["layers", "features"] });
                         var xs = {
                                   paint: new yr({
                                        "fill-extrusion-opacity": new pr(Tt["paint_fill-extrusion"]["fill-extrusion-opacity"]),
                                        "fill-extrusion-color": new fr(Tt["paint_fill-extrusion"]["fill-extrusion-color"]),
                                        "fill-extrusion-translate": new pr(Tt["paint_fill-extrusion"]["fill-extrusion-translate"]),
                                        "fill-extrusion-translate-anchor": new pr(Tt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),
                                        "fill-extrusion-pattern": new mr(Tt["paint_fill-extrusion"]["fill-extrusion-pattern"]),
                                        "fill-extrusion-height": new fr(Tt["paint_fill-extrusion"]["fill-extrusion-height"]),
                                        "fill-extrusion-base": new fr(Tt["paint_fill-extrusion"]["fill-extrusion-base"]),
                                        "fill-extrusion-vertical-gradient": new pr(Tt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"]),
                                   }),
                              },
                              ws = (function (t) {
                                   function e(e) {
                                        t.call(this, e, xs);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.createBucket = function (t) {
                                             return new bs(t);
                                        }),
                                        (e.prototype.queryRadius = function () {
                                             return Jo(this.paint.get("fill-extrusion-translate"));
                                        }),
                                        (e.prototype.is3D = function () {
                                             return !0;
                                        }),
                                        (e.prototype.queryIntersectsFeature = function (t, e, i, n, o, a, s, l) {
                                             var c = Ko(t, this.paint.get("fill-extrusion-translate"), this.paint.get("fill-extrusion-translate-anchor"), a.angle, s),
                                                  u = this.paint.get("fill-extrusion-height").evaluate(e, i),
                                                  h = this.paint.get("fill-extrusion-base").evaluate(e, i),
                                                  d = (function (t, e, i, n) {
                                                       for (var o = [], a = 0, s = t; a < s.length; a += 1) {
                                                            var l = s[a],
                                                                 c = [l.x, l.y, 0, 1];
                                                            aa(c, c, e), o.push(new r(c[0] / c[3], c[1] / c[3]));
                                                       }
                                                       return o;
                                                  })(c, l),
                                                  p = (function (t, e, i, n) {
                                                       for (var o = [], a = [], s = n[8] * e, l = n[9] * e, c = n[10] * e, u = n[11] * e, h = n[8] * i, d = n[9] * i, p = n[10] * i, f = n[11] * i, m = 0, g = t; m < g.length; m += 1) {
                                                            for (var v = [], y = [], b = 0, _ = g[m]; b < _.length; b += 1) {
                                                                 var x = _[b],
                                                                      w = x.x,
                                                                      k = x.y,
                                                                      S = n[0] * w + n[4] * k + n[12],
                                                                      M = n[1] * w + n[5] * k + n[13],
                                                                      T = n[2] * w + n[6] * k + n[14],
                                                                      C = n[3] * w + n[7] * k + n[15],
                                                                      D = T + c,
                                                                      L = C + u,
                                                                      E = S + h,
                                                                      A = M + d,
                                                                      P = T + p,
                                                                      I = C + f,
                                                                      O = new r((S + s) / L, (M + l) / L);
                                                                 (O.z = D / L), v.push(O);
                                                                 var Y = new r(E / I, A / I);
                                                                 (Y.z = P / I), y.push(Y);
                                                            }
                                                            o.push(v), a.push(y);
                                                       }
                                                       return [o, a];
                                                  })(n, h, u, l);
                                             return (function (t, e, i) {
                                                  var n = 1 / 0;
                                                  No(i, e) && (n = Ss(i, e[0]));
                                                  for (var r = 0; r < e.length; r++)
                                                       for (var o = e[r], a = t[r], s = 0; s < o.length - 1; s++) {
                                                            var l = o[s],
                                                                 c = [l, o[s + 1], a[s + 1], a[s], l];
                                                            Ho(i, c) && (n = Math.min(n, Ss(i, c)));
                                                       }
                                                  return n !== 1 / 0 && n;
                                             })(p[0], p[1], d);
                                        }),
                                        e
                                   );
                              })(br);
                         function ks(t, e) {
                              return t.x * e.x + t.y * e.y;
                         }
                         function Ss(t, e) {
                              if (1 === t.length) {
                                   for (var i, n = 0, r = e[n++]; !i || r.equals(i); ) if (!(i = e[n++])) return 1 / 0;
                                   for (; n < e.length; n++) {
                                        var o = e[n],
                                             a = t[0],
                                             s = i.sub(r),
                                             l = o.sub(r),
                                             c = a.sub(r),
                                             u = ks(s, s),
                                             h = ks(s, l),
                                             d = ks(l, l),
                                             p = ks(c, s),
                                             f = ks(c, l),
                                             m = u * d - h * h,
                                             g = (d * p - h * f) / m,
                                             v = (u * f - h * p) / m,
                                             y = r.z * (1 - g - v) + i.z * g + o.z * v;
                                        if (isFinite(y)) return y;
                                   }
                                   return 1 / 0;
                              }
                              for (var b = 1 / 0, _ = 0, x = e; _ < x.length; _ += 1) b = Math.min(b, x[_].z);
                              return b;
                         }
                         var Ms = kr(
                                   [
                                        { name: "a_pos_normal", components: 2, type: "Int16" },
                                        { name: "a_data", components: 4, type: "Uint8" },
                                   ],
                                   4
                              ).members,
                              Ts = ms.VectorTileFeature.types,
                              Cs = Math.cos((Math.PI / 180) * 37.5),
                              Ds = Math.pow(2, 14) / 0.5,
                              Ls = function (t) {
                                   (this.zoom = t.zoom),
                                        (this.overscaling = t.overscaling),
                                        (this.layers = t.layers),
                                        (this.layerIds = this.layers.map(function (t) {
                                             return t.id;
                                        })),
                                        (this.index = t.index),
                                        (this.hasPattern = !1),
                                        (this.patternFeatures = []),
                                        (this.layoutVertexArray = new Dr()),
                                        (this.indexArray = new Rr()),
                                        (this.programConfigurations = new Po(Ms, t.layers, t.zoom)),
                                        (this.segments = new ro()),
                                        (this.stateDependentLayerIds = this.layers
                                             .filter(function (t) {
                                                  return t.isStateDependent();
                                             })
                                             .map(function (t) {
                                                  return t.id;
                                             }));
                              };
                         (Ls.prototype.populate = function (t, e, i) {
                              this.hasPattern = ts("line", this.layers, e);
                              for (var n = this.layers[0].layout.get("line-sort-key"), r = [], o = 0, a = t; o < a.length; o += 1) {
                                   var s = a[o],
                                        l = s.feature,
                                        c = s.id,
                                        u = s.index,
                                        h = s.sourceLayerIndex,
                                        d = this.layers[0]._featureFilter.needGeometry,
                                        p = { type: l.type, id: c, properties: l.properties, geometry: d ? zo(l) : [] };
                                   if (this.layers[0]._featureFilter.filter(new rr(this.zoom), p, i)) {
                                        d || (p.geometry = zo(l));
                                        var f = n ? n.evaluate(p, {}, i) : void 0;
                                        r.push({ id: c, properties: l.properties, type: l.type, sourceLayerIndex: h, index: u, geometry: p.geometry, patterns: {}, sortKey: f });
                                   }
                              }
                              n &&
                                   r.sort(function (t, e) {
                                        return t.sortKey - e.sortKey;
                                   });
                              for (var m = 0, g = r; m < g.length; m += 1) {
                                   var v = g[m],
                                        y = v.geometry,
                                        b = v.index,
                                        _ = v.sourceLayerIndex;
                                   if (this.hasPattern) {
                                        var x = es("line", this.layers, v, this.zoom, e);
                                        this.patternFeatures.push(x);
                                   } else this.addFeature(v, y, b, i, {});
                                   e.featureIndex.insert(t[b].feature, y, b, _, this.index);
                              }
                         }),
                              (Ls.prototype.update = function (t, e, i) {
                                   this.stateDependentLayers.length && this.programConfigurations.updatePaintArrays(t, e, this.stateDependentLayers, i);
                              }),
                              (Ls.prototype.addFeatures = function (t, e, i) {
                                   for (var n = 0, r = this.patternFeatures; n < r.length; n += 1) {
                                        var o = r[n];
                                        this.addFeature(o, o.geometry, o.index, e, i);
                                   }
                              }),
                              (Ls.prototype.isEmpty = function () {
                                   return 0 === this.layoutVertexArray.length;
                              }),
                              (Ls.prototype.uploadPending = function () {
                                   return !this.uploaded || this.programConfigurations.needsUpload;
                              }),
                              (Ls.prototype.upload = function (t) {
                                   this.uploaded || ((this.layoutVertexBuffer = t.createVertexBuffer(this.layoutVertexArray, Ms)), (this.indexBuffer = t.createIndexBuffer(this.indexArray))),
                                        this.programConfigurations.upload(t),
                                        (this.uploaded = !0);
                              }),
                              (Ls.prototype.destroy = function () {
                                   this.layoutVertexBuffer && (this.layoutVertexBuffer.destroy(), this.indexBuffer.destroy(), this.programConfigurations.destroy(), this.segments.destroy());
                              }),
                              (Ls.prototype.addFeature = function (t, e, i, n, r) {
                                   for (var o = this.layers[0].layout, a = o.get("line-join").evaluate(t, {}), s = o.get("line-cap"), l = o.get("line-miter-limit"), c = o.get("line-round-limit"), u = 0, h = e; u < h.length; u += 1)
                                        this.addLine(h[u], t, a, s, l, c);
                                   this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length, t, i, r, n);
                              }),
                              (Ls.prototype.addLine = function (t, e, i, n, r, o) {
                                   if (((this.distance = 0), (this.scaledDistance = 0), (this.totalDistance = 0), e.properties && e.properties.hasOwnProperty("mapbox_clip_start") && e.properties.hasOwnProperty("mapbox_clip_end"))) {
                                        (this.clipStart = +e.properties.mapbox_clip_start), (this.clipEnd = +e.properties.mapbox_clip_end);
                                        for (var a = 0; a < t.length - 1; a++) this.totalDistance += t[a].dist(t[a + 1]);
                                        this.updateScaledDistance();
                                   }
                                   for (var s = "Polygon" === Ts[e.type], l = t.length; l >= 2 && t[l - 1].equals(t[l - 2]); ) l--;
                                   for (var c = 0; c < l - 1 && t[c].equals(t[c + 1]); ) c++;
                                   if (!(l < (s ? 3 : 2))) {
                                        "bevel" === i && (r = 1.05);
                                        var u,
                                             h = this.overscaling <= 16 ? 122880 / (512 * this.overscaling) : 0,
                                             d = this.segments.prepareSegment(10 * l, this.layoutVertexArray, this.indexArray),
                                             p = void 0,
                                             f = void 0,
                                             m = void 0,
                                             g = void 0;
                                        (this.e1 = this.e2 = -1),
                                             s &&
                                                  (g = t[c]
                                                       .sub((u = t[l - 2]))
                                                       ._unit()
                                                       ._perp());
                                        for (var v = c; v < l; v++)
                                             if (!(f = v === l - 1 ? (s ? t[c + 1] : void 0) : t[v + 1]) || !t[v].equals(f)) {
                                                  g && (m = g), u && (p = u), (u = t[v]), (g = f ? f.sub(u)._unit()._perp() : m);
                                                  var y = (m = m || g).add(g);
                                                  (0 === y.x && 0 === y.y) || y._unit();
                                                  var b = m.x * g.x + m.y * g.y,
                                                       _ = y.x * g.x + y.y * g.y,
                                                       x = 0 !== _ ? 1 / _ : 1 / 0,
                                                       w = 2 * Math.sqrt(2 - 2 * _),
                                                       k = _ < Cs && p && f,
                                                       S = m.x * g.y - m.y * g.x > 0;
                                                  if (k && v > c) {
                                                       var M = u.dist(p);
                                                       if (M > 2 * h) {
                                                            var T = u.sub(
                                                                 u
                                                                      .sub(p)
                                                                      ._mult(h / M)
                                                                      ._round()
                                                            );
                                                            this.updateDistance(p, T), this.addCurrentVertex(T, m, 0, 0, d), (p = T);
                                                       }
                                                  }
                                                  var C = p && f,
                                                       D = C ? i : s ? "butt" : n;
                                                  if (
                                                       (C && "round" === D && (x < o ? (D = "miter") : x <= 2 && (D = "fakeround")),
                                                       "miter" === D && x > r && (D = "bevel"),
                                                       "bevel" === D && (x > 2 && (D = "flipbevel"), x < r && (D = "miter")),
                                                       p && this.updateDistance(p, u),
                                                       "miter" === D)
                                                  )
                                                       y._mult(x), this.addCurrentVertex(u, y, 0, 0, d);
                                                  else if ("flipbevel" === D) {
                                                       if (x > 100) y = g.mult(-1);
                                                       else {
                                                            var L = (x * m.add(g).mag()) / m.sub(g).mag();
                                                            y._perp()._mult(L * (S ? -1 : 1));
                                                       }
                                                       this.addCurrentVertex(u, y, 0, 0, d), this.addCurrentVertex(u, y.mult(-1), 0, 0, d);
                                                  } else if ("bevel" === D || "fakeround" === D) {
                                                       var E = -Math.sqrt(x * x - 1),
                                                            A = S ? E : 0,
                                                            P = S ? 0 : E;
                                                       if ((p && this.addCurrentVertex(u, m, A, P, d), "fakeround" === D))
                                                            for (var I = Math.round((180 * w) / Math.PI / 20), O = 1; O < I; O++) {
                                                                 var Y = O / I;
                                                                 if (0.5 !== Y) {
                                                                      var z = Y - 0.5;
                                                                      Y += Y * z * (Y - 1) * ((1.0904 + b * (b * (3.55645 - 1.43519 * b) - 3.2452)) * z * z + (0.848013 + b * (0.215638 * b - 1.06021)));
                                                                 }
                                                                 var R = g
                                                                      .sub(m)
                                                                      ._mult(Y)
                                                                      ._add(m)
                                                                      ._unit()
                                                                      ._mult(S ? -1 : 1);
                                                                 this.addHalfVertex(u, R.x, R.y, !1, S, 0, d);
                                                            }
                                                       f && this.addCurrentVertex(u, g, -A, -P, d);
                                                  } else if ("butt" === D) this.addCurrentVertex(u, y, 0, 0, d);
                                                  else if ("square" === D) {
                                                       var F = p ? 1 : -1;
                                                       this.addCurrentVertex(u, y, F, F, d);
                                                  } else
                                                       "round" === D &&
                                                            (p && (this.addCurrentVertex(u, m, 0, 0, d), this.addCurrentVertex(u, m, 1, 1, d, !0)), f && (this.addCurrentVertex(u, g, -1, -1, d, !0), this.addCurrentVertex(u, g, 0, 0, d)));
                                                  if (k && v < l - 1) {
                                                       var H = u.dist(f);
                                                       if (H > 2 * h) {
                                                            var j = u.add(
                                                                 f
                                                                      .sub(u)
                                                                      ._mult(h / H)
                                                                      ._round()
                                                            );
                                                            this.updateDistance(u, j), this.addCurrentVertex(j, g, 0, 0, d), (u = j);
                                                       }
                                                  }
                                             }
                                   }
                              }),
                              (Ls.prototype.addCurrentVertex = function (t, e, i, n, r, o) {
                                   void 0 === o && (o = !1);
                                   var a = e.y * n - e.x,
                                        s = -e.y - e.x * n;
                                   this.addHalfVertex(t, e.x + e.y * i, e.y - e.x * i, o, !1, i, r),
                                        this.addHalfVertex(t, a, s, o, !0, -n, r),
                                        this.distance > Ds / 2 && 0 === this.totalDistance && ((this.distance = 0), this.addCurrentVertex(t, e, i, n, r, o));
                              }),
                              (Ls.prototype.addHalfVertex = function (t, e, i, n, r, o, a) {
                                   var s = 0.5 * this.scaledDistance;
                                   this.layoutVertexArray.emplaceBack((t.x << 1) + (n ? 1 : 0), (t.y << 1) + (r ? 1 : 0), Math.round(63 * e) + 128, Math.round(63 * i) + 128, (1 + (0 === o ? 0 : o < 0 ? -1 : 1)) | ((63 & s) << 2), s >> 6);
                                   var l = a.vertexLength++;
                                   this.e1 >= 0 && this.e2 >= 0 && (this.indexArray.emplaceBack(this.e1, this.e2, l), a.primitiveLength++), r ? (this.e2 = l) : (this.e1 = l);
                              }),
                              (Ls.prototype.updateScaledDistance = function () {
                                   this.scaledDistance = this.totalDistance > 0 ? (this.clipStart + ((this.clipEnd - this.clipStart) * this.distance) / this.totalDistance) * (Ds - 1) : this.distance;
                              }),
                              (Ls.prototype.updateDistance = function (t, e) {
                                   (this.distance += t.dist(e)), this.updateScaledDistance();
                              }),
                              Yn("LineBucket", Ls, { omit: ["layers", "patternFeatures"] });
                         var Es = new yr({
                                   "line-cap": new pr(Tt.layout_line["line-cap"]),
                                   "line-join": new fr(Tt.layout_line["line-join"]),
                                   "line-miter-limit": new pr(Tt.layout_line["line-miter-limit"]),
                                   "line-round-limit": new pr(Tt.layout_line["line-round-limit"]),
                                   "line-sort-key": new fr(Tt.layout_line["line-sort-key"]),
                              }),
                              As = {
                                   paint: new yr({
                                        "line-opacity": new fr(Tt.paint_line["line-opacity"]),
                                        "line-color": new fr(Tt.paint_line["line-color"]),
                                        "line-translate": new pr(Tt.paint_line["line-translate"]),
                                        "line-translate-anchor": new pr(Tt.paint_line["line-translate-anchor"]),
                                        "line-width": new fr(Tt.paint_line["line-width"]),
                                        "line-gap-width": new fr(Tt.paint_line["line-gap-width"]),
                                        "line-offset": new fr(Tt.paint_line["line-offset"]),
                                        "line-blur": new fr(Tt.paint_line["line-blur"]),
                                        "line-dasharray": new gr(Tt.paint_line["line-dasharray"]),
                                        "line-pattern": new mr(Tt.paint_line["line-pattern"]),
                                        "line-gradient": new vr(Tt.paint_line["line-gradient"]),
                                   }),
                                   layout: Es,
                              },
                              Ps = new ((function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.possiblyEvaluate = function (e, i) {
                                             return (i = new rr(Math.floor(i.zoom), { now: i.now, fadeDuration: i.fadeDuration, zoomHistory: i.zoomHistory, transition: i.transition })), t.prototype.possiblyEvaluate.call(this, e, i);
                                        }),
                                        (e.prototype.evaluate = function (e, i, n, r) {
                                             return (i = u({}, i, { zoom: Math.floor(i.zoom) })), t.prototype.evaluate.call(this, e, i, n, r);
                                        }),
                                        e
                                   );
                              })(fr))(As.paint.properties["line-width"].specification);
                         Ps.useIntegerZoom = !0;
                         var Is = (function (t) {
                              function e(e) {
                                   t.call(this, e, As);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype._handleSpecialPaintPropertyUpdate = function (t) {
                                        "line-gradient" === t && this._updateGradient();
                                   }),
                                   (e.prototype._updateGradient = function () {
                                        (this.gradient = ga(this._transitionablePaint._values["line-gradient"].value.expression, "lineProgress")), (this.gradientTexture = null);
                                   }),
                                   (e.prototype.recalculate = function (e, i) {
                                        t.prototype.recalculate.call(this, e, i), (this.paint._values["line-floorwidth"] = Ps.possiblyEvaluate(this._transitioningPaint._values["line-width"].value, e));
                                   }),
                                   (e.prototype.createBucket = function (t) {
                                        return new Ls(t);
                                   }),
                                   (e.prototype.queryRadius = function (t) {
                                        var e = t,
                                             i = Os(Zo("line-width", this, e), Zo("line-gap-width", this, e)),
                                             n = Zo("line-offset", this, e);
                                        return i / 2 + Math.abs(n) + Jo(this.paint.get("line-translate"));
                                   }),
                                   (e.prototype.queryIntersectsFeature = function (t, e, i, n, o, a, s) {
                                        var l = Ko(t, this.paint.get("line-translate"), this.paint.get("line-translate-anchor"), a.angle, s),
                                             c = (s / 2) * Os(this.paint.get("line-width").evaluate(e, i), this.paint.get("line-gap-width").evaluate(e, i)),
                                             u = this.paint.get("line-offset").evaluate(e, i);
                                        return (
                                             u &&
                                                  (n = (function (t, e) {
                                                       for (var i = [], n = new r(0, 0), o = 0; o < t.length; o++) {
                                                            for (var a = t[o], s = [], l = 0; l < a.length; l++) {
                                                                 var c = a[l],
                                                                      u = a[l + 1],
                                                                      h =
                                                                           0 === l
                                                                                ? n
                                                                                : c
                                                                                       .sub(a[l - 1])
                                                                                       ._unit()
                                                                                       ._perp(),
                                                                      d = l === a.length - 1 ? n : u.sub(c)._unit()._perp(),
                                                                      p = h._add(d)._unit();
                                                                 p._mult(1 / (p.x * d.x + p.y * d.y)), s.push(p._mult(e)._add(c));
                                                            }
                                                            i.push(s);
                                                       }
                                                       return i;
                                                  })(n, u * s)),
                                             (function (t, e, i) {
                                                  for (var n = 0; n < e.length; n++) {
                                                       var r = e[n];
                                                       if (t.length >= 3) for (var o = 0; o < r.length; o++) if (Xo(t, r[o])) return !0;
                                                       if (Bo(t, r, i)) return !0;
                                                  }
                                                  return !1;
                                             })(l, n, c)
                                        );
                                   }),
                                   (e.prototype.isTileClipped = function () {
                                        return !0;
                                   }),
                                   e
                              );
                         })(br);
                         function Os(t, e) {
                              return e > 0 ? e + 2 * t : t;
                         }
                         var Ys = kr(
                                   [
                                        { name: "a_pos_offset", components: 4, type: "Int16" },
                                        { name: "a_data", components: 4, type: "Uint16" },
                                        { name: "a_pixeloffset", components: 4, type: "Int16" },
                                   ],
                                   4
                              ),
                              zs = kr([{ name: "a_projected_pos", components: 3, type: "Float32" }], 4),
                              Rs =
                                   (kr([{ name: "a_fade_opacity", components: 1, type: "Uint32" }], 4),
                                   kr([
                                        { name: "a_placed", components: 2, type: "Uint8" },
                                        { name: "a_shift", components: 2, type: "Float32" },
                                   ])),
                              Fs =
                                   (kr([
                                        { type: "Int16", name: "anchorPointX" },
                                        { type: "Int16", name: "anchorPointY" },
                                        { type: "Int16", name: "x1" },
                                        { type: "Int16", name: "y1" },
                                        { type: "Int16", name: "x2" },
                                        { type: "Int16", name: "y2" },
                                        { type: "Uint32", name: "featureIndex" },
                                        { type: "Uint16", name: "sourceLayerIndex" },
                                        { type: "Uint16", name: "bucketIndex" },
                                   ]),
                                   kr(
                                        [
                                             { name: "a_pos", components: 2, type: "Int16" },
                                             { name: "a_anchor_pos", components: 2, type: "Int16" },
                                             { name: "a_extrude", components: 2, type: "Int16" },
                                        ],
                                        4
                                   )),
                              Hs = kr(
                                   [
                                        { name: "a_pos", components: 2, type: "Float32" },
                                        { name: "a_radius", components: 1, type: "Float32" },
                                        { name: "a_flags", components: 2, type: "Int16" },
                                   ],
                                   4
                              );
                         function js(t, e, i) {
                              return (
                                   t.sections.forEach(function (t) {
                                        t.text = (function (t, e, i) {
                                             var n = e.layout.get("text-transform").evaluate(i, {});
                                             return "uppercase" === n ? (t = t.toLocaleUpperCase()) : "lowercase" === n && (t = t.toLocaleLowerCase()), nr.applyArabicShaping && (t = nr.applyArabicShaping(t)), t;
                                        })(t.text, e, i);
                                   }),
                                   t
                              );
                         }
                         kr([{ name: "triangle", components: 3, type: "Uint16" }]),
                              kr([
                                   { type: "Int16", name: "anchorX" },
                                   { type: "Int16", name: "anchorY" },
                                   { type: "Uint16", name: "glyphStartIndex" },
                                   { type: "Uint16", name: "numGlyphs" },
                                   { type: "Uint32", name: "vertexStartIndex" },
                                   { type: "Uint32", name: "lineStartIndex" },
                                   { type: "Uint32", name: "lineLength" },
                                   { type: "Uint16", name: "segment" },
                                   { type: "Uint16", name: "lowerSize" },
                                   { type: "Uint16", name: "upperSize" },
                                   { type: "Float32", name: "lineOffsetX" },
                                   { type: "Float32", name: "lineOffsetY" },
                                   { type: "Uint8", name: "writingMode" },
                                   { type: "Uint8", name: "placedOrientation" },
                                   { type: "Uint8", name: "hidden" },
                                   { type: "Uint32", name: "crossTileID" },
                                   { type: "Int16", name: "associatedIconIndex" },
                              ]),
                              kr([
                                   { type: "Int16", name: "anchorX" },
                                   { type: "Int16", name: "anchorY" },
                                   { type: "Int16", name: "rightJustifiedTextSymbolIndex" },
                                   { type: "Int16", name: "centerJustifiedTextSymbolIndex" },
                                   { type: "Int16", name: "leftJustifiedTextSymbolIndex" },
                                   { type: "Int16", name: "verticalPlacedTextSymbolIndex" },
                                   { type: "Int16", name: "placedIconSymbolIndex" },
                                   { type: "Int16", name: "verticalPlacedIconSymbolIndex" },
                                   { type: "Uint16", name: "key" },
                                   { type: "Uint16", name: "textBoxStartIndex" },
                                   { type: "Uint16", name: "textBoxEndIndex" },
                                   { type: "Uint16", name: "verticalTextBoxStartIndex" },
                                   { type: "Uint16", name: "verticalTextBoxEndIndex" },
                                   { type: "Uint16", name: "iconBoxStartIndex" },
                                   { type: "Uint16", name: "iconBoxEndIndex" },
                                   { type: "Uint16", name: "verticalIconBoxStartIndex" },
                                   { type: "Uint16", name: "verticalIconBoxEndIndex" },
                                   { type: "Uint16", name: "featureIndex" },
                                   { type: "Uint16", name: "numHorizontalGlyphVertices" },
                                   { type: "Uint16", name: "numVerticalGlyphVertices" },
                                   { type: "Uint16", name: "numIconVertices" },
                                   { type: "Uint16", name: "numVerticalIconVertices" },
                                   { type: "Uint16", name: "useRuntimeCollisionCircles" },
                                   { type: "Uint32", name: "crossTileID" },
                                   { type: "Float32", name: "textBoxScale" },
                                   { type: "Float32", components: 2, name: "textOffset" },
                                   { type: "Float32", name: "collisionCircleDiameter" },
                              ]),
                              kr([{ type: "Float32", name: "offsetX" }]),
                              kr([
                                   { type: "Int16", name: "x" },
                                   { type: "Int16", name: "y" },
                                   { type: "Int16", name: "tileUnitDistanceFromAnchor" },
                              ]);
                         var Ns = {
                                   "!": "︕",
                                   "#": "＃",
                                   $: "＄",
                                   "%": "％",
                                   "&": "＆",
                                   "(": "︵",
                                   ")": "︶",
                                   "*": "＊",
                                   "+": "＋",
                                   ",": "︐",
                                   "-": "︲",
                                   ".": "・",
                                   "/": "／",
                                   ":": "︓",
                                   ";": "︔",
                                   "<": "︿",
                                   "=": "＝",
                                   ">": "﹀",
                                   "?": "︖",
                                   "@": "＠",
                                   "[": "﹇",
                                   "\\": "＼",
                                   "]": "﹈",
                                   "^": "＾",
                                   _: "︳",
                                   "`": "｀",
                                   "{": "︷",
                                   "|": "―",
                                   "}": "︸",
                                   "~": "～",
                                   "¢": "￠",
                                   "£": "￡",
                                   "¥": "￥",
                                   "¦": "￤",
                                   "¬": "￢",
                                   "¯": "￣",
                                   "–": "︲",
                                   "—": "︱",
                                   "‘": "﹃",
                                   "’": "﹄",
                                   "“": "﹁",
                                   "”": "﹂",
                                   "…": "︙",
                                   "‧": "・",
                                   "₩": "￦",
                                   "、": "︑",
                                   "。": "︒",
                                   "〈": "︿",
                                   "〉": "﹀",
                                   "《": "︽",
                                   "》": "︾",
                                   "「": "﹁",
                                   "」": "﹂",
                                   "『": "﹃",
                                   "』": "﹄",
                                   "【": "︻",
                                   "】": "︼",
                                   "〔": "︹",
                                   "〕": "︺",
                                   "〖": "︗",
                                   "〗": "︘",
                                   "！": "︕",
                                   "（": "︵",
                                   "）": "︶",
                                   "，": "︐",
                                   "－": "︲",
                                   "．": "・",
                                   "：": "︓",
                                   "；": "︔",
                                   "＜": "︿",
                                   "＞": "﹀",
                                   "？": "︖",
                                   "［": "﹇",
                                   "］": "﹈",
                                   "＿": "︳",
                                   "｛": "︷",
                                   "｜": "―",
                                   "｝": "︸",
                                   "｟": "︵",
                                   "｠": "︶",
                                   "｡": "︒",
                                   "｢": "﹁",
                                   "｣": "﹂",
                              },
                              Bs = function (t, e, i, n, r) {
                                   var o,
                                        a,
                                        s = 8 * r - n - 1,
                                        l = (1 << s) - 1,
                                        c = l >> 1,
                                        u = -7,
                                        h = i ? r - 1 : 0,
                                        d = i ? -1 : 1,
                                        p = t[e + h];
                                   for (h += d, o = p & ((1 << -u) - 1), p >>= -u, u += s; u > 0; o = 256 * o + t[e + h], h += d, u -= 8);
                                   for (a = o & ((1 << -u) - 1), o >>= -u, u += n; u > 0; a = 256 * a + t[e + h], h += d, u -= 8);
                                   if (0 === o) o = 1 - c;
                                   else {
                                        if (o === l) return a ? NaN : (1 / 0) * (p ? -1 : 1);
                                        (a += Math.pow(2, n)), (o -= c);
                                   }
                                   return (p ? -1 : 1) * a * Math.pow(2, o - n);
                              },
                              Ws = function (t, e, i, n, r, o) {
                                   var a,
                                        s,
                                        l,
                                        c = 8 * o - r - 1,
                                        u = (1 << c) - 1,
                                        h = u >> 1,
                                        d = 23 === r ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
                                        p = n ? 0 : o - 1,
                                        f = n ? 1 : -1,
                                        m = e < 0 || (0 === e && 1 / e < 0) ? 1 : 0;
                                   for (
                                        e = Math.abs(e),
                                             isNaN(e) || e === 1 / 0
                                                  ? ((s = isNaN(e) ? 1 : 0), (a = u))
                                                  : ((a = Math.floor(Math.log(e) / Math.LN2)),
                                                    e * (l = Math.pow(2, -a)) < 1 && (a--, (l *= 2)),
                                                    (e += a + h >= 1 ? d / l : d * Math.pow(2, 1 - h)) * l >= 2 && (a++, (l /= 2)),
                                                    a + h >= u ? ((s = 0), (a = u)) : a + h >= 1 ? ((s = (e * l - 1) * Math.pow(2, r)), (a += h)) : ((s = e * Math.pow(2, h - 1) * Math.pow(2, r)), (a = 0)));
                                        r >= 8;
                                        t[i + p] = 255 & s, p += f, s /= 256, r -= 8
                                   );
                                   for (a = (a << r) | s, c += r; c > 0; t[i + p] = 255 & a, p += f, a /= 256, c -= 8);
                                   t[i + p - f] |= 128 * m;
                              },
                              Vs = Us;
                         function Us(t) {
                              (this.buf = ArrayBuffer.isView && ArrayBuffer.isView(t) ? t : new Uint8Array(t || 0)), (this.pos = 0), (this.type = 0), (this.length = this.buf.length);
                         }
                         (Us.Varint = 0), (Us.Fixed64 = 1), (Us.Bytes = 2), (Us.Fixed32 = 5);
                         var qs = "undefined" == typeof TextDecoder ? null : new TextDecoder("utf8");
                         function $s(t) {
                              return t.type === Us.Bytes ? t.readVarint() + t.pos : t.pos + 1;
                         }
                         function Xs(t, e, i) {
                              return i ? 4294967296 * e + (t >>> 0) : 4294967296 * (e >>> 0) + (t >>> 0);
                         }
                         function Gs(t, e, i) {
                              var n = e <= 16383 ? 1 : e <= 2097151 ? 2 : e <= 268435455 ? 3 : Math.floor(Math.log(e) / (7 * Math.LN2));
                              i.realloc(n);
                              for (var r = i.pos - 1; r >= t; r--) i.buf[r + n] = i.buf[r];
                         }
                         function Zs(t, e) {
                              for (var i = 0; i < t.length; i++) e.writeVarint(t[i]);
                         }
                         function Js(t, e) {
                              for (var i = 0; i < t.length; i++) e.writeSVarint(t[i]);
                         }
                         function Ks(t, e) {
                              for (var i = 0; i < t.length; i++) e.writeFloat(t[i]);
                         }
                         function Qs(t, e) {
                              for (var i = 0; i < t.length; i++) e.writeDouble(t[i]);
                         }
                         function tl(t, e) {
                              for (var i = 0; i < t.length; i++) e.writeBoolean(t[i]);
                         }
                         function el(t, e) {
                              for (var i = 0; i < t.length; i++) e.writeFixed32(t[i]);
                         }
                         function il(t, e) {
                              for (var i = 0; i < t.length; i++) e.writeSFixed32(t[i]);
                         }
                         function nl(t, e) {
                              for (var i = 0; i < t.length; i++) e.writeFixed64(t[i]);
                         }
                         function rl(t, e) {
                              for (var i = 0; i < t.length; i++) e.writeSFixed64(t[i]);
                         }
                         function ol(t, e) {
                              return (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + 16777216 * t[e + 3];
                         }
                         function al(t, e, i) {
                              (t[i] = e), (t[i + 1] = e >>> 8), (t[i + 2] = e >>> 16), (t[i + 3] = e >>> 24);
                         }
                         function sl(t, e) {
                              return (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + (t[e + 3] << 24);
                         }
                         function ll(t, e, i) {
                              1 === t && i.readMessage(cl, e);
                         }
                         function cl(t, e, i) {
                              if (3 === t) {
                                   var n = i.readMessage(ul, {}),
                                        r = n.width,
                                        o = n.height,
                                        a = n.left,
                                        s = n.top,
                                        l = n.advance;
                                   e.push({ id: n.id, bitmap: new pa({ width: r + 6, height: o + 6 }, n.bitmap), metrics: { width: r, height: o, left: a, top: s, advance: l } });
                              }
                         }
                         function ul(t, e, i) {
                              1 === t
                                   ? (e.id = i.readVarint())
                                   : 2 === t
                                   ? (e.bitmap = i.readBytes())
                                   : 3 === t
                                   ? (e.width = i.readVarint())
                                   : 4 === t
                                   ? (e.height = i.readVarint())
                                   : 5 === t
                                   ? (e.left = i.readSVarint())
                                   : 6 === t
                                   ? (e.top = i.readSVarint())
                                   : 7 === t && (e.advance = i.readVarint());
                         }
                         function hl(t) {
                              for (var e = 0, i = 0, n = 0, r = t; n < r.length; n += 1) {
                                   var o = r[n];
                                   (e += o.w * o.h), (i = Math.max(i, o.w));
                              }
                              t.sort(function (t, e) {
                                   return e.h - t.h;
                              });
                              for (var a = [{ x: 0, y: 0, w: Math.max(Math.ceil(Math.sqrt(e / 0.95)), i), h: 1 / 0 }], s = 0, l = 0, c = 0, u = t; c < u.length; c += 1)
                                   for (var h = u[c], d = a.length - 1; d >= 0; d--) {
                                        var p = a[d];
                                        if (!(h.w > p.w || h.h > p.h)) {
                                             if (((h.x = p.x), (h.y = p.y), (l = Math.max(l, h.y + h.h)), (s = Math.max(s, h.x + h.w)), h.w === p.w && h.h === p.h)) {
                                                  var f = a.pop();
                                                  d < a.length && (a[d] = f);
                                             } else h.h === p.h ? ((p.x += h.w), (p.w -= h.w)) : h.w === p.w ? ((p.y += h.h), (p.h -= h.h)) : (a.push({ x: p.x + h.w, y: p.y, w: p.w - h.w, h: h.h }), (p.y += h.h), (p.h -= h.h));
                                             break;
                                        }
                                   }
                              return { w: s, h: l, fill: e / (s * l) || 0 };
                         }
                         Us.prototype = {
                              destroy: function () {
                                   this.buf = null;
                              },
                              readFields: function (t, e, i) {
                                   for (i = i || this.length; this.pos < i; ) {
                                        var n = this.readVarint(),
                                             r = n >> 3,
                                             o = this.pos;
                                        (this.type = 7 & n), t(r, e, this), this.pos === o && this.skip(n);
                                   }
                                   return e;
                              },
                              readMessage: function (t, e) {
                                   return this.readFields(t, e, this.readVarint() + this.pos);
                              },
                              readFixed32: function () {
                                   var t = ol(this.buf, this.pos);
                                   return (this.pos += 4), t;
                              },
                              readSFixed32: function () {
                                   var t = sl(this.buf, this.pos);
                                   return (this.pos += 4), t;
                              },
                              readFixed64: function () {
                                   var t = ol(this.buf, this.pos) + 4294967296 * ol(this.buf, this.pos + 4);
                                   return (this.pos += 8), t;
                              },
                              readSFixed64: function () {
                                   var t = ol(this.buf, this.pos) + 4294967296 * sl(this.buf, this.pos + 4);
                                   return (this.pos += 8), t;
                              },
                              readFloat: function () {
                                   var t = Bs(this.buf, this.pos, !0, 23, 4);
                                   return (this.pos += 4), t;
                              },
                              readDouble: function () {
                                   var t = Bs(this.buf, this.pos, !0, 52, 8);
                                   return (this.pos += 8), t;
                              },
                              readVarint: function (t) {
                                   var e,
                                        i,
                                        n = this.buf;
                                   return (
                                        (e = 127 & (i = n[this.pos++])),
                                        i < 128
                                             ? e
                                             : ((e |= (127 & (i = n[this.pos++])) << 7),
                                               i < 128
                                                    ? e
                                                    : ((e |= (127 & (i = n[this.pos++])) << 14),
                                                      i < 128
                                                           ? e
                                                           : ((e |= (127 & (i = n[this.pos++])) << 21),
                                                             i < 128
                                                                  ? e
                                                                  : (function (t, e, i) {
                                                                         var n,
                                                                              r,
                                                                              o = i.buf;
                                                                         if (((n = (112 & (r = o[i.pos++])) >> 4), r < 128)) return Xs(t, n, e);
                                                                         if (((n |= (127 & (r = o[i.pos++])) << 3), r < 128)) return Xs(t, n, e);
                                                                         if (((n |= (127 & (r = o[i.pos++])) << 10), r < 128)) return Xs(t, n, e);
                                                                         if (((n |= (127 & (r = o[i.pos++])) << 17), r < 128)) return Xs(t, n, e);
                                                                         if (((n |= (127 & (r = o[i.pos++])) << 24), r < 128)) return Xs(t, n, e);
                                                                         if (((n |= (1 & (r = o[i.pos++])) << 31), r < 128)) return Xs(t, n, e);
                                                                         throw new Error("Expected varint not more than 10 bytes");
                                                                    })((e |= (15 & (i = n[this.pos])) << 28), t, this))))
                                   );
                              },
                              readVarint64: function () {
                                   return this.readVarint(!0);
                              },
                              readSVarint: function () {
                                   var t = this.readVarint();
                                   return t % 2 == 1 ? (t + 1) / -2 : t / 2;
                              },
                              readBoolean: function () {
                                   return Boolean(this.readVarint());
                              },
                              readString: function () {
                                   var t = this.readVarint() + this.pos,
                                        e = this.pos;
                                   return (
                                        (this.pos = t),
                                        t - e >= 12 && qs
                                             ? (function (t, e, i) {
                                                    return qs.decode(t.subarray(e, i));
                                               })(this.buf, e, t)
                                             : (function (t, e, i) {
                                                    for (var n = "", r = e; r < i; ) {
                                                         var o,
                                                              a,
                                                              s,
                                                              l = t[r],
                                                              c = null,
                                                              u = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1;
                                                         if (r + u > i) break;
                                                         1 === u
                                                              ? l < 128 && (c = l)
                                                              : 2 === u
                                                              ? 128 == (192 & (o = t[r + 1])) && (c = ((31 & l) << 6) | (63 & o)) <= 127 && (c = null)
                                                              : 3 === u
                                                              ? ((a = t[r + 2]), 128 == (192 & (o = t[r + 1])) && 128 == (192 & a) && ((c = ((15 & l) << 12) | ((63 & o) << 6) | (63 & a)) <= 2047 || (c >= 55296 && c <= 57343)) && (c = null))
                                                              : 4 === u &&
                                                                ((a = t[r + 2]),
                                                                (s = t[r + 3]),
                                                                128 == (192 & (o = t[r + 1])) &&
                                                                     128 == (192 & a) &&
                                                                     128 == (192 & s) &&
                                                                     ((c = ((15 & l) << 18) | ((63 & o) << 12) | ((63 & a) << 6) | (63 & s)) <= 65535 || c >= 1114112) &&
                                                                     (c = null)),
                                                              null === c ? ((c = 65533), (u = 1)) : c > 65535 && ((c -= 65536), (n += String.fromCharCode(((c >>> 10) & 1023) | 55296)), (c = 56320 | (1023 & c))),
                                                              (n += String.fromCharCode(c)),
                                                              (r += u);
                                                    }
                                                    return n;
                                               })(this.buf, e, t)
                                   );
                              },
                              readBytes: function () {
                                   var t = this.readVarint() + this.pos,
                                        e = this.buf.subarray(this.pos, t);
                                   return (this.pos = t), e;
                              },
                              readPackedVarint: function (t, e) {
                                   if (this.type !== Us.Bytes) return t.push(this.readVarint(e));
                                   var i = $s(this);
                                   for (t = t || []; this.pos < i; ) t.push(this.readVarint(e));
                                   return t;
                              },
                              readPackedSVarint: function (t) {
                                   if (this.type !== Us.Bytes) return t.push(this.readSVarint());
                                   var e = $s(this);
                                   for (t = t || []; this.pos < e; ) t.push(this.readSVarint());
                                   return t;
                              },
                              readPackedBoolean: function (t) {
                                   if (this.type !== Us.Bytes) return t.push(this.readBoolean());
                                   var e = $s(this);
                                   for (t = t || []; this.pos < e; ) t.push(this.readBoolean());
                                   return t;
                              },
                              readPackedFloat: function (t) {
                                   if (this.type !== Us.Bytes) return t.push(this.readFloat());
                                   var e = $s(this);
                                   for (t = t || []; this.pos < e; ) t.push(this.readFloat());
                                   return t;
                              },
                              readPackedDouble: function (t) {
                                   if (this.type !== Us.Bytes) return t.push(this.readDouble());
                                   var e = $s(this);
                                   for (t = t || []; this.pos < e; ) t.push(this.readDouble());
                                   return t;
                              },
                              readPackedFixed32: function (t) {
                                   if (this.type !== Us.Bytes) return t.push(this.readFixed32());
                                   var e = $s(this);
                                   for (t = t || []; this.pos < e; ) t.push(this.readFixed32());
                                   return t;
                              },
                              readPackedSFixed32: function (t) {
                                   if (this.type !== Us.Bytes) return t.push(this.readSFixed32());
                                   var e = $s(this);
                                   for (t = t || []; this.pos < e; ) t.push(this.readSFixed32());
                                   return t;
                              },
                              readPackedFixed64: function (t) {
                                   if (this.type !== Us.Bytes) return t.push(this.readFixed64());
                                   var e = $s(this);
                                   for (t = t || []; this.pos < e; ) t.push(this.readFixed64());
                                   return t;
                              },
                              readPackedSFixed64: function (t) {
                                   if (this.type !== Us.Bytes) return t.push(this.readSFixed64());
                                   var e = $s(this);
                                   for (t = t || []; this.pos < e; ) t.push(this.readSFixed64());
                                   return t;
                              },
                              skip: function (t) {
                                   var e = 7 & t;
                                   if (e === Us.Varint) for (; this.buf[this.pos++] > 127; );
                                   else if (e === Us.Bytes) this.pos = this.readVarint() + this.pos;
                                   else if (e === Us.Fixed32) this.pos += 4;
                                   else {
                                        if (e !== Us.Fixed64) throw new Error("Unimplemented type: " + e);
                                        this.pos += 8;
                                   }
                              },
                              writeTag: function (t, e) {
                                   this.writeVarint((t << 3) | e);
                              },
                              realloc: function (t) {
                                   for (var e = this.length || 16; e < this.pos + t; ) e *= 2;
                                   if (e !== this.length) {
                                        var i = new Uint8Array(e);
                                        i.set(this.buf), (this.buf = i), (this.length = e);
                                   }
                              },
                              finish: function () {
                                   return (this.length = this.pos), (this.pos = 0), this.buf.subarray(0, this.length);
                              },
                              writeFixed32: function (t) {
                                   this.realloc(4), al(this.buf, t, this.pos), (this.pos += 4);
                              },
                              writeSFixed32: function (t) {
                                   this.realloc(4), al(this.buf, t, this.pos), (this.pos += 4);
                              },
                              writeFixed64: function (t) {
                                   this.realloc(8), al(this.buf, -1 & t, this.pos), al(this.buf, Math.floor(t * (1 / 4294967296)), this.pos + 4), (this.pos += 8);
                              },
                              writeSFixed64: function (t) {
                                   this.realloc(8), al(this.buf, -1 & t, this.pos), al(this.buf, Math.floor(t * (1 / 4294967296)), this.pos + 4), (this.pos += 8);
                              },
                              writeVarint: function (t) {
                                   (t = +t || 0) > 268435455 || t < 0
                                        ? (function (t, e) {
                                               var i, n;
                                               if (
                                                    (t >= 0 ? ((i = t % 4294967296 | 0), (n = (t / 4294967296) | 0)) : ((n = ~(-t / 4294967296)), 4294967295 ^ (i = ~(-t % 4294967296)) ? (i = (i + 1) | 0) : ((i = 0), (n = (n + 1) | 0))),
                                                    t >= 0x10000000000000000 || t < -0x10000000000000000)
                                               )
                                                    throw new Error("Given varint doesn't fit into 10 bytes");
                                               e.realloc(10),
                                                    (function (t, e, i) {
                                                         (i.buf[i.pos++] = (127 & t) | 128),
                                                              (t >>>= 7),
                                                              (i.buf[i.pos++] = (127 & t) | 128),
                                                              (t >>>= 7),
                                                              (i.buf[i.pos++] = (127 & t) | 128),
                                                              (t >>>= 7),
                                                              (i.buf[i.pos++] = (127 & t) | 128),
                                                              (i.buf[i.pos] = 127 & (t >>>= 7));
                                                    })(i, 0, e),
                                                    (function (t, e) {
                                                         var i = (7 & t) << 4;
                                                         (e.buf[e.pos++] |= i | ((t >>>= 3) ? 128 : 0)),
                                                              t &&
                                                                   ((e.buf[e.pos++] = (127 & t) | ((t >>>= 7) ? 128 : 0)),
                                                                   t &&
                                                                        ((e.buf[e.pos++] = (127 & t) | ((t >>>= 7) ? 128 : 0)),
                                                                        t && ((e.buf[e.pos++] = (127 & t) | ((t >>>= 7) ? 128 : 0)), t && ((e.buf[e.pos++] = (127 & t) | ((t >>>= 7) ? 128 : 0)), t && (e.buf[e.pos++] = 127 & t)))));
                                                    })(n, e);
                                          })(t, this)
                                        : (this.realloc(4),
                                          (this.buf[this.pos++] = (127 & t) | (t > 127 ? 128 : 0)),
                                          t <= 127 ||
                                               ((this.buf[this.pos++] = (127 & (t >>>= 7)) | (t > 127 ? 128 : 0)),
                                               t <= 127 || ((this.buf[this.pos++] = (127 & (t >>>= 7)) | (t > 127 ? 128 : 0)), t <= 127 || (this.buf[this.pos++] = (t >>> 7) & 127))));
                              },
                              writeSVarint: function (t) {
                                   this.writeVarint(t < 0 ? 2 * -t - 1 : 2 * t);
                              },
                              writeBoolean: function (t) {
                                   this.writeVarint(Boolean(t));
                              },
                              writeString: function (t) {
                                   (t = String(t)), this.realloc(4 * t.length), this.pos++;
                                   var e = this.pos;
                                   this.pos = (function (t, e, i) {
                                        for (var n, r, o = 0; o < e.length; o++) {
                                             if ((n = e.charCodeAt(o)) > 55295 && n < 57344) {
                                                  if (!r) {
                                                       n > 56319 || o + 1 === e.length ? ((t[i++] = 239), (t[i++] = 191), (t[i++] = 189)) : (r = n);
                                                       continue;
                                                  }
                                                  if (n < 56320) {
                                                       (t[i++] = 239), (t[i++] = 191), (t[i++] = 189), (r = n);
                                                       continue;
                                                  }
                                                  (n = ((r - 55296) << 10) | (n - 56320) | 65536), (r = null);
                                             } else r && ((t[i++] = 239), (t[i++] = 191), (t[i++] = 189), (r = null));
                                             n < 128
                                                  ? (t[i++] = n)
                                                  : (n < 2048 ? (t[i++] = (n >> 6) | 192) : (n < 65536 ? (t[i++] = (n >> 12) | 224) : ((t[i++] = (n >> 18) | 240), (t[i++] = ((n >> 12) & 63) | 128)), (t[i++] = ((n >> 6) & 63) | 128)),
                                                    (t[i++] = (63 & n) | 128));
                                        }
                                        return i;
                                   })(this.buf, t, this.pos);
                                   var i = this.pos - e;
                                   i >= 128 && Gs(e, i, this), (this.pos = e - 1), this.writeVarint(i), (this.pos += i);
                              },
                              writeFloat: function (t) {
                                   this.realloc(4), Ws(this.buf, t, this.pos, !0, 23, 4), (this.pos += 4);
                              },
                              writeDouble: function (t) {
                                   this.realloc(8), Ws(this.buf, t, this.pos, !0, 52, 8), (this.pos += 8);
                              },
                              writeBytes: function (t) {
                                   var e = t.length;
                                   this.writeVarint(e), this.realloc(e);
                                   for (var i = 0; i < e; i++) this.buf[this.pos++] = t[i];
                              },
                              writeRawMessage: function (t, e) {
                                   this.pos++;
                                   var i = this.pos;
                                   t(e, this);
                                   var n = this.pos - i;
                                   n >= 128 && Gs(i, n, this), (this.pos = i - 1), this.writeVarint(n), (this.pos += n);
                              },
                              writeMessage: function (t, e, i) {
                                   this.writeTag(t, Us.Bytes), this.writeRawMessage(e, i);
                              },
                              writePackedVarint: function (t, e) {
                                   e.length && this.writeMessage(t, Zs, e);
                              },
                              writePackedSVarint: function (t, e) {
                                   e.length && this.writeMessage(t, Js, e);
                              },
                              writePackedBoolean: function (t, e) {
                                   e.length && this.writeMessage(t, tl, e);
                              },
                              writePackedFloat: function (t, e) {
                                   e.length && this.writeMessage(t, Ks, e);
                              },
                              writePackedDouble: function (t, e) {
                                   e.length && this.writeMessage(t, Qs, e);
                              },
                              writePackedFixed32: function (t, e) {
                                   e.length && this.writeMessage(t, el, e);
                              },
                              writePackedSFixed32: function (t, e) {
                                   e.length && this.writeMessage(t, il, e);
                              },
                              writePackedFixed64: function (t, e) {
                                   e.length && this.writeMessage(t, nl, e);
                              },
                              writePackedSFixed64: function (t, e) {
                                   e.length && this.writeMessage(t, rl, e);
                              },
                              writeBytesField: function (t, e) {
                                   this.writeTag(t, Us.Bytes), this.writeBytes(e);
                              },
                              writeFixed32Field: function (t, e) {
                                   this.writeTag(t, Us.Fixed32), this.writeFixed32(e);
                              },
                              writeSFixed32Field: function (t, e) {
                                   this.writeTag(t, Us.Fixed32), this.writeSFixed32(e);
                              },
                              writeFixed64Field: function (t, e) {
                                   this.writeTag(t, Us.Fixed64), this.writeFixed64(e);
                              },
                              writeSFixed64Field: function (t, e) {
                                   this.writeTag(t, Us.Fixed64), this.writeSFixed64(e);
                              },
                              writeVarintField: function (t, e) {
                                   this.writeTag(t, Us.Varint), this.writeVarint(e);
                              },
                              writeSVarintField: function (t, e) {
                                   this.writeTag(t, Us.Varint), this.writeSVarint(e);
                              },
                              writeStringField: function (t, e) {
                                   this.writeTag(t, Us.Bytes), this.writeString(e);
                              },
                              writeFloatField: function (t, e) {
                                   this.writeTag(t, Us.Fixed32), this.writeFloat(e);
                              },
                              writeDoubleField: function (t, e) {
                                   this.writeTag(t, Us.Fixed64), this.writeDouble(e);
                              },
                              writeBooleanField: function (t, e) {
                                   this.writeVarintField(t, Boolean(e));
                              },
                         };
                         var dl = function (t, e) {
                                   var i = e.pixelRatio,
                                        n = e.version,
                                        r = e.stretchX,
                                        o = e.stretchY,
                                        a = e.content;
                                   (this.paddedRect = t), (this.pixelRatio = i), (this.stretchX = r), (this.stretchY = o), (this.content = a), (this.version = n);
                              },
                              pl = { tl: { configurable: !0 }, br: { configurable: !0 }, tlbr: { configurable: !0 }, displaySize: { configurable: !0 } };
                         (pl.tl.get = function () {
                              return [this.paddedRect.x + 1, this.paddedRect.y + 1];
                         }),
                              (pl.br.get = function () {
                                   return [this.paddedRect.x + this.paddedRect.w - 1, this.paddedRect.y + this.paddedRect.h - 1];
                              }),
                              (pl.tlbr.get = function () {
                                   return this.tl.concat(this.br);
                              }),
                              (pl.displaySize.get = function () {
                                   return [(this.paddedRect.w - 2) / this.pixelRatio, (this.paddedRect.h - 2) / this.pixelRatio];
                              }),
                              Object.defineProperties(dl.prototype, pl);
                         var fl = function (t, e) {
                              var i = {},
                                   n = {};
                              this.haveRenderCallbacks = [];
                              var r = [];
                              this.addImages(t, i, r), this.addImages(e, n, r);
                              var o = hl(r),
                                   a = new fa({ width: o.w || 1, height: o.h || 1 });
                              for (var s in t) {
                                   var l = t[s],
                                        c = i[s].paddedRect;
                                   fa.copy(l.data, a, { x: 0, y: 0 }, { x: c.x + 1, y: c.y + 1 }, l.data);
                              }
                              for (var u in e) {
                                   var h = e[u],
                                        d = n[u].paddedRect,
                                        p = d.x + 1,
                                        f = d.y + 1,
                                        m = h.data.width,
                                        g = h.data.height;
                                   fa.copy(h.data, a, { x: 0, y: 0 }, { x: p, y: f }, h.data),
                                        fa.copy(h.data, a, { x: 0, y: g - 1 }, { x: p, y: f - 1 }, { width: m, height: 1 }),
                                        fa.copy(h.data, a, { x: 0, y: 0 }, { x: p, y: f + g }, { width: m, height: 1 }),
                                        fa.copy(h.data, a, { x: m - 1, y: 0 }, { x: p - 1, y: f }, { width: 1, height: g }),
                                        fa.copy(h.data, a, { x: 0, y: 0 }, { x: p + m, y: f }, { width: 1, height: g });
                              }
                              (this.image = a), (this.iconPositions = i), (this.patternPositions = n);
                         };
                         (fl.prototype.addImages = function (t, e, i) {
                              for (var n in t) {
                                   var r = t[n],
                                        o = { x: 0, y: 0, w: r.data.width + 2, h: r.data.height + 2 };
                                   i.push(o), (e[n] = new dl(o, r)), r.hasRenderCallback && this.haveRenderCallbacks.push(n);
                              }
                         }),
                              (fl.prototype.patchUpdatedImages = function (t, e) {
                                   for (var i in (t.dispatchRenderCallbacks(this.haveRenderCallbacks), t.updatedImages))
                                        this.patchUpdatedImage(this.iconPositions[i], t.getImage(i), e), this.patchUpdatedImage(this.patternPositions[i], t.getImage(i), e);
                              }),
                              (fl.prototype.patchUpdatedImage = function (t, e, i) {
                                   if (t && e && t.version !== e.version) {
                                        t.version = e.version;
                                        var n = t.tl;
                                        i.update(e.data, void 0, { x: n[0], y: n[1] });
                                   }
                              }),
                              Yn("ImagePosition", dl),
                              Yn("ImageAtlas", fl);
                         var ml = { horizontal: 1, vertical: 2, horizontalOnly: 3 },
                              gl = function () {
                                   (this.scale = 1), (this.fontStack = ""), (this.imageName = null);
                              };
                         (gl.forText = function (t, e) {
                              var i = new gl();
                              return (i.scale = t || 1), (i.fontStack = e), i;
                         }),
                              (gl.forImage = function (t) {
                                   var e = new gl();
                                   return (e.imageName = t), e;
                              });
                         var vl = function () {
                              (this.text = ""), (this.sectionIndex = []), (this.sections = []), (this.imageSectionID = null);
                         };
                         function yl(t, e, i, n, r, o, a, s, l, c, u, h, d, p, f, m) {
                              var g,
                                   v = vl.fromFeature(t, r);
                              h === ml.vertical && v.verticalizePunctuation();
                              var y = nr.processBidirectionalText,
                                   b = nr.processStyledBidirectionalText;
                              if (y && 1 === v.sections.length) {
                                   g = [];
                                   for (var _ = 0, x = y(v.toString(), Ml(v, c, o, e, n, p, f)); _ < x.length; _ += 1) {
                                        var w = x[_],
                                             k = new vl();
                                        (k.text = w), (k.sections = v.sections);
                                        for (var S = 0; S < w.length; S++) k.sectionIndex.push(0);
                                        g.push(k);
                                   }
                              } else if (b) {
                                   g = [];
                                   for (var M = 0, T = b(v.text, v.sectionIndex, Ml(v, c, o, e, n, p, f)); M < T.length; M += 1) {
                                        var C = T[M],
                                             D = new vl();
                                        (D.text = C[0]), (D.sectionIndex = C[1]), (D.sections = v.sections), g.push(D);
                                   }
                              } else
                                   g = (function (t, e) {
                                        for (var i = [], n = t.text, r = 0, o = 0, a = e; o < a.length; o += 1) {
                                             var s = a[o];
                                             i.push(t.substring(r, s)), (r = s);
                                        }
                                        return r < n.length && i.push(t.substring(r, n.length)), i;
                                   })(v, Ml(v, c, o, e, n, p, f));
                              var L = [],
                                   E = { positionedLines: L, text: v.toString(), top: u[1], bottom: u[1], left: u[0], right: u[0], writingMode: h, iconsInText: !1, verticalizable: !1 };
                              return (
                                   (function (t, e, i, n, r, o, a, s, l, c, u, h) {
                                        for (var d = 0, p = -17, f = 0, m = 0, g = "right" === s ? 1 : "left" === s ? 0 : 0.5, v = 0, y = 0, b = r; y < b.length; y += 1) {
                                             var _ = b[y];
                                             _.trim();
                                             var x = _.getMaxScale(),
                                                  w = 24 * (x - 1),
                                                  k = { positionedGlyphs: [], lineOffset: 0 };
                                             t.positionedLines[v] = k;
                                             var S = k.positionedGlyphs,
                                                  M = 0;
                                             if (_.length()) {
                                                  for (var T = 0; T < _.length(); T++) {
                                                       var C = _.getSection(T),
                                                            D = _.getSectionIndex(T),
                                                            L = _.getCharCode(T),
                                                            E = 0,
                                                            A = null,
                                                            P = null,
                                                            I = null,
                                                            O = 24,
                                                            Y = !(
                                                                 l === ml.horizontal ||
                                                                 (!u && !Vn(L)) ||
                                                                 (u &&
                                                                      (bl[L] ||
                                                                           ((V = L), Bn.Arabic(V) || Bn["Arabic Supplement"](V) || Bn["Arabic Extended-A"](V) || Bn["Arabic Presentation Forms-A"](V) || Bn["Arabic Presentation Forms-B"](V))))
                                                            );
                                                       if (C.imageName) {
                                                            var z = n[C.imageName];
                                                            if (!z) continue;
                                                            (I = C.imageName), (t.iconsInText = t.iconsInText || !0), (P = z.paddedRect);
                                                            var R = z.displaySize;
                                                            (C.scale = (24 * C.scale) / h), (E = w + (24 - R[1] * C.scale)), (O = (A = { width: R[0], height: R[1], left: 1, top: -3, advance: Y ? R[1] : R[0] }).advance);
                                                            var F = Y ? R[0] * C.scale - 24 * x : R[1] * C.scale - 24 * x;
                                                            F > 0 && F > M && (M = F);
                                                       } else {
                                                            var H = i[C.fontStack],
                                                                 j = H && H[L];
                                                            if (j && j.rect) (P = j.rect), (A = j.metrics);
                                                            else {
                                                                 var N = e[C.fontStack],
                                                                      B = N && N[L];
                                                                 if (!B) continue;
                                                                 A = B.metrics;
                                                            }
                                                            E = 24 * (x - C.scale);
                                                       }
                                                       Y
                                                            ? ((t.verticalizable = !0),
                                                              S.push({ glyph: L, imageName: I, x: d, y: p + E, vertical: Y, scale: C.scale, fontStack: C.fontStack, sectionIndex: D, metrics: A, rect: P }),
                                                              (d += O * C.scale + c))
                                                            : (S.push({ glyph: L, imageName: I, x: d, y: p + E, vertical: Y, scale: C.scale, fontStack: C.fontStack, sectionIndex: D, metrics: A, rect: P }), (d += A.advance * C.scale + c));
                                                  }
                                                  0 !== S.length && ((f = Math.max(d - c, f)), Cl(S, 0, S.length - 1, g, M)), (d = 0);
                                                  var W = o * x + M;
                                                  (k.lineOffset = Math.max(M, w)), (p += W), (m = Math.max(W, m)), ++v;
                                             } else (p += o), ++v;
                                        }
                                        var V,
                                             U = p - -17,
                                             q = Tl(a),
                                             $ = q.horizontalAlign,
                                             X = q.verticalAlign;
                                        (function (t, e, i, n, r, o, a, s, l) {
                                             var c,
                                                  u = (e - i) * r;
                                             c = o !== a ? -s * n - -17 : (-n * l + 0.5) * a;
                                             for (var h = 0, d = t; h < d.length; h += 1)
                                                  for (var p = 0, f = d[h].positionedGlyphs; p < f.length; p += 1) {
                                                       var m = f[p];
                                                       (m.x += u), (m.y += c);
                                                  }
                                        })(t.positionedLines, g, $, X, f, m, o, U, r.length),
                                             (t.top += -X * U),
                                             (t.bottom = t.top + U),
                                             (t.left += -$ * f),
                                             (t.right = t.left + f);
                                   })(E, e, i, n, g, a, s, l, h, c, d, m),
                                   !(function (t) {
                                        for (var e = 0, i = t; e < i.length; e += 1) if (0 !== i[e].positionedGlyphs.length) return !1;
                                        return !0;
                                   })(L) && E
                              );
                         }
                         (vl.fromFeature = function (t, e) {
                              for (var i = new vl(), n = 0; n < t.sections.length; n++) {
                                   var r = t.sections[n];
                                   r.image ? i.addImageSection(r) : i.addTextSection(r, e);
                              }
                              return i;
                         }),
                              (vl.prototype.length = function () {
                                   return this.text.length;
                              }),
                              (vl.prototype.getSection = function (t) {
                                   return this.sections[this.sectionIndex[t]];
                              }),
                              (vl.prototype.getSectionIndex = function (t) {
                                   return this.sectionIndex[t];
                              }),
                              (vl.prototype.getCharCode = function (t) {
                                   return this.text.charCodeAt(t);
                              }),
                              (vl.prototype.verticalizePunctuation = function () {
                                   this.text = (function (t) {
                                        for (var e = "", i = 0; i < t.length; i++) {
                                             var n = t.charCodeAt(i + 1) || null,
                                                  r = t.charCodeAt(i - 1) || null;
                                             e += (n && Un(n) && !Ns[t[i + 1]]) || (r && Un(r) && !Ns[t[i - 1]]) || !Ns[t[i]] ? t[i] : Ns[t[i]];
                                        }
                                        return e;
                                   })(this.text);
                              }),
                              (vl.prototype.trim = function () {
                                   for (var t = 0, e = 0; e < this.text.length && bl[this.text.charCodeAt(e)]; e++) t++;
                                   for (var i = this.text.length, n = this.text.length - 1; n >= 0 && n >= t && bl[this.text.charCodeAt(n)]; n--) i--;
                                   (this.text = this.text.substring(t, i)), (this.sectionIndex = this.sectionIndex.slice(t, i));
                              }),
                              (vl.prototype.substring = function (t, e) {
                                   var i = new vl();
                                   return (i.text = this.text.substring(t, e)), (i.sectionIndex = this.sectionIndex.slice(t, e)), (i.sections = this.sections), i;
                              }),
                              (vl.prototype.toString = function () {
                                   return this.text;
                              }),
                              (vl.prototype.getMaxScale = function () {
                                   var t = this;
                                   return this.sectionIndex.reduce(function (e, i) {
                                        return Math.max(e, t.sections[i].scale);
                                   }, 0);
                              }),
                              (vl.prototype.addTextSection = function (t, e) {
                                   (this.text += t.text), this.sections.push(gl.forText(t.scale, t.fontStack || e));
                                   for (var i = this.sections.length - 1, n = 0; n < t.text.length; ++n) this.sectionIndex.push(i);
                              }),
                              (vl.prototype.addImageSection = function (t) {
                                   var e = t.image ? t.image.name : "";
                                   if (0 !== e.length) {
                                        var i = this.getNextImageSectionCharCode();
                                        i ? ((this.text += String.fromCharCode(i)), this.sections.push(gl.forImage(e)), this.sectionIndex.push(this.sections.length - 1)) : x("Reached maximum number of images 6401");
                                   } else x("Can't add FormattedSection with an empty image.");
                              }),
                              (vl.prototype.getNextImageSectionCharCode = function () {
                                   return this.imageSectionID ? (this.imageSectionID >= 63743 ? null : ++this.imageSectionID) : ((this.imageSectionID = 57344), this.imageSectionID);
                              });
                         var bl = { 9: !0, 10: !0, 11: !0, 12: !0, 13: !0, 32: !0 },
                              _l = {};
                         function xl(t, e, i, n, r, o) {
                              if (e.imageName) {
                                   var a = n[e.imageName];
                                   return a ? (a.displaySize[0] * e.scale * 24) / o + r : 0;
                              }
                              var s = i[e.fontStack],
                                   l = s && s[t];
                              return l ? l.metrics.advance * e.scale + r : 0;
                         }
                         function wl(t, e, i, n) {
                              var r = Math.pow(t - e, 2);
                              return n ? (t < e ? r / 2 : 2 * r) : r + Math.abs(i) * i;
                         }
                         function kl(t, e, i) {
                              var n = 0;
                              return 10 === t && (n -= 1e4), i && (n += 150), (40 !== t && 65288 !== t) || (n += 50), (41 !== e && 65289 !== e) || (n += 50), n;
                         }
                         function Sl(t, e, i, n, r, o) {
                              for (var a = null, s = wl(e, i, r, o), l = 0, c = n; l < c.length; l += 1) {
                                   var u = c[l],
                                        h = wl(e - u.x, i, r, o) + u.badness;
                                   h <= s && ((a = u), (s = h));
                              }
                              return { index: t, x: e, priorBreak: a, badness: s };
                         }
                         function Ml(t, e, i, n, r, o, a) {
                              if ("point" !== o) return [];
                              if (!t) return [];
                              for (
                                   var s,
                                        l = [],
                                        c = (function (t, e, i, n, r, o) {
                                             for (var a = 0, s = 0; s < t.length(); s++) {
                                                  var l = t.getSection(s);
                                                  a += xl(t.getCharCode(s), l, n, r, e, o);
                                             }
                                             return a / Math.max(1, Math.ceil(a / i));
                                        })(t, e, i, n, r, a),
                                        u = t.text.indexOf("​") >= 0,
                                        h = 0,
                                        d = 0;
                                   d < t.length();
                                   d++
                              ) {
                                   var p = t.getSection(d),
                                        f = t.getCharCode(d);
                                   if ((bl[f] || (h += xl(f, p, n, r, e, a)), d < t.length() - 1)) {
                                        var m = !(
                                             (s = f) < 11904 ||
                                             !(
                                                  Bn["Bopomofo Extended"](s) ||
                                                  Bn.Bopomofo(s) ||
                                                  Bn["CJK Compatibility Forms"](s) ||
                                                  Bn["CJK Compatibility Ideographs"](s) ||
                                                  Bn["CJK Compatibility"](s) ||
                                                  Bn["CJK Radicals Supplement"](s) ||
                                                  Bn["CJK Strokes"](s) ||
                                                  Bn["CJK Symbols and Punctuation"](s) ||
                                                  Bn["CJK Unified Ideographs Extension A"](s) ||
                                                  Bn["CJK Unified Ideographs"](s) ||
                                                  Bn["Enclosed CJK Letters and Months"](s) ||
                                                  Bn["Halfwidth and Fullwidth Forms"](s) ||
                                                  Bn.Hiragana(s) ||
                                                  Bn["Ideographic Description Characters"](s) ||
                                                  Bn["Kangxi Radicals"](s) ||
                                                  Bn["Katakana Phonetic Extensions"](s) ||
                                                  Bn.Katakana(s) ||
                                                  Bn["Vertical Forms"](s) ||
                                                  Bn["Yi Radicals"](s) ||
                                                  Bn["Yi Syllables"](s)
                                             )
                                        );
                                        (_l[f] || m || p.imageName) && l.push(Sl(d + 1, h, c, l, kl(f, t.getCharCode(d + 1), m && u), !1));
                                   }
                              }
                              return (function t(e) {
                                   return e ? t(e.priorBreak).concat(e.index) : [];
                              })(Sl(t.length(), h, c, l, 0, !0));
                         }
                         function Tl(t) {
                              var e = 0.5,
                                   i = 0.5;
                              switch (t) {
                                   case "right":
                                   case "top-right":
                                   case "bottom-right":
                                        e = 1;
                                        break;
                                   case "left":
                                   case "top-left":
                                   case "bottom-left":
                                        e = 0;
                              }
                              switch (t) {
                                   case "bottom":
                                   case "bottom-right":
                                   case "bottom-left":
                                        i = 1;
                                        break;
                                   case "top":
                                   case "top-right":
                                   case "top-left":
                                        i = 0;
                              }
                              return { horizontalAlign: e, verticalAlign: i };
                         }
                         function Cl(t, e, i, n, r) {
                              if (n || r) for (var o = t[i], a = (t[i].x + o.metrics.advance * o.scale) * n, s = e; s <= i; s++) (t[s].x -= a), (t[s].y += r);
                         }
                         function Dl(t, e, i, n, r, o) {
                              var a,
                                   s = t.image;
                              if (s.content) {
                                   var l = s.content,
                                        c = s.pixelRatio || 1;
                                   a = [l[0] / c, l[1] / c, s.displaySize[0] - l[2] / c, s.displaySize[1] - l[3] / c];
                              }
                              var u,
                                   h,
                                   d,
                                   p,
                                   f = e.left * o,
                                   m = e.right * o;
                              "width" === i || "both" === i ? ((p = r[0] + f - n[3]), (h = r[0] + m + n[1])) : (h = (p = r[0] + (f + m - s.displaySize[0]) / 2) + s.displaySize[0]);
                              var g = e.top * o,
                                   v = e.bottom * o;
                              return (
                                   "height" === i || "both" === i ? ((u = r[1] + g - n[0]), (d = r[1] + v + n[2])) : (d = (u = r[1] + (g + v - s.displaySize[1]) / 2) + s.displaySize[1]),
                                   { image: s, top: u, right: h, bottom: d, left: p, collisionPadding: a }
                              );
                         }
                         (_l[10] = !0),
                              (_l[32] = !0),
                              (_l[38] = !0),
                              (_l[40] = !0),
                              (_l[41] = !0),
                              (_l[43] = !0),
                              (_l[45] = !0),
                              (_l[47] = !0),
                              (_l[173] = !0),
                              (_l[183] = !0),
                              (_l[8203] = !0),
                              (_l[8208] = !0),
                              (_l[8211] = !0),
                              (_l[8231] = !0);
                         var Ll = (function (t) {
                              function e(e, i, n, r) {
                                   t.call(this, e, i), (this.angle = n), void 0 !== r && (this.segment = r);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype.clone = function () {
                                        return new e(this.x, this.y, this.angle, this.segment);
                                   }),
                                   e
                              );
                         })(r);
                         function El(t, e) {
                              var i = e.expression;
                              if ("constant" === i.kind) return { kind: "constant", layoutSize: i.evaluate(new rr(t + 1)) };
                              if ("source" === i.kind) return { kind: "source" };
                              for (var n = i.zoomStops, r = i.interpolationType, o = 0; o < n.length && n[o] <= t; ) o++;
                              for (var a = (o = Math.max(0, o - 1)); a < n.length && n[a] < t + 1; ) a++;
                              a = Math.min(n.length - 1, a);
                              var s = n[o],
                                   l = n[a];
                              return "composite" === i.kind
                                   ? { kind: "composite", minZoom: s, maxZoom: l, interpolationType: r }
                                   : { kind: "camera", minZoom: s, maxZoom: l, minSize: i.evaluate(new rr(s)), maxSize: i.evaluate(new rr(l)), interpolationType: r };
                         }
                         function Al(t, e, i) {
                              var n = e.uSize,
                                   r = i.lowerSize;
                              return "source" === t.kind ? r / 128 : "composite" === t.kind ? Ne(r / 128, i.upperSize / 128, e.uSizeT) : n;
                         }
                         function Pl(t, e) {
                              var i = 0,
                                   n = 0;
                              if ("constant" === t.kind) n = t.layoutSize;
                              else if ("source" !== t.kind) {
                                   var r = t.interpolationType,
                                        o = r ? l(ii.interpolationFactor(r, e, t.minZoom, t.maxZoom), 0, 1) : 0;
                                   "camera" === t.kind ? (n = Ne(t.minSize, t.maxSize, o)) : (i = o);
                              }
                              return { uSizeT: i, uSize: n };
                         }
                         Yn("Anchor", Ll);
                         var Il = Object.freeze({ __proto__: null, getSizeData: El, evaluateSizeForFeature: Al, evaluateSizeForZoom: Pl, SIZE_PACK_FACTOR: 128 });
                         function Ol(t, e, i, n, r) {
                              if (void 0 === e.segment) return !0;
                              for (var o = e, a = e.segment + 1, s = 0; s > -i / 2; ) {
                                   if (--a < 0) return !1;
                                   (s -= t[a].dist(o)), (o = t[a]);
                              }
                              (s += t[a].dist(t[a + 1])), a++;
                              for (var l = [], c = 0; s < i / 2; ) {
                                   var u = t[a],
                                        h = t[a + 1];
                                   if (!h) return !1;
                                   var d = t[a - 1].angleTo(u) - u.angleTo(h);
                                   for (d = Math.abs(((d + 3 * Math.PI) % (2 * Math.PI)) - Math.PI), l.push({ distance: s, angleDelta: d }), c += d; s - l[0].distance > n; ) c -= l.shift().angleDelta;
                                   if (c > r) return !1;
                                   a++, (s += u.dist(h));
                              }
                              return !0;
                         }
                         function Yl(t) {
                              for (var e = 0, i = 0; i < t.length - 1; i++) e += t[i].dist(t[i + 1]);
                              return e;
                         }
                         function zl(t, e, i) {
                              return t ? 0.6 * e * i : 0;
                         }
                         function Rl(t, e) {
                              return Math.max(t ? t.right - t.left : 0, e ? e.right - e.left : 0);
                         }
                         function Fl(t, e, i, n, r, o) {
                              for (var a = zl(i, r, o), s = Rl(i, n) * o, l = 0, c = Yl(t) / 2, u = 0; u < t.length - 1; u++) {
                                   var h = t[u],
                                        d = t[u + 1],
                                        p = h.dist(d);
                                   if (l + p > c) {
                                        var f = (c - l) / p,
                                             m = Ne(h.x, d.x, f),
                                             g = Ne(h.y, d.y, f),
                                             v = new Ll(m, g, d.angleTo(h), u);
                                        return v._round(), !a || Ol(t, v, s, a, e) ? v : void 0;
                                   }
                                   l += p;
                              }
                         }
                         function Hl(t, e, i, n, r, o, a, s, l) {
                              var c = zl(n, o, a),
                                   u = Rl(n, r),
                                   h = u * a,
                                   d = 0 === t[0].x || t[0].x === l || 0 === t[0].y || t[0].y === l;
                              return (
                                   e - h < e / 4 && (e = h + e / 4),
                                   (function t(e, i, n, r, o, a, s, l, c) {
                                        for (var u = a / 2, h = Yl(e), d = 0, p = i - n, f = [], m = 0; m < e.length - 1; m++) {
                                             for (var g = e[m], v = e[m + 1], y = g.dist(v), b = v.angleTo(g); p + n < d + y; ) {
                                                  var _ = ((p += n) - d) / y,
                                                       x = Ne(g.x, v.x, _),
                                                       w = Ne(g.y, v.y, _);
                                                  if (x >= 0 && x < c && w >= 0 && w < c && p - u >= 0 && p + u <= h) {
                                                       var k = new Ll(x, w, b, m);
                                                       k._round(), (r && !Ol(e, k, a, r, o)) || f.push(k);
                                                  }
                                             }
                                             d += y;
                                        }
                                        return l || f.length || s || (f = t(e, d / 2, n, r, o, a, s, !0, c)), f;
                                   })(t, d ? ((e / 2) * s) % e : ((u / 2 + 2 * o) * a * s) % e, e, c, i, h, d, !1, l)
                              );
                         }
                         function jl(t, e, i, n, o) {
                              for (var a = [], s = 0; s < t.length; s++)
                                   for (var l = t[s], c = void 0, u = 0; u < l.length - 1; u++) {
                                        var h = l[u],
                                             d = l[u + 1];
                                        (h.x < e && d.x < e) ||
                                             (h.x < e ? (h = new r(e, h.y + ((e - h.x) / (d.x - h.x)) * (d.y - h.y))._round()) : d.x < e && (d = new r(e, h.y + ((e - h.x) / (d.x - h.x)) * (d.y - h.y))._round()),
                                             (h.y < i && d.y < i) ||
                                                  (h.y < i ? (h = new r(h.x + ((i - h.y) / (d.y - h.y)) * (d.x - h.x), i)._round()) : d.y < i && (d = new r(h.x + ((i - h.y) / (d.y - h.y)) * (d.x - h.x), i)._round()),
                                                  (h.x >= n && d.x >= n) ||
                                                       (h.x >= n ? (h = new r(n, h.y + ((n - h.x) / (d.x - h.x)) * (d.y - h.y))._round()) : d.x >= n && (d = new r(n, h.y + ((n - h.x) / (d.x - h.x)) * (d.y - h.y))._round()),
                                                       (h.y >= o && d.y >= o) ||
                                                            (h.y >= o ? (h = new r(h.x + ((o - h.y) / (d.y - h.y)) * (d.x - h.x), o)._round()) : d.y >= o && (d = new r(h.x + ((o - h.y) / (d.y - h.y)) * (d.x - h.x), o)._round()),
                                                            (c && h.equals(c[c.length - 1])) || a.push((c = [h])),
                                                            c.push(d)))));
                                   }
                              return a;
                         }
                         function Nl(t, e, i, n) {
                              var o = [],
                                   a = t.image,
                                   s = a.pixelRatio,
                                   l = a.paddedRect.w - 2,
                                   c = a.paddedRect.h - 2,
                                   u = t.right - t.left,
                                   h = t.bottom - t.top,
                                   d = a.stretchX || [[0, l]],
                                   p = a.stretchY || [[0, c]],
                                   f = function (t, e) {
                                        return t + e[1] - e[0];
                                   },
                                   m = d.reduce(f, 0),
                                   g = p.reduce(f, 0),
                                   v = l - m,
                                   y = c - g,
                                   b = 0,
                                   _ = m,
                                   x = 0,
                                   w = g,
                                   k = 0,
                                   S = v,
                                   M = 0,
                                   T = y;
                              if (a.content && n) {
                                   var C = a.content;
                                   (b = Bl(d, 0, C[0])), (x = Bl(p, 0, C[1])), (_ = Bl(d, C[0], C[2])), (w = Bl(p, C[1], C[3])), (k = C[0] - b), (M = C[1] - x), (S = C[2] - C[0] - _), (T = C[3] - C[1] - w);
                              }
                              var D = function (n, o, l, c) {
                                   var d = Vl(n.stretch - b, _, u, t.left),
                                        p = Ul(n.fixed - k, S, n.stretch, m),
                                        f = Vl(o.stretch - x, w, h, t.top),
                                        v = Ul(o.fixed - M, T, o.stretch, g),
                                        y = Vl(l.stretch - b, _, u, t.left),
                                        C = Ul(l.fixed - k, S, l.stretch, m),
                                        D = Vl(c.stretch - x, w, h, t.top),
                                        L = Ul(c.fixed - M, T, c.stretch, g),
                                        E = new r(d, f),
                                        A = new r(y, f),
                                        P = new r(y, D),
                                        I = new r(d, D),
                                        O = new r(p / s, v / s),
                                        Y = new r(C / s, L / s),
                                        z = (e * Math.PI) / 180;
                                   if (z) {
                                        var R = Math.sin(z),
                                             F = Math.cos(z),
                                             H = [F, -R, R, F];
                                        E._matMult(H), A._matMult(H), I._matMult(H), P._matMult(H);
                                   }
                                   var j = n.stretch + n.fixed,
                                        N = o.stretch + o.fixed;
                                   return {
                                        tl: E,
                                        tr: A,
                                        bl: I,
                                        br: P,
                                        tex: { x: a.paddedRect.x + 1 + j, y: a.paddedRect.y + 1 + N, w: l.stretch + l.fixed - j, h: c.stretch + c.fixed - N },
                                        writingMode: void 0,
                                        glyphOffset: [0, 0],
                                        sectionIndex: 0,
                                        pixelOffsetTL: O,
                                        pixelOffsetBR: Y,
                                        minFontScaleX: S / s / u,
                                        minFontScaleY: T / s / h,
                                        isSDF: i,
                                   };
                              };
                              if (n && (a.stretchX || a.stretchY)) for (var L = Wl(d, v, m), E = Wl(p, y, g), A = 0; A < L.length - 1; A++) for (var P = L[A], I = L[A + 1], O = 0; O < E.length - 1; O++) o.push(D(P, E[O], I, E[O + 1]));
                              else o.push(D({ fixed: 0, stretch: -1 }, { fixed: 0, stretch: -1 }, { fixed: 0, stretch: l + 1 }, { fixed: 0, stretch: c + 1 }));
                              return o;
                         }
                         function Bl(t, e, i) {
                              for (var n = 0, r = 0, o = t; r < o.length; r += 1) {
                                   var a = o[r];
                                   n += Math.max(e, Math.min(i, a[1])) - Math.max(e, Math.min(i, a[0]));
                              }
                              return n;
                         }
                         function Wl(t, e, i) {
                              for (var n = [{ fixed: -1, stretch: 0 }], r = 0, o = t; r < o.length; r += 1) {
                                   var a = o[r],
                                        s = a[0],
                                        l = a[1],
                                        c = n[n.length - 1];
                                   n.push({ fixed: s - c.stretch, stretch: c.stretch }), n.push({ fixed: s - c.stretch, stretch: c.stretch + (l - s) });
                              }
                              return n.push({ fixed: e + 1, stretch: i }), n;
                         }
                         function Vl(t, e, i, n) {
                              return (t / e) * i + n;
                         }
                         function Ul(t, e, i, n) {
                              return t - (e * i) / n;
                         }
                         var ql = function (t, e, i, n, o, a, s, l, c, u) {
                                   if (((this.boxStartIndex = t.length), c)) {
                                        var h = a.top,
                                             d = a.bottom,
                                             p = a.collisionPadding;
                                        p && ((h -= p[1]), (d += p[3]));
                                        var f = d - h;
                                        f > 0 && ((f = Math.max(10, f)), (this.circleDiameter = f));
                                   } else {
                                        var m = a.top * s - l,
                                             g = a.bottom * s + l,
                                             v = a.left * s - l,
                                             y = a.right * s + l,
                                             b = a.collisionPadding;
                                        if ((b && ((v -= b[0] * s), (m -= b[1] * s), (y += b[2] * s), (g += b[3] * s)), u)) {
                                             var _ = new r(v, m),
                                                  x = new r(y, m),
                                                  w = new r(v, g),
                                                  k = new r(y, g),
                                                  S = (u * Math.PI) / 180;
                                             _._rotate(S),
                                                  x._rotate(S),
                                                  w._rotate(S),
                                                  k._rotate(S),
                                                  (v = Math.min(_.x, x.x, w.x, k.x)),
                                                  (y = Math.max(_.x, x.x, w.x, k.x)),
                                                  (m = Math.min(_.y, x.y, w.y, k.y)),
                                                  (g = Math.max(_.y, x.y, w.y, k.y));
                                        }
                                        t.emplaceBack(e.x, e.y, v, m, y, g, i, n, o);
                                   }
                                   this.boxEndIndex = t.length;
                              },
                              $l = function (t, e) {
                                   if ((void 0 === t && (t = []), void 0 === e && (e = Xl), (this.data = t), (this.length = this.data.length), (this.compare = e), this.length > 0))
                                        for (var i = (this.length >> 1) - 1; i >= 0; i--) this._down(i);
                              };
                         function Xl(t, e) {
                              return t < e ? -1 : t > e ? 1 : 0;
                         }
                         function Gl(t, e, i) {
                              void 0 === e && (e = 1), void 0 === i && (i = !1);
                              for (var n = 1 / 0, o = 1 / 0, a = -1 / 0, s = -1 / 0, l = t[0], c = 0; c < l.length; c++) {
                                   var u = l[c];
                                   (!c || u.x < n) && (n = u.x), (!c || u.y < o) && (o = u.y), (!c || u.x > a) && (a = u.x), (!c || u.y > s) && (s = u.y);
                              }
                              var h = Math.min(a - n, s - o),
                                   d = h / 2,
                                   p = new $l([], Zl);
                              if (0 === h) return new r(n, o);
                              for (var f = n; f < a; f += h) for (var m = o; m < s; m += h) p.push(new Jl(f + d, m + d, d, t));
                              for (
                                   var g = (function (t) {
                                             for (var e = 0, i = 0, n = 0, r = t[0], o = 0, a = r.length, s = a - 1; o < a; s = o++) {
                                                  var l = r[o],
                                                       c = r[s],
                                                       u = l.x * c.y - c.x * l.y;
                                                  (i += (l.x + c.x) * u), (n += (l.y + c.y) * u), (e += 3 * u);
                                             }
                                             return new Jl(i / e, n / e, 0, t);
                                        })(t),
                                        v = p.length;
                                   p.length;

                              ) {
                                   var y = p.pop();
                                   (y.d > g.d || !g.d) && ((g = y), i && console.log("found best %d after %d probes", Math.round(1e4 * y.d) / 1e4, v)),
                                        y.max - g.d <= e ||
                                             (p.push(new Jl(y.p.x - (d = y.h / 2), y.p.y - d, d, t)),
                                             p.push(new Jl(y.p.x + d, y.p.y - d, d, t)),
                                             p.push(new Jl(y.p.x - d, y.p.y + d, d, t)),
                                             p.push(new Jl(y.p.x + d, y.p.y + d, d, t)),
                                             (v += 4));
                              }
                              return i && (console.log("num probes: " + v), console.log("best distance: " + g.d)), g.p;
                         }
                         function Zl(t, e) {
                              return e.max - t.max;
                         }
                         function Jl(t, e, i, n) {
                              (this.p = new r(t, e)),
                                   (this.h = i),
                                   (this.d = (function (t, e) {
                                        for (var i = !1, n = 1 / 0, r = 0; r < e.length; r++)
                                             for (var o = e[r], a = 0, s = o.length, l = s - 1; a < s; l = a++) {
                                                  var c = o[a],
                                                       u = o[l];
                                                  c.y > t.y != u.y > t.y && t.x < ((u.x - c.x) * (t.y - c.y)) / (u.y - c.y) + c.x && (i = !i), (n = Math.min(n, qo(t, c, u)));
                                             }
                                        return (i ? 1 : -1) * Math.sqrt(n);
                                   })(this.p, n)),
                                   (this.max = this.d + this.h * Math.SQRT2);
                         }
                         ($l.prototype.push = function (t) {
                              this.data.push(t), this.length++, this._up(this.length - 1);
                         }),
                              ($l.prototype.pop = function () {
                                   if (0 !== this.length) {
                                        var t = this.data[0],
                                             e = this.data.pop();
                                        return this.length--, this.length > 0 && ((this.data[0] = e), this._down(0)), t;
                                   }
                              }),
                              ($l.prototype.peek = function () {
                                   return this.data[0];
                              }),
                              ($l.prototype._up = function (t) {
                                   for (var e = this.data, i = this.compare, n = e[t]; t > 0; ) {
                                        var r = (t - 1) >> 1,
                                             o = e[r];
                                        if (i(n, o) >= 0) break;
                                        (e[t] = o), (t = r);
                                   }
                                   e[t] = n;
                              }),
                              ($l.prototype._down = function (t) {
                                   for (var e = this.data, i = this.compare, n = this.length >> 1, r = e[t]; t < n; ) {
                                        var o = 1 + (t << 1),
                                             a = e[o],
                                             s = o + 1;
                                        if ((s < this.length && i(e[s], a) < 0 && ((o = s), (a = e[s])), i(a, r) >= 0)) break;
                                        (e[t] = a), (t = o);
                                   }
                                   e[t] = r;
                              });
                         var Kl = Number.POSITIVE_INFINITY;
                         function Ql(t, e) {
                              return e[1] !== Kl
                                   ? (function (t, e, i) {
                                          var n = 0,
                                               r = 0;
                                          switch (((e = Math.abs(e)), (i = Math.abs(i)), t)) {
                                               case "top-right":
                                               case "top-left":
                                               case "top":
                                                    r = i - 7;
                                                    break;
                                               case "bottom-right":
                                               case "bottom-left":
                                               case "bottom":
                                                    r = 7 - i;
                                          }
                                          switch (t) {
                                               case "top-right":
                                               case "bottom-right":
                                               case "right":
                                                    n = -e;
                                                    break;
                                               case "top-left":
                                               case "bottom-left":
                                               case "left":
                                                    n = e;
                                          }
                                          return [n, r];
                                     })(t, e[0], e[1])
                                   : (function (t, e) {
                                          var i = 0,
                                               n = 0;
                                          e < 0 && (e = 0);
                                          var r = e / Math.sqrt(2);
                                          switch (t) {
                                               case "top-right":
                                               case "top-left":
                                                    n = r - 7;
                                                    break;
                                               case "bottom-right":
                                               case "bottom-left":
                                                    n = 7 - r;
                                                    break;
                                               case "bottom":
                                                    n = 7 - e;
                                                    break;
                                               case "top":
                                                    n = e - 7;
                                          }
                                          switch (t) {
                                               case "top-right":
                                               case "bottom-right":
                                                    i = -r;
                                                    break;
                                               case "top-left":
                                               case "bottom-left":
                                                    i = r;
                                                    break;
                                               case "left":
                                                    i = e;
                                                    break;
                                               case "right":
                                                    i = -e;
                                          }
                                          return [i, n];
                                     })(t, e[0]);
                         }
                         function tc(t) {
                              switch (t) {
                                   case "right":
                                   case "top-right":
                                   case "bottom-right":
                                        return "right";
                                   case "left":
                                   case "top-left":
                                   case "bottom-left":
                                        return "left";
                              }
                              return "center";
                         }
                         function ec(t, e, i, n, o, a, s, l, c, u, h, d, p, f, m) {
                              var g = (function (t, e, i, n, o, a, s, l) {
                                        for (var c = (n.layout.get("text-rotate").evaluate(a, {}) * Math.PI) / 180, u = [], h = 0, d = e.positionedLines; h < d.length; h += 1)
                                             for (var p = d[h], f = 0, m = p.positionedGlyphs; f < m.length; f += 1) {
                                                  var g = m[f];
                                                  if (g.rect) {
                                                       var v = g.rect || {},
                                                            y = 4,
                                                            b = !0,
                                                            _ = 1,
                                                            x = 0,
                                                            w = (o || l) && g.vertical,
                                                            k = (g.metrics.advance * g.scale) / 2;
                                                       if ((l && e.verticalizable && (x = p.lineOffset / 2 - (g.imageName ? -(24 - g.metrics.width * g.scale) / 2 : 24 * (g.scale - 1))), g.imageName)) {
                                                            var S = s[g.imageName];
                                                            (b = S.sdf), (y = 1 / (_ = S.pixelRatio));
                                                       }
                                                       var M = o ? [g.x + k, g.y] : [0, 0],
                                                            T = o ? [0, 0] : [g.x + k + i[0], g.y + i[1] - x],
                                                            C = [0, 0];
                                                       w && ((C = T), (T = [0, 0]));
                                                       var D = (g.metrics.left - y) * g.scale - k + T[0],
                                                            L = (-g.metrics.top - y) * g.scale + T[1],
                                                            E = D + (v.w * g.scale) / _,
                                                            A = L + (v.h * g.scale) / _,
                                                            P = new r(D, L),
                                                            I = new r(E, L),
                                                            O = new r(D, A),
                                                            Y = new r(E, A);
                                                       if (w) {
                                                            var z = new r(-k, k - -17),
                                                                 R = -Math.PI / 2,
                                                                 F = 12 - k,
                                                                 H = new r(22 - F, -(g.imageName ? F : 0)),
                                                                 j = new (Function.prototype.bind.apply(r, [null].concat(C)))();
                                                            P._rotateAround(R, z)._add(H)._add(j), I._rotateAround(R, z)._add(H)._add(j), O._rotateAround(R, z)._add(H)._add(j), Y._rotateAround(R, z)._add(H)._add(j);
                                                       }
                                                       if (c) {
                                                            var N = Math.sin(c),
                                                                 B = Math.cos(c),
                                                                 W = [B, -N, N, B];
                                                            P._matMult(W), I._matMult(W), O._matMult(W), Y._matMult(W);
                                                       }
                                                       var V = new r(0, 0),
                                                            U = new r(0, 0);
                                                       u.push({
                                                            tl: P,
                                                            tr: I,
                                                            bl: O,
                                                            br: Y,
                                                            tex: v,
                                                            writingMode: e.writingMode,
                                                            glyphOffset: M,
                                                            sectionIndex: g.sectionIndex,
                                                            isSDF: b,
                                                            pixelOffsetTL: V,
                                                            pixelOffsetBR: U,
                                                            minFontScaleX: 0,
                                                            minFontScaleY: 0,
                                                       });
                                                  }
                                             }
                                        return u;
                                   })(0, i, l, o, a, s, n, t.allowVerticalPlacement),
                                   v = t.textSizeData,
                                   y = null;
                              "source" === v.kind
                                   ? (y = [128 * o.layout.get("text-size").evaluate(s, {})])[0] > 32640 && x(t.layerIds[0] + ': Value for "text-size" is >= 255. Reduce your "text-size".')
                                   : "composite" === v.kind &&
                                     ((y = [128 * f.compositeTextSizes[0].evaluate(s, {}, m), 128 * f.compositeTextSizes[1].evaluate(s, {}, m)])[0] > 32640 || y[1] > 32640) &&
                                     x(t.layerIds[0] + ': Value for "text-size" is >= 255. Reduce your "text-size".'),
                                   t.addSymbols(t.text, g, y, l, a, s, u, e, c.lineStartIndex, c.lineLength, p, m);
                              for (var b = 0, _ = h; b < _.length; b += 1) d[_[b]] = t.text.placedSymbolArray.length - 1;
                              return 4 * g.length;
                         }
                         function ic(t) {
                              for (var e in t) return t[e];
                              return null;
                         }
                         function nc(t, e, i, n) {
                              var r = t.compareText;
                              if (e in r) {
                                   for (var o = r[e], a = o.length - 1; a >= 0; a--) if (n.dist(o[a]) < i) return !0;
                              } else r[e] = [];
                              return r[e].push(n), !1;
                         }
                         var rc = ms.VectorTileFeature.types,
                              oc = [{ name: "a_fade_opacity", components: 1, type: "Uint8", offset: 0 }];
                         function ac(t, e, i, n, r, o, a, s, l, c, u, h, d) {
                              var p = s ? Math.min(32640, Math.round(s[0])) : 0,
                                   f = s ? Math.min(32640, Math.round(s[1])) : 0;
                              t.emplaceBack(e, i, Math.round(32 * n), Math.round(32 * r), o, a, (p << 1) + (l ? 1 : 0), f, 16 * c, 16 * u, 256 * h, 256 * d);
                         }
                         function sc(t, e, i) {
                              t.emplaceBack(e.x, e.y, i), t.emplaceBack(e.x, e.y, i), t.emplaceBack(e.x, e.y, i), t.emplaceBack(e.x, e.y, i);
                         }
                         function lc(t) {
                              for (var e = 0, i = t.sections; e < i.length; e += 1) if (Xn(i[e].text)) return !0;
                              return !1;
                         }
                         var cc = function (t) {
                              (this.layoutVertexArray = new Er()),
                                   (this.indexArray = new Rr()),
                                   (this.programConfigurations = t),
                                   (this.segments = new ro()),
                                   (this.dynamicLayoutVertexArray = new Ar()),
                                   (this.opacityVertexArray = new Pr()),
                                   (this.placedSymbolArray = new Zr());
                         };
                         (cc.prototype.isEmpty = function () {
                              return 0 === this.layoutVertexArray.length && 0 === this.indexArray.length && 0 === this.dynamicLayoutVertexArray.length && 0 === this.opacityVertexArray.length;
                         }),
                              (cc.prototype.upload = function (t, e, i, n) {
                                   this.isEmpty() ||
                                        (i &&
                                             ((this.layoutVertexBuffer = t.createVertexBuffer(this.layoutVertexArray, Ys.members)),
                                             (this.indexBuffer = t.createIndexBuffer(this.indexArray, e)),
                                             (this.dynamicLayoutVertexBuffer = t.createVertexBuffer(this.dynamicLayoutVertexArray, zs.members, !0)),
                                             (this.opacityVertexBuffer = t.createVertexBuffer(this.opacityVertexArray, oc, !0)),
                                             (this.opacityVertexBuffer.itemSize = 1)),
                                        (i || n) && this.programConfigurations.upload(t));
                              }),
                              (cc.prototype.destroy = function () {
                                   this.layoutVertexBuffer &&
                                        (this.layoutVertexBuffer.destroy(),
                                        this.indexBuffer.destroy(),
                                        this.programConfigurations.destroy(),
                                        this.segments.destroy(),
                                        this.dynamicLayoutVertexBuffer.destroy(),
                                        this.opacityVertexBuffer.destroy());
                              }),
                              Yn("SymbolBuffers", cc);
                         var uc = function (t, e, i) {
                              (this.layoutVertexArray = new t()), (this.layoutAttributes = e), (this.indexArray = new i()), (this.segments = new ro()), (this.collisionVertexArray = new zr());
                         };
                         (uc.prototype.upload = function (t) {
                              (this.layoutVertexBuffer = t.createVertexBuffer(this.layoutVertexArray, this.layoutAttributes)),
                                   (this.indexBuffer = t.createIndexBuffer(this.indexArray)),
                                   (this.collisionVertexBuffer = t.createVertexBuffer(this.collisionVertexArray, Rs.members, !0));
                         }),
                              (uc.prototype.destroy = function () {
                                   this.layoutVertexBuffer && (this.layoutVertexBuffer.destroy(), this.indexBuffer.destroy(), this.segments.destroy(), this.collisionVertexBuffer.destroy());
                              }),
                              Yn("CollisionBuffers", uc);
                         var hc = function (t) {
                              (this.collisionBoxArray = t.collisionBoxArray),
                                   (this.zoom = t.zoom),
                                   (this.overscaling = t.overscaling),
                                   (this.layers = t.layers),
                                   (this.layerIds = this.layers.map(function (t) {
                                        return t.id;
                                   })),
                                   (this.index = t.index),
                                   (this.pixelRatio = t.pixelRatio),
                                   (this.sourceLayerIndex = t.sourceLayerIndex),
                                   (this.hasPattern = !1),
                                   (this.hasRTLText = !1),
                                   (this.sortKeyRanges = []),
                                   (this.collisionCircleArray = []),
                                   (this.placementInvProjMatrix = ia([])),
                                   (this.placementViewportMatrix = ia([]));
                              var e = this.layers[0]._unevaluatedLayout._values;
                              (this.textSizeData = El(this.zoom, e["text-size"])), (this.iconSizeData = El(this.zoom, e["icon-size"]));
                              var i = this.layers[0].layout,
                                   n = i.get("symbol-sort-key"),
                                   r = i.get("symbol-z-order");
                              (this.sortFeaturesByKey = "viewport-y" !== r && void 0 !== n.constantOr(1)),
                                   (this.sortFeaturesByY =
                                        ("viewport-y" === r || ("auto" === r && !this.sortFeaturesByKey)) && (i.get("text-allow-overlap") || i.get("icon-allow-overlap") || i.get("text-ignore-placement") || i.get("icon-ignore-placement"))),
                                   "point" === i.get("symbol-placement") &&
                                        (this.writingModes = i.get("text-writing-mode").map(function (t) {
                                             return ml[t];
                                        })),
                                   (this.stateDependentLayerIds = this.layers
                                        .filter(function (t) {
                                             return t.isStateDependent();
                                        })
                                        .map(function (t) {
                                             return t.id;
                                        })),
                                   (this.sourceID = t.sourceID);
                         };
                         (hc.prototype.createArrays = function () {
                              (this.text = new cc(
                                   new Po(Ys.members, this.layers, this.zoom, function (t) {
                                        return /^text/.test(t);
                                   })
                              )),
                                   (this.icon = new cc(
                                        new Po(Ys.members, this.layers, this.zoom, function (t) {
                                             return /^icon/.test(t);
                                        })
                                   )),
                                   (this.glyphOffsetArray = new Qr()),
                                   (this.lineVertexArray = new to()),
                                   (this.symbolInstances = new Kr());
                         }),
                              (hc.prototype.calculateGlyphDependencies = function (t, e, i, n, r) {
                                   for (var o = 0; o < t.length; o++)
                                        if (((e[t.charCodeAt(o)] = !0), (i || n) && r)) {
                                             var a = Ns[t.charAt(o)];
                                             a && (e[a.charCodeAt(0)] = !0);
                                        }
                              }),
                              (hc.prototype.populate = function (t, e, i) {
                                   var n = this.layers[0],
                                        r = n.layout,
                                        o = r.get("text-font"),
                                        a = r.get("text-field"),
                                        s = r.get("icon-image"),
                                        l = ("constant" !== a.value.kind || (a.value.value instanceof te && !a.value.value.isEmpty()) || a.value.value.toString().length > 0) && ("constant" !== o.value.kind || o.value.value.length > 0),
                                        c = "constant" !== s.value.kind || !!s.value.value || Object.keys(s.parameters).length > 0,
                                        u = r.get("symbol-sort-key");
                                   if (((this.features = []), l || c)) {
                                        for (var h = e.iconDependencies, d = e.glyphDependencies, p = e.availableImages, f = new rr(this.zoom), m = 0, g = t; m < g.length; m += 1) {
                                             var v = g[m],
                                                  y = v.feature,
                                                  b = v.id,
                                                  _ = v.index,
                                                  x = v.sourceLayerIndex,
                                                  w = n._featureFilter.needGeometry,
                                                  k = { type: y.type, id: b, properties: y.properties, geometry: w ? zo(y) : [] };
                                             if (n._featureFilter.filter(f, k, i)) {
                                                  w || (k.geometry = zo(y));
                                                  var S = void 0;
                                                  if (l) {
                                                       var M = n.getValueAndResolveTokens("text-field", k, i, p),
                                                            T = te.factory(M);
                                                       lc(T) && (this.hasRTLText = !0), (!this.hasRTLText || "unavailable" === er() || (this.hasRTLText && nr.isParsed())) && (S = js(T, n, k));
                                                  }
                                                  var C = void 0;
                                                  if (c) {
                                                       var D = n.getValueAndResolveTokens("icon-image", k, i, p);
                                                       C = D instanceof ee ? D : ee.fromString(D);
                                                  }
                                                  if (S || C) {
                                                       var L = this.sortFeaturesByKey ? u.evaluate(k, {}, i) : void 0,
                                                            E = { id: b, text: S, icon: C, index: _, sourceLayerIndex: x, geometry: zo(y), properties: y.properties, type: rc[y.type], sortKey: L };
                                                       if ((this.features.push(E), C && (h[C.name] = !0), S)) {
                                                            var A = o.evaluate(k, {}, i).join(","),
                                                                 P = "map" === r.get("text-rotation-alignment") && "point" !== r.get("symbol-placement");
                                                            this.allowVerticalPlacement = this.writingModes && this.writingModes.indexOf(ml.vertical) >= 0;
                                                            for (var I = 0, O = S.sections; I < O.length; I += 1) {
                                                                 var Y = O[I];
                                                                 if (Y.image) h[Y.image.name] = !0;
                                                                 else {
                                                                      var z = Wn(S.toString()),
                                                                           R = Y.fontStack || A,
                                                                           F = (d[R] = d[R] || {});
                                                                      this.calculateGlyphDependencies(Y.text, F, P, this.allowVerticalPlacement, z);
                                                                 }
                                                            }
                                                       }
                                                  }
                                             }
                                        }
                                        "line" === r.get("symbol-placement") &&
                                             (this.features = (function (t) {
                                                  var e = {},
                                                       i = {},
                                                       n = [],
                                                       r = 0;
                                                  function o(e) {
                                                       n.push(t[e]), r++;
                                                  }
                                                  function a(t, e, r) {
                                                       var o = i[t];
                                                       return delete i[t], (i[e] = o), n[o].geometry[0].pop(), (n[o].geometry[0] = n[o].geometry[0].concat(r[0])), o;
                                                  }
                                                  function s(t, i, r) {
                                                       var o = e[i];
                                                       return delete e[i], (e[t] = o), n[o].geometry[0].shift(), (n[o].geometry[0] = r[0].concat(n[o].geometry[0])), o;
                                                  }
                                                  function l(t, e, i) {
                                                       var n = i ? e[0][e[0].length - 1] : e[0][0];
                                                       return t + ":" + n.x + ":" + n.y;
                                                  }
                                                  for (var c = 0; c < t.length; c++) {
                                                       var u = t[c],
                                                            h = u.geometry,
                                                            d = u.text ? u.text.toString() : null;
                                                       if (d) {
                                                            var p = l(d, h),
                                                                 f = l(d, h, !0);
                                                            if (p in i && f in e && i[p] !== e[f]) {
                                                                 var m = s(p, f, h),
                                                                      g = a(p, f, n[m].geometry);
                                                                 delete e[p], delete i[f], (i[l(d, n[g].geometry, !0)] = g), (n[m].geometry = null);
                                                            } else p in i ? a(p, f, h) : f in e ? s(p, f, h) : (o(c), (e[p] = r - 1), (i[f] = r - 1));
                                                       } else o(c);
                                                  }
                                                  return n.filter(function (t) {
                                                       return t.geometry;
                                                  });
                                             })(this.features)),
                                             this.sortFeaturesByKey &&
                                                  this.features.sort(function (t, e) {
                                                       return t.sortKey - e.sortKey;
                                                  });
                                   }
                              }),
                              (hc.prototype.update = function (t, e, i) {
                                   this.stateDependentLayers.length && (this.text.programConfigurations.updatePaintArrays(t, e, this.layers, i), this.icon.programConfigurations.updatePaintArrays(t, e, this.layers, i));
                              }),
                              (hc.prototype.isEmpty = function () {
                                   return 0 === this.symbolInstances.length && !this.hasRTLText;
                              }),
                              (hc.prototype.uploadPending = function () {
                                   return !this.uploaded || this.text.programConfigurations.needsUpload || this.icon.programConfigurations.needsUpload;
                              }),
                              (hc.prototype.upload = function (t) {
                                   !this.uploaded && this.hasDebugData() && (this.textCollisionBox.upload(t), this.iconCollisionBox.upload(t)),
                                        this.text.upload(t, this.sortFeaturesByY, !this.uploaded, this.text.programConfigurations.needsUpload),
                                        this.icon.upload(t, this.sortFeaturesByY, !this.uploaded, this.icon.programConfigurations.needsUpload),
                                        (this.uploaded = !0);
                              }),
                              (hc.prototype.destroyDebugData = function () {
                                   this.textCollisionBox.destroy(), this.iconCollisionBox.destroy();
                              }),
                              (hc.prototype.destroy = function () {
                                   this.text.destroy(), this.icon.destroy(), this.hasDebugData() && this.destroyDebugData();
                              }),
                              (hc.prototype.addToLineVertexArray = function (t, e) {
                                   var i = this.lineVertexArray.length;
                                   if (void 0 !== t.segment) {
                                        for (var n = t.dist(e[t.segment + 1]), r = t.dist(e[t.segment]), o = {}, a = t.segment + 1; a < e.length; a++)
                                             (o[a] = { x: e[a].x, y: e[a].y, tileUnitDistanceFromAnchor: n }), a < e.length - 1 && (n += e[a + 1].dist(e[a]));
                                        for (var s = t.segment || 0; s >= 0; s--) (o[s] = { x: e[s].x, y: e[s].y, tileUnitDistanceFromAnchor: r }), s > 0 && (r += e[s - 1].dist(e[s]));
                                        for (var l = 0; l < e.length; l++) {
                                             var c = o[l];
                                             this.lineVertexArray.emplaceBack(c.x, c.y, c.tileUnitDistanceFromAnchor);
                                        }
                                   }
                                   return { lineStartIndex: i, lineLength: this.lineVertexArray.length - i };
                              }),
                              (hc.prototype.addSymbols = function (t, e, i, n, r, o, a, s, l, c, u, h) {
                                   for (
                                        var d = t.indexArray,
                                             p = t.layoutVertexArray,
                                             f = t.segments.prepareSegment(4 * e.length, p, d, o.sortKey),
                                             m = this.glyphOffsetArray.length,
                                             g = f.vertexLength,
                                             v = this.allowVerticalPlacement && a === ml.vertical ? Math.PI / 2 : 0,
                                             y = o.text && o.text.sections,
                                             b = 0;
                                        b < e.length;
                                        b++
                                   ) {
                                        var _ = e[b],
                                             x = _.tl,
                                             w = _.tr,
                                             k = _.bl,
                                             S = _.br,
                                             M = _.tex,
                                             T = _.pixelOffsetTL,
                                             C = _.pixelOffsetBR,
                                             D = _.minFontScaleX,
                                             L = _.minFontScaleY,
                                             E = _.glyphOffset,
                                             A = _.isSDF,
                                             P = _.sectionIndex,
                                             I = f.vertexLength,
                                             O = E[1];
                                        ac(p, s.x, s.y, x.x, O + x.y, M.x, M.y, i, A, T.x, T.y, D, L),
                                             ac(p, s.x, s.y, w.x, O + w.y, M.x + M.w, M.y, i, A, C.x, T.y, D, L),
                                             ac(p, s.x, s.y, k.x, O + k.y, M.x, M.y + M.h, i, A, T.x, C.y, D, L),
                                             ac(p, s.x, s.y, S.x, O + S.y, M.x + M.w, M.y + M.h, i, A, C.x, C.y, D, L),
                                             sc(t.dynamicLayoutVertexArray, s, v),
                                             d.emplaceBack(I, I + 1, I + 2),
                                             d.emplaceBack(I + 1, I + 2, I + 3),
                                             (f.vertexLength += 4),
                                             (f.primitiveLength += 2),
                                             this.glyphOffsetArray.emplaceBack(E[0]),
                                             (b !== e.length - 1 && P === e[b + 1].sectionIndex) || t.programConfigurations.populatePaintArrays(p.length, o, o.index, {}, h, y && y[P]);
                                   }
                                   t.placedSymbolArray.emplaceBack(s.x, s.y, m, this.glyphOffsetArray.length - m, g, l, c, s.segment, i ? i[0] : 0, i ? i[1] : 0, n[0], n[1], a, 0, !1, 0, u);
                              }),
                              (hc.prototype._addCollisionDebugVertex = function (t, e, i, n, r, o) {
                                   return e.emplaceBack(0, 0), t.emplaceBack(i.x, i.y, n, r, Math.round(o.x), Math.round(o.y));
                              }),
                              (hc.prototype.addCollisionDebugVertices = function (t, e, i, n, o, a, s) {
                                   var l = o.segments.prepareSegment(4, o.layoutVertexArray, o.indexArray),
                                        c = l.vertexLength,
                                        u = o.layoutVertexArray,
                                        h = o.collisionVertexArray,
                                        d = s.anchorX,
                                        p = s.anchorY;
                                   this._addCollisionDebugVertex(u, h, a, d, p, new r(t, e)),
                                        this._addCollisionDebugVertex(u, h, a, d, p, new r(i, e)),
                                        this._addCollisionDebugVertex(u, h, a, d, p, new r(i, n)),
                                        this._addCollisionDebugVertex(u, h, a, d, p, new r(t, n)),
                                        (l.vertexLength += 4);
                                   var f = o.indexArray;
                                   f.emplaceBack(c, c + 1), f.emplaceBack(c + 1, c + 2), f.emplaceBack(c + 2, c + 3), f.emplaceBack(c + 3, c), (l.primitiveLength += 4);
                              }),
                              (hc.prototype.addDebugCollisionBoxes = function (t, e, i, n) {
                                   for (var r = t; r < e; r++) {
                                        var o = this.collisionBoxArray.get(r);
                                        this.addCollisionDebugVertices(o.x1, o.y1, o.x2, o.y2, n ? this.textCollisionBox : this.iconCollisionBox, o.anchorPoint, i);
                                   }
                              }),
                              (hc.prototype.generateCollisionDebugBuffers = function () {
                                   this.hasDebugData() && this.destroyDebugData(), (this.textCollisionBox = new uc(Or, Fs.members, Wr)), (this.iconCollisionBox = new uc(Or, Fs.members, Wr));
                                   for (var t = 0; t < this.symbolInstances.length; t++) {
                                        var e = this.symbolInstances.get(t);
                                        this.addDebugCollisionBoxes(e.textBoxStartIndex, e.textBoxEndIndex, e, !0),
                                             this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex, e.verticalTextBoxEndIndex, e, !0),
                                             this.addDebugCollisionBoxes(e.iconBoxStartIndex, e.iconBoxEndIndex, e, !1),
                                             this.addDebugCollisionBoxes(e.verticalIconBoxStartIndex, e.verticalIconBoxEndIndex, e, !1);
                                   }
                              }),
                              (hc.prototype._deserializeCollisionBoxesForSymbol = function (t, e, i, n, r, o, a, s, l) {
                                   for (var c = {}, u = e; u < i; u++) {
                                        var h = t.get(u);
                                        (c.textBox = { x1: h.x1, y1: h.y1, x2: h.x2, y2: h.y2, anchorPointX: h.anchorPointX, anchorPointY: h.anchorPointY }), (c.textFeatureIndex = h.featureIndex);
                                        break;
                                   }
                                   for (var d = n; d < r; d++) {
                                        var p = t.get(d);
                                        (c.verticalTextBox = { x1: p.x1, y1: p.y1, x2: p.x2, y2: p.y2, anchorPointX: p.anchorPointX, anchorPointY: p.anchorPointY }), (c.verticalTextFeatureIndex = p.featureIndex);
                                        break;
                                   }
                                   for (var f = o; f < a; f++) {
                                        var m = t.get(f);
                                        (c.iconBox = { x1: m.x1, y1: m.y1, x2: m.x2, y2: m.y2, anchorPointX: m.anchorPointX, anchorPointY: m.anchorPointY }), (c.iconFeatureIndex = m.featureIndex);
                                        break;
                                   }
                                   for (var g = s; g < l; g++) {
                                        var v = t.get(g);
                                        (c.verticalIconBox = { x1: v.x1, y1: v.y1, x2: v.x2, y2: v.y2, anchorPointX: v.anchorPointX, anchorPointY: v.anchorPointY }), (c.verticalIconFeatureIndex = v.featureIndex);
                                        break;
                                   }
                                   return c;
                              }),
                              (hc.prototype.deserializeCollisionBoxes = function (t) {
                                   this.collisionArrays = [];
                                   for (var e = 0; e < this.symbolInstances.length; e++) {
                                        var i = this.symbolInstances.get(e);
                                        this.collisionArrays.push(
                                             this._deserializeCollisionBoxesForSymbol(
                                                  t,
                                                  i.textBoxStartIndex,
                                                  i.textBoxEndIndex,
                                                  i.verticalTextBoxStartIndex,
                                                  i.verticalTextBoxEndIndex,
                                                  i.iconBoxStartIndex,
                                                  i.iconBoxEndIndex,
                                                  i.verticalIconBoxStartIndex,
                                                  i.verticalIconBoxEndIndex
                                             )
                                        );
                                   }
                              }),
                              (hc.prototype.hasTextData = function () {
                                   return this.text.segments.get().length > 0;
                              }),
                              (hc.prototype.hasIconData = function () {
                                   return this.icon.segments.get().length > 0;
                              }),
                              (hc.prototype.hasDebugData = function () {
                                   return this.textCollisionBox && this.iconCollisionBox;
                              }),
                              (hc.prototype.hasTextCollisionBoxData = function () {
                                   return this.hasDebugData() && this.textCollisionBox.segments.get().length > 0;
                              }),
                              (hc.prototype.hasIconCollisionBoxData = function () {
                                   return this.hasDebugData() && this.iconCollisionBox.segments.get().length > 0;
                              }),
                              (hc.prototype.addIndicesForPlacedSymbol = function (t, e) {
                                   for (var i = t.placedSymbolArray.get(e), n = i.vertexStartIndex + 4 * i.numGlyphs, r = i.vertexStartIndex; r < n; r += 4)
                                        t.indexArray.emplaceBack(r, r + 1, r + 2), t.indexArray.emplaceBack(r + 1, r + 2, r + 3);
                              }),
                              (hc.prototype.getSortedSymbolIndexes = function (t) {
                                   if (this.sortedAngle === t && void 0 !== this.symbolInstanceIndexes) return this.symbolInstanceIndexes;
                                   for (var e = Math.sin(t), i = Math.cos(t), n = [], r = [], o = [], a = 0; a < this.symbolInstances.length; ++a) {
                                        o.push(a);
                                        var s = this.symbolInstances.get(a);
                                        n.push(0 | Math.round(e * s.anchorX + i * s.anchorY)), r.push(s.featureIndex);
                                   }
                                   return (
                                        o.sort(function (t, e) {
                                             return n[t] - n[e] || r[e] - r[t];
                                        }),
                                        o
                                   );
                              }),
                              (hc.prototype.addToSortKeyRanges = function (t, e) {
                                   var i = this.sortKeyRanges[this.sortKeyRanges.length - 1];
                                   i && i.sortKey === e ? (i.symbolInstanceEnd = t + 1) : this.sortKeyRanges.push({ sortKey: e, symbolInstanceStart: t, symbolInstanceEnd: t + 1 });
                              }),
                              (hc.prototype.sortFeatures = function (t) {
                                   var e = this;
                                   if (this.sortFeaturesByY && this.sortedAngle !== t && !(this.text.segments.get().length > 1 || this.icon.segments.get().length > 1)) {
                                        (this.symbolInstanceIndexes = this.getSortedSymbolIndexes(t)), (this.sortedAngle = t), this.text.indexArray.clear(), this.icon.indexArray.clear(), (this.featureSortOrder = []);
                                        for (var i = 0, n = this.symbolInstanceIndexes; i < n.length; i += 1) {
                                             var r = this.symbolInstances.get(n[i]);
                                             this.featureSortOrder.push(r.featureIndex),
                                                  [r.rightJustifiedTextSymbolIndex, r.centerJustifiedTextSymbolIndex, r.leftJustifiedTextSymbolIndex].forEach(function (t, i, n) {
                                                       t >= 0 && n.indexOf(t) === i && e.addIndicesForPlacedSymbol(e.text, t);
                                                  }),
                                                  r.verticalPlacedTextSymbolIndex >= 0 && this.addIndicesForPlacedSymbol(this.text, r.verticalPlacedTextSymbolIndex),
                                                  r.placedIconSymbolIndex >= 0 && this.addIndicesForPlacedSymbol(this.icon, r.placedIconSymbolIndex),
                                                  r.verticalPlacedIconSymbolIndex >= 0 && this.addIndicesForPlacedSymbol(this.icon, r.verticalPlacedIconSymbolIndex);
                                        }
                                        this.text.indexBuffer && this.text.indexBuffer.updateData(this.text.indexArray), this.icon.indexBuffer && this.icon.indexBuffer.updateData(this.icon.indexArray);
                                   }
                              }),
                              Yn("SymbolBucket", hc, { omit: ["layers", "collisionBoxArray", "features", "compareText"] }),
                              (hc.MAX_GLYPHS = 65535),
                              (hc.addDynamicAttributes = sc);
                         var dc = new yr({
                                   "symbol-placement": new pr(Tt.layout_symbol["symbol-placement"]),
                                   "symbol-spacing": new pr(Tt.layout_symbol["symbol-spacing"]),
                                   "symbol-avoid-edges": new pr(Tt.layout_symbol["symbol-avoid-edges"]),
                                   "symbol-sort-key": new fr(Tt.layout_symbol["symbol-sort-key"]),
                                   "symbol-z-order": new pr(Tt.layout_symbol["symbol-z-order"]),
                                   "icon-allow-overlap": new pr(Tt.layout_symbol["icon-allow-overlap"]),
                                   "icon-ignore-placement": new pr(Tt.layout_symbol["icon-ignore-placement"]),
                                   "icon-optional": new pr(Tt.layout_symbol["icon-optional"]),
                                   "icon-rotation-alignment": new pr(Tt.layout_symbol["icon-rotation-alignment"]),
                                   "icon-size": new fr(Tt.layout_symbol["icon-size"]),
                                   "icon-text-fit": new pr(Tt.layout_symbol["icon-text-fit"]),
                                   "icon-text-fit-padding": new pr(Tt.layout_symbol["icon-text-fit-padding"]),
                                   "icon-image": new fr(Tt.layout_symbol["icon-image"]),
                                   "icon-rotate": new fr(Tt.layout_symbol["icon-rotate"]),
                                   "icon-padding": new pr(Tt.layout_symbol["icon-padding"]),
                                   "icon-keep-upright": new pr(Tt.layout_symbol["icon-keep-upright"]),
                                   "icon-offset": new fr(Tt.layout_symbol["icon-offset"]),
                                   "icon-anchor": new fr(Tt.layout_symbol["icon-anchor"]),
                                   "icon-pitch-alignment": new pr(Tt.layout_symbol["icon-pitch-alignment"]),
                                   "text-pitch-alignment": new pr(Tt.layout_symbol["text-pitch-alignment"]),
                                   "text-rotation-alignment": new pr(Tt.layout_symbol["text-rotation-alignment"]),
                                   "text-field": new fr(Tt.layout_symbol["text-field"]),
                                   "text-font": new fr(Tt.layout_symbol["text-font"]),
                                   "text-size": new fr(Tt.layout_symbol["text-size"]),
                                   "text-max-width": new fr(Tt.layout_symbol["text-max-width"]),
                                   "text-line-height": new pr(Tt.layout_symbol["text-line-height"]),
                                   "text-letter-spacing": new fr(Tt.layout_symbol["text-letter-spacing"]),
                                   "text-justify": new fr(Tt.layout_symbol["text-justify"]),
                                   "text-radial-offset": new fr(Tt.layout_symbol["text-radial-offset"]),
                                   "text-variable-anchor": new pr(Tt.layout_symbol["text-variable-anchor"]),
                                   "text-anchor": new fr(Tt.layout_symbol["text-anchor"]),
                                   "text-max-angle": new pr(Tt.layout_symbol["text-max-angle"]),
                                   "text-writing-mode": new pr(Tt.layout_symbol["text-writing-mode"]),
                                   "text-rotate": new fr(Tt.layout_symbol["text-rotate"]),
                                   "text-padding": new pr(Tt.layout_symbol["text-padding"]),
                                   "text-keep-upright": new pr(Tt.layout_symbol["text-keep-upright"]),
                                   "text-transform": new fr(Tt.layout_symbol["text-transform"]),
                                   "text-offset": new fr(Tt.layout_symbol["text-offset"]),
                                   "text-allow-overlap": new pr(Tt.layout_symbol["text-allow-overlap"]),
                                   "text-ignore-placement": new pr(Tt.layout_symbol["text-ignore-placement"]),
                                   "text-optional": new pr(Tt.layout_symbol["text-optional"]),
                              }),
                              pc = {
                                   paint: new yr({
                                        "icon-opacity": new fr(Tt.paint_symbol["icon-opacity"]),
                                        "icon-color": new fr(Tt.paint_symbol["icon-color"]),
                                        "icon-halo-color": new fr(Tt.paint_symbol["icon-halo-color"]),
                                        "icon-halo-width": new fr(Tt.paint_symbol["icon-halo-width"]),
                                        "icon-halo-blur": new fr(Tt.paint_symbol["icon-halo-blur"]),
                                        "icon-translate": new pr(Tt.paint_symbol["icon-translate"]),
                                        "icon-translate-anchor": new pr(Tt.paint_symbol["icon-translate-anchor"]),
                                        "text-opacity": new fr(Tt.paint_symbol["text-opacity"]),
                                        "text-color": new fr(Tt.paint_symbol["text-color"], {
                                             runtimeType: Ft,
                                             getOverride: function (t) {
                                                  return t.textColor;
                                             },
                                             hasOverride: function (t) {
                                                  return !!t.textColor;
                                             },
                                        }),
                                        "text-halo-color": new fr(Tt.paint_symbol["text-halo-color"]),
                                        "text-halo-width": new fr(Tt.paint_symbol["text-halo-width"]),
                                        "text-halo-blur": new fr(Tt.paint_symbol["text-halo-blur"]),
                                        "text-translate": new pr(Tt.paint_symbol["text-translate"]),
                                        "text-translate-anchor": new pr(Tt.paint_symbol["text-translate-anchor"]),
                                   }),
                                   layout: dc,
                              },
                              fc = function (t) {
                                   (this.type = t.property.overrides ? t.property.overrides.runtimeType : Ot), (this.defaultValue = t);
                              };
                         (fc.prototype.evaluate = function (t) {
                              if (t.formattedSection) {
                                   var e = this.defaultValue.property.overrides;
                                   if (e && e.hasOverride(t.formattedSection)) return e.getOverride(t.formattedSection);
                              }
                              return t.feature && t.featureState ? this.defaultValue.evaluate(t.feature, t.featureState) : this.defaultValue.property.specification.default;
                         }),
                              (fc.prototype.eachChild = function (t) {
                                   this.defaultValue.isConstant() || t(this.defaultValue.value._styleExpression.expression);
                              }),
                              (fc.prototype.outputDefined = function () {
                                   return !1;
                              }),
                              (fc.prototype.serialize = function () {
                                   return null;
                              }),
                              Yn("FormatSectionOverride", fc, { omit: ["defaultValue"] });
                         var mc = (function (t) {
                                   function e(e) {
                                        t.call(this, e, pc);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.recalculate = function (e, i) {
                                             if (
                                                  (t.prototype.recalculate.call(this, e, i),
                                                  "auto" === this.layout.get("icon-rotation-alignment") && (this.layout._values["icon-rotation-alignment"] = "point" !== this.layout.get("symbol-placement") ? "map" : "viewport"),
                                                  "auto" === this.layout.get("text-rotation-alignment") && (this.layout._values["text-rotation-alignment"] = "point" !== this.layout.get("symbol-placement") ? "map" : "viewport"),
                                                  "auto" === this.layout.get("text-pitch-alignment") && (this.layout._values["text-pitch-alignment"] = this.layout.get("text-rotation-alignment")),
                                                  "auto" === this.layout.get("icon-pitch-alignment") && (this.layout._values["icon-pitch-alignment"] = this.layout.get("icon-rotation-alignment")),
                                                  "point" === this.layout.get("symbol-placement"))
                                             ) {
                                                  var n = this.layout.get("text-writing-mode");
                                                  if (n) {
                                                       for (var r = [], o = 0, a = n; o < a.length; o += 1) {
                                                            var s = a[o];
                                                            r.indexOf(s) < 0 && r.push(s);
                                                       }
                                                       this.layout._values["text-writing-mode"] = r;
                                                  } else this.layout._values["text-writing-mode"] = ["horizontal"];
                                             }
                                             this._setPaintOverrides();
                                        }),
                                        (e.prototype.getValueAndResolveTokens = function (t, e, i, n) {
                                             var r = this.layout.get(t).evaluate(e, {}, i, n),
                                                  o = this._unevaluatedLayout._values[t];
                                             return o.isDataDriven() || Bi(o.value) || !r
                                                  ? r
                                                  : (function (t, e) {
                                                         return e.replace(/{([^{}]+)}/g, function (e, i) {
                                                              return i in t ? String(t[i]) : "";
                                                         });
                                                    })(e.properties, r);
                                        }),
                                        (e.prototype.createBucket = function (t) {
                                             return new hc(t);
                                        }),
                                        (e.prototype.queryRadius = function () {
                                             return 0;
                                        }),
                                        (e.prototype.queryIntersectsFeature = function () {
                                             return !1;
                                        }),
                                        (e.prototype._setPaintOverrides = function () {
                                             for (var t = 0, i = pc.paint.overridableProperties; t < i.length; t += 1) {
                                                  var n = i[t];
                                                  if (e.hasPaintOverride(this.layout, n)) {
                                                       var r,
                                                            o = this.paint.get(n),
                                                            a = new fc(o),
                                                            s = new Ni(a, o.property.specification);
                                                       (r = "constant" === o.value.kind || "source" === o.value.kind ? new Vi("source", s) : new Ui("composite", s, o.value.zoomStops, o.value._interpolationType)),
                                                            (this.paint._values[n] = new hr(o.property, r, o.parameters));
                                                  }
                                             }
                                        }),
                                        (e.prototype._handleOverridablePaintPropertyUpdate = function (t, i, n) {
                                             return !(!this.layout || i.isDataDriven() || n.isDataDriven()) && e.hasPaintOverride(this.layout, t);
                                        }),
                                        (e.hasPaintOverride = function (t, e) {
                                             var i = t.get("text-field"),
                                                  n = pc.paint.properties[e],
                                                  r = !1,
                                                  o = function (t) {
                                                       for (var e = 0, i = t; e < i.length; e += 1) if (n.overrides && n.overrides.hasOverride(i[e])) return void (r = !0);
                                                  };
                                             if ("constant" === i.value.kind && i.value.value instanceof te) o(i.value.value.sections);
                                             else if ("source" === i.value.kind) {
                                                  var a = function (t) {
                                                            r || (t instanceof ae && re(t.value) === Bt ? o(t.value.sections) : t instanceof ue ? o(t.sections) : t.eachChild(a));
                                                       },
                                                       s = i.value;
                                                  s._styleExpression && a(s._styleExpression.expression);
                                             }
                                             return r;
                                        }),
                                        e
                                   );
                              })(br),
                              gc = {
                                   paint: new yr({
                                        "background-color": new pr(Tt.paint_background["background-color"]),
                                        "background-pattern": new gr(Tt.paint_background["background-pattern"]),
                                        "background-opacity": new pr(Tt.paint_background["background-opacity"]),
                                   }),
                              },
                              vc = (function (t) {
                                   function e(e) {
                                        t.call(this, e, gc);
                                   }
                                   return t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e), e;
                              })(br),
                              yc = {
                                   paint: new yr({
                                        "raster-opacity": new pr(Tt.paint_raster["raster-opacity"]),
                                        "raster-hue-rotate": new pr(Tt.paint_raster["raster-hue-rotate"]),
                                        "raster-brightness-min": new pr(Tt.paint_raster["raster-brightness-min"]),
                                        "raster-brightness-max": new pr(Tt.paint_raster["raster-brightness-max"]),
                                        "raster-saturation": new pr(Tt.paint_raster["raster-saturation"]),
                                        "raster-contrast": new pr(Tt.paint_raster["raster-contrast"]),
                                        "raster-resampling": new pr(Tt.paint_raster["raster-resampling"]),
                                        "raster-fade-duration": new pr(Tt.paint_raster["raster-fade-duration"]),
                                   }),
                              },
                              bc = (function (t) {
                                   function e(e) {
                                        t.call(this, e, yc);
                                   }
                                   return t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e), e;
                              })(br),
                              _c = (function (t) {
                                   function e(e) {
                                        t.call(this, e, {}), (this.implementation = e);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.is3D = function () {
                                             return "3d" === this.implementation.renderingMode;
                                        }),
                                        (e.prototype.hasOffscreenPass = function () {
                                             return void 0 !== this.implementation.prerender;
                                        }),
                                        (e.prototype.recalculate = function () {}),
                                        (e.prototype.updateTransitions = function () {}),
                                        (e.prototype.hasTransition = function () {}),
                                        (e.prototype.serialize = function () {}),
                                        (e.prototype.onAdd = function (t) {
                                             this.implementation.onAdd && this.implementation.onAdd(t, t.painter.context.gl);
                                        }),
                                        (e.prototype.onRemove = function (t) {
                                             this.implementation.onRemove && this.implementation.onRemove(t, t.painter.context.gl);
                                        }),
                                        e
                                   );
                              })(br),
                              xc = { circle: sa, heatmap: va, hillshade: ba, fill: os, "fill-extrusion": ws, line: Is, symbol: mc, background: vc, raster: bc },
                              wc = self.HTMLImageElement,
                              kc = self.HTMLCanvasElement,
                              Sc = self.HTMLVideoElement,
                              Mc = self.ImageData,
                              Tc = self.ImageBitmap,
                              Cc = function (t, e, i, n) {
                                   (this.context = t), (this.format = i), (this.texture = t.gl.createTexture()), this.update(e, n);
                              };
                         (Cc.prototype.update = function (t, e, i) {
                              var n = t.width,
                                   r = t.height,
                                   o = !((this.size && this.size[0] === n && this.size[1] === r) || i),
                                   a = this.context,
                                   s = a.gl;
                              if (
                                   ((this.useMipmap = Boolean(e && e.useMipmap)),
                                   s.bindTexture(s.TEXTURE_2D, this.texture),
                                   a.pixelStoreUnpackFlipY.set(!1),
                                   a.pixelStoreUnpack.set(1),
                                   a.pixelStoreUnpackPremultiplyAlpha.set(this.format === s.RGBA && (!e || !1 !== e.premultiply)),
                                   o)
                              )
                                   (this.size = [n, r]),
                                        t instanceof wc || t instanceof kc || t instanceof Sc || t instanceof Mc || (Tc && t instanceof Tc)
                                             ? s.texImage2D(s.TEXTURE_2D, 0, this.format, this.format, s.UNSIGNED_BYTE, t)
                                             : s.texImage2D(s.TEXTURE_2D, 0, this.format, n, r, 0, this.format, s.UNSIGNED_BYTE, t.data);
                              else {
                                   var l = i || { x: 0, y: 0 },
                                        c = l.x,
                                        u = l.y;
                                   t instanceof wc || t instanceof kc || t instanceof Sc || t instanceof Mc || (Tc && t instanceof Tc)
                                        ? s.texSubImage2D(s.TEXTURE_2D, 0, c, u, s.RGBA, s.UNSIGNED_BYTE, t)
                                        : s.texSubImage2D(s.TEXTURE_2D, 0, c, u, n, r, s.RGBA, s.UNSIGNED_BYTE, t.data);
                              }
                              this.useMipmap && this.isSizePowerOfTwo() && s.generateMipmap(s.TEXTURE_2D);
                         }),
                              (Cc.prototype.bind = function (t, e, i) {
                                   var n = this.context.gl;
                                   n.bindTexture(n.TEXTURE_2D, this.texture),
                                        i !== n.LINEAR_MIPMAP_NEAREST || this.isSizePowerOfTwo() || (i = n.LINEAR),
                                        t !== this.filter && (n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, t), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, i || t), (this.filter = t)),
                                        e !== this.wrap && (n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, e), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, e), (this.wrap = e));
                              }),
                              (Cc.prototype.isSizePowerOfTwo = function () {
                                   return this.size[0] === this.size[1] && (Math.log(this.size[0]) / Math.LN2) % 1 == 0;
                              }),
                              (Cc.prototype.destroy = function () {
                                   this.context.gl.deleteTexture(this.texture), (this.texture = null);
                              });
                         var Dc = function (t) {
                              var e = this;
                              (this._callback = t),
                                   (this._triggered = !1),
                                   "undefined" != typeof MessageChannel &&
                                        ((this._channel = new MessageChannel()),
                                        (this._channel.port2.onmessage = function () {
                                             (e._triggered = !1), e._callback();
                                        }));
                         };
                         (Dc.prototype.trigger = function () {
                              var t = this;
                              this._triggered ||
                                   ((this._triggered = !0),
                                   this._channel
                                        ? this._channel.port1.postMessage(!0)
                                        : setTimeout(function () {
                                               (t._triggered = !1), t._callback();
                                          }, 0));
                         }),
                              (Dc.prototype.remove = function () {
                                   delete this._channel, (this._callback = function () {});
                              });
                         var Lc = function (t, e, i) {
                              (this.target = t),
                                   (this.parent = e),
                                   (this.mapId = i),
                                   (this.callbacks = {}),
                                   (this.tasks = {}),
                                   (this.taskQueue = []),
                                   (this.cancelCallbacks = {}),
                                   m(["receive", "process"], this),
                                   (this.invoker = new Dc(this.process)),
                                   this.target.addEventListener("message", this.receive, !1),
                                   (this.globalScope = S() ? t : self);
                         };
                         function Ec(t, e, i) {
                              var n = (2 * Math.PI * 6378137) / 256 / Math.pow(2, i);
                              return [t * n - (2 * Math.PI * 6378137) / 2, e * n - (2 * Math.PI * 6378137) / 2];
                         }
                         (Lc.prototype.send = function (t, e, i, n, r) {
                              var o = this;
                              void 0 === r && (r = !1);
                              var a = Math.round(1e18 * Math.random())
                                   .toString(36)
                                   .substring(0, 10);
                              i && (this.callbacks[a] = i);
                              var s = C(this.globalScope) ? void 0 : [];
                              return (
                                   this.target.postMessage({ id: a, type: t, hasCallback: !!i, targetMapId: n, mustQueue: r, sourceMapId: this.mapId, data: Hn(e, s) }, s),
                                   {
                                        cancel: function () {
                                             i && delete o.callbacks[a], o.target.postMessage({ id: a, type: "<cancel>", targetMapId: n, sourceMapId: o.mapId });
                                        },
                                   }
                              );
                         }),
                              (Lc.prototype.receive = function (t) {
                                   var e = t.data,
                                        i = e.id;
                                   if (i && (!e.targetMapId || this.mapId === e.targetMapId))
                                        if ("<cancel>" === e.type) {
                                             delete this.tasks[i];
                                             var n = this.cancelCallbacks[i];
                                             delete this.cancelCallbacks[i], n && n();
                                        } else S() || e.mustQueue ? ((this.tasks[i] = e), this.taskQueue.push(i), this.invoker.trigger()) : this.processTask(i, e);
                              }),
                              (Lc.prototype.process = function () {
                                   if (this.taskQueue.length) {
                                        var t = this.taskQueue.shift(),
                                             e = this.tasks[t];
                                        delete this.tasks[t], this.taskQueue.length && this.invoker.trigger(), e && this.processTask(t, e);
                                   }
                              }),
                              (Lc.prototype.processTask = function (t, e) {
                                   var i = this;
                                   if ("<response>" === e.type) {
                                        var n = this.callbacks[t];
                                        delete this.callbacks[t], n && (e.error ? n(jn(e.error)) : n(null, jn(e.data)));
                                   } else {
                                        var r = !1,
                                             o = C(this.globalScope) ? void 0 : [],
                                             a = e.hasCallback
                                                  ? function (e, n) {
                                                         (r = !0), delete i.cancelCallbacks[t], i.target.postMessage({ id: t, type: "<response>", sourceMapId: i.mapId, error: e ? Hn(e) : null, data: Hn(n, o) }, o);
                                                    }
                                                  : function (t) {
                                                         r = !0;
                                                    },
                                             s = null,
                                             l = jn(e.data);
                                        if (this.parent[e.type]) s = this.parent[e.type](e.sourceMapId, l, a);
                                        else if (this.parent.getWorkerSource) {
                                             var c = e.type.split(".");
                                             s = this.parent.getWorkerSource(e.sourceMapId, c[0], l.source)[c[1]](l, a);
                                        } else a(new Error("Could not find function " + e.type));
                                        !r && s && s.cancel && (this.cancelCallbacks[t] = s.cancel);
                                   }
                              }),
                              (Lc.prototype.remove = function () {
                                   this.invoker.remove(), this.target.removeEventListener("message", this.receive, !1);
                              });
                         var Ac = function (t, e) {
                              t && (e ? this.setSouthWest(t).setNorthEast(e) : 4 === t.length ? this.setSouthWest([t[0], t[1]]).setNorthEast([t[2], t[3]]) : this.setSouthWest(t[0]).setNorthEast(t[1]));
                         };
                         (Ac.prototype.setNorthEast = function (t) {
                              return (this._ne = t instanceof Pc ? new Pc(t.lng, t.lat) : Pc.convert(t)), this;
                         }),
                              (Ac.prototype.setSouthWest = function (t) {
                                   return (this._sw = t instanceof Pc ? new Pc(t.lng, t.lat) : Pc.convert(t)), this;
                              }),
                              (Ac.prototype.extend = function (t) {
                                   var e,
                                        i,
                                        n = this._sw,
                                        r = this._ne;
                                   if (t instanceof Pc) (e = t), (i = t);
                                   else {
                                        if (!(t instanceof Ac)) return Array.isArray(t) ? (4 === t.length || t.every(Array.isArray) ? this.extend(Ac.convert(t)) : this.extend(Pc.convert(t))) : this;
                                        if (((i = t._ne), !(e = t._sw) || !i)) return this;
                                   }
                                   return (
                                        n || r
                                             ? ((n.lng = Math.min(e.lng, n.lng)), (n.lat = Math.min(e.lat, n.lat)), (r.lng = Math.max(i.lng, r.lng)), (r.lat = Math.max(i.lat, r.lat)))
                                             : ((this._sw = new Pc(e.lng, e.lat)), (this._ne = new Pc(i.lng, i.lat))),
                                        this
                                   );
                              }),
                              (Ac.prototype.getCenter = function () {
                                   return new Pc((this._sw.lng + this._ne.lng) / 2, (this._sw.lat + this._ne.lat) / 2);
                              }),
                              (Ac.prototype.getSouthWest = function () {
                                   return this._sw;
                              }),
                              (Ac.prototype.getNorthEast = function () {
                                   return this._ne;
                              }),
                              (Ac.prototype.getNorthWest = function () {
                                   return new Pc(this.getWest(), this.getNorth());
                              }),
                              (Ac.prototype.getSouthEast = function () {
                                   return new Pc(this.getEast(), this.getSouth());
                              }),
                              (Ac.prototype.getWest = function () {
                                   return this._sw.lng;
                              }),
                              (Ac.prototype.getSouth = function () {
                                   return this._sw.lat;
                              }),
                              (Ac.prototype.getEast = function () {
                                   return this._ne.lng;
                              }),
                              (Ac.prototype.getNorth = function () {
                                   return this._ne.lat;
                              }),
                              (Ac.prototype.toArray = function () {
                                   return [this._sw.toArray(), this._ne.toArray()];
                              }),
                              (Ac.prototype.toString = function () {
                                   return "LngLatBounds(" + this._sw.toString() + ", " + this._ne.toString() + ")";
                              }),
                              (Ac.prototype.isEmpty = function () {
                                   return !(this._sw && this._ne);
                              }),
                              (Ac.prototype.contains = function (t) {
                                   var e = Pc.convert(t),
                                        i = e.lng,
                                        n = e.lat,
                                        r = this._sw.lng <= i && i <= this._ne.lng;
                                   return this._sw.lng > this._ne.lng && (r = this._sw.lng >= i && i >= this._ne.lng), this._sw.lat <= n && n <= this._ne.lat && r;
                              }),
                              (Ac.convert = function (t) {
                                   return !t || t instanceof Ac ? t : new Ac(t);
                              });
                         var Pc = function (t, e) {
                              if (isNaN(t) || isNaN(e)) throw new Error("Invalid LngLat object: (" + t + ", " + e + ")");
                              if (((this.lng = +t), (this.lat = +e), this.lat > 90 || this.lat < -90)) throw new Error("Invalid LngLat latitude value: must be between -90 and 90");
                         };
                         (Pc.prototype.wrap = function () {
                              return new Pc(c(this.lng, -180, 180), this.lat);
                         }),
                              (Pc.prototype.toArray = function () {
                                   return [this.lng, this.lat];
                              }),
                              (Pc.prototype.toString = function () {
                                   return "LngLat(" + this.lng + ", " + this.lat + ")";
                              }),
                              (Pc.prototype.distanceTo = function (t) {
                                   var e = Math.PI / 180,
                                        i = this.lat * e,
                                        n = t.lat * e,
                                        r = Math.sin(i) * Math.sin(n) + Math.cos(i) * Math.cos(n) * Math.cos((t.lng - this.lng) * e);
                                   return 6371008.8 * Math.acos(Math.min(r, 1));
                              }),
                              (Pc.prototype.toBounds = function (t) {
                                   void 0 === t && (t = 0);
                                   var e = (360 * t) / 40075017,
                                        i = e / Math.cos((Math.PI / 180) * this.lat);
                                   return new Ac(new Pc(this.lng - i, this.lat - e), new Pc(this.lng + i, this.lat + e));
                              }),
                              (Pc.convert = function (t) {
                                   if (t instanceof Pc) return t;
                                   if (Array.isArray(t) && (2 === t.length || 3 === t.length)) return new Pc(Number(t[0]), Number(t[1]));
                                   if (!Array.isArray(t) && "object" == typeof t && null !== t) return new Pc(Number("lng" in t ? t.lng : t.lon), Number(t.lat));
                                   throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]");
                              });
                         var Ic = 2 * Math.PI * 6371008.8;
                         function Oc(t) {
                              return Ic * Math.cos((t * Math.PI) / 180);
                         }
                         function Yc(t) {
                              return (180 + t) / 360;
                         }
                         function zc(t) {
                              return (180 - (180 / Math.PI) * Math.log(Math.tan(Math.PI / 4 + (t * Math.PI) / 360))) / 360;
                         }
                         function Rc(t, e) {
                              return t / Oc(e);
                         }
                         function Fc(t) {
                              return (360 / Math.PI) * Math.atan(Math.exp(((180 - 360 * t) * Math.PI) / 180)) - 90;
                         }
                         var Hc = function (t, e, i) {
                              void 0 === i && (i = 0), (this.x = +t), (this.y = +e), (this.z = +i);
                         };
                         (Hc.fromLngLat = function (t, e) {
                              void 0 === e && (e = 0);
                              var i = Pc.convert(t);
                              return new Hc(Yc(i.lng), zc(i.lat), Rc(e, i.lat));
                         }),
                              (Hc.prototype.toLngLat = function () {
                                   return new Pc(360 * this.x - 180, Fc(this.y));
                              }),
                              (Hc.prototype.toAltitude = function () {
                                   return this.z * Oc(Fc(this.y));
                              }),
                              (Hc.prototype.meterInMercatorCoordinateUnits = function () {
                                   return (1 / Ic) * ((t = Fc(this.y)), 1 / Math.cos((t * Math.PI) / 180));
                                   var t;
                              });
                         var jc = function (t, e, i) {
                              (this.z = t), (this.x = e), (this.y = i), (this.key = Wc(0, t, t, e, i));
                         };
                         (jc.prototype.equals = function (t) {
                              return this.z === t.z && this.x === t.x && this.y === t.y;
                         }),
                              (jc.prototype.url = function (t, e) {
                                   var i,
                                        n,
                                        r,
                                        o,
                                        a,
                                        s = ((n = this.y), (r = this.z), (o = Ec(256 * (i = this.x), 256 * (n = Math.pow(2, r) - n - 1), r)), (a = Ec(256 * (i + 1), 256 * (n + 1), r)), o[0] + "," + o[1] + "," + a[0] + "," + a[1]),
                                        l = (function (t, e, i) {
                                             for (var n, r = "", o = t; o > 0; o--) r += (e & (n = 1 << (o - 1)) ? 1 : 0) + (i & n ? 2 : 0);
                                             return r;
                                        })(this.z, this.x, this.y);
                                   return t[(this.x + this.y) % t.length]
                                        .replace("{prefix}", (this.x % 16).toString(16) + (this.y % 16).toString(16))
                                        .replace("{z}", String(this.z))
                                        .replace("{x}", String(this.x))
                                        .replace("{y}", String("tms" === e ? Math.pow(2, this.z) - this.y - 1 : this.y))
                                        .replace("{quadkey}", l)
                                        .replace("{bbox-epsg-3857}", s);
                              }),
                              (jc.prototype.getTilePoint = function (t) {
                                   var e = Math.pow(2, this.z);
                                   return new r(8192 * (t.x * e - this.x), 8192 * (t.y * e - this.y));
                              }),
                              (jc.prototype.toString = function () {
                                   return this.z + "/" + this.x + "/" + this.y;
                              });
                         var Nc = function (t, e) {
                                   (this.wrap = t), (this.canonical = e), (this.key = Wc(t, e.z, e.z, e.x, e.y));
                              },
                              Bc = function (t, e, i, n, r) {
                                   (this.overscaledZ = t), (this.wrap = e), (this.canonical = new jc(i, +n, +r)), (this.key = Wc(e, t, i, n, r));
                              };
                         function Wc(t, e, i, n, r) {
                              (t *= 2) < 0 && (t = -1 * t - 1);
                              var o = 1 << i;
                              return (o * o * t + o * r + n).toString(36) + i.toString(36) + e.toString(36);
                         }
                         (Bc.prototype.equals = function (t) {
                              return this.overscaledZ === t.overscaledZ && this.wrap === t.wrap && this.canonical.equals(t.canonical);
                         }),
                              (Bc.prototype.scaledTo = function (t) {
                                   var e = this.canonical.z - t;
                                   return t > this.canonical.z ? new Bc(t, this.wrap, this.canonical.z, this.canonical.x, this.canonical.y) : new Bc(t, this.wrap, t, this.canonical.x >> e, this.canonical.y >> e);
                              }),
                              (Bc.prototype.calculateScaledKey = function (t, e) {
                                   var i = this.canonical.z - t;
                                   return t > this.canonical.z ? Wc(this.wrap * +e, t, this.canonical.z, this.canonical.x, this.canonical.y) : Wc(this.wrap * +e, t, t, this.canonical.x >> i, this.canonical.y >> i);
                              }),
                              (Bc.prototype.isChildOf = function (t) {
                                   if (t.wrap !== this.wrap) return !1;
                                   var e = this.canonical.z - t.canonical.z;
                                   return 0 === t.overscaledZ || (t.overscaledZ < this.overscaledZ && t.canonical.x === this.canonical.x >> e && t.canonical.y === this.canonical.y >> e);
                              }),
                              (Bc.prototype.children = function (t) {
                                   if (this.overscaledZ >= t) return [new Bc(this.overscaledZ + 1, this.wrap, this.canonical.z, this.canonical.x, this.canonical.y)];
                                   var e = this.canonical.z + 1,
                                        i = 2 * this.canonical.x,
                                        n = 2 * this.canonical.y;
                                   return [new Bc(e, this.wrap, e, i, n), new Bc(e, this.wrap, e, i + 1, n), new Bc(e, this.wrap, e, i, n + 1), new Bc(e, this.wrap, e, i + 1, n + 1)];
                              }),
                              (Bc.prototype.isLessThan = function (t) {
                                   return (
                                        this.wrap < t.wrap ||
                                        (!(this.wrap > t.wrap) &&
                                             (this.overscaledZ < t.overscaledZ || (!(this.overscaledZ > t.overscaledZ) && (this.canonical.x < t.canonical.x || (!(this.canonical.x > t.canonical.x) && this.canonical.y < t.canonical.y)))))
                                   );
                              }),
                              (Bc.prototype.wrapped = function () {
                                   return new Bc(this.overscaledZ, 0, this.canonical.z, this.canonical.x, this.canonical.y);
                              }),
                              (Bc.prototype.unwrapTo = function (t) {
                                   return new Bc(this.overscaledZ, t, this.canonical.z, this.canonical.x, this.canonical.y);
                              }),
                              (Bc.prototype.overscaleFactor = function () {
                                   return Math.pow(2, this.overscaledZ - this.canonical.z);
                              }),
                              (Bc.prototype.toUnwrapped = function () {
                                   return new Nc(this.wrap, this.canonical);
                              }),
                              (Bc.prototype.toString = function () {
                                   return this.overscaledZ + "/" + this.canonical.x + "/" + this.canonical.y;
                              }),
                              (Bc.prototype.getTilePoint = function (t) {
                                   return this.canonical.getTilePoint(new Hc(t.x - this.wrap, t.y));
                              }),
                              Yn("CanonicalTileID", jc),
                              Yn("OverscaledTileID", Bc, { omit: ["posMatrix"] });
                         var Vc = function (t, e, i) {
                              if (((this.uid = t), e.height !== e.width)) throw new RangeError("DEM tiles must be square");
                              if (i && "mapbox" !== i && "terrarium" !== i) return x('"' + i + '" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');
                              this.stride = e.height;
                              var n = (this.dim = e.height - 2);
                              (this.data = new Uint32Array(e.data.buffer)), (this.encoding = i || "mapbox");
                              for (var r = 0; r < n; r++)
                                   (this.data[this._idx(-1, r)] = this.data[this._idx(0, r)]),
                                        (this.data[this._idx(n, r)] = this.data[this._idx(n - 1, r)]),
                                        (this.data[this._idx(r, -1)] = this.data[this._idx(r, 0)]),
                                        (this.data[this._idx(r, n)] = this.data[this._idx(r, n - 1)]);
                              (this.data[this._idx(-1, -1)] = this.data[this._idx(0, 0)]),
                                   (this.data[this._idx(n, -1)] = this.data[this._idx(n - 1, 0)]),
                                   (this.data[this._idx(-1, n)] = this.data[this._idx(0, n - 1)]),
                                   (this.data[this._idx(n, n)] = this.data[this._idx(n - 1, n - 1)]);
                         };
                         (Vc.prototype.get = function (t, e) {
                              var i = new Uint8Array(this.data.buffer),
                                   n = 4 * this._idx(t, e);
                              return ("terrarium" === this.encoding ? this._unpackTerrarium : this._unpackMapbox)(i[n], i[n + 1], i[n + 2]);
                         }),
                              (Vc.prototype.getUnpackVector = function () {
                                   return "terrarium" === this.encoding ? [256, 1, 1 / 256, 32768] : [6553.6, 25.6, 0.1, 1e4];
                              }),
                              (Vc.prototype._idx = function (t, e) {
                                   if (t < -1 || t >= this.dim + 1 || e < -1 || e >= this.dim + 1) throw new RangeError("out of range source coordinates for DEM data");
                                   return (e + 1) * this.stride + (t + 1);
                              }),
                              (Vc.prototype._unpackMapbox = function (t, e, i) {
                                   return (256 * t * 256 + 256 * e + i) / 10 - 1e4;
                              }),
                              (Vc.prototype._unpackTerrarium = function (t, e, i) {
                                   return 256 * t + e + i / 256 - 32768;
                              }),
                              (Vc.prototype.getPixels = function () {
                                   return new fa({ width: this.stride, height: this.stride }, new Uint8Array(this.data.buffer));
                              }),
                              (Vc.prototype.backfillBorder = function (t, e, i) {
                                   if (this.dim !== t.dim) throw new Error("dem dimension mismatch");
                                   var n = e * this.dim,
                                        r = e * this.dim + this.dim,
                                        o = i * this.dim,
                                        a = i * this.dim + this.dim;
                                   switch (e) {
                                        case -1:
                                             n = r - 1;
                                             break;
                                        case 1:
                                             r = n + 1;
                                   }
                                   switch (i) {
                                        case -1:
                                             o = a - 1;
                                             break;
                                        case 1:
                                             a = o + 1;
                                   }
                                   for (var s = -e * this.dim, l = -i * this.dim, c = o; c < a; c++) for (var u = n; u < r; u++) this.data[this._idx(u, c)] = t.data[this._idx(u + s, c + l)];
                              }),
                              Yn("DEMData", Vc);
                         var Uc = function (t) {
                              (this._stringToNumber = {}), (this._numberToString = []);
                              for (var e = 0; e < t.length; e++) {
                                   var i = t[e];
                                   (this._stringToNumber[i] = e), (this._numberToString[e] = i);
                              }
                         };
                         (Uc.prototype.encode = function (t) {
                              return this._stringToNumber[t];
                         }),
                              (Uc.prototype.decode = function (t) {
                                   return this._numberToString[t];
                              });
                         var qc = function (t, e, i, n, r) {
                                   (this.type = "Feature"), (this._vectorTileFeature = t), (t._z = e), (t._x = i), (t._y = n), (this.properties = t.properties), (this.id = r);
                              },
                              $c = { geometry: { configurable: !0 } };
                         ($c.geometry.get = function () {
                              return void 0 === this._geometry && (this._geometry = this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x, this._vectorTileFeature._y, this._vectorTileFeature._z).geometry), this._geometry;
                         }),
                              ($c.geometry.set = function (t) {
                                   this._geometry = t;
                              }),
                              (qc.prototype.toJSON = function () {
                                   var t = { geometry: this.geometry };
                                   for (var e in this) "_geometry" !== e && "_vectorTileFeature" !== e && (t[e] = this[e]);
                                   return t;
                              }),
                              Object.defineProperties(qc.prototype, $c);
                         var Xc = function () {
                              (this.state = {}), (this.stateChanges = {}), (this.deletedStates = {});
                         };
                         (Xc.prototype.updateState = function (t, e, i) {
                              var n = String(e);
                              if (((this.stateChanges[t] = this.stateChanges[t] || {}), (this.stateChanges[t][n] = this.stateChanges[t][n] || {}), u(this.stateChanges[t][n], i), null === this.deletedStates[t]))
                                   for (var r in ((this.deletedStates[t] = {}), this.state[t])) r !== n && (this.deletedStates[t][r] = null);
                              else if (this.deletedStates[t] && null === this.deletedStates[t][n]) for (var o in ((this.deletedStates[t][n] = {}), this.state[t][n])) i[o] || (this.deletedStates[t][n][o] = null);
                              else for (var a in i) this.deletedStates[t] && this.deletedStates[t][n] && null === this.deletedStates[t][n][a] && delete this.deletedStates[t][n][a];
                         }),
                              (Xc.prototype.removeFeatureState = function (t, e, i) {
                                   if (null !== this.deletedStates[t]) {
                                        var n = String(e);
                                        if (((this.deletedStates[t] = this.deletedStates[t] || {}), i && void 0 !== e))
                                             null !== this.deletedStates[t][n] && ((this.deletedStates[t][n] = this.deletedStates[t][n] || {}), (this.deletedStates[t][n][i] = null));
                                        else if (void 0 !== e)
                                             if (this.stateChanges[t] && this.stateChanges[t][n]) for (i in ((this.deletedStates[t][n] = {}), this.stateChanges[t][n])) this.deletedStates[t][n][i] = null;
                                             else this.deletedStates[t][n] = null;
                                        else this.deletedStates[t] = null;
                                   }
                              }),
                              (Xc.prototype.getState = function (t, e) {
                                   var i = String(e),
                                        n = u({}, (this.state[t] || {})[i], (this.stateChanges[t] || {})[i]);
                                   if (null === this.deletedStates[t]) return {};
                                   if (this.deletedStates[t]) {
                                        var r = this.deletedStates[t][e];
                                        if (null === r) return {};
                                        for (var o in r) delete n[o];
                                   }
                                   return n;
                              }),
                              (Xc.prototype.initializeTileState = function (t, e) {
                                   t.setFeatureState(this.state, e);
                              }),
                              (Xc.prototype.coalesceChanges = function (t, e) {
                                   var i = {};
                                   for (var n in this.stateChanges) {
                                        this.state[n] = this.state[n] || {};
                                        var r = {};
                                        for (var o in this.stateChanges[n]) this.state[n][o] || (this.state[n][o] = {}), u(this.state[n][o], this.stateChanges[n][o]), (r[o] = this.state[n][o]);
                                        i[n] = r;
                                   }
                                   for (var a in this.deletedStates) {
                                        this.state[a] = this.state[a] || {};
                                        var s = {};
                                        if (null === this.deletedStates[a]) for (var l in this.state[a]) (s[l] = {}), (this.state[a][l] = {});
                                        else
                                             for (var c in this.deletedStates[a]) {
                                                  if (null === this.deletedStates[a][c]) this.state[a][c] = {};
                                                  else for (var h = 0, d = Object.keys(this.deletedStates[a][c]); h < d.length; h += 1) delete this.state[a][c][d[h]];
                                                  s[c] = this.state[a][c];
                                             }
                                        (i[a] = i[a] || {}), u(i[a], s);
                                   }
                                   if (((this.stateChanges = {}), (this.deletedStates = {}), 0 !== Object.keys(i).length)) for (var p in t) t[p].setFeatureState(i, e);
                              });
                         var Gc = function (t, e) {
                              (this.tileID = t),
                                   (this.x = t.canonical.x),
                                   (this.y = t.canonical.y),
                                   (this.z = t.canonical.z),
                                   (this.grid = new En(8192, 16, 0)),
                                   (this.grid3D = new En(8192, 16, 0)),
                                   (this.featureIndexArray = new io()),
                                   (this.promoteId = e);
                         };
                         function Zc(t, e, i, n, r) {
                              return v(t, function (t, o) {
                                   var a = e instanceof dr ? e.get(o) : null;
                                   return a && a.evaluate ? a.evaluate(i, n, r) : a;
                              });
                         }
                         function Jc(t) {
                              for (var e = 1 / 0, i = 1 / 0, n = -1 / 0, r = -1 / 0, o = 0, a = t; o < a.length; o += 1) {
                                   var s = a[o];
                                   (e = Math.min(e, s.x)), (i = Math.min(i, s.y)), (n = Math.max(n, s.x)), (r = Math.max(r, s.y));
                              }
                              return { minX: e, minY: i, maxX: n, maxY: r };
                         }
                         function Kc(t, e) {
                              return e - t;
                         }
                         (Gc.prototype.insert = function (t, e, i, n, r, o) {
                              var a = this.featureIndexArray.length;
                              this.featureIndexArray.emplaceBack(i, n, r);
                              for (var s = o ? this.grid3D : this.grid, l = 0; l < e.length; l++) {
                                   for (var c = e[l], u = [1 / 0, 1 / 0, -1 / 0, -1 / 0], h = 0; h < c.length; h++) {
                                        var d = c[h];
                                        (u[0] = Math.min(u[0], d.x)), (u[1] = Math.min(u[1], d.y)), (u[2] = Math.max(u[2], d.x)), (u[3] = Math.max(u[3], d.y));
                                   }
                                   u[0] < 8192 && u[1] < 8192 && u[2] >= 0 && u[3] >= 0 && s.insert(a, u[0], u[1], u[2], u[3]);
                              }
                         }),
                              (Gc.prototype.loadVTLayers = function () {
                                   return (
                                        this.vtLayers || ((this.vtLayers = new ms.VectorTile(new Vs(this.rawTileData)).layers), (this.sourceLayerCoder = new Uc(this.vtLayers ? Object.keys(this.vtLayers).sort() : ["_geojsonTileLayer"]))),
                                        this.vtLayers
                                   );
                              }),
                              (Gc.prototype.query = function (t, e, i, n) {
                                   var o = this;
                                   this.loadVTLayers();
                                   for (
                                        var a = t.params || {},
                                             s = 8192 / t.tileSize / t.scale,
                                             l = nn(a.filter),
                                             c = t.queryGeometry,
                                             u = t.queryPadding * s,
                                             h = Jc(c),
                                             d = this.grid.query(h.minX - u, h.minY - u, h.maxX + u, h.maxY + u),
                                             p = Jc(t.cameraQueryGeometry),
                                             f = 0,
                                             m = this.grid3D.query(p.minX - u, p.minY - u, p.maxX + u, p.maxY + u, function (e, i, n, o) {
                                                  return (function (t, e, i, n, o) {
                                                       for (var a = 0, s = t; a < s.length; a += 1) {
                                                            var l = s[a];
                                                            if (e <= l.x && i <= l.y && n >= l.x && o >= l.y) return !0;
                                                       }
                                                       var c = [new r(e, i), new r(e, o), new r(n, o), new r(n, i)];
                                                       if (t.length > 2) for (var u = 0, h = c; u < h.length; u += 1) if (Xo(t, h[u])) return !0;
                                                       for (var d = 0; d < t.length - 1; d++) if (Go(t[d], t[d + 1], c)) return !0;
                                                       return !1;
                                                  })(t.cameraQueryGeometry, e - u, i - u, n + u, o + u);
                                             });
                                        f < m.length;
                                        f += 1
                                   )
                                        d.push(m[f]);
                                   d.sort(Kc);
                                   for (
                                        var g,
                                             v = {},
                                             y = function (r) {
                                                  var u = d[r];
                                                  if (u !== g) {
                                                       g = u;
                                                       var h = o.featureIndexArray.get(u),
                                                            p = null;
                                                       o.loadMatchingFeature(v, h.bucketIndex, h.sourceLayerIndex, h.featureIndex, l, a.layers, a.availableImages, e, i, n, function (e, i, n) {
                                                            return p || (p = zo(e)), i.queryIntersectsFeature(c, e, n, p, o.z, t.transform, s, t.pixelPosMatrix);
                                                       });
                                                  }
                                             },
                                             b = 0;
                                        b < d.length;
                                        b++
                                   )
                                        y(b);
                                   return v;
                              }),
                              (Gc.prototype.loadMatchingFeature = function (t, e, i, n, r, o, a, s, l, c, u) {
                                   var h = this.bucketLayerIDs[e];
                                   if (
                                        !o ||
                                        (function (t, e) {
                                             for (var i = 0; i < t.length; i++) if (e.indexOf(t[i]) >= 0) return !0;
                                             return !1;
                                        })(o, h)
                                   ) {
                                        var d = this.sourceLayerCoder.decode(i),
                                             p = this.vtLayers[d].feature(n);
                                        if (r.filter(new rr(this.tileID.overscaledZ), p))
                                             for (var f = this.getId(p, d), m = 0; m < h.length; m++) {
                                                  var g = h[m];
                                                  if (!(o && o.indexOf(g) < 0)) {
                                                       var v = s[g];
                                                       if (v) {
                                                            var y = {};
                                                            void 0 !== f && c && (y = c.getState(v.sourceLayer || "_geojsonTileLayer", f));
                                                            var b = l[g];
                                                            (b.paint = Zc(b.paint, v.paint, p, y, a)), (b.layout = Zc(b.layout, v.layout, p, y, a));
                                                            var _ = !u || u(p, v, y);
                                                            if (_) {
                                                                 var x = new qc(p, this.z, this.x, this.y, f);
                                                                 x.layer = b;
                                                                 var w = t[g];
                                                                 void 0 === w && (w = t[g] = []), w.push({ featureIndex: n, feature: x, intersectionZ: _ });
                                                            }
                                                       }
                                                  }
                                             }
                                   }
                              }),
                              (Gc.prototype.lookupSymbolFeatures = function (t, e, i, n, r, o, a, s) {
                                   var l = {};
                                   this.loadVTLayers();
                                   for (var c = nn(r), u = 0, h = t; u < h.length; u += 1) this.loadMatchingFeature(l, i, n, h[u], c, o, a, s, e);
                                   return l;
                              }),
                              (Gc.prototype.hasLayer = function (t) {
                                   for (var e = 0, i = this.bucketLayerIDs; e < i.length; e += 1) for (var n = 0, r = i[e]; n < r.length; n += 1) if (t === r[n]) return !0;
                                   return !1;
                              }),
                              (Gc.prototype.getId = function (t, e) {
                                   var i = t.id;
                                   return this.promoteId && "boolean" == typeof (i = t.properties["string" == typeof this.promoteId ? this.promoteId : this.promoteId[e]]) && (i = Number(i)), i;
                              }),
                              Yn("FeatureIndex", Gc, { omit: ["rawTileData", "sourceLayerCoder"] });
                         var Qc = function (t, e) {
                              (this.tileID = t),
                                   (this.uid = d()),
                                   (this.uses = 0),
                                   (this.tileSize = e),
                                   (this.buckets = {}),
                                   (this.expirationTime = null),
                                   (this.queryPadding = 0),
                                   (this.hasSymbolBuckets = !1),
                                   (this.hasRTLText = !1),
                                   (this.dependencies = {}),
                                   (this.expiredRequestCount = 0),
                                   (this.state = "loading");
                         };
                         (Qc.prototype.registerFadeDuration = function (t) {
                              var e = t + this.timeAdded;
                              e < z.now() || (this.fadeEndTime && e < this.fadeEndTime) || (this.fadeEndTime = e);
                         }),
                              (Qc.prototype.wasRequested = function () {
                                   return "errored" === this.state || "loaded" === this.state || "reloading" === this.state;
                              }),
                              (Qc.prototype.loadVectorData = function (t, e, i) {
                                   if ((this.hasData() && this.unloadVectorData(), (this.state = "loaded"), t)) {
                                        for (var n in (t.featureIndex &&
                                             ((this.latestFeatureIndex = t.featureIndex),
                                             t.rawTileData
                                                  ? ((this.latestRawTileData = t.rawTileData), (this.latestFeatureIndex.rawTileData = t.rawTileData))
                                                  : this.latestRawTileData && (this.latestFeatureIndex.rawTileData = this.latestRawTileData)),
                                        (this.collisionBoxArray = t.collisionBoxArray),
                                        (this.buckets = (function (t, e) {
                                             var i = {};
                                             if (!e) return i;
                                             for (
                                                  var n = function () {
                                                            var t = o[r],
                                                                 n = t.layerIds
                                                                      .map(function (t) {
                                                                           return e.getLayer(t);
                                                                      })
                                                                      .filter(Boolean);
                                                            if (0 !== n.length) {
                                                                 (t.layers = n),
                                                                      t.stateDependentLayerIds &&
                                                                           (t.stateDependentLayers = t.stateDependentLayerIds.map(function (t) {
                                                                                return n.filter(function (e) {
                                                                                     return e.id === t;
                                                                                })[0];
                                                                           }));
                                                                 for (var a = 0, s = n; a < s.length; a += 1) i[s[a].id] = t;
                                                            }
                                                       },
                                                       r = 0,
                                                       o = t;
                                                  r < o.length;
                                                  r += 1
                                             )
                                                  n();
                                             return i;
                                        })(t.buckets, e.style)),
                                        (this.hasSymbolBuckets = !1),
                                        this.buckets)) {
                                             var r = this.buckets[n];
                                             if (r instanceof hc) {
                                                  if (((this.hasSymbolBuckets = !0), !i)) break;
                                                  r.justReloaded = !0;
                                             }
                                        }
                                        if (((this.hasRTLText = !1), this.hasSymbolBuckets))
                                             for (var o in this.buckets) {
                                                  var a = this.buckets[o];
                                                  if (a instanceof hc && a.hasRTLText) {
                                                       (this.hasRTLText = !0), nr.isLoading() || nr.isLoaded() || "deferred" !== er() || ir();
                                                       break;
                                                  }
                                             }
                                        for (var s in ((this.queryPadding = 0), this.buckets)) {
                                             var l = this.buckets[s];
                                             this.queryPadding = Math.max(this.queryPadding, e.style.getLayer(s).queryRadius(l));
                                        }
                                        t.imageAtlas && (this.imageAtlas = t.imageAtlas), t.glyphAtlasImage && (this.glyphAtlasImage = t.glyphAtlasImage);
                                   } else this.collisionBoxArray = new Xr();
                              }),
                              (Qc.prototype.unloadVectorData = function () {
                                   for (var t in this.buckets) this.buckets[t].destroy();
                                   (this.buckets = {}),
                                        this.imageAtlasTexture && this.imageAtlasTexture.destroy(),
                                        this.imageAtlas && (this.imageAtlas = null),
                                        this.glyphAtlasTexture && this.glyphAtlasTexture.destroy(),
                                        (this.latestFeatureIndex = null),
                                        (this.state = "unloaded");
                              }),
                              (Qc.prototype.getBucket = function (t) {
                                   return this.buckets[t.id];
                              }),
                              (Qc.prototype.upload = function (t) {
                                   for (var e in this.buckets) {
                                        var i = this.buckets[e];
                                        i.uploadPending() && i.upload(t);
                                   }
                                   var n = t.gl;
                                   this.imageAtlas && !this.imageAtlas.uploaded && ((this.imageAtlasTexture = new Cc(t, this.imageAtlas.image, n.RGBA)), (this.imageAtlas.uploaded = !0)),
                                        this.glyphAtlasImage && ((this.glyphAtlasTexture = new Cc(t, this.glyphAtlasImage, n.ALPHA)), (this.glyphAtlasImage = null));
                              }),
                              (Qc.prototype.prepare = function (t) {
                                   this.imageAtlas && this.imageAtlas.patchUpdatedImages(t, this.imageAtlasTexture);
                              }),
                              (Qc.prototype.queryRenderedFeatures = function (t, e, i, n, r, o, a, s, l, c) {
                                   return this.latestFeatureIndex && this.latestFeatureIndex.rawTileData
                                        ? this.latestFeatureIndex.query(
                                               { queryGeometry: n, cameraQueryGeometry: r, scale: o, tileSize: this.tileSize, pixelPosMatrix: c, transform: s, params: a, queryPadding: this.queryPadding * l },
                                               t,
                                               e,
                                               i
                                          )
                                        : {};
                              }),
                              (Qc.prototype.querySourceFeatures = function (t, e) {
                                   var i = this.latestFeatureIndex;
                                   if (i && i.rawTileData) {
                                        var n = i.loadVTLayers(),
                                             r = e ? e.sourceLayer : "",
                                             o = n._geojsonTileLayer || n[r];
                                        if (o)
                                             for (var a = nn(e && e.filter), s = this.tileID.canonical, l = s.z, c = s.x, u = s.y, h = { z: l, x: c, y: u }, d = 0; d < o.length; d++) {
                                                  var p = o.feature(d);
                                                  if (a.filter(new rr(this.tileID.overscaledZ), p)) {
                                                       var f = i.getId(p, r),
                                                            m = new qc(p, l, c, u, f);
                                                       (m.tile = h), t.push(m);
                                                  }
                                             }
                                   }
                              }),
                              (Qc.prototype.hasData = function () {
                                   return "loaded" === this.state || "reloading" === this.state || "expired" === this.state;
                              }),
                              (Qc.prototype.patternsLoaded = function () {
                                   return this.imageAtlas && !!Object.keys(this.imageAtlas.patternPositions).length;
                              }),
                              (Qc.prototype.setExpiryData = function (t) {
                                   var e = this.expirationTime;
                                   if (t.cacheControl) {
                                        var i = M(t.cacheControl);
                                        i["max-age"] && (this.expirationTime = Date.now() + 1e3 * i["max-age"]);
                                   } else t.expires && (this.expirationTime = new Date(t.expires).getTime());
                                   if (this.expirationTime) {
                                        var n = Date.now(),
                                             r = !1;
                                        if (this.expirationTime > n) r = !1;
                                        else if (e)
                                             if (this.expirationTime < e) r = !0;
                                             else {
                                                  var o = this.expirationTime - e;
                                                  o ? (this.expirationTime = n + Math.max(o, 3e4)) : (r = !0);
                                             }
                                        else r = !0;
                                        r ? (this.expiredRequestCount++, (this.state = "expired")) : (this.expiredRequestCount = 0);
                                   }
                              }),
                              (Qc.prototype.getExpiryTimeout = function () {
                                   if (this.expirationTime) return this.expiredRequestCount ? 1e3 * (1 << Math.min(this.expiredRequestCount - 1, 31)) : Math.min(this.expirationTime - new Date().getTime(), Math.pow(2, 31) - 1);
                              }),
                              (Qc.prototype.setFeatureState = function (t, e) {
                                   if (this.latestFeatureIndex && this.latestFeatureIndex.rawTileData && 0 !== Object.keys(t).length) {
                                        var i = this.latestFeatureIndex.loadVTLayers();
                                        for (var n in this.buckets)
                                             if (e.style.hasLayer(n)) {
                                                  var r = this.buckets[n],
                                                       o = r.layers[0].sourceLayer || "_geojsonTileLayer",
                                                       a = i[o],
                                                       s = t[o];
                                                  if (a && s && 0 !== Object.keys(s).length) {
                                                       r.update(s, a, (this.imageAtlas && this.imageAtlas.patternPositions) || {});
                                                       var l = e && e.style && e.style.getLayer(n);
                                                       l && (this.queryPadding = Math.max(this.queryPadding, l.queryRadius(r)));
                                                  }
                                             }
                                   }
                              }),
                              (Qc.prototype.holdingForFade = function () {
                                   return void 0 !== this.symbolFadeHoldUntil;
                              }),
                              (Qc.prototype.symbolFadeFinished = function () {
                                   return !this.symbolFadeHoldUntil || this.symbolFadeHoldUntil < z.now();
                              }),
                              (Qc.prototype.clearFadeHold = function () {
                                   this.symbolFadeHoldUntil = void 0;
                              }),
                              (Qc.prototype.setHoldDuration = function (t) {
                                   this.symbolFadeHoldUntil = z.now() + t;
                              }),
                              (Qc.prototype.setDependencies = function (t, e) {
                                   for (var i = {}, n = 0, r = e; n < r.length; n += 1) i[r[n]] = !0;
                                   this.dependencies[t] = i;
                              }),
                              (Qc.prototype.hasDependency = function (t, e) {
                                   for (var i = 0, n = t; i < n.length; i += 1) {
                                        var r = this.dependencies[n[i]];
                                        if (r) for (var o = 0, a = e; o < a.length; o += 1) if (r[a[o]]) return !0;
                                   }
                                   return !1;
                              });
                         var tu = self.performance,
                              eu = function (t) {
                                   (this._marks = { start: [t.url, "start"].join("#"), end: [t.url, "end"].join("#"), measure: t.url.toString() }), tu.mark(this._marks.start);
                              };
                         (eu.prototype.finish = function () {
                              tu.mark(this._marks.end);
                              var t = tu.getEntriesByName(this._marks.measure);
                              return (
                                   0 === t.length &&
                                        (tu.measure(this._marks.measure, this._marks.start, this._marks.end),
                                        (t = tu.getEntriesByName(this._marks.measure)),
                                        tu.clearMarks(this._marks.start),
                                        tu.clearMarks(this._marks.end),
                                        tu.clearMeasures(this._marks.measure)),
                                   t
                              );
                         }),
                              (t.Actor = Lc),
                              (t.AlphaImage = pa),
                              (t.CanonicalTileID = jc),
                              (t.CollisionBoxArray = Xr),
                              (t.Color = Jt),
                              (t.DEMData = Vc),
                              (t.DataConstantProperty = pr),
                              (t.DictionaryCoder = Uc),
                              (t.EXTENT = 8192),
                              (t.ErrorEvent = St),
                              (t.EvaluationParameters = rr),
                              (t.Event = kt),
                              (t.Evented = Mt),
                              (t.FeatureIndex = Gc),
                              (t.FillBucket = is),
                              (t.FillExtrusionBucket = bs),
                              (t.ImageAtlas = fl),
                              (t.ImagePosition = dl),
                              (t.LineBucket = Ls),
                              (t.LngLat = Pc),
                              (t.LngLatBounds = Ac),
                              (t.MercatorCoordinate = Hc),
                              (t.ONE_EM = 24),
                              (t.OverscaledTileID = Bc),
                              (t.Point = r),
                              (t.Point$1 = r),
                              (t.Properties = yr),
                              (t.Protobuf = Vs),
                              (t.RGBAImage = fa),
                              (t.RequestManager = W),
                              (t.RequestPerformance = eu),
                              (t.ResourceType = dt),
                              (t.SegmentVector = ro),
                              (t.SourceFeatureState = Xc),
                              (t.StructArrayLayout1ui2 = Vr),
                              (t.StructArrayLayout2f1f2i16 = Yr),
                              (t.StructArrayLayout2i4 = Mr),
                              (t.StructArrayLayout3ui6 = Rr),
                              (t.StructArrayLayout4i8 = Tr),
                              (t.SymbolBucket = hc),
                              (t.Texture = Cc),
                              (t.Tile = Qc),
                              (t.Transitionable = sr),
                              (t.Uniform1f = yo),
                              (t.Uniform1i = vo),
                              (t.Uniform2f = bo),
                              (t.Uniform3f = _o),
                              (t.Uniform4f = xo),
                              (t.UniformColor = wo),
                              (t.UniformMatrix4f = So),
                              (t.UnwrappedTileID = Nc),
                              (t.ValidationError = Ct),
                              (t.WritingMode = ml),
                              (t.ZoomHistory = Nn),
                              (t.add = function (t, e, i) {
                                   return (t[0] = e[0] + i[0]), (t[1] = e[1] + i[1]), (t[2] = e[2] + i[2]), t;
                              }),
                              (t.addDynamicAttributes = sc),
                              (t.asyncAll = function (t, e, i) {
                                   if (!t.length) return i(null, []);
                                   var n = t.length,
                                        r = new Array(t.length),
                                        o = null;
                                   t.forEach(function (t, a) {
                                        e(t, function (t, e) {
                                             t && (o = t), (r[a] = e), 0 == --n && i(o, r);
                                        });
                                   });
                              }),
                              (t.bezier = a),
                              (t.bindAll = m),
                              (t.browser = z),
                              (t.cacheEntryPossiblyAdded = function (t) {
                                   ++ut > at && (t.getActor().send("enforceCacheSizeLimit", ot), (ut = 0));
                              }),
                              (t.clamp = l),
                              (t.clearTileCache = function (t) {
                                   var e = self.caches.delete("mapbox-tiles");
                                   t &&
                                        e.catch(t).then(function () {
                                             return t();
                                        });
                              }),
                              (t.clipLine = jl),
                              (t.clone = function (t) {
                                   var e = new ea(16);
                                   return (
                                        (e[0] = t[0]),
                                        (e[1] = t[1]),
                                        (e[2] = t[2]),
                                        (e[3] = t[3]),
                                        (e[4] = t[4]),
                                        (e[5] = t[5]),
                                        (e[6] = t[6]),
                                        (e[7] = t[7]),
                                        (e[8] = t[8]),
                                        (e[9] = t[9]),
                                        (e[10] = t[10]),
                                        (e[11] = t[11]),
                                        (e[12] = t[12]),
                                        (e[13] = t[13]),
                                        (e[14] = t[14]),
                                        (e[15] = t[15]),
                                        e
                                   );
                              }),
                              (t.clone$1 = b),
                              (t.clone$2 = function (t) {
                                   var e = new ea(3);
                                   return (e[0] = t[0]), (e[1] = t[1]), (e[2] = t[2]), e;
                              }),
                              (t.collisionCircleLayout = Hs),
                              (t.config = R),
                              (t.create = function () {
                                   var t = new ea(16);
                                   return (
                                        ea != Float32Array && ((t[1] = 0), (t[2] = 0), (t[3] = 0), (t[4] = 0), (t[6] = 0), (t[7] = 0), (t[8] = 0), (t[9] = 0), (t[11] = 0), (t[12] = 0), (t[13] = 0), (t[14] = 0)),
                                        (t[0] = 1),
                                        (t[5] = 1),
                                        (t[10] = 1),
                                        (t[15] = 1),
                                        t
                                   );
                              }),
                              (t.create$1 = function () {
                                   var t = new ea(9);
                                   return ea != Float32Array && ((t[1] = 0), (t[2] = 0), (t[3] = 0), (t[5] = 0), (t[6] = 0), (t[7] = 0)), (t[0] = 1), (t[4] = 1), (t[8] = 1), t;
                              }),
                              (t.create$2 = function () {
                                   var t = new ea(4);
                                   return ea != Float32Array && ((t[1] = 0), (t[2] = 0)), (t[0] = 1), (t[3] = 1), t;
                              }),
                              (t.createCommonjsModule = e),
                              (t.createExpression = Wi),
                              (t.createLayout = kr),
                              (t.createStyleLayer = function (t) {
                                   return "custom" === t.type ? new _c(t) : new xc[t.type](t);
                              }),
                              (t.cross = function (t, e, i) {
                                   var n = e[0],
                                        r = e[1],
                                        o = e[2],
                                        a = i[0],
                                        s = i[1],
                                        l = i[2];
                                   return (t[0] = r * l - o * s), (t[1] = o * a - n * l), (t[2] = n * s - r * a), t;
                              }),
                              (t.deepEqual = function t(e, i) {
                                   if (Array.isArray(e)) {
                                        if (!Array.isArray(i) || e.length !== i.length) return !1;
                                        for (var n = 0; n < e.length; n++) if (!t(e[n], i[n])) return !1;
                                        return !0;
                                   }
                                   if ("object" == typeof e && null !== e && null !== i) {
                                        if ("object" != typeof i) return !1;
                                        if (Object.keys(e).length !== Object.keys(i).length) return !1;
                                        for (var r in e) if (!t(e[r], i[r])) return !1;
                                        return !0;
                                   }
                                   return e === i;
                              }),
                              (t.dot = function (t, e) {
                                   return t[0] * e[0] + t[1] * e[1] + t[2] * e[2];
                              }),
                              (t.dot$1 = function (t, e) {
                                   return t[0] * e[0] + t[1] * e[1] + t[2] * e[2] + t[3] * e[3];
                              }),
                              (t.ease = s),
                              (t.emitValidationErrors = Ln),
                              (t.endsWith = g),
                              (t.enforceCacheSizeLimit = function (t) {
                                   st(),
                                        K &&
                                             K.then(function (e) {
                                                  e.keys().then(function (i) {
                                                       for (var n = 0; n < i.length - t; n++) e.delete(i[n]);
                                                  });
                                             });
                              }),
                              (t.evaluateSizeForFeature = Al),
                              (t.evaluateSizeForZoom = Pl),
                              (t.evaluateVariableOffset = Ql),
                              (t.evented = tr),
                              (t.extend = u),
                              (t.featureFilter = nn),
                              (t.filterObject = y),
                              (t.fromRotation = function (t, e) {
                                   var i = Math.sin(e),
                                        n = Math.cos(e);
                                   return (t[0] = n), (t[1] = i), (t[2] = 0), (t[3] = -i), (t[4] = n), (t[5] = 0), (t[6] = 0), (t[7] = 0), (t[8] = 1), t;
                              }),
                              (t.getAnchorAlignment = Tl),
                              (t.getAnchorJustification = tc),
                              (t.getArrayBuffer = yt),
                              (t.getImage = _t),
                              (t.getJSON = function (t, e) {
                                   return vt(u(t, { type: "json" }), e);
                              }),
                              (t.getRTLTextPluginStatus = er),
                              (t.getReferrer = gt),
                              (t.getVideo = function (t, e) {
                                   var i,
                                        n,
                                        r = self.document.createElement("video");
                                   (r.muted = !0),
                                        (r.onloadstart = function () {
                                             e(null, r);
                                        });
                                   for (var o = 0; o < t.length; o++) {
                                        var a = self.document.createElement("source");
                                        (i = t[o]),
                                             (n = void 0),
                                             ((n = self.document.createElement("a")).href = i),
                                             (n.protocol !== self.document.location.protocol || n.host !== self.document.location.host) && (r.crossOrigin = "Anonymous"),
                                             (a.src = t[o]),
                                             r.appendChild(a);
                                   }
                                   return { cancel: function () {} };
                              }),
                              (t.identity = ia),
                              (t.invert = function (t, e) {
                                   var i = e[0],
                                        n = e[1],
                                        r = e[2],
                                        o = e[3],
                                        a = e[4],
                                        s = e[5],
                                        l = e[6],
                                        c = e[7],
                                        u = e[8],
                                        h = e[9],
                                        d = e[10],
                                        p = e[11],
                                        f = e[12],
                                        m = e[13],
                                        g = e[14],
                                        v = e[15],
                                        y = i * s - n * a,
                                        b = i * l - r * a,
                                        _ = i * c - o * a,
                                        x = n * l - r * s,
                                        w = n * c - o * s,
                                        k = r * c - o * l,
                                        S = u * m - h * f,
                                        M = u * g - d * f,
                                        T = u * v - p * f,
                                        C = h * g - d * m,
                                        D = h * v - p * m,
                                        L = d * v - p * g,
                                        E = y * L - b * D + _ * C + x * T - w * M + k * S;
                                   return E
                                        ? ((t[0] = (s * L - l * D + c * C) * (E = 1 / E)),
                                          (t[1] = (r * D - n * L - o * C) * E),
                                          (t[2] = (m * k - g * w + v * x) * E),
                                          (t[3] = (d * w - h * k - p * x) * E),
                                          (t[4] = (l * T - a * L - c * M) * E),
                                          (t[5] = (i * L - r * T + o * M) * E),
                                          (t[6] = (g * _ - f * k - v * b) * E),
                                          (t[7] = (u * k - d * _ + p * b) * E),
                                          (t[8] = (a * D - s * T + c * S) * E),
                                          (t[9] = (n * T - i * D - o * S) * E),
                                          (t[10] = (f * w - m * _ + v * y) * E),
                                          (t[11] = (h * _ - u * w - p * y) * E),
                                          (t[12] = (s * M - a * C - l * S) * E),
                                          (t[13] = (i * C - n * M + r * S) * E),
                                          (t[14] = (m * b - f * x - g * y) * E),
                                          (t[15] = (u * x - h * b + d * y) * E),
                                          t)
                                        : null;
                              }),
                              (t.isChar = Bn),
                              (t.isMapboxURL = V),
                              (t.keysDifference = function (t, e) {
                                   var i = [];
                                   for (var n in t) n in e || i.push(n);
                                   return i;
                              }),
                              (t.makeRequest = vt),
                              (t.mapObject = v),
                              (t.mercatorXfromLng = Yc),
                              (t.mercatorYfromLat = zc),
                              (t.mercatorZfromAltitude = Rc),
                              (t.mul = oa),
                              (t.multiply = na),
                              (t.mvt = ms),
                              (t.normalize = function (t, e) {
                                   var i = e[0],
                                        n = e[1],
                                        r = e[2],
                                        o = i * i + n * n + r * r;
                                   return o > 0 && (o = 1 / Math.sqrt(o)), (t[0] = e[0] * o), (t[1] = e[1] * o), (t[2] = e[2] * o), t;
                              }),
                              (t.number = Ne),
                              (t.offscreenCanvasSupported = ht),
                              (t.ortho = function (t, e, i, n, r, o, a) {
                                   var s = 1 / (e - i),
                                        l = 1 / (n - r),
                                        c = 1 / (o - a);
                                   return (
                                        (t[0] = -2 * s),
                                        (t[1] = 0),
                                        (t[2] = 0),
                                        (t[3] = 0),
                                        (t[4] = 0),
                                        (t[5] = -2 * l),
                                        (t[6] = 0),
                                        (t[7] = 0),
                                        (t[8] = 0),
                                        (t[9] = 0),
                                        (t[10] = 2 * c),
                                        (t[11] = 0),
                                        (t[12] = (e + i) * s),
                                        (t[13] = (r + n) * l),
                                        (t[14] = (a + o) * c),
                                        (t[15] = 1),
                                        t
                                   );
                              }),
                              (t.parseGlyphPBF = function (t) {
                                   return new Vs(t).readFields(ll, []);
                              }),
                              (t.pbf = Vs),
                              (t.performSymbolLayout = function (t, e, i, n, r, o, a) {
                                   t.createArrays(), (t.tilePixelRatio = 8192 / (512 * t.overscaling)), (t.compareText = {}), (t.iconsNeedLinear = !1);
                                   var s = t.layers[0].layout,
                                        l = t.layers[0]._unevaluatedLayout._values,
                                        c = {};
                                   if ("composite" === t.textSizeData.kind) {
                                        var u = t.textSizeData,
                                             h = u.maxZoom;
                                        c.compositeTextSizes = [l["text-size"].possiblyEvaluate(new rr(u.minZoom), a), l["text-size"].possiblyEvaluate(new rr(h), a)];
                                   }
                                   if ("composite" === t.iconSizeData.kind) {
                                        var d = t.iconSizeData,
                                             p = d.maxZoom;
                                        c.compositeIconSizes = [l["icon-size"].possiblyEvaluate(new rr(d.minZoom), a), l["icon-size"].possiblyEvaluate(new rr(p), a)];
                                   }
                                   (c.layoutTextSize = l["text-size"].possiblyEvaluate(new rr(t.zoom + 1), a)),
                                        (c.layoutIconSize = l["icon-size"].possiblyEvaluate(new rr(t.zoom + 1), a)),
                                        (c.textMaxSize = l["text-size"].possiblyEvaluate(new rr(18)));
                                   for (
                                        var f = 24 * s.get("text-line-height"),
                                             m = "map" === s.get("text-rotation-alignment") && "point" !== s.get("symbol-placement"),
                                             g = s.get("text-keep-upright"),
                                             v = s.get("text-size"),
                                             y = function () {
                                                  var o = _[b],
                                                       l = s.get("text-font").evaluate(o, {}, a).join(","),
                                                       u = v.evaluate(o, {}, a),
                                                       h = c.layoutTextSize.evaluate(o, {}, a),
                                                       d = c.layoutIconSize.evaluate(o, {}, a),
                                                       p = { horizontal: {}, vertical: void 0 },
                                                       y = o.text,
                                                       w = [0, 0];
                                                  if (y) {
                                                       var k = y.toString(),
                                                            S = 24 * s.get("text-letter-spacing").evaluate(o, {}, a),
                                                            M = (function (t) {
                                                                 for (var e = 0, i = t; e < i.length; e += 1)
                                                                      if (
                                                                           ((n = i[e].charCodeAt(0)),
                                                                           Bn.Arabic(n) || Bn["Arabic Supplement"](n) || Bn["Arabic Extended-A"](n) || Bn["Arabic Presentation Forms-A"](n) || Bn["Arabic Presentation Forms-B"](n))
                                                                      )
                                                                           return !1;
                                                                 var n;
                                                                 return !0;
                                                            })(k)
                                                                 ? S
                                                                 : 0,
                                                            T = s.get("text-anchor").evaluate(o, {}, a),
                                                            C = s.get("text-variable-anchor");
                                                       if (!C) {
                                                            var D = s.get("text-radial-offset").evaluate(o, {}, a);
                                                            w = D
                                                                 ? Ql(T, [24 * D, Kl])
                                                                 : s
                                                                        .get("text-offset")
                                                                        .evaluate(o, {}, a)
                                                                        .map(function (t) {
                                                                             return 24 * t;
                                                                        });
                                                       }
                                                       var L = m ? "center" : s.get("text-justify").evaluate(o, {}, a),
                                                            E = s.get("symbol-placement"),
                                                            A = "point" === E ? 24 * s.get("text-max-width").evaluate(o, {}, a) : 0,
                                                            P = function () {
                                                                 t.allowVerticalPlacement && Wn(k) && (p.vertical = yl(y, e, i, r, l, A, f, T, "left", M, w, ml.vertical, !0, E, h, u));
                                                            };
                                                       if (!m && C) {
                                                            for (
                                                                 var I =
                                                                           "auto" === L
                                                                                ? C.map(function (t) {
                                                                                       return tc(t);
                                                                                  })
                                                                                : [L],
                                                                      O = !1,
                                                                      Y = 0;
                                                                 Y < I.length;
                                                                 Y++
                                                            ) {
                                                                 var z = I[Y];
                                                                 if (!p.horizontal[z])
                                                                      if (O) p.horizontal[z] = p.horizontal[0];
                                                                      else {
                                                                           var R = yl(y, e, i, r, l, A, f, "center", z, M, w, ml.horizontal, !1, E, h, u);
                                                                           R && ((p.horizontal[z] = R), (O = 1 === R.positionedLines.length));
                                                                      }
                                                            }
                                                            P();
                                                       } else {
                                                            "auto" === L && (L = tc(T));
                                                            var F = yl(y, e, i, r, l, A, f, T, L, M, w, ml.horizontal, !1, E, h, u);
                                                            F && (p.horizontal[L] = F), P(), Wn(k) && m && g && (p.vertical = yl(y, e, i, r, l, A, f, T, L, M, w, ml.vertical, !1, E, h, u));
                                                       }
                                                  }
                                                  var H = void 0,
                                                       j = !1;
                                                  if (o.icon && o.icon.name) {
                                                       var N = n[o.icon.name];
                                                       N &&
                                                            ((H = (function (t, e, i) {
                                                                 var n = Tl(i),
                                                                      r = e[0] - t.displaySize[0] * n.horizontalAlign,
                                                                      o = e[1] - t.displaySize[1] * n.verticalAlign;
                                                                 return { image: t, top: o, bottom: o + t.displaySize[1], left: r, right: r + t.displaySize[0] };
                                                            })(r[o.icon.name], s.get("icon-offset").evaluate(o, {}, a), s.get("icon-anchor").evaluate(o, {}, a))),
                                                            (j = N.sdf),
                                                            void 0 === t.sdfIcons ? (t.sdfIcons = N.sdf) : t.sdfIcons !== N.sdf && x("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),
                                                            (N.pixelRatio !== t.pixelRatio || 0 !== s.get("icon-rotate").constantOr(1)) && (t.iconsNeedLinear = !0));
                                                  }
                                                  var B = ic(p.horizontal) || p.vertical;
                                                  (t.iconsInText = !!B && B.iconsInText),
                                                       (B || H) &&
                                                            (function (t, e, i, n, r, o, a, s, l, c, u) {
                                                                 var h = o.textMaxSize.evaluate(e, {});
                                                                 void 0 === h && (h = a);
                                                                 var d,
                                                                      p = t.layers[0].layout,
                                                                      f = p.get("icon-offset").evaluate(e, {}, u),
                                                                      m = ic(i.horizontal),
                                                                      g = a / 24,
                                                                      v = t.tilePixelRatio * g,
                                                                      y = (t.tilePixelRatio * h) / 24,
                                                                      b = t.tilePixelRatio * s,
                                                                      _ = t.tilePixelRatio * p.get("symbol-spacing"),
                                                                      w = p.get("text-padding") * t.tilePixelRatio,
                                                                      k = p.get("icon-padding") * t.tilePixelRatio,
                                                                      S = (p.get("text-max-angle") / 180) * Math.PI,
                                                                      M = "map" === p.get("text-rotation-alignment") && "point" !== p.get("symbol-placement"),
                                                                      T = "map" === p.get("icon-rotation-alignment") && "point" !== p.get("symbol-placement"),
                                                                      C = p.get("symbol-placement"),
                                                                      D = _ / 2,
                                                                      L = p.get("icon-text-fit");
                                                                 n &&
                                                                      "none" !== L &&
                                                                      (t.allowVerticalPlacement && i.vertical && (d = Dl(n, i.vertical, L, p.get("icon-text-fit-padding"), f, g)),
                                                                      m && (n = Dl(n, m, L, p.get("icon-text-fit-padding"), f, g)));
                                                                 var E = function (s, h) {
                                                                      h.x < 0 ||
                                                                           h.x >= 8192 ||
                                                                           h.y < 0 ||
                                                                           h.y >= 8192 ||
                                                                           (function (t, e, i, n, r, o, a, s, l, c, u, h, d, p, f, m, g, v, y, b, _, w, k, S, M) {
                                                                                var T,
                                                                                     C,
                                                                                     D,
                                                                                     L,
                                                                                     E,
                                                                                     A = t.addToLineVertexArray(e, i),
                                                                                     P = 0,
                                                                                     I = 0,
                                                                                     O = 0,
                                                                                     Y = 0,
                                                                                     z = -1,
                                                                                     R = -1,
                                                                                     F = {},
                                                                                     H = co(""),
                                                                                     j = 0,
                                                                                     N = 0;
                                                                                if (
                                                                                     (void 0 === s._unevaluatedLayout.getValue("text-radial-offset")
                                                                                          ? ((j = (T = s.layout
                                                                                                 .get("text-offset")
                                                                                                 .evaluate(_, {}, S)
                                                                                                 .map(function (t) {
                                                                                                      return 24 * t;
                                                                                                 }))[0]),
                                                                                            (N = T[1]))
                                                                                          : ((j = 24 * s.layout.get("text-radial-offset").evaluate(_, {}, S)), (N = Kl)),
                                                                                     t.allowVerticalPlacement && n.vertical)
                                                                                ) {
                                                                                     var B = s.layout.get("text-rotate").evaluate(_, {}, S) + 90;
                                                                                     (L = new ql(l, e, c, u, h, n.vertical, d, p, f, B)), a && (E = new ql(l, e, c, u, h, a, g, v, f, B));
                                                                                }
                                                                                if (r) {
                                                                                     var W = s.layout.get("icon-rotate").evaluate(_, {}),
                                                                                          V = "none" !== s.layout.get("icon-text-fit"),
                                                                                          U = Nl(r, W, k, V),
                                                                                          q = a ? Nl(a, W, k, V) : void 0;
                                                                                     (D = new ql(l, e, c, u, h, r, g, v, !1, W)), (P = 4 * U.length);
                                                                                     var $ = t.iconSizeData,
                                                                                          X = null;
                                                                                     "source" === $.kind
                                                                                          ? (X = [128 * s.layout.get("icon-size").evaluate(_, {})])[0] > 32640 &&
                                                                                            x(t.layerIds[0] + ': Value for "icon-size" is >= 255. Reduce your "icon-size".')
                                                                                          : "composite" === $.kind &&
                                                                                            ((X = [128 * w.compositeIconSizes[0].evaluate(_, {}, S), 128 * w.compositeIconSizes[1].evaluate(_, {}, S)])[0] > 32640 || X[1] > 32640) &&
                                                                                            x(t.layerIds[0] + ': Value for "icon-size" is >= 255. Reduce your "icon-size".'),
                                                                                          t.addSymbols(t.icon, U, X, b, y, _, !1, e, A.lineStartIndex, A.lineLength, -1, S),
                                                                                          (z = t.icon.placedSymbolArray.length - 1),
                                                                                          q &&
                                                                                               ((I = 4 * q.length),
                                                                                               t.addSymbols(t.icon, q, X, b, y, _, ml.vertical, e, A.lineStartIndex, A.lineLength, -1, S),
                                                                                               (R = t.icon.placedSymbolArray.length - 1));
                                                                                }
                                                                                for (var G in n.horizontal) {
                                                                                     var Z = n.horizontal[G];
                                                                                     if (!C) {
                                                                                          H = co(Z.text);
                                                                                          var J = s.layout.get("text-rotate").evaluate(_, {}, S);
                                                                                          C = new ql(l, e, c, u, h, Z, d, p, f, J);
                                                                                     }
                                                                                     var K = 1 === Z.positionedLines.length;
                                                                                     if (((O += ec(t, e, Z, o, s, f, _, m, A, n.vertical ? ml.horizontal : ml.horizontalOnly, K ? Object.keys(n.horizontal) : [G], F, z, w, S)), K)) break;
                                                                                }
                                                                                n.vertical && (Y += ec(t, e, n.vertical, o, s, f, _, m, A, ml.vertical, ["vertical"], F, R, w, S));
                                                                                var Q = C ? C.boxStartIndex : t.collisionBoxArray.length,
                                                                                     tt = C ? C.boxEndIndex : t.collisionBoxArray.length,
                                                                                     et = L ? L.boxStartIndex : t.collisionBoxArray.length,
                                                                                     it = L ? L.boxEndIndex : t.collisionBoxArray.length,
                                                                                     nt = D ? D.boxStartIndex : t.collisionBoxArray.length,
                                                                                     rt = D ? D.boxEndIndex : t.collisionBoxArray.length,
                                                                                     ot = E ? E.boxStartIndex : t.collisionBoxArray.length,
                                                                                     at = E ? E.boxEndIndex : t.collisionBoxArray.length,
                                                                                     st = -1,
                                                                                     lt = function (t, e) {
                                                                                          return t && t.circleDiameter ? Math.max(t.circleDiameter, e) : e;
                                                                                     };
                                                                                (st = lt(C, st)), (st = lt(L, st)), (st = lt(D, st));
                                                                                var ct = (st = lt(E, st)) > -1 ? 1 : 0;
                                                                                ct && (st *= M / 24),
                                                                                     t.glyphOffsetArray.length >= hc.MAX_GLYPHS && x("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),
                                                                                     void 0 !== _.sortKey && t.addToSortKeyRanges(t.symbolInstances.length, _.sortKey),
                                                                                     t.symbolInstances.emplaceBack(
                                                                                          e.x,
                                                                                          e.y,
                                                                                          F.right >= 0 ? F.right : -1,
                                                                                          F.center >= 0 ? F.center : -1,
                                                                                          F.left >= 0 ? F.left : -1,
                                                                                          F.vertical || -1,
                                                                                          z,
                                                                                          R,
                                                                                          H,
                                                                                          Q,
                                                                                          tt,
                                                                                          et,
                                                                                          it,
                                                                                          nt,
                                                                                          rt,
                                                                                          ot,
                                                                                          at,
                                                                                          c,
                                                                                          O,
                                                                                          Y,
                                                                                          P,
                                                                                          I,
                                                                                          ct,
                                                                                          0,
                                                                                          d,
                                                                                          j,
                                                                                          N,
                                                                                          st
                                                                                     );
                                                                           })(t, h, s, i, n, r, d, t.layers[0], t.collisionBoxArray, e.index, e.sourceLayerIndex, t.index, v, w, M, l, b, k, T, f, e, o, c, u, a);
                                                                 };
                                                                 if ("line" === C)
                                                                      for (var A = 0, P = jl(e.geometry, 0, 0, 8192, 8192); A < P.length; A += 1)
                                                                           for (var I = P[A], O = 0, Y = Hl(I, _, S, i.vertical || m, n, 24, y, t.overscaling, 8192); O < Y.length; O += 1) {
                                                                                var z = Y[O];
                                                                                (m && nc(t, m.text, D, z)) || E(I, z);
                                                                           }
                                                                 else if ("line-center" === C)
                                                                      for (var R = 0, F = e.geometry; R < F.length; R += 1) {
                                                                           var H = F[R];
                                                                           if (H.length > 1) {
                                                                                var j = Fl(H, S, i.vertical || m, n, 24, y);
                                                                                j && E(H, j);
                                                                           }
                                                                      }
                                                                 else if ("Polygon" === e.type)
                                                                      for (var N = 0, B = Ka(e.geometry, 0); N < B.length; N += 1) {
                                                                           var W = B[N],
                                                                                V = Gl(W, 16);
                                                                           E(W[0], new Ll(V.x, V.y, 0));
                                                                      }
                                                                 else if ("LineString" === e.type)
                                                                      for (var U = 0, q = e.geometry; U < q.length; U += 1) {
                                                                           var $ = q[U];
                                                                           E($, new Ll($[0].x, $[0].y, 0));
                                                                      }
                                                                 else if ("Point" === e.type)
                                                                      for (var X = 0, G = e.geometry; X < G.length; X += 1)
                                                                           for (var Z = 0, J = G[X]; Z < J.length; Z += 1) {
                                                                                var K = J[Z];
                                                                                E([K], new Ll(K.x, K.y, 0));
                                                                           }
                                                            })(t, o, p, H, n, c, h, d, w, j, a);
                                             },
                                             b = 0,
                                             _ = t.features;
                                        b < _.length;
                                        b += 1
                                   )
                                        y();
                                   o && t.generateCollisionDebugBuffers();
                              }),
                              (t.perspective = function (t, e, i, n, r) {
                                   var o,
                                        a = 1 / Math.tan(e / 2);
                                   return (
                                        (t[0] = a / i),
                                        (t[1] = 0),
                                        (t[2] = 0),
                                        (t[3] = 0),
                                        (t[4] = 0),
                                        (t[5] = a),
                                        (t[6] = 0),
                                        (t[7] = 0),
                                        (t[8] = 0),
                                        (t[9] = 0),
                                        (t[11] = -1),
                                        (t[12] = 0),
                                        (t[13] = 0),
                                        (t[15] = 0),
                                        null != r && r !== 1 / 0 ? ((t[10] = (r + n) * (o = 1 / (n - r))), (t[14] = 2 * r * n * o)) : ((t[10] = -1), (t[14] = -2 * n)),
                                        t
                                   );
                              }),
                              (t.pick = function (t, e) {
                                   for (var i = {}, n = 0; n < e.length; n++) {
                                        var r = e[n];
                                        r in t && (i[r] = t[r]);
                                   }
                                   return i;
                              }),
                              (t.plugin = nr),
                              (t.polygonIntersectsPolygon = Ho),
                              (t.postMapLoadEvent = rt),
                              (t.postTurnstileEvent = it),
                              (t.potpack = hl),
                              (t.refProperties = ["type", "source", "source-layer", "minzoom", "maxzoom", "filter", "layout"]),
                              (t.register = Yn),
                              (t.registerForPluginStateChange = function (t) {
                                   return t({ pluginStatus: Zn, pluginURL: Jn }), tr.on("pluginStateChange", t), t;
                              }),
                              (t.rotate = function (t, e, i) {
                                   var n = e[0],
                                        r = e[1],
                                        o = e[2],
                                        a = e[3],
                                        s = Math.sin(i),
                                        l = Math.cos(i);
                                   return (t[0] = n * l + o * s), (t[1] = r * l + a * s), (t[2] = n * -s + o * l), (t[3] = r * -s + a * l), t;
                              }),
                              (t.rotateX = function (t, e, i) {
                                   var n = Math.sin(i),
                                        r = Math.cos(i),
                                        o = e[4],
                                        a = e[5],
                                        s = e[6],
                                        l = e[7],
                                        c = e[8],
                                        u = e[9],
                                        h = e[10],
                                        d = e[11];
                                   return (
                                        e !== t && ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[3] = e[3]), (t[12] = e[12]), (t[13] = e[13]), (t[14] = e[14]), (t[15] = e[15])),
                                        (t[4] = o * r + c * n),
                                        (t[5] = a * r + u * n),
                                        (t[6] = s * r + h * n),
                                        (t[7] = l * r + d * n),
                                        (t[8] = c * r - o * n),
                                        (t[9] = u * r - a * n),
                                        (t[10] = h * r - s * n),
                                        (t[11] = d * r - l * n),
                                        t
                                   );
                              }),
                              (t.rotateZ = function (t, e, i) {
                                   var n = Math.sin(i),
                                        r = Math.cos(i),
                                        o = e[0],
                                        a = e[1],
                                        s = e[2],
                                        l = e[3],
                                        c = e[4],
                                        u = e[5],
                                        h = e[6],
                                        d = e[7];
                                   return (
                                        e !== t && ((t[8] = e[8]), (t[9] = e[9]), (t[10] = e[10]), (t[11] = e[11]), (t[12] = e[12]), (t[13] = e[13]), (t[14] = e[14]), (t[15] = e[15])),
                                        (t[0] = o * r + c * n),
                                        (t[1] = a * r + u * n),
                                        (t[2] = s * r + h * n),
                                        (t[3] = l * r + d * n),
                                        (t[4] = c * r - o * n),
                                        (t[5] = u * r - a * n),
                                        (t[6] = h * r - s * n),
                                        (t[7] = d * r - l * n),
                                        t
                                   );
                              }),
                              (t.scale = function (t, e, i) {
                                   var n = i[0],
                                        r = i[1],
                                        o = i[2];
                                   return (
                                        (t[0] = e[0] * n),
                                        (t[1] = e[1] * n),
                                        (t[2] = e[2] * n),
                                        (t[3] = e[3] * n),
                                        (t[4] = e[4] * r),
                                        (t[5] = e[5] * r),
                                        (t[6] = e[6] * r),
                                        (t[7] = e[7] * r),
                                        (t[8] = e[8] * o),
                                        (t[9] = e[9] * o),
                                        (t[10] = e[10] * o),
                                        (t[11] = e[11] * o),
                                        (t[12] = e[12]),
                                        (t[13] = e[13]),
                                        (t[14] = e[14]),
                                        (t[15] = e[15]),
                                        t
                                   );
                              }),
                              (t.scale$1 = function (t, e, i) {
                                   return (t[0] = e[0] * i), (t[1] = e[1] * i), (t[2] = e[2] * i), (t[3] = e[3] * i), t;
                              }),
                              (t.scale$2 = function (t, e, i) {
                                   return (t[0] = e[0] * i), (t[1] = e[1] * i), (t[2] = e[2] * i), t;
                              }),
                              (t.setCacheLimits = function (t, e) {
                                   (ot = t), (at = e);
                              }),
                              (t.setRTLTextPlugin = function (t, e, i) {
                                   if ((void 0 === i && (i = !1), "deferred" === Zn || "loading" === Zn || "loaded" === Zn)) throw new Error("setRTLTextPlugin cannot be called multiple times.");
                                   (Jn = z.resolveURL(t)), (Zn = "deferred"), (Gn = e), Qn(), i || ir();
                              }),
                              (t.sphericalToCartesian = function (t) {
                                   var e = t[0],
                                        i = t[1],
                                        n = t[2];
                                   return (i += 90), (i *= Math.PI / 180), (n *= Math.PI / 180), { x: e * Math.cos(i) * Math.sin(n), y: e * Math.sin(i) * Math.sin(n), z: e * Math.cos(n) };
                              }),
                              (t.sqrLen = function (t) {
                                   var e = t[0],
                                        i = t[1];
                                   return e * e + i * i;
                              }),
                              (t.styleSpec = Tt),
                              (t.sub = function (t, e, i) {
                                   return (t[0] = e[0] - i[0]), (t[1] = e[1] - i[1]), (t[2] = e[2] - i[2]), t;
                              }),
                              (t.symbolSize = Il),
                              (t.transformMat3 = function (t, e, i) {
                                   var n = e[0],
                                        r = e[1],
                                        o = e[2];
                                   return (t[0] = n * i[0] + r * i[3] + o * i[6]), (t[1] = n * i[1] + r * i[4] + o * i[7]), (t[2] = n * i[2] + r * i[5] + o * i[8]), t;
                              }),
                              (t.transformMat4 = aa),
                              (t.translate = function (t, e, i) {
                                   var n,
                                        r,
                                        o,
                                        a,
                                        s,
                                        l,
                                        c,
                                        u,
                                        h,
                                        d,
                                        p,
                                        f,
                                        m = i[0],
                                        g = i[1],
                                        v = i[2];
                                   return (
                                        e === t
                                             ? ((t[12] = e[0] * m + e[4] * g + e[8] * v + e[12]),
                                               (t[13] = e[1] * m + e[5] * g + e[9] * v + e[13]),
                                               (t[14] = e[2] * m + e[6] * g + e[10] * v + e[14]),
                                               (t[15] = e[3] * m + e[7] * g + e[11] * v + e[15]))
                                             : ((r = e[1]),
                                               (o = e[2]),
                                               (a = e[3]),
                                               (s = e[4]),
                                               (l = e[5]),
                                               (c = e[6]),
                                               (u = e[7]),
                                               (h = e[8]),
                                               (d = e[9]),
                                               (p = e[10]),
                                               (f = e[11]),
                                               (t[0] = n = e[0]),
                                               (t[1] = r),
                                               (t[2] = o),
                                               (t[3] = a),
                                               (t[4] = s),
                                               (t[5] = l),
                                               (t[6] = c),
                                               (t[7] = u),
                                               (t[8] = h),
                                               (t[9] = d),
                                               (t[10] = p),
                                               (t[11] = f),
                                               (t[12] = n * m + s * g + h * v + e[12]),
                                               (t[13] = r * m + l * g + d * v + e[13]),
                                               (t[14] = o * m + c * g + p * v + e[14]),
                                               (t[15] = a * m + u * g + f * v + e[15])),
                                        t
                                   );
                              }),
                              (t.triggerPluginCompletionEvent = Kn),
                              (t.uniqueId = d),
                              (t.validateCustomStyleLayer = function (t) {
                                   var e = [],
                                        i = t.id;
                                   return (
                                        void 0 === i && e.push({ message: "layers." + i + ': missing required property "id"' }),
                                        void 0 === t.render && e.push({ message: "layers." + i + ': missing required method "render"' }),
                                        t.renderingMode && "2d" !== t.renderingMode && "3d" !== t.renderingMode && e.push({ message: "layers." + i + ': property "renderingMode" must be either "2d" or "3d"' }),
                                        e
                                   );
                              }),
                              (t.validateLight = Tn),
                              (t.validateStyle = Mn),
                              (t.values = function (t) {
                                   var e = [];
                                   for (var i in t) e.push(t[i]);
                                   return e;
                              }),
                              (t.vectorTile = ms),
                              (t.version = "1.10.1"),
                              (t.warnOnce = x),
                              (t.webpSupported = F),
                              (t.window = self),
                              (t.wrap = c);
                    }),
                    n(0, function (t) {
                         function e(t) {
                              var i = typeof t;
                              if ("number" === i || "boolean" === i || "string" === i || null == t) return JSON.stringify(t);
                              if (Array.isArray(t)) {
                                   for (var n = "[", r = 0, o = t; r < o.length; r += 1) n += e(o[r]) + ",";
                                   return n + "]";
                              }
                              for (var a = Object.keys(t).sort(), s = "{", l = 0; l < a.length; l++) s += JSON.stringify(a[l]) + ":" + e(t[a[l]]) + ",";
                              return s + "}";
                         }
                         function i(i) {
                              for (var n = "", r = 0, o = t.refProperties; r < o.length; r += 1) n += "/" + e(i[o[r]]);
                              return n;
                         }
                         var n = function (t) {
                              (this.keyCache = {}), t && this.replace(t);
                         };
                         (n.prototype.replace = function (t) {
                              (this._layerConfigs = {}), (this._layers = {}), this.update(t, []);
                         }),
                              (n.prototype.update = function (e, n) {
                                   for (var r = this, o = 0, a = e; o < a.length; o += 1) {
                                        var s = a[o];
                                        this._layerConfigs[s.id] = s;
                                        var l = (this._layers[s.id] = t.createStyleLayer(s));
                                        (l._featureFilter = t.featureFilter(l.filter)), this.keyCache[s.id] && delete this.keyCache[s.id];
                                   }
                                   for (var c = 0, u = n; c < u.length; c += 1) {
                                        var h = u[c];
                                        delete this.keyCache[h], delete this._layerConfigs[h], delete this._layers[h];
                                   }
                                   this.familiesBySource = {};
                                   for (
                                        var d = 0,
                                             p = (function (t, e) {
                                                  for (var n = {}, r = 0; r < t.length; r++) {
                                                       var o = (e && e[t[r].id]) || i(t[r]);
                                                       e && (e[t[r].id] = o);
                                                       var a = n[o];
                                                       a || (a = n[o] = []), a.push(t[r]);
                                                  }
                                                  var s = [];
                                                  for (var l in n) s.push(n[l]);
                                                  return s;
                                             })(t.values(this._layerConfigs), this.keyCache);
                                        d < p.length;
                                        d += 1
                                   ) {
                                        var f = p[d].map(function (t) {
                                                  return r._layers[t.id];
                                             }),
                                             m = f[0];
                                        if ("none" !== m.visibility) {
                                             var g = m.source || "",
                                                  v = this.familiesBySource[g];
                                             v || (v = this.familiesBySource[g] = {});
                                             var y = m.sourceLayer || "_geojsonTileLayer",
                                                  b = v[y];
                                             b || (b = v[y] = []), b.push(f);
                                        }
                                   }
                              });
                         var r = function (e) {
                              var i = {},
                                   n = [];
                              for (var r in e) {
                                   var o = e[r],
                                        a = (i[r] = {});
                                   for (var s in o) {
                                        var l = o[+s];
                                        if (l && 0 !== l.bitmap.width && 0 !== l.bitmap.height) {
                                             var c = { x: 0, y: 0, w: l.bitmap.width + 2, h: l.bitmap.height + 2 };
                                             n.push(c), (a[s] = { rect: c, metrics: l.metrics });
                                        }
                                   }
                              }
                              var u = t.potpack(n),
                                   h = new t.AlphaImage({ width: u.w || 1, height: u.h || 1 });
                              for (var d in e) {
                                   var p = e[d];
                                   for (var f in p) {
                                        var m = p[+f];
                                        if (m && 0 !== m.bitmap.width && 0 !== m.bitmap.height) {
                                             var g = i[d][f].rect;
                                             t.AlphaImage.copy(m.bitmap, h, { x: 0, y: 0 }, { x: g.x + 1, y: g.y + 1 }, m.bitmap);
                                        }
                                   }
                              }
                              (this.image = h), (this.positions = i);
                         };
                         t.register("GlyphAtlas", r);
                         var o = function (e) {
                              (this.tileID = new t.OverscaledTileID(e.tileID.overscaledZ, e.tileID.wrap, e.tileID.canonical.z, e.tileID.canonical.x, e.tileID.canonical.y)),
                                   (this.uid = e.uid),
                                   (this.zoom = e.zoom),
                                   (this.pixelRatio = e.pixelRatio),
                                   (this.tileSize = e.tileSize),
                                   (this.source = e.source),
                                   (this.overscaling = this.tileID.overscaleFactor()),
                                   (this.showCollisionBoxes = e.showCollisionBoxes),
                                   (this.collectResourceTiming = !!e.collectResourceTiming),
                                   (this.returnDependencies = !!e.returnDependencies),
                                   (this.promoteId = e.promoteId);
                         };
                         function a(e, i, n) {
                              for (var r = new t.EvaluationParameters(i), o = 0, a = e; o < a.length; o += 1) a[o].recalculate(r, n);
                         }
                         function s(e, i) {
                              var n = t.getArrayBuffer(e.request, function (e, n, r, o) {
                                   e ? i(e) : n && i(null, { vectorTile: new t.vectorTile.VectorTile(new t.pbf(n)), rawData: n, cacheControl: r, expires: o });
                              });
                              return function () {
                                   n.cancel(), i();
                              };
                         }
                         o.prototype.parse = function (e, i, n, o, s) {
                              var l = this;
                              (this.status = "parsing"), (this.data = e), (this.collisionBoxArray = new t.CollisionBoxArray());
                              var c = new t.DictionaryCoder(Object.keys(e.layers).sort()),
                                   u = new t.FeatureIndex(this.tileID, this.promoteId);
                              u.bucketLayerIDs = [];
                              var h,
                                   d,
                                   p,
                                   f,
                                   m = {},
                                   g = { featureIndex: u, iconDependencies: {}, patternDependencies: {}, glyphDependencies: {}, availableImages: n },
                                   v = i.familiesBySource[this.source];
                              for (var y in v) {
                                   var b = e.layers[y];
                                   if (b) {
                                        1 === b.version && t.warnOnce('Vector tile source "' + this.source + '" layer "' + y + '" does not use vector tile spec v2 and therefore may have some rendering errors.');
                                        for (var _ = c.encode(y), x = [], w = 0; w < b.length; w++) {
                                             var k = b.feature(w),
                                                  S = u.getId(k, y);
                                             x.push({ feature: k, id: S, index: w, sourceLayerIndex: _ });
                                        }
                                        for (var M = 0, T = v[y]; M < T.length; M += 1) {
                                             var C = T[M],
                                                  D = C[0];
                                             (D.minzoom && this.zoom < Math.floor(D.minzoom)) ||
                                                  (D.maxzoom && this.zoom >= D.maxzoom) ||
                                                  ("none" !== D.visibility &&
                                                       (a(C, this.zoom, n),
                                                       (m[D.id] = D.createBucket({
                                                            index: u.bucketLayerIDs.length,
                                                            layers: C,
                                                            zoom: this.zoom,
                                                            pixelRatio: this.pixelRatio,
                                                            overscaling: this.overscaling,
                                                            collisionBoxArray: this.collisionBoxArray,
                                                            sourceLayerIndex: _,
                                                            sourceID: this.source,
                                                       })).populate(x, g, this.tileID.canonical),
                                                       u.bucketLayerIDs.push(
                                                            C.map(function (t) {
                                                                 return t.id;
                                                            })
                                                       )));
                                        }
                                   }
                              }
                              var L = t.mapObject(g.glyphDependencies, function (t) {
                                   return Object.keys(t).map(Number);
                              });
                              Object.keys(L).length
                                   ? o.send("getGlyphs", { uid: this.uid, stacks: L }, function (t, e) {
                                          h || ((h = t), (d = e), P.call(l));
                                     })
                                   : (d = {});
                              var E = Object.keys(g.iconDependencies);
                              E.length
                                   ? o.send("getImages", { icons: E, source: this.source, tileID: this.tileID, type: "icons" }, function (t, e) {
                                          h || ((h = t), (p = e), P.call(l));
                                     })
                                   : (p = {});
                              var A = Object.keys(g.patternDependencies);
                              function P() {
                                   if (h) return s(h);
                                   if (d && p && f) {
                                        var e = new r(d),
                                             i = new t.ImageAtlas(p, f);
                                        for (var o in m) {
                                             var l = m[o];
                                             l instanceof t.SymbolBucket
                                                  ? (a(l.layers, this.zoom, n), t.performSymbolLayout(l, d, e.positions, p, i.iconPositions, this.showCollisionBoxes, this.tileID.canonical))
                                                  : l.hasPattern &&
                                                    (l instanceof t.LineBucket || l instanceof t.FillBucket || l instanceof t.FillExtrusionBucket) &&
                                                    (a(l.layers, this.zoom, n), l.addFeatures(g, this.tileID.canonical, i.patternPositions));
                                        }
                                        (this.status = "done"),
                                             s(null, {
                                                  buckets: t.values(m).filter(function (t) {
                                                       return !t.isEmpty();
                                                  }),
                                                  featureIndex: u,
                                                  collisionBoxArray: this.collisionBoxArray,
                                                  glyphAtlasImage: e.image,
                                                  imageAtlas: i,
                                                  glyphMap: this.returnDependencies ? d : null,
                                                  iconMap: this.returnDependencies ? p : null,
                                                  glyphPositions: this.returnDependencies ? e.positions : null,
                                             });
                                   }
                              }
                              A.length
                                   ? o.send("getImages", { icons: A, source: this.source, tileID: this.tileID, type: "patterns" }, function (t, e) {
                                          h || ((h = t), (f = e), P.call(l));
                                     })
                                   : (f = {}),
                                   P.call(this);
                         };
                         var l = function (t, e, i, n) {
                              (this.actor = t), (this.layerIndex = e), (this.availableImages = i), (this.loadVectorData = n || s), (this.loading = {}), (this.loaded = {});
                         };
                         (l.prototype.loadTile = function (e, i) {
                              var n = this,
                                   r = e.uid;
                              this.loading || (this.loading = {});
                              var a = !!(e && e.request && e.request.collectResourceTiming) && new t.RequestPerformance(e.request),
                                   s = (this.loading[r] = new o(e));
                              s.abort = this.loadVectorData(e, function (e, o) {
                                   if ((delete n.loading[r], e || !o)) return (s.status = "done"), (n.loaded[r] = s), i(e);
                                   var l = o.rawData,
                                        c = {};
                                   o.expires && (c.expires = o.expires), o.cacheControl && (c.cacheControl = o.cacheControl);
                                   var u = {};
                                   if (a) {
                                        var h = a.finish();
                                        h && (u.resourceTiming = JSON.parse(JSON.stringify(h)));
                                   }
                                   (s.vectorTile = o.vectorTile),
                                        s.parse(o.vectorTile, n.layerIndex, n.availableImages, n.actor, function (e, n) {
                                             if (e || !n) return i(e);
                                             i(null, t.extend({ rawTileData: l.slice(0) }, n, c, u));
                                        }),
                                        (n.loaded = n.loaded || {}),
                                        (n.loaded[r] = s);
                              });
                         }),
                              (l.prototype.reloadTile = function (t, e) {
                                   var i = this,
                                        n = this.loaded,
                                        r = t.uid,
                                        o = this;
                                   if (n && n[r]) {
                                        var a = n[r];
                                        a.showCollisionBoxes = t.showCollisionBoxes;
                                        var s = function (t, n) {
                                             var r = a.reloadCallback;
                                             r && (delete a.reloadCallback, a.parse(a.vectorTile, o.layerIndex, i.availableImages, o.actor, r)), e(t, n);
                                        };
                                        "parsing" === a.status ? (a.reloadCallback = s) : "done" === a.status && (a.vectorTile ? a.parse(a.vectorTile, this.layerIndex, this.availableImages, this.actor, s) : s());
                                   }
                              }),
                              (l.prototype.abortTile = function (t, e) {
                                   var i = this.loading,
                                        n = t.uid;
                                   i && i[n] && i[n].abort && (i[n].abort(), delete i[n]), e();
                              }),
                              (l.prototype.removeTile = function (t, e) {
                                   var i = this.loaded,
                                        n = t.uid;
                                   i && i[n] && delete i[n], e();
                              });
                         var c = t.window.ImageBitmap,
                              u = function () {
                                   this.loaded = {};
                              };
                         function h(t, e) {
                              if (0 !== t.length) {
                                   d(t[0], e);
                                   for (var i = 1; i < t.length; i++) d(t[i], !e);
                              }
                         }
                         function d(t, e) {
                              for (var i = 0, n = 0, r = t.length, o = r - 1; n < r; o = n++) i += (t[n][0] - t[o][0]) * (t[o][1] + t[n][1]);
                              i >= 0 != !!e && t.reverse();
                         }
                         (u.prototype.loadTile = function (e, i) {
                              var n = e.uid,
                                   r = e.encoding,
                                   o = e.rawImageData,
                                   a = c && o instanceof c ? this.getImageData(o) : o,
                                   s = new t.DEMData(n, a, r);
                              (this.loaded = this.loaded || {}), (this.loaded[n] = s), i(null, s);
                         }),
                              (u.prototype.getImageData = function (e) {
                                   (this.offscreenCanvas && this.offscreenCanvasContext) || ((this.offscreenCanvas = new OffscreenCanvas(e.width, e.height)), (this.offscreenCanvasContext = this.offscreenCanvas.getContext("2d"))),
                                        (this.offscreenCanvas.width = e.width),
                                        (this.offscreenCanvas.height = e.height),
                                        this.offscreenCanvasContext.drawImage(e, 0, 0, e.width, e.height);
                                   var i = this.offscreenCanvasContext.getImageData(-1, -1, e.width + 2, e.height + 2);
                                   return this.offscreenCanvasContext.clearRect(0, 0, this.offscreenCanvas.width, this.offscreenCanvas.height), new t.RGBAImage({ width: i.width, height: i.height }, i.data);
                              }),
                              (u.prototype.removeTile = function (t) {
                                   var e = this.loaded,
                                        i = t.uid;
                                   e && e[i] && delete e[i];
                              });
                         var p = t.vectorTile.VectorTileFeature.prototype.toGeoJSON,
                              f = function (e) {
                                   (this._feature = e), (this.extent = t.EXTENT), (this.type = e.type), (this.properties = e.tags), "id" in e && !isNaN(e.id) && (this.id = parseInt(e.id, 10));
                              };
                         (f.prototype.loadGeometry = function () {
                              if (1 === this._feature.type) {
                                   for (var e = [], i = 0, n = this._feature.geometry; i < n.length; i += 1) {
                                        var r = n[i];
                                        e.push([new t.Point$1(r[0], r[1])]);
                                   }
                                   return e;
                              }
                              for (var o = [], a = 0, s = this._feature.geometry; a < s.length; a += 1) {
                                   for (var l = [], c = 0, u = s[a]; c < u.length; c += 1) {
                                        var h = u[c];
                                        l.push(new t.Point$1(h[0], h[1]));
                                   }
                                   o.push(l);
                              }
                              return o;
                         }),
                              (f.prototype.toGeoJSON = function (t, e, i) {
                                   return p.call(this, t, e, i);
                              });
                         var m = function (e) {
                              (this.layers = { _geojsonTileLayer: this }), (this.name = "_geojsonTileLayer"), (this.extent = t.EXTENT), (this.length = e.length), (this._features = e);
                         };
                         m.prototype.feature = function (t) {
                              return new f(this._features[t]);
                         };
                         var g = t.vectorTile.VectorTileFeature,
                              v = y;
                         function y(t, e) {
                              (this.options = e || {}), (this.features = t), (this.length = t.length);
                         }
                         function b(t, e) {
                              (this.id = "number" == typeof t.id ? t.id : void 0), (this.type = t.type), (this.rawGeometry = 1 === t.type ? [t.geometry] : t.geometry), (this.properties = t.tags), (this.extent = e || 4096);
                         }
                         (y.prototype.feature = function (t) {
                              return new b(this.features[t], this.options.extent);
                         }),
                              (b.prototype.loadGeometry = function () {
                                   var e = this.rawGeometry;
                                   this.geometry = [];
                                   for (var i = 0; i < e.length; i++) {
                                        for (var n = e[i], r = [], o = 0; o < n.length; o++) r.push(new t.Point$1(n[o][0], n[o][1]));
                                        this.geometry.push(r);
                                   }
                                   return this.geometry;
                              }),
                              (b.prototype.bbox = function () {
                                   this.geometry || this.loadGeometry();
                                   for (var t = this.geometry, e = 1 / 0, i = -1 / 0, n = 1 / 0, r = -1 / 0, o = 0; o < t.length; o++)
                                        for (var a = t[o], s = 0; s < a.length; s++) {
                                             var l = a[s];
                                             (e = Math.min(e, l.x)), (i = Math.max(i, l.x)), (n = Math.min(n, l.y)), (r = Math.max(r, l.y));
                                        }
                                   return [e, n, i, r];
                              }),
                              (b.prototype.toGeoJSON = g.prototype.toGeoJSON);
                         var _ = w,
                              x = v;
                         function w(e) {
                              var i = new t.pbf();
                              return (
                                   (function (t, e) {
                                        for (var i in t.layers) e.writeMessage(3, k, t.layers[i]);
                                   })(e, i),
                                   i.finish()
                              );
                         }
                         function k(t, e) {
                              var i;
                              e.writeVarintField(15, t.version || 1), e.writeStringField(1, t.name || ""), e.writeVarintField(5, t.extent || 4096);
                              var n = { keys: [], values: [], keycache: {}, valuecache: {} };
                              for (i = 0; i < t.length; i++) (n.feature = t.feature(i)), e.writeMessage(2, S, n);
                              var r = n.keys;
                              for (i = 0; i < r.length; i++) e.writeStringField(3, r[i]);
                              var o = n.values;
                              for (i = 0; i < o.length; i++) e.writeMessage(4, L, o[i]);
                         }
                         function S(t, e) {
                              var i = t.feature;
                              void 0 !== i.id && e.writeVarintField(1, i.id), e.writeMessage(2, M, t), e.writeVarintField(3, i.type), e.writeMessage(4, D, i);
                         }
                         function M(t, e) {
                              var i = t.feature,
                                   n = t.keys,
                                   r = t.values,
                                   o = t.keycache,
                                   a = t.valuecache;
                              for (var s in i.properties) {
                                   var l = o[s];
                                   void 0 === l && (n.push(s), (o[s] = l = n.length - 1)), e.writeVarint(l);
                                   var c = i.properties[s],
                                        u = typeof c;
                                   "string" !== u && "boolean" !== u && "number" !== u && (c = JSON.stringify(c));
                                   var h = u + ":" + c,
                                        d = a[h];
                                   void 0 === d && (r.push(c), (a[h] = d = r.length - 1)), e.writeVarint(d);
                              }
                         }
                         function T(t, e) {
                              return (e << 3) + (7 & t);
                         }
                         function C(t) {
                              return (t << 1) ^ (t >> 31);
                         }
                         function D(t, e) {
                              for (var i = t.loadGeometry(), n = t.type, r = 0, o = 0, a = i.length, s = 0; s < a; s++) {
                                   var l = i[s],
                                        c = 1;
                                   1 === n && (c = l.length), e.writeVarint(T(1, c));
                                   for (var u = 3 === n ? l.length - 1 : l.length, h = 0; h < u; h++) {
                                        1 === h && 1 !== n && e.writeVarint(T(2, u - 1));
                                        var d = l[h].x - r,
                                             p = l[h].y - o;
                                        e.writeVarint(C(d)), e.writeVarint(C(p)), (r += d), (o += p);
                                   }
                                   3 === n && e.writeVarint(T(7, 1));
                              }
                         }
                         function L(t, e) {
                              var i = typeof t;
                              "string" === i
                                   ? e.writeStringField(1, t)
                                   : "boolean" === i
                                   ? e.writeBooleanField(7, t)
                                   : "number" === i && (t % 1 != 0 ? e.writeDoubleField(3, t) : t < 0 ? e.writeSVarintField(6, t) : e.writeVarintField(5, t));
                         }
                         function E(t, e, i, n) {
                              A(t, i, n), A(e, 2 * i, 2 * n), A(e, 2 * i + 1, 2 * n + 1);
                         }
                         function A(t, e, i) {
                              var n = t[e];
                              (t[e] = t[i]), (t[i] = n);
                         }
                         function P(t, e, i, n) {
                              var r = t - i,
                                   o = e - n;
                              return r * r + o * o;
                         }
                         (_.fromVectorTileJs = w),
                              (_.fromGeojsonVt = function (t, e) {
                                   e = e || {};
                                   var i = {};
                                   for (var n in t) (i[n] = new v(t[n].features, e)), (i[n].name = n), (i[n].version = e.version), (i[n].extent = e.extent);
                                   return w({ layers: i });
                              }),
                              (_.GeoJSONWrapper = x);
                         var I = function (t) {
                                   return t[0];
                              },
                              O = function (t) {
                                   return t[1];
                              },
                              Y = function (t, e, i, n, r) {
                                   void 0 === e && (e = I), void 0 === i && (i = O), void 0 === n && (n = 64), void 0 === r && (r = Float64Array), (this.nodeSize = n), (this.points = t);
                                   for (var o = t.length < 65536 ? Uint16Array : Uint32Array, a = (this.ids = new o(t.length)), s = (this.coords = new r(2 * t.length)), l = 0; l < t.length; l++)
                                        (a[l] = l), (s[2 * l] = e(t[l])), (s[2 * l + 1] = i(t[l]));
                                   !(function t(e, i, n, r, o, a) {
                                        if (!(o - r <= n)) {
                                             var s = (r + o) >> 1;
                                             !(function t(e, i, n, r, o, a) {
                                                  for (; o > r; ) {
                                                       if (o - r > 600) {
                                                            var s = o - r + 1,
                                                                 l = n - r + 1,
                                                                 c = Math.log(s),
                                                                 u = 0.5 * Math.exp((2 * c) / 3),
                                                                 h = 0.5 * Math.sqrt((c * u * (s - u)) / s) * (l - s / 2 < 0 ? -1 : 1);
                                                            t(e, i, n, Math.max(r, Math.floor(n - (l * u) / s + h)), Math.min(o, Math.floor(n + ((s - l) * u) / s + h)), a);
                                                       }
                                                       var d = i[2 * n + a],
                                                            p = r,
                                                            f = o;
                                                       for (E(e, i, r, n), i[2 * o + a] > d && E(e, i, r, o); p < f; ) {
                                                            for (E(e, i, p, f), p++, f--; i[2 * p + a] < d; ) p++;
                                                            for (; i[2 * f + a] > d; ) f--;
                                                       }
                                                       i[2 * r + a] === d ? E(e, i, r, f) : E(e, i, ++f, o), f <= n && (r = f + 1), n <= f && (o = f - 1);
                                                  }
                                             })(e, i, s, r, o, a % 2),
                                                  t(e, i, n, r, s - 1, a + 1),
                                                  t(e, i, n, s + 1, o, a + 1);
                                        }
                                   })(a, s, n, 0, a.length - 1, 0);
                              };
                         (Y.prototype.range = function (t, e, i, n) {
                              return (function (t, e, i, n, r, o, a) {
                                   for (var s, l, c = [0, t.length - 1, 0], u = []; c.length; ) {
                                        var h = c.pop(),
                                             d = c.pop(),
                                             p = c.pop();
                                        if (d - p <= a) for (var f = p; f <= d; f++) (l = e[2 * f + 1]), (s = e[2 * f]) >= i && s <= r && l >= n && l <= o && u.push(t[f]);
                                        else {
                                             var m = Math.floor((p + d) / 2);
                                             (l = e[2 * m + 1]), (s = e[2 * m]) >= i && s <= r && l >= n && l <= o && u.push(t[m]);
                                             var g = (h + 1) % 2;
                                             (0 === h ? i <= s : n <= l) && (c.push(p), c.push(m - 1), c.push(g)), (0 === h ? r >= s : o >= l) && (c.push(m + 1), c.push(d), c.push(g));
                                        }
                                   }
                                   return u;
                              })(this.ids, this.coords, t, e, i, n, this.nodeSize);
                         }),
                              (Y.prototype.within = function (t, e, i) {
                                   return (function (t, e, i, n, r, o) {
                                        for (var a = [0, t.length - 1, 0], s = [], l = r * r; a.length; ) {
                                             var c = a.pop(),
                                                  u = a.pop(),
                                                  h = a.pop();
                                             if (u - h <= o) for (var d = h; d <= u; d++) P(e[2 * d], e[2 * d + 1], i, n) <= l && s.push(t[d]);
                                             else {
                                                  var p = Math.floor((h + u) / 2),
                                                       f = e[2 * p],
                                                       m = e[2 * p + 1];
                                                  P(f, m, i, n) <= l && s.push(t[p]);
                                                  var g = (c + 1) % 2;
                                                  (0 === c ? i - r <= f : n - r <= m) && (a.push(h), a.push(p - 1), a.push(g)), (0 === c ? i + r >= f : n + r >= m) && (a.push(p + 1), a.push(u), a.push(g));
                                             }
                                        }
                                        return s;
                                   })(this.ids, this.coords, t, e, i, this.nodeSize);
                              });
                         var z = {
                                   minZoom: 0,
                                   maxZoom: 16,
                                   radius: 40,
                                   extent: 512,
                                   nodeSize: 64,
                                   log: !1,
                                   generateId: !1,
                                   reduce: null,
                                   map: function (t) {
                                        return t;
                                   },
                              },
                              R = function (t) {
                                   (this.options = V(Object.create(z), t)), (this.trees = new Array(this.options.maxZoom + 1));
                              };
                         function F(t, e, i, n, r) {
                              return { x: t, y: e, zoom: 1 / 0, id: i, parentId: -1, numPoints: n, properties: r };
                         }
                         function H(t, e) {
                              var i = t.geometry.coordinates,
                                   n = i[1];
                              return { x: B(i[0]), y: W(n), zoom: 1 / 0, index: e, parentId: -1 };
                         }
                         function j(t) {
                              return {
                                   type: "Feature",
                                   id: t.id,
                                   properties: N(t),
                                   geometry: { type: "Point", coordinates: [((n = t.x), 360 * (n - 0.5)), ((e = t.y), (i = ((180 - 360 * e) * Math.PI) / 180), (360 * Math.atan(Math.exp(i))) / Math.PI - 90)] },
                              };
                              var e, i, n;
                         }
                         function N(t) {
                              var e = t.numPoints,
                                   i = e >= 1e4 ? Math.round(e / 1e3) + "k" : e >= 1e3 ? Math.round(e / 100) / 10 + "k" : e;
                              return V(V({}, t.properties), { cluster: !0, cluster_id: t.id, point_count: e, point_count_abbreviated: i });
                         }
                         function B(t) {
                              return t / 360 + 0.5;
                         }
                         function W(t) {
                              var e = Math.sin((t * Math.PI) / 180),
                                   i = 0.5 - (0.25 * Math.log((1 + e) / (1 - e))) / Math.PI;
                              return i < 0 ? 0 : i > 1 ? 1 : i;
                         }
                         function V(t, e) {
                              for (var i in e) t[i] = e[i];
                              return t;
                         }
                         function U(t) {
                              return t.x;
                         }
                         function q(t) {
                              return t.y;
                         }
                         function $(t, e, i, n, r, o) {
                              var a = r - i,
                                   s = o - n;
                              if (0 !== a || 0 !== s) {
                                   var l = ((t - i) * a + (e - n) * s) / (a * a + s * s);
                                   l > 1 ? ((i = r), (n = o)) : l > 0 && ((i += a * l), (n += s * l));
                              }
                              return (a = t - i) * a + (s = e - n) * s;
                         }
                         function X(t, e, i, n) {
                              var r = { id: void 0 === t ? null : t, type: e, geometry: i, tags: n, minX: 1 / 0, minY: 1 / 0, maxX: -1 / 0, maxY: -1 / 0 };
                              return (
                                   (function (t) {
                                        var e = t.geometry,
                                             i = t.type;
                                        if ("Point" === i || "MultiPoint" === i || "LineString" === i) G(t, e);
                                        else if ("Polygon" === i || "MultiLineString" === i) for (var n = 0; n < e.length; n++) G(t, e[n]);
                                        else if ("MultiPolygon" === i) for (n = 0; n < e.length; n++) for (var r = 0; r < e[n].length; r++) G(t, e[n][r]);
                                   })(r),
                                   r
                              );
                         }
                         function G(t, e) {
                              for (var i = 0; i < e.length; i += 3) (t.minX = Math.min(t.minX, e[i])), (t.minY = Math.min(t.minY, e[i + 1])), (t.maxX = Math.max(t.maxX, e[i])), (t.maxY = Math.max(t.maxY, e[i + 1]));
                         }
                         function Z(t, e, i, n) {
                              if (e.geometry) {
                                   var r = e.geometry.coordinates,
                                        o = e.geometry.type,
                                        a = Math.pow(i.tolerance / ((1 << i.maxZoom) * i.extent), 2),
                                        s = [],
                                        l = e.id;
                                   if ((i.promoteId ? (l = e.properties[i.promoteId]) : i.generateId && (l = n || 0), "Point" === o)) J(r, s);
                                   else if ("MultiPoint" === o) for (var c = 0; c < r.length; c++) J(r[c], s);
                                   else if ("LineString" === o) K(r, s, a, !1);
                                   else if ("MultiLineString" === o) {
                                        if (i.lineMetrics) {
                                             for (c = 0; c < r.length; c++) K(r[c], (s = []), a, !1), t.push(X(l, "LineString", s, e.properties));
                                             return;
                                        }
                                        Q(r, s, a, !1);
                                   } else if ("Polygon" === o) Q(r, s, a, !0);
                                   else {
                                        if ("MultiPolygon" !== o) {
                                             if ("GeometryCollection" === o) {
                                                  for (c = 0; c < e.geometry.geometries.length; c++) Z(t, { id: l, geometry: e.geometry.geometries[c], properties: e.properties }, i, n);
                                                  return;
                                             }
                                             throw new Error("Input data is not a valid GeoJSON object.");
                                        }
                                        for (c = 0; c < r.length; c++) {
                                             var u = [];
                                             Q(r[c], u, a, !0), s.push(u);
                                        }
                                   }
                                   t.push(X(l, o, s, e.properties));
                              }
                         }
                         function J(t, e) {
                              e.push(tt(t[0])), e.push(et(t[1])), e.push(0);
                         }
                         function K(t, e, i, n) {
                              for (var r, o, a = 0, s = 0; s < t.length; s++) {
                                   var l = tt(t[s][0]),
                                        c = et(t[s][1]);
                                   e.push(l), e.push(c), e.push(0), s > 0 && (a += n ? (r * c - l * o) / 2 : Math.sqrt(Math.pow(l - r, 2) + Math.pow(c - o, 2))), (r = l), (o = c);
                              }
                              var u = e.length - 3;
                              (e[2] = 1),
                                   (function t(e, i, n, r) {
                                        for (var o, a = r, s = (n - i) >> 1, l = n - i, c = e[i], u = e[i + 1], h = e[n], d = e[n + 1], p = i + 3; p < n; p += 3) {
                                             var f = $(e[p], e[p + 1], c, u, h, d);
                                             if (f > a) (o = p), (a = f);
                                             else if (f === a) {
                                                  var m = Math.abs(p - s);
                                                  m < l && ((o = p), (l = m));
                                             }
                                        }
                                        a > r && (o - i > 3 && t(e, i, o, r), (e[o + 2] = a), n - o > 3 && t(e, o, n, r));
                                   })(e, 0, u, i),
                                   (e[u + 2] = 1),
                                   (e.size = Math.abs(a)),
                                   (e.start = 0),
                                   (e.end = e.size);
                         }
                         function Q(t, e, i, n) {
                              for (var r = 0; r < t.length; r++) {
                                   var o = [];
                                   K(t[r], o, i, n), e.push(o);
                              }
                         }
                         function tt(t) {
                              return t / 360 + 0.5;
                         }
                         function et(t) {
                              var e = Math.sin((t * Math.PI) / 180),
                                   i = 0.5 - (0.25 * Math.log((1 + e) / (1 - e))) / Math.PI;
                              return i < 0 ? 0 : i > 1 ? 1 : i;
                         }
                         function it(t, e, i, n, r, o, a, s) {
                              if (((n /= e), o >= (i /= e) && a < n)) return t;
                              if (a < i || o >= n) return null;
                              for (var l = [], c = 0; c < t.length; c++) {
                                   var u = t[c],
                                        h = u.geometry,
                                        d = u.type,
                                        p = 0 === r ? u.minX : u.minY,
                                        f = 0 === r ? u.maxX : u.maxY;
                                   if (p >= i && f < n) l.push(u);
                                   else if (!(f < i || p >= n)) {
                                        var m = [];
                                        if ("Point" === d || "MultiPoint" === d) nt(h, m, i, n, r);
                                        else if ("LineString" === d) rt(h, m, i, n, r, !1, s.lineMetrics);
                                        else if ("MultiLineString" === d) at(h, m, i, n, r, !1);
                                        else if ("Polygon" === d) at(h, m, i, n, r, !0);
                                        else if ("MultiPolygon" === d)
                                             for (var g = 0; g < h.length; g++) {
                                                  var v = [];
                                                  at(h[g], v, i, n, r, !0), v.length && m.push(v);
                                             }
                                        if (m.length) {
                                             if (s.lineMetrics && "LineString" === d) {
                                                  for (g = 0; g < m.length; g++) l.push(X(u.id, d, m[g], u.tags));
                                                  continue;
                                             }
                                             ("LineString" !== d && "MultiLineString" !== d) || (1 === m.length ? ((d = "LineString"), (m = m[0])) : (d = "MultiLineString")),
                                                  ("Point" !== d && "MultiPoint" !== d) || (d = 3 === m.length ? "Point" : "MultiPoint"),
                                                  l.push(X(u.id, d, m, u.tags));
                                        }
                                   }
                              }
                              return l.length ? l : null;
                         }
                         function nt(t, e, i, n, r) {
                              for (var o = 0; o < t.length; o += 3) {
                                   var a = t[o + r];
                                   a >= i && a <= n && (e.push(t[o]), e.push(t[o + 1]), e.push(t[o + 2]));
                              }
                         }
                         function rt(t, e, i, n, r, o, a) {
                              for (var s, l, c = ot(t), u = 0 === r ? lt : ct, h = t.start, d = 0; d < t.length - 3; d += 3) {
                                   var p = t[d],
                                        f = t[d + 1],
                                        m = t[d + 2],
                                        g = t[d + 3],
                                        v = t[d + 4],
                                        y = 0 === r ? p : f,
                                        b = 0 === r ? g : v,
                                        _ = !1;
                                   a && (s = Math.sqrt(Math.pow(p - g, 2) + Math.pow(f - v, 2))),
                                        y < i ? b > i && ((l = u(c, p, f, g, v, i)), a && (c.start = h + s * l)) : y > n ? b < n && ((l = u(c, p, f, g, v, n)), a && (c.start = h + s * l)) : st(c, p, f, m),
                                        b < i && y >= i && ((l = u(c, p, f, g, v, i)), (_ = !0)),
                                        b > n && y <= n && ((l = u(c, p, f, g, v, n)), (_ = !0)),
                                        !o && _ && (a && (c.end = h + s * l), e.push(c), (c = ot(t))),
                                        a && (h += s);
                              }
                              var x = t.length - 3;
                              (p = t[x]),
                                   (f = t[x + 1]),
                                   (m = t[x + 2]),
                                   (y = 0 === r ? p : f) >= i && y <= n && st(c, p, f, m),
                                   (x = c.length - 3),
                                   o && x >= 3 && (c[x] !== c[0] || c[x + 1] !== c[1]) && st(c, c[0], c[1], c[2]),
                                   c.length && e.push(c);
                         }
                         function ot(t) {
                              var e = [];
                              return (e.size = t.size), (e.start = t.start), (e.end = t.end), e;
                         }
                         function at(t, e, i, n, r, o) {
                              for (var a = 0; a < t.length; a++) rt(t[a], e, i, n, r, o, !1);
                         }
                         function st(t, e, i, n) {
                              t.push(e), t.push(i), t.push(n);
                         }
                         function lt(t, e, i, n, r, o) {
                              var a = (o - e) / (n - e);
                              return t.push(o), t.push(i + (r - i) * a), t.push(1), a;
                         }
                         function ct(t, e, i, n, r, o) {
                              var a = (o - i) / (r - i);
                              return t.push(e + (n - e) * a), t.push(o), t.push(1), a;
                         }
                         function ut(t, e) {
                              for (var i = [], n = 0; n < t.length; n++) {
                                   var r,
                                        o = t[n],
                                        a = o.type;
                                   if ("Point" === a || "MultiPoint" === a || "LineString" === a) r = ht(o.geometry, e);
                                   else if ("MultiLineString" === a || "Polygon" === a) {
                                        r = [];
                                        for (var s = 0; s < o.geometry.length; s++) r.push(ht(o.geometry[s], e));
                                   } else if ("MultiPolygon" === a)
                                        for (r = [], s = 0; s < o.geometry.length; s++) {
                                             for (var l = [], c = 0; c < o.geometry[s].length; c++) l.push(ht(o.geometry[s][c], e));
                                             r.push(l);
                                        }
                                   i.push(X(o.id, a, r, o.tags));
                              }
                              return i;
                         }
                         function ht(t, e) {
                              var i = [];
                              (i.size = t.size), void 0 !== t.start && ((i.start = t.start), (i.end = t.end));
                              for (var n = 0; n < t.length; n += 3) i.push(t[n] + e, t[n + 1], t[n + 2]);
                              return i;
                         }
                         function dt(t, e) {
                              if (t.transformed) return t;
                              var i,
                                   n,
                                   r,
                                   o = 1 << t.z,
                                   a = t.x,
                                   s = t.y;
                              for (i = 0; i < t.features.length; i++) {
                                   var l = t.features[i],
                                        c = l.geometry,
                                        u = l.type;
                                   if (((l.geometry = []), 1 === u)) for (n = 0; n < c.length; n += 2) l.geometry.push(pt(c[n], c[n + 1], e, o, a, s));
                                   else
                                        for (n = 0; n < c.length; n++) {
                                             var h = [];
                                             for (r = 0; r < c[n].length; r += 2) h.push(pt(c[n][r], c[n][r + 1], e, o, a, s));
                                             l.geometry.push(h);
                                        }
                              }
                              return (t.transformed = !0), t;
                         }
                         function pt(t, e, i, n, r, o) {
                              return [Math.round(i * (t * n - r)), Math.round(i * (e * n - o))];
                         }
                         function ft(t, e, i, n, r) {
                              for (
                                   var o = e === r.maxZoom ? 0 : r.tolerance / ((1 << e) * r.extent),
                                        a = { features: [], numPoints: 0, numSimplified: 0, numFeatures: 0, source: null, x: i, y: n, z: e, transformed: !1, minX: 2, minY: 1, maxX: -1, maxY: 0 },
                                        s = 0;
                                   s < t.length;
                                   s++
                              ) {
                                   a.numFeatures++, mt(a, t[s], o, r);
                                   var l = t[s].minX,
                                        c = t[s].minY,
                                        u = t[s].maxX,
                                        h = t[s].maxY;
                                   l < a.minX && (a.minX = l), c < a.minY && (a.minY = c), u > a.maxX && (a.maxX = u), h > a.maxY && (a.maxY = h);
                              }
                              return a;
                         }
                         function mt(t, e, i, n) {
                              var r = e.geometry,
                                   o = e.type,
                                   a = [];
                              if ("Point" === o || "MultiPoint" === o) for (var s = 0; s < r.length; s += 3) a.push(r[s]), a.push(r[s + 1]), t.numPoints++, t.numSimplified++;
                              else if ("LineString" === o) gt(a, r, t, i, !1, !1);
                              else if ("MultiLineString" === o || "Polygon" === o) for (s = 0; s < r.length; s++) gt(a, r[s], t, i, "Polygon" === o, 0 === s);
                              else if ("MultiPolygon" === o)
                                   for (var l = 0; l < r.length; l++) {
                                        var c = r[l];
                                        for (s = 0; s < c.length; s++) gt(a, c[s], t, i, !0, 0 === s);
                                   }
                              if (a.length) {
                                   var u = e.tags || null;
                                   if ("LineString" === o && n.lineMetrics) {
                                        for (var h in ((u = {}), e.tags)) u[h] = e.tags[h];
                                        (u.mapbox_clip_start = r.start / r.size), (u.mapbox_clip_end = r.end / r.size);
                                   }
                                   var d = { geometry: a, type: "Polygon" === o || "MultiPolygon" === o ? 3 : "LineString" === o || "MultiLineString" === o ? 2 : 1, tags: u };
                                   null !== e.id && (d.id = e.id), t.features.push(d);
                              }
                         }
                         function gt(t, e, i, n, r, o) {
                              var a = n * n;
                              if (n > 0 && e.size < (r ? a : n)) i.numPoints += e.length / 3;
                              else {
                                   for (var s = [], l = 0; l < e.length; l += 3) (0 === n || e[l + 2] > a) && (i.numSimplified++, s.push(e[l]), s.push(e[l + 1])), i.numPoints++;
                                   r &&
                                        (function (t, e) {
                                             for (var i = 0, n = 0, r = t.length, o = r - 2; n < r; o = n, n += 2) i += (t[n] - t[o]) * (t[n + 1] + t[o + 1]);
                                             if (i > 0 === e)
                                                  for (n = 0, r = t.length; n < r / 2; n += 2) {
                                                       var a = t[n],
                                                            s = t[n + 1];
                                                       (t[n] = t[r - 2 - n]), (t[n + 1] = t[r - 1 - n]), (t[r - 2 - n] = a), (t[r - 1 - n] = s);
                                                  }
                                        })(s, o),
                                        t.push(s);
                              }
                         }
                         function vt(t, e) {
                              var i = (e = this.options = (function (t, e) {
                                   for (var i in e) t[i] = e[i];
                                   return t;
                              })(Object.create(this.options), e)).debug;
                              if ((i && console.time("preprocess data"), e.maxZoom < 0 || e.maxZoom > 24)) throw new Error("maxZoom should be in the 0-24 range");
                              if (e.promoteId && e.generateId) throw new Error("promoteId and generateId cannot be used together.");
                              var n = (function (t, e) {
                                   var i = [];
                                   if ("FeatureCollection" === t.type) for (var n = 0; n < t.features.length; n++) Z(i, t.features[n], e, n);
                                   else Z(i, "Feature" === t.type ? t : { geometry: t }, e);
                                   return i;
                              })(t, e);
                              (this.tiles = {}),
                                   (this.tileCoords = []),
                                   i && (console.timeEnd("preprocess data"), console.log("index: maxZoom: %d, maxPoints: %d", e.indexMaxZoom, e.indexMaxPoints), console.time("generate tiles"), (this.stats = {}), (this.total = 0)),
                                   (n = (function (t, e) {
                                        var i = e.buffer / e.extent,
                                             n = t,
                                             r = it(t, 1, -1 - i, i, 0, -1, 2, e),
                                             o = it(t, 1, 1 - i, 2 + i, 0, -1, 2, e);
                                        return (r || o) && ((n = it(t, 1, -i, 1 + i, 0, -1, 2, e) || []), r && (n = ut(r, 1).concat(n)), o && (n = n.concat(ut(o, -1)))), n;
                                   })(n, e)).length && this.splitTile(n, 0, 0, 0),
                                   i &&
                                        (n.length && console.log("features: %d, points: %d", this.tiles[0].numFeatures, this.tiles[0].numPoints),
                                        console.timeEnd("generate tiles"),
                                        console.log("tiles generated:", this.total, JSON.stringify(this.stats)));
                         }
                         function yt(t, e, i) {
                              return 32 * ((1 << t) * i + e) + t;
                         }
                         function bt(t, e) {
                              var i = t.tileID.canonical;
                              if (!this._geoJSONIndex) return e(null, null);
                              var n = this._geoJSONIndex.getTile(i.z, i.x, i.y);
                              if (!n) return e(null, null);
                              var r = new m(n.features),
                                   o = _(r);
                              (0 === o.byteOffset && o.byteLength === o.buffer.byteLength) || (o = new Uint8Array(o)), e(null, { vectorTile: r, rawData: o.buffer });
                         }
                         (R.prototype.load = function (t) {
                              var e = this.options,
                                   i = e.log,
                                   n = e.minZoom,
                                   r = e.maxZoom,
                                   o = e.nodeSize;
                              i && console.time("total time");
                              var a = "prepare " + t.length + " points";
                              i && console.time(a), (this.points = t);
                              for (var s = [], l = 0; l < t.length; l++) t[l].geometry && s.push(H(t[l], l));
                              (this.trees[r + 1] = new Y(s, U, q, o, Float32Array)), i && console.timeEnd(a);
                              for (var c = r; c >= n; c--) {
                                   var u = +Date.now();
                                   (s = this._cluster(s, c)), (this.trees[c] = new Y(s, U, q, o, Float32Array)), i && console.log("z%d: %d clusters in %dms", c, s.length, +Date.now() - u);
                              }
                              return i && console.timeEnd("total time"), this;
                         }),
                              (R.prototype.getClusters = function (t, e) {
                                   var i = ((((t[0] + 180) % 360) + 360) % 360) - 180,
                                        n = Math.max(-90, Math.min(90, t[1])),
                                        r = 180 === t[2] ? 180 : ((((t[2] + 180) % 360) + 360) % 360) - 180,
                                        o = Math.max(-90, Math.min(90, t[3]));
                                   if (t[2] - t[0] >= 360) (i = -180), (r = 180);
                                   else if (i > r) {
                                        var a = this.getClusters([i, n, 180, o], e),
                                             s = this.getClusters([-180, n, r, o], e);
                                        return a.concat(s);
                                   }
                                   for (var l = this.trees[this._limitZoom(e)], c = [], u = 0, h = l.range(B(i), W(o), B(r), W(n)); u < h.length; u += 1) {
                                        var d = l.points[h[u]];
                                        c.push(d.numPoints ? j(d) : this.points[d.index]);
                                   }
                                   return c;
                              }),
                              (R.prototype.getChildren = function (t) {
                                   var e = this._getOriginId(t),
                                        i = this._getOriginZoom(t),
                                        n = "No cluster with the specified id.",
                                        r = this.trees[i];
                                   if (!r) throw new Error(n);
                                   var o = r.points[e];
                                   if (!o) throw new Error(n);
                                   for (var a = this.options.radius / (this.options.extent * Math.pow(2, i - 1)), s = [], l = 0, c = r.within(o.x, o.y, a); l < c.length; l += 1) {
                                        var u = r.points[c[l]];
                                        u.parentId === t && s.push(u.numPoints ? j(u) : this.points[u.index]);
                                   }
                                   if (0 === s.length) throw new Error(n);
                                   return s;
                              }),
                              (R.prototype.getLeaves = function (t, e, i) {
                                   var n = [];
                                   return this._appendLeaves(n, t, (e = e || 10), (i = i || 0), 0), n;
                              }),
                              (R.prototype.getTile = function (t, e, i) {
                                   var n = this.trees[this._limitZoom(t)],
                                        r = Math.pow(2, t),
                                        o = this.options,
                                        a = o.radius / o.extent,
                                        s = (i - a) / r,
                                        l = (i + 1 + a) / r,
                                        c = { features: [] };
                                   return (
                                        this._addTileFeatures(n.range((e - a) / r, s, (e + 1 + a) / r, l), n.points, e, i, r, c),
                                        0 === e && this._addTileFeatures(n.range(1 - a / r, s, 1, l), n.points, r, i, r, c),
                                        e === r - 1 && this._addTileFeatures(n.range(0, s, a / r, l), n.points, -1, i, r, c),
                                        c.features.length ? c : null
                                   );
                              }),
                              (R.prototype.getClusterExpansionZoom = function (t) {
                                   for (var e = this._getOriginZoom(t) - 1; e <= this.options.maxZoom; ) {
                                        var i = this.getChildren(t);
                                        if ((e++, 1 !== i.length)) break;
                                        t = i[0].properties.cluster_id;
                                   }
                                   return e;
                              }),
                              (R.prototype._appendLeaves = function (t, e, i, n, r) {
                                   for (var o = 0, a = this.getChildren(e); o < a.length; o += 1) {
                                        var s = a[o],
                                             l = s.properties;
                                        if ((l && l.cluster ? (r + l.point_count <= n ? (r += l.point_count) : (r = this._appendLeaves(t, l.cluster_id, i, n, r))) : r < n ? r++ : t.push(s), t.length === i)) break;
                                   }
                                   return r;
                              }),
                              (R.prototype._addTileFeatures = function (t, e, i, n, r, o) {
                                   for (var a = 0, s = t; a < s.length; a += 1) {
                                        var l = e[s[a]],
                                             c = l.numPoints,
                                             u = { type: 1, geometry: [[Math.round(this.options.extent * (l.x * r - i)), Math.round(this.options.extent * (l.y * r - n))]], tags: c ? N(l) : this.points[l.index].properties },
                                             h = void 0;
                                        c ? (h = l.id) : this.options.generateId ? (h = l.index) : this.points[l.index].id && (h = this.points[l.index].id), void 0 !== h && (u.id = h), o.features.push(u);
                                   }
                              }),
                              (R.prototype._limitZoom = function (t) {
                                   return Math.max(this.options.minZoom, Math.min(t, this.options.maxZoom + 1));
                              }),
                              (R.prototype._cluster = function (t, e) {
                                   for (var i = [], n = this.options, r = n.reduce, o = n.radius / (n.extent * Math.pow(2, e)), a = 0; a < t.length; a++) {
                                        var s = t[a];
                                        if (!(s.zoom <= e)) {
                                             s.zoom = e;
                                             for (
                                                  var l = this.trees[e + 1],
                                                       c = l.within(s.x, s.y, o),
                                                       u = s.numPoints || 1,
                                                       h = s.x * u,
                                                       d = s.y * u,
                                                       p = r && u > 1 ? this._map(s, !0) : null,
                                                       f = (a << 5) + (e + 1) + this.points.length,
                                                       m = 0,
                                                       g = c;
                                                  m < g.length;
                                                  m += 1
                                             ) {
                                                  var v = l.points[g[m]];
                                                  if (!(v.zoom <= e)) {
                                                       v.zoom = e;
                                                       var y = v.numPoints || 1;
                                                       (h += v.x * y), (d += v.y * y), (u += y), (v.parentId = f), r && (p || (p = this._map(s, !0)), r(p, this._map(v)));
                                                  }
                                             }
                                             1 === u ? i.push(s) : ((s.parentId = f), i.push(F(h / u, d / u, f, u, p)));
                                        }
                                   }
                                   return i;
                              }),
                              (R.prototype._getOriginId = function (t) {
                                   return (t - this.points.length) >> 5;
                              }),
                              (R.prototype._getOriginZoom = function (t) {
                                   return (t - this.points.length) % 32;
                              }),
                              (R.prototype._map = function (t, e) {
                                   if (t.numPoints) return e ? V({}, t.properties) : t.properties;
                                   var i = this.points[t.index].properties,
                                        n = this.options.map(i);
                                   return e && n === i ? V({}, n) : n;
                              }),
                              (vt.prototype.options = { maxZoom: 14, indexMaxZoom: 5, indexMaxPoints: 1e5, tolerance: 3, extent: 4096, buffer: 64, lineMetrics: !1, promoteId: null, generateId: !1, debug: 0 }),
                              (vt.prototype.splitTile = function (t, e, i, n, r, o, a) {
                                   for (var s = [t, e, i, n], l = this.options, c = l.debug; s.length; ) {
                                        (n = s.pop()), (i = s.pop()), (e = s.pop()), (t = s.pop());
                                        var u = 1 << e,
                                             h = yt(e, i, n),
                                             d = this.tiles[h];
                                        if (!d && (c > 1 && console.time("creation"), (d = this.tiles[h] = ft(t, e, i, n, l)), this.tileCoords.push({ z: e, x: i, y: n }), c)) {
                                             c > 1 && (console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)", e, i, n, d.numFeatures, d.numPoints, d.numSimplified), console.timeEnd("creation"));
                                             var p = "z" + e;
                                             (this.stats[p] = (this.stats[p] || 0) + 1), this.total++;
                                        }
                                        if (((d.source = t), r)) {
                                             if (e === l.maxZoom || e === r) continue;
                                             var f = 1 << (r - e);
                                             if (i !== Math.floor(o / f) || n !== Math.floor(a / f)) continue;
                                        } else if (e === l.indexMaxZoom || d.numPoints <= l.indexMaxPoints) continue;
                                        if (((d.source = null), 0 !== t.length)) {
                                             c > 1 && console.time("clipping");
                                             var m,
                                                  g,
                                                  v,
                                                  y,
                                                  b,
                                                  _,
                                                  x = (0.5 * l.buffer) / l.extent,
                                                  w = 0.5 - x,
                                                  k = 0.5 + x,
                                                  S = 1 + x;
                                             (m = g = v = y = null),
                                                  (b = it(t, u, i - x, i + k, 0, d.minX, d.maxX, l)),
                                                  (_ = it(t, u, i + w, i + S, 0, d.minX, d.maxX, l)),
                                                  (t = null),
                                                  b && ((m = it(b, u, n - x, n + k, 1, d.minY, d.maxY, l)), (g = it(b, u, n + w, n + S, 1, d.minY, d.maxY, l)), (b = null)),
                                                  _ && ((v = it(_, u, n - x, n + k, 1, d.minY, d.maxY, l)), (y = it(_, u, n + w, n + S, 1, d.minY, d.maxY, l)), (_ = null)),
                                                  c > 1 && console.timeEnd("clipping"),
                                                  s.push(m || [], e + 1, 2 * i, 2 * n),
                                                  s.push(g || [], e + 1, 2 * i, 2 * n + 1),
                                                  s.push(v || [], e + 1, 2 * i + 1, 2 * n),
                                                  s.push(y || [], e + 1, 2 * i + 1, 2 * n + 1);
                                        }
                                   }
                              }),
                              (vt.prototype.getTile = function (t, e, i) {
                                   var n = this.options,
                                        r = n.extent,
                                        o = n.debug;
                                   if (t < 0 || t > 24) return null;
                                   var a = 1 << t,
                                        s = yt(t, (e = ((e % a) + a) % a), i);
                                   if (this.tiles[s]) return dt(this.tiles[s], r);
                                   o > 1 && console.log("drilling down to z%d-%d-%d", t, e, i);
                                   for (var l, c = t, u = e, h = i; !l && c > 0; ) c--, (u = Math.floor(u / 2)), (h = Math.floor(h / 2)), (l = this.tiles[yt(c, u, h)]);
                                   return l && l.source
                                        ? (o > 1 && console.log("found parent tile z%d-%d-%d", c, u, h),
                                          o > 1 && console.time("drilling down"),
                                          this.splitTile(l.source, c, u, h, t, e, i),
                                          o > 1 && console.timeEnd("drilling down"),
                                          this.tiles[s] ? dt(this.tiles[s], r) : null)
                                        : null;
                              });
                         var _t = (function (e) {
                                   function i(t, i, n, r) {
                                        e.call(this, t, i, n, bt), r && (this.loadGeoJSON = r);
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.loadData = function (t, e) {
                                             this._pendingCallback && this._pendingCallback(null, { abandoned: !0 }),
                                                  (this._pendingCallback = e),
                                                  (this._pendingLoadDataParams = t),
                                                  this._state && "Idle" !== this._state ? (this._state = "NeedsLoadData") : ((this._state = "Coalescing"), this._loadData());
                                        }),
                                        (i.prototype._loadData = function () {
                                             var e = this;
                                             if (this._pendingCallback && this._pendingLoadDataParams) {
                                                  var i = this._pendingCallback,
                                                       n = this._pendingLoadDataParams;
                                                  delete this._pendingCallback, delete this._pendingLoadDataParams;
                                                  var r = !!(n && n.request && n.request.collectResourceTiming) && new t.RequestPerformance(n.request);
                                                  this.loadGeoJSON(n, function (o, a) {
                                                       if (o || !a) return i(o);
                                                       if ("object" != typeof a) return i(new Error("Input data given to '" + n.source + "' is not a valid GeoJSON object."));
                                                       !(function t(e, i) {
                                                            var n,
                                                                 r = e && e.type;
                                                            if ("FeatureCollection" === r) for (n = 0; n < e.features.length; n++) t(e.features[n], i);
                                                            else if ("GeometryCollection" === r) for (n = 0; n < e.geometries.length; n++) t(e.geometries[n], i);
                                                            else if ("Feature" === r) t(e.geometry, i);
                                                            else if ("Polygon" === r) h(e.coordinates, i);
                                                            else if ("MultiPolygon" === r) for (n = 0; n < e.coordinates.length; n++) h(e.coordinates[n], i);
                                                            return e;
                                                       })(a, !0);
                                                       try {
                                                            e._geoJSONIndex = n.cluster
                                                                 ? new R(
                                                                        (function (e) {
                                                                             var i = e.superclusterOptions,
                                                                                  n = e.clusterProperties;
                                                                             if (!n || !i) return i;
                                                                             for (var r = {}, o = {}, a = { accumulated: null, zoom: 0 }, s = { properties: null }, l = Object.keys(n), c = 0, u = l; c < u.length; c += 1) {
                                                                                  var h = u[c],
                                                                                       d = n[h],
                                                                                       p = d[0],
                                                                                       f = t.createExpression(d[1]),
                                                                                       m = t.createExpression("string" == typeof p ? [p, ["accumulated"], ["get", h]] : p);
                                                                                  (r[h] = f.value), (o[h] = m.value);
                                                                             }
                                                                             return (
                                                                                  (i.map = function (t) {
                                                                                       s.properties = t;
                                                                                       for (var e = {}, i = 0, n = l; i < n.length; i += 1) {
                                                                                            var o = n[i];
                                                                                            e[o] = r[o].evaluate(a, s);
                                                                                       }
                                                                                       return e;
                                                                                  }),
                                                                                  (i.reduce = function (t, e) {
                                                                                       s.properties = e;
                                                                                       for (var i = 0, n = l; i < n.length; i += 1) {
                                                                                            var r = n[i];
                                                                                            (a.accumulated = t[r]), (t[r] = o[r].evaluate(a, s));
                                                                                       }
                                                                                  }),
                                                                                  i
                                                                             );
                                                                        })(n)
                                                                   ).load(a.features)
                                                                 : (function (t, e) {
                                                                        return new vt(t, e);
                                                                   })(a, n.geojsonVtOptions);
                                                       } catch (o) {
                                                            return i(o);
                                                       }
                                                       e.loaded = {};
                                                       var s = {};
                                                       if (r) {
                                                            var l = r.finish();
                                                            l && ((s.resourceTiming = {}), (s.resourceTiming[n.source] = JSON.parse(JSON.stringify(l))));
                                                       }
                                                       i(null, s);
                                                  });
                                             }
                                        }),
                                        (i.prototype.coalesce = function () {
                                             "Coalescing" === this._state ? (this._state = "Idle") : "NeedsLoadData" === this._state && ((this._state = "Coalescing"), this._loadData());
                                        }),
                                        (i.prototype.reloadTile = function (t, i) {
                                             var n = this.loaded;
                                             return n && n[t.uid] ? e.prototype.reloadTile.call(this, t, i) : this.loadTile(t, i);
                                        }),
                                        (i.prototype.loadGeoJSON = function (e, i) {
                                             if (e.request) t.getJSON(e.request, i);
                                             else {
                                                  if ("string" != typeof e.data) return i(new Error("Input data given to '" + e.source + "' is not a valid GeoJSON object."));
                                                  try {
                                                       return i(null, JSON.parse(e.data));
                                                  } catch (t) {
                                                       return i(new Error("Input data given to '" + e.source + "' is not a valid GeoJSON object."));
                                                  }
                                             }
                                        }),
                                        (i.prototype.removeSource = function (t, e) {
                                             this._pendingCallback && this._pendingCallback(null, { abandoned: !0 }), e();
                                        }),
                                        (i.prototype.getClusterExpansionZoom = function (t, e) {
                                             try {
                                                  e(null, this._geoJSONIndex.getClusterExpansionZoom(t.clusterId));
                                             } catch (t) {
                                                  e(t);
                                             }
                                        }),
                                        (i.prototype.getClusterChildren = function (t, e) {
                                             try {
                                                  e(null, this._geoJSONIndex.getChildren(t.clusterId));
                                             } catch (t) {
                                                  e(t);
                                             }
                                        }),
                                        (i.prototype.getClusterLeaves = function (t, e) {
                                             try {
                                                  e(null, this._geoJSONIndex.getLeaves(t.clusterId, t.limit, t.offset));
                                             } catch (t) {
                                                  e(t);
                                             }
                                        }),
                                        i
                                   );
                              })(l),
                              xt = function (e) {
                                   var i = this;
                                   (this.self = e),
                                        (this.actor = new t.Actor(e, this)),
                                        (this.layerIndexes = {}),
                                        (this.availableImages = {}),
                                        (this.workerSourceTypes = { vector: l, geojson: _t }),
                                        (this.workerSources = {}),
                                        (this.demWorkerSources = {}),
                                        (this.self.registerWorkerSource = function (t, e) {
                                             if (i.workerSourceTypes[t]) throw new Error('Worker source with name "' + t + '" already registered.');
                                             i.workerSourceTypes[t] = e;
                                        }),
                                        (this.self.registerRTLTextPlugin = function (e) {
                                             if (t.plugin.isParsed()) throw new Error("RTL text plugin already registered.");
                                             (t.plugin.applyArabicShaping = e.applyArabicShaping),
                                                  (t.plugin.processBidirectionalText = e.processBidirectionalText),
                                                  (t.plugin.processStyledBidirectionalText = e.processStyledBidirectionalText);
                                        });
                              };
                         return (
                              (xt.prototype.setReferrer = function (t, e) {
                                   this.referrer = e;
                              }),
                              (xt.prototype.setImages = function (t, e, i) {
                                   for (var n in ((this.availableImages[t] = e), this.workerSources[t])) {
                                        var r = this.workerSources[t][n];
                                        for (var o in r) r[o].availableImages = e;
                                   }
                                   i();
                              }),
                              (xt.prototype.setLayers = function (t, e, i) {
                                   this.getLayerIndex(t).replace(e), i();
                              }),
                              (xt.prototype.updateLayers = function (t, e, i) {
                                   this.getLayerIndex(t).update(e.layers, e.removedIds), i();
                              }),
                              (xt.prototype.loadTile = function (t, e, i) {
                                   this.getWorkerSource(t, e.type, e.source).loadTile(e, i);
                              }),
                              (xt.prototype.loadDEMTile = function (t, e, i) {
                                   this.getDEMWorkerSource(t, e.source).loadTile(e, i);
                              }),
                              (xt.prototype.reloadTile = function (t, e, i) {
                                   this.getWorkerSource(t, e.type, e.source).reloadTile(e, i);
                              }),
                              (xt.prototype.abortTile = function (t, e, i) {
                                   this.getWorkerSource(t, e.type, e.source).abortTile(e, i);
                              }),
                              (xt.prototype.removeTile = function (t, e, i) {
                                   this.getWorkerSource(t, e.type, e.source).removeTile(e, i);
                              }),
                              (xt.prototype.removeDEMTile = function (t, e) {
                                   this.getDEMWorkerSource(t, e.source).removeTile(e);
                              }),
                              (xt.prototype.removeSource = function (t, e, i) {
                                   if (this.workerSources[t] && this.workerSources[t][e.type] && this.workerSources[t][e.type][e.source]) {
                                        var n = this.workerSources[t][e.type][e.source];
                                        delete this.workerSources[t][e.type][e.source], void 0 !== n.removeSource ? n.removeSource(e, i) : i();
                                   }
                              }),
                              (xt.prototype.loadWorkerSource = function (t, e, i) {
                                   try {
                                        this.self.importScripts(e.url), i();
                                   } catch (t) {
                                        i(t.toString());
                                   }
                              }),
                              (xt.prototype.syncRTLPluginState = function (e, i, n) {
                                   try {
                                        t.plugin.setState(i);
                                        var r = t.plugin.getPluginURL();
                                        if (t.plugin.isLoaded() && !t.plugin.isParsed() && null != r) {
                                             this.self.importScripts(r);
                                             var o = t.plugin.isParsed();
                                             n(o ? void 0 : new Error("RTL Text Plugin failed to import scripts from " + r), o);
                                        }
                                   } catch (t) {
                                        n(t.toString());
                                   }
                              }),
                              (xt.prototype.getAvailableImages = function (t) {
                                   var e = this.availableImages[t];
                                   return e || (e = []), e;
                              }),
                              (xt.prototype.getLayerIndex = function (t) {
                                   var e = this.layerIndexes[t];
                                   return e || (e = this.layerIndexes[t] = new n()), e;
                              }),
                              (xt.prototype.getWorkerSource = function (t, e, i) {
                                   var n = this;
                                   return (
                                        this.workerSources[t] || (this.workerSources[t] = {}),
                                        this.workerSources[t][e] || (this.workerSources[t][e] = {}),
                                        this.workerSources[t][e][i] ||
                                             (this.workerSources[t][e][i] = new this.workerSourceTypes[e](
                                                  {
                                                       send: function (e, i, r) {
                                                            n.actor.send(e, i, r, t);
                                                       },
                                                  },
                                                  this.getLayerIndex(t),
                                                  this.getAvailableImages(t)
                                             )),
                                        this.workerSources[t][e][i]
                                   );
                              }),
                              (xt.prototype.getDEMWorkerSource = function (t, e) {
                                   return this.demWorkerSources[t] || (this.demWorkerSources[t] = {}), this.demWorkerSources[t][e] || (this.demWorkerSources[t][e] = new u()), this.demWorkerSources[t][e];
                              }),
                              (xt.prototype.enforceCacheSizeLimit = function (e, i) {
                                   t.enforceCacheSizeLimit(i);
                              }),
                              "undefined" != typeof WorkerGlobalScope && void 0 !== t.window && t.window instanceof WorkerGlobalScope && (t.window.worker = new xt(t.window)),
                              xt
                         );
                    }),
                    n(0, function (t) {
                         var e = t.createCommonjsModule(function (t) {
                                   function e(t) {
                                        return !i(t);
                                   }
                                   function i(t) {
                                        return "undefined" == typeof window || "undefined" == typeof document
                                             ? "not a browser"
                                             : Array.prototype &&
                                               Array.prototype.every &&
                                               Array.prototype.filter &&
                                               Array.prototype.forEach &&
                                               Array.prototype.indexOf &&
                                               Array.prototype.lastIndexOf &&
                                               Array.prototype.map &&
                                               Array.prototype.some &&
                                               Array.prototype.reduce &&
                                               Array.prototype.reduceRight &&
                                               Array.isArray
                                             ? Function.prototype && Function.prototype.bind
                                                  ? Object.keys &&
                                                    Object.create &&
                                                    Object.getPrototypeOf &&
                                                    Object.getOwnPropertyNames &&
                                                    Object.isSealed &&
                                                    Object.isFrozen &&
                                                    Object.isExtensible &&
                                                    Object.getOwnPropertyDescriptor &&
                                                    Object.defineProperty &&
                                                    Object.defineProperties &&
                                                    Object.seal &&
                                                    Object.freeze &&
                                                    Object.preventExtensions
                                                       ? "JSON" in window && "parse" in JSON && "stringify" in JSON
                                                            ? (function () {
                                                                   if (!("Worker" in window && "Blob" in window && "URL" in window)) return !1;
                                                                   var t,
                                                                        e,
                                                                        i = new Blob([""], { type: "text/javascript" }),
                                                                        n = URL.createObjectURL(i);
                                                                   try {
                                                                        (e = new Worker(n)), (t = !0);
                                                                   } catch (e) {
                                                                        t = !1;
                                                                   }
                                                                   return e && e.terminate(), URL.revokeObjectURL(n), t;
                                                              })()
                                                                 ? "Uint8ClampedArray" in window
                                                                      ? ArrayBuffer.isView
                                                                           ? (function () {
                                                                                  var t = document.createElement("canvas");
                                                                                  t.width = t.height = 1;
                                                                                  var e = t.getContext("2d");
                                                                                  if (!e) return !1;
                                                                                  var i = e.getImageData(0, 0, 1, 1);
                                                                                  return i && i.width === t.width;
                                                                             })()
                                                                                ? (void 0 === n[(i = t && t.failIfMajorPerformanceCaveat)] &&
                                                                                       (n[i] = (function (t) {
                                                                                            var i = (function (t) {
                                                                                                 var i = document.createElement("canvas"),
                                                                                                      n = Object.create(e.webGLContextAttributes);
                                                                                                 return (
                                                                                                      (n.failIfMajorPerformanceCaveat = t),
                                                                                                      i.probablySupportsContext
                                                                                                           ? i.probablySupportsContext("webgl", n) || i.probablySupportsContext("experimental-webgl", n)
                                                                                                           : i.supportsContext
                                                                                                           ? i.supportsContext("webgl", n) || i.supportsContext("experimental-webgl", n)
                                                                                                           : i.getContext("webgl", n) || i.getContext("experimental-webgl", n)
                                                                                                 );
                                                                                            })(t);
                                                                                            if (!i) return !1;
                                                                                            var n = i.createShader(i.VERTEX_SHADER);
                                                                                            return !(!n || i.isContextLost()) && (i.shaderSource(n, "void main() {}"), i.compileShader(n), !0 === i.getShaderParameter(n, i.COMPILE_STATUS));
                                                                                       })(i)),
                                                                                  n[i] ? void 0 : "insufficient WebGL support")
                                                                                : "insufficient Canvas/getImageData support"
                                                                           : "insufficient ArrayBuffer support"
                                                                      : "insufficient Uint8ClampedArray support"
                                                                 : "insufficient worker support"
                                                            : "insufficient JSON support"
                                                       : "insufficient Object support"
                                                  : "insufficient Function support"
                                             : "insufficent Array support";
                                        var i;
                                   }
                                   t.exports ? (t.exports = e) : window && ((window.mapboxgl = window.mapboxgl || {}), (window.mapboxgl.supported = e), (window.mapboxgl.notSupportedReason = i));
                                   var n = {};
                                   e.webGLContextAttributes = { antialias: !1, alpha: !0, stencil: !0, depth: !0 };
                              }),
                              i = {
                                   create: function (e, i, n) {
                                        var r = t.window.document.createElement(e);
                                        return void 0 !== i && (r.className = i), n && n.appendChild(r), r;
                                   },
                                   createNS: function (e, i) {
                                        return t.window.document.createElementNS(e, i);
                                   },
                              },
                              n = t.window.document.documentElement.style;
                         function r(t) {
                              if (!n) return t[0];
                              for (var e = 0; e < t.length; e++) if (t[e] in n) return t[e];
                              return t[0];
                         }
                         var o,
                              a = r(["userSelect", "MozUserSelect", "WebkitUserSelect", "msUserSelect"]);
                         (i.disableDrag = function () {
                              n && a && ((o = n[a]), (n[a] = "none"));
                         }),
                              (i.enableDrag = function () {
                                   n && a && (n[a] = o);
                              });
                         var s = r(["transform", "WebkitTransform"]);
                         i.setTransform = function (t, e) {
                              t.style[s] = e;
                         };
                         var l = !1;
                         try {
                              var c = Object.defineProperty({}, "passive", {
                                   get: function () {
                                        l = !0;
                                   },
                              });
                              t.window.addEventListener("test", c, c), t.window.removeEventListener("test", c, c);
                         } catch (t) {
                              l = !1;
                         }
                         (i.addEventListener = function (t, e, i, n) {
                              void 0 === n && (n = {}), t.addEventListener(e, i, "passive" in n && l ? n : n.capture);
                         }),
                              (i.removeEventListener = function (t, e, i, n) {
                                   void 0 === n && (n = {}), t.removeEventListener(e, i, "passive" in n && l ? n : n.capture);
                              });
                         var u = function (e) {
                              e.preventDefault(), e.stopPropagation(), t.window.removeEventListener("click", u, !0);
                         };
                         function h(t) {
                              var e = t.userImage;
                              return !!(e && e.render && e.render()) && (t.data.replace(new Uint8Array(e.data.buffer)), !0);
                         }
                         (i.suppressClick = function () {
                              t.window.addEventListener("click", u, !0),
                                   t.window.setTimeout(function () {
                                        t.window.removeEventListener("click", u, !0);
                                   }, 0);
                         }),
                              (i.mousePos = function (e, i) {
                                   var n = e.getBoundingClientRect();
                                   return new t.Point(i.clientX - n.left - e.clientLeft, i.clientY - n.top - e.clientTop);
                              }),
                              (i.touchPos = function (e, i) {
                                   for (var n = e.getBoundingClientRect(), r = [], o = 0; o < i.length; o++) r.push(new t.Point(i[o].clientX - n.left - e.clientLeft, i[o].clientY - n.top - e.clientTop));
                                   return r;
                              }),
                              (i.mouseButton = function (e) {
                                   return void 0 !== t.window.InstallTrigger && 2 === e.button && e.ctrlKey && t.window.navigator.platform.toUpperCase().indexOf("MAC") >= 0 ? 0 : e.button;
                              }),
                              (i.remove = function (t) {
                                   t.parentNode && t.parentNode.removeChild(t);
                              });
                         var d = (function (e) {
                                   function i() {
                                        e.call(this),
                                             (this.images = {}),
                                             (this.updatedImages = {}),
                                             (this.callbackDispatchedThisFrame = {}),
                                             (this.loaded = !1),
                                             (this.requestors = []),
                                             (this.patterns = {}),
                                             (this.atlasImage = new t.RGBAImage({ width: 1, height: 1 })),
                                             (this.dirty = !0);
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.isLoaded = function () {
                                             return this.loaded;
                                        }),
                                        (i.prototype.setLoaded = function (t) {
                                             if (this.loaded !== t && ((this.loaded = t), t)) {
                                                  for (var e = 0, i = this.requestors; e < i.length; e += 1) {
                                                       var n = i[e];
                                                       this._notify(n.ids, n.callback);
                                                  }
                                                  this.requestors = [];
                                             }
                                        }),
                                        (i.prototype.getImage = function (t) {
                                             return this.images[t];
                                        }),
                                        (i.prototype.addImage = function (t, e) {
                                             this._validate(t, e) && (this.images[t] = e);
                                        }),
                                        (i.prototype._validate = function (e, i) {
                                             var n = !0;
                                             return (
                                                  this._validateStretch(i.stretchX, i.data && i.data.width) || (this.fire(new t.ErrorEvent(new Error('Image "' + e + '" has invalid "stretchX" value'))), (n = !1)),
                                                  this._validateStretch(i.stretchY, i.data && i.data.height) || (this.fire(new t.ErrorEvent(new Error('Image "' + e + '" has invalid "stretchY" value'))), (n = !1)),
                                                  this._validateContent(i.content, i) || (this.fire(new t.ErrorEvent(new Error('Image "' + e + '" has invalid "content" value'))), (n = !1)),
                                                  n
                                             );
                                        }),
                                        (i.prototype._validateStretch = function (t, e) {
                                             if (!t) return !0;
                                             for (var i = 0, n = 0, r = t; n < r.length; n += 1) {
                                                  var o = r[n];
                                                  if (o[0] < i || o[1] < o[0] || e < o[1]) return !1;
                                                  i = o[1];
                                             }
                                             return !0;
                                        }),
                                        (i.prototype._validateContent = function (t, e) {
                                             return !(
                                                  t &&
                                                  (4 !== t.length || t[0] < 0 || e.data.width < t[0] || t[1] < 0 || e.data.height < t[1] || t[2] < 0 || e.data.width < t[2] || t[3] < 0 || e.data.height < t[3] || t[2] < t[0] || t[3] < t[1])
                                             );
                                        }),
                                        (i.prototype.updateImage = function (t, e) {
                                             (e.version = this.images[t].version + 1), (this.images[t] = e), (this.updatedImages[t] = !0);
                                        }),
                                        (i.prototype.removeImage = function (t) {
                                             var e = this.images[t];
                                             delete this.images[t], delete this.patterns[t], e.userImage && e.userImage.onRemove && e.userImage.onRemove();
                                        }),
                                        (i.prototype.listImages = function () {
                                             return Object.keys(this.images);
                                        }),
                                        (i.prototype.getImages = function (t, e) {
                                             var i = !0;
                                             if (!this.isLoaded()) for (var n = 0, r = t; n < r.length; n += 1) this.images[r[n]] || (i = !1);
                                             this.isLoaded() || i ? this._notify(t, e) : this.requestors.push({ ids: t, callback: e });
                                        }),
                                        (i.prototype._notify = function (e, i) {
                                             for (var n = {}, r = 0, o = e; r < o.length; r += 1) {
                                                  var a = o[r];
                                                  this.images[a] || this.fire(new t.Event("styleimagemissing", { id: a }));
                                                  var s = this.images[a];
                                                  s
                                                       ? (n[a] = {
                                                              data: s.data.clone(),
                                                              pixelRatio: s.pixelRatio,
                                                              sdf: s.sdf,
                                                              version: s.version,
                                                              stretchX: s.stretchX,
                                                              stretchY: s.stretchY,
                                                              content: s.content,
                                                              hasRenderCallback: Boolean(s.userImage && s.userImage.render),
                                                         })
                                                       : t.warnOnce(
                                                              'Image "' +
                                                                   a +
                                                                   '" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.'
                                                         );
                                             }
                                             i(null, n);
                                        }),
                                        (i.prototype.getPixelSize = function () {
                                             var t = this.atlasImage;
                                             return { width: t.width, height: t.height };
                                        }),
                                        (i.prototype.getPattern = function (e) {
                                             var i = this.patterns[e],
                                                  n = this.getImage(e);
                                             if (!n) return null;
                                             if (i && i.position.version === n.version) return i.position;
                                             if (i) i.position.version = n.version;
                                             else {
                                                  var r = { w: n.data.width + 2, h: n.data.height + 2, x: 0, y: 0 },
                                                       o = new t.ImagePosition(r, n);
                                                  this.patterns[e] = { bin: r, position: o };
                                             }
                                             return this._updatePatternAtlas(), this.patterns[e].position;
                                        }),
                                        (i.prototype.bind = function (e) {
                                             var i = e.gl;
                                             this.atlasTexture ? this.dirty && (this.atlasTexture.update(this.atlasImage), (this.dirty = !1)) : (this.atlasTexture = new t.Texture(e, this.atlasImage, i.RGBA)),
                                                  this.atlasTexture.bind(i.LINEAR, i.CLAMP_TO_EDGE);
                                        }),
                                        (i.prototype._updatePatternAtlas = function () {
                                             var e = [];
                                             for (var i in this.patterns) e.push(this.patterns[i].bin);
                                             var n = t.potpack(e),
                                                  r = n.w,
                                                  o = n.h,
                                                  a = this.atlasImage;
                                             for (var s in (a.resize({ width: r || 1, height: o || 1 }), this.patterns)) {
                                                  var l = this.patterns[s].bin,
                                                       c = l.x + 1,
                                                       u = l.y + 1,
                                                       h = this.images[s].data,
                                                       d = h.width,
                                                       p = h.height;
                                                  t.RGBAImage.copy(h, a, { x: 0, y: 0 }, { x: c, y: u }, { width: d, height: p }),
                                                       t.RGBAImage.copy(h, a, { x: 0, y: p - 1 }, { x: c, y: u - 1 }, { width: d, height: 1 }),
                                                       t.RGBAImage.copy(h, a, { x: 0, y: 0 }, { x: c, y: u + p }, { width: d, height: 1 }),
                                                       t.RGBAImage.copy(h, a, { x: d - 1, y: 0 }, { x: c - 1, y: u }, { width: 1, height: p }),
                                                       t.RGBAImage.copy(h, a, { x: 0, y: 0 }, { x: c + d, y: u }, { width: 1, height: p });
                                             }
                                             this.dirty = !0;
                                        }),
                                        (i.prototype.beginFrame = function () {
                                             this.callbackDispatchedThisFrame = {};
                                        }),
                                        (i.prototype.dispatchRenderCallbacks = function (t) {
                                             for (var e = 0, i = t; e < i.length; e += 1) {
                                                  var n = i[e];
                                                  if (!this.callbackDispatchedThisFrame[n]) {
                                                       this.callbackDispatchedThisFrame[n] = !0;
                                                       var r = this.images[n];
                                                       h(r) && this.updateImage(n, r);
                                                  }
                                             }
                                        }),
                                        i
                                   );
                              })(t.Evented),
                              p = g,
                              f = g,
                              m = 1e20;
                         function g(t, e, i, n, r, o) {
                              (this.fontSize = t || 24), (this.buffer = void 0 === e ? 3 : e), (this.cutoff = n || 0.25), (this.fontFamily = r || "sans-serif"), (this.fontWeight = o || "normal"), (this.radius = i || 8);
                              var a = (this.size = this.fontSize + 2 * this.buffer);
                              (this.canvas = document.createElement("canvas")),
                                   (this.canvas.width = this.canvas.height = a),
                                   (this.ctx = this.canvas.getContext("2d")),
                                   (this.ctx.font = this.fontWeight + " " + this.fontSize + "px " + this.fontFamily),
                                   (this.ctx.textBaseline = "middle"),
                                   (this.ctx.fillStyle = "black"),
                                   (this.gridOuter = new Float64Array(a * a)),
                                   (this.gridInner = new Float64Array(a * a)),
                                   (this.f = new Float64Array(a)),
                                   (this.d = new Float64Array(a)),
                                   (this.z = new Float64Array(a + 1)),
                                   (this.v = new Int16Array(a)),
                                   (this.middle = Math.round((a / 2) * (navigator.userAgent.indexOf("Gecko/") >= 0 ? 1.2 : 1)));
                         }
                         function v(t, e, i, n, r, o, a) {
                              for (var s = 0; s < e; s++) {
                                   for (var l = 0; l < i; l++) n[l] = t[l * e + s];
                                   for (y(n, r, o, a, i), l = 0; l < i; l++) t[l * e + s] = r[l];
                              }
                              for (l = 0; l < i; l++) {
                                   for (s = 0; s < e; s++) n[s] = t[l * e + s];
                                   for (y(n, r, o, a, e), s = 0; s < e; s++) t[l * e + s] = Math.sqrt(r[s]);
                              }
                         }
                         function y(t, e, i, n, r) {
                              (i[0] = 0), (n[0] = -m), (n[1] = +m);
                              for (var o = 1, a = 0; o < r; o++) {
                                   for (var s = (t[o] + o * o - (t[i[a]] + i[a] * i[a])) / (2 * o - 2 * i[a]); s <= n[a]; ) a--, (s = (t[o] + o * o - (t[i[a]] + i[a] * i[a])) / (2 * o - 2 * i[a]));
                                   (i[++a] = o), (n[a] = s), (n[a + 1] = +m);
                              }
                              for (o = 0, a = 0; o < r; o++) {
                                   for (; n[a + 1] < o; ) a++;
                                   e[o] = (o - i[a]) * (o - i[a]) + t[i[a]];
                              }
                         }
                         (g.prototype.draw = function (t) {
                              this.ctx.clearRect(0, 0, this.size, this.size), this.ctx.fillText(t, this.buffer, this.middle);
                              for (var e = this.ctx.getImageData(0, 0, this.size, this.size), i = new Uint8ClampedArray(this.size * this.size), n = 0; n < this.size * this.size; n++) {
                                   var r = e.data[4 * n + 3] / 255;
                                   (this.gridOuter[n] = 1 === r ? 0 : 0 === r ? m : Math.pow(Math.max(0, 0.5 - r), 2)), (this.gridInner[n] = 1 === r ? m : 0 === r ? 0 : Math.pow(Math.max(0, r - 0.5), 2));
                              }
                              for (v(this.gridOuter, this.size, this.size, this.f, this.d, this.v, this.z), v(this.gridInner, this.size, this.size, this.f, this.d, this.v, this.z), n = 0; n < this.size * this.size; n++)
                                   i[n] = Math.max(0, Math.min(255, Math.round(255 - 255 * ((this.gridOuter[n] - this.gridInner[n]) / this.radius + this.cutoff))));
                              return i;
                         }),
                              (p.default = f);
                         var b = function (t, e) {
                              (this.requestManager = t), (this.localIdeographFontFamily = e), (this.entries = {});
                         };
                         (b.prototype.setURL = function (t) {
                              this.url = t;
                         }),
                              (b.prototype.getGlyphs = function (e, i) {
                                   var n = this,
                                        r = [];
                                   for (var o in e) for (var a = 0, s = e[o]; a < s.length; a += 1) r.push({ stack: o, id: s[a] });
                                   t.asyncAll(
                                        r,
                                        function (t, e) {
                                             var i = t.stack,
                                                  r = t.id,
                                                  o = n.entries[i];
                                             o || (o = n.entries[i] = { glyphs: {}, requests: {}, ranges: {} });
                                             var a = o.glyphs[r];
                                             if (void 0 === a) {
                                                  if ((a = n._tinySDF(o, i, r))) return (o.glyphs[r] = a), void e(null, { stack: i, id: r, glyph: a });
                                                  var s = Math.floor(r / 256);
                                                  if (256 * s > 65535) e(new Error("glyphs > 65535 not supported"));
                                                  else if (o.ranges[s]) e(null, { stack: i, id: r, glyph: a });
                                                  else {
                                                       var l = o.requests[s];
                                                       l ||
                                                            ((l = o.requests[s] = []),
                                                            b.loadGlyphRange(i, s, n.url, n.requestManager, function (t, e) {
                                                                 if (e) {
                                                                      for (var i in e) n._doesCharSupportLocalGlyph(+i) || (o.glyphs[+i] = e[+i]);
                                                                      o.ranges[s] = !0;
                                                                 }
                                                                 for (var r = 0, a = l; r < a.length; r += 1) (0, a[r])(t, e);
                                                                 delete o.requests[s];
                                                            })),
                                                            l.push(function (t, n) {
                                                                 t ? e(t) : n && e(null, { stack: i, id: r, glyph: n[r] || null });
                                                            });
                                                  }
                                             } else e(null, { stack: i, id: r, glyph: a });
                                        },
                                        function (t, e) {
                                             if (t) i(t);
                                             else if (e) {
                                                  for (var n = {}, r = 0, o = e; r < o.length; r += 1) {
                                                       var a = o[r],
                                                            s = a.stack,
                                                            l = a.id,
                                                            c = a.glyph;
                                                       (n[s] || (n[s] = {}))[l] = c && { id: c.id, bitmap: c.bitmap.clone(), metrics: c.metrics };
                                                  }
                                                  i(null, n);
                                             }
                                        }
                                   );
                              }),
                              (b.prototype._doesCharSupportLocalGlyph = function (e) {
                                   return !!this.localIdeographFontFamily && (t.isChar["CJK Unified Ideographs"](e) || t.isChar["Hangul Syllables"](e) || t.isChar.Hiragana(e) || t.isChar.Katakana(e));
                              }),
                              (b.prototype._tinySDF = function (e, i, n) {
                                   var r = this.localIdeographFontFamily;
                                   if (r && this._doesCharSupportLocalGlyph(n)) {
                                        var o = e.tinySDF;
                                        if (!o) {
                                             var a = "400";
                                             /bold/i.test(i) ? (a = "900") : /medium/i.test(i) ? (a = "500") : /light/i.test(i) && (a = "200"), (o = e.tinySDF = new b.TinySDF(24, 3, 8, 0.25, r, a));
                                        }
                                        return { id: n, bitmap: new t.AlphaImage({ width: 30, height: 30 }, o.draw(String.fromCharCode(n))), metrics: { width: 24, height: 24, left: 0, top: -8, advance: 24 } };
                                   }
                              }),
                              (b.loadGlyphRange = function (e, i, n, r, o) {
                                   var a = 256 * i,
                                        s = a + 255,
                                        l = r.transformRequest(
                                             r
                                                  .normalizeGlyphsURL(n)
                                                  .replace("{fontstack}", e)
                                                  .replace("{range}", a + "-" + s),
                                             t.ResourceType.Glyphs
                                        );
                                   t.getArrayBuffer(l, function (e, i) {
                                        if (e) o(e);
                                        else if (i) {
                                             for (var n = {}, r = 0, a = t.parseGlyphPBF(i); r < a.length; r += 1) {
                                                  var s = a[r];
                                                  n[s.id] = s;
                                             }
                                             o(null, n);
                                        }
                                   });
                              }),
                              (b.TinySDF = p);
                         var _ = function () {
                              this.specification = t.styleSpec.light.position;
                         };
                         (_.prototype.possiblyEvaluate = function (e, i) {
                              return t.sphericalToCartesian(e.expression.evaluate(i));
                         }),
                              (_.prototype.interpolate = function (e, i, n) {
                                   return { x: t.number(e.x, i.x, n), y: t.number(e.y, i.y, n), z: t.number(e.z, i.z, n) };
                              });
                         var x = new t.Properties({
                                   anchor: new t.DataConstantProperty(t.styleSpec.light.anchor),
                                   position: new _(),
                                   color: new t.DataConstantProperty(t.styleSpec.light.color),
                                   intensity: new t.DataConstantProperty(t.styleSpec.light.intensity),
                              }),
                              w = (function (e) {
                                   function i(i) {
                                        e.call(this), (this._transitionable = new t.Transitionable(x)), this.setLight(i), (this._transitioning = this._transitionable.untransitioned());
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.getLight = function () {
                                             return this._transitionable.serialize();
                                        }),
                                        (i.prototype.setLight = function (e, i) {
                                             if ((void 0 === i && (i = {}), !this._validate(t.validateLight, e, i)))
                                                  for (var n in e) {
                                                       var r = e[n];
                                                       t.endsWith(n, "-transition") ? this._transitionable.setTransition(n.slice(0, -"-transition".length), r) : this._transitionable.setValue(n, r);
                                                  }
                                        }),
                                        (i.prototype.updateTransitions = function (t) {
                                             this._transitioning = this._transitionable.transitioned(t, this._transitioning);
                                        }),
                                        (i.prototype.hasTransition = function () {
                                             return this._transitioning.hasTransition();
                                        }),
                                        (i.prototype.recalculate = function (t) {
                                             this.properties = this._transitioning.possiblyEvaluate(t);
                                        }),
                                        (i.prototype._validate = function (e, i, n) {
                                             return (!n || !1 !== n.validate) && t.emitValidationErrors(this, e.call(t.validateStyle, t.extend({ value: i, style: { glyphs: !0, sprite: !0 }, styleSpec: t.styleSpec })));
                                        }),
                                        i
                                   );
                              })(t.Evented),
                              k = function (t, e) {
                                   (this.width = t), (this.height = e), (this.nextRow = 0), (this.data = new Uint8Array(this.width * this.height)), (this.dashEntry = {});
                              };
                         (k.prototype.getDash = function (t, e) {
                              var i = t.join(",") + String(e);
                              return this.dashEntry[i] || (this.dashEntry[i] = this.addDash(t, e)), this.dashEntry[i];
                         }),
                              (k.prototype.getDashRanges = function (t, e, i) {
                                   var n = [],
                                        r = t.length % 2 == 1 ? -t[t.length - 1] * i : 0,
                                        o = t[0] * i,
                                        a = !0;
                                   n.push({ left: r, right: o, isDash: a, zeroLength: 0 === t[0] });
                                   for (var s = t[0], l = 1; l < t.length; l++) {
                                        var c = t[l];
                                        n.push({ left: (r = s * i), right: (o = (s += c) * i), isDash: (a = !a), zeroLength: 0 === c });
                                   }
                                   return n;
                              }),
                              (k.prototype.addRoundDash = function (t, e, i) {
                                   for (var n = e / 2, r = -i; r <= i; r++)
                                        for (var o = this.width * (this.nextRow + i + r), a = 0, s = t[a], l = 0; l < this.width; l++) {
                                             l / s.right > 1 && (s = t[++a]);
                                             var c = Math.abs(l - s.left),
                                                  u = Math.abs(l - s.right),
                                                  h = Math.min(c, u),
                                                  d = void 0,
                                                  p = (r / i) * (n + 1);
                                             if (s.isDash) {
                                                  var f = n - Math.abs(p);
                                                  d = Math.sqrt(h * h + f * f);
                                             } else d = n - Math.sqrt(h * h + p * p);
                                             this.data[o + l] = Math.max(0, Math.min(255, d + 128));
                                        }
                              }),
                              (k.prototype.addRegularDash = function (t) {
                                   for (var e = t.length - 1; e >= 0; --e) {
                                        var i = t[e],
                                             n = t[e + 1];
                                        i.zeroLength ? t.splice(e, 1) : n && n.isDash === i.isDash && ((n.left = i.left), t.splice(e, 1));
                                   }
                                   var r = t[0],
                                        o = t[t.length - 1];
                                   r.isDash === o.isDash && ((r.left = o.left - this.width), (o.right = r.right + this.width));
                                   for (var a = this.width * this.nextRow, s = 0, l = t[s], c = 0; c < this.width; c++) {
                                        c / l.right > 1 && (l = t[++s]);
                                        var u = Math.abs(c - l.left),
                                             h = Math.abs(c - l.right),
                                             d = Math.min(u, h);
                                        this.data[a + c] = Math.max(0, Math.min(255, (l.isDash ? d : -d) + 128));
                                   }
                              }),
                              (k.prototype.addDash = function (e, i) {
                                   var n = i ? 7 : 0,
                                        r = 2 * n + 1;
                                   if (this.nextRow + r > this.height) return t.warnOnce("LineAtlas out of space"), null;
                                   for (var o = 0, a = 0; a < e.length; a++) o += e[a];
                                   if (0 !== o) {
                                        var s = this.width / o,
                                             l = this.getDashRanges(e, this.width, s);
                                        i ? this.addRoundDash(l, s, n) : this.addRegularDash(l);
                                   }
                                   var c = { y: (this.nextRow + n + 0.5) / this.height, height: (2 * n) / this.height, width: o };
                                   return (this.nextRow += r), (this.dirty = !0), c;
                              }),
                              (k.prototype.bind = function (t) {
                                   var e = t.gl;
                                   this.texture
                                        ? (e.bindTexture(e.TEXTURE_2D, this.texture), this.dirty && ((this.dirty = !1), e.texSubImage2D(e.TEXTURE_2D, 0, 0, 0, this.width, this.height, e.ALPHA, e.UNSIGNED_BYTE, this.data)))
                                        : ((this.texture = e.createTexture()),
                                          e.bindTexture(e.TEXTURE_2D, this.texture),
                                          e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.REPEAT),
                                          e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.REPEAT),
                                          e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, e.LINEAR),
                                          e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, e.LINEAR),
                                          e.texImage2D(e.TEXTURE_2D, 0, e.ALPHA, this.width, this.height, 0, e.ALPHA, e.UNSIGNED_BYTE, this.data));
                              });
                         var S = function e(i, n) {
                              (this.workerPool = i), (this.actors = []), (this.currentActor = 0), (this.id = t.uniqueId());
                              for (var r = this.workerPool.acquire(this.id), o = 0; o < r.length; o++) {
                                   var a = new e.Actor(r[o], n, this.id);
                                   (a.name = "Worker " + o), this.actors.push(a);
                              }
                         };
                         function M(e, i, n) {
                              var r = function (r, o) {
                                   if (r) return n(r);
                                   if (o) {
                                        var a = t.pick(t.extend(o, e), ["tiles", "minzoom", "maxzoom", "attribution", "mapbox_logo", "bounds", "scheme", "tileSize", "encoding"]);
                                        o.vector_layers &&
                                             ((a.vectorLayers = o.vector_layers),
                                             (a.vectorLayerIds = a.vectorLayers.map(function (t) {
                                                  return t.id;
                                             }))),
                                             (a.tiles = i.canonicalizeTileset(a, e.url)),
                                             n(null, a);
                                   }
                              };
                              return e.url
                                   ? t.getJSON(i.transformRequest(i.normalizeSourceURL(e.url), t.ResourceType.Source), r)
                                   : t.browser.frame(function () {
                                          return r(null, e);
                                     });
                         }
                         (S.prototype.broadcast = function (e, i, n) {
                              t.asyncAll(
                                   this.actors,
                                   function (t, n) {
                                        t.send(e, i, n);
                                   },
                                   (n = n || function () {})
                              );
                         }),
                              (S.prototype.getActor = function () {
                                   return (this.currentActor = (this.currentActor + 1) % this.actors.length), this.actors[this.currentActor];
                              }),
                              (S.prototype.remove = function () {
                                   this.actors.forEach(function (t) {
                                        t.remove();
                                   }),
                                        (this.actors = []),
                                        this.workerPool.release(this.id);
                              }),
                              (S.Actor = t.Actor);
                         var T = function (e, i, n) {
                              (this.bounds = t.LngLatBounds.convert(this.validateBounds(e))), (this.minzoom = i || 0), (this.maxzoom = n || 24);
                         };
                         (T.prototype.validateBounds = function (t) {
                              return Array.isArray(t) && 4 === t.length ? [Math.max(-180, t[0]), Math.max(-90, t[1]), Math.min(180, t[2]), Math.min(90, t[3])] : [-180, -90, 180, 90];
                         }),
                              (T.prototype.contains = function (e) {
                                   var i = Math.pow(2, e.z),
                                        n = Math.floor(t.mercatorXfromLng(this.bounds.getWest()) * i),
                                        r = Math.floor(t.mercatorYfromLat(this.bounds.getNorth()) * i),
                                        o = Math.ceil(t.mercatorXfromLng(this.bounds.getEast()) * i),
                                        a = Math.ceil(t.mercatorYfromLat(this.bounds.getSouth()) * i);
                                   return e.x >= n && e.x < o && e.y >= r && e.y < a;
                              });
                         var C = (function (e) {
                                   function i(i, n, r, o) {
                                        if (
                                             (e.call(this),
                                             (this.id = i),
                                             (this.dispatcher = r),
                                             (this.type = "vector"),
                                             (this.minzoom = 0),
                                             (this.maxzoom = 22),
                                             (this.scheme = "xyz"),
                                             (this.tileSize = 512),
                                             (this.reparseOverscaled = !0),
                                             (this.isTileClipped = !0),
                                             (this._loaded = !1),
                                             t.extend(this, t.pick(n, ["url", "scheme", "tileSize", "promoteId"])),
                                             (this._options = t.extend({ type: "vector" }, n)),
                                             (this._collectResourceTiming = n.collectResourceTiming),
                                             512 !== this.tileSize)
                                        )
                                             throw new Error("vector tile sources must have a tileSize of 512");
                                        this.setEventedParent(o);
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.load = function () {
                                             var e = this;
                                             (this._loaded = !1),
                                                  this.fire(new t.Event("dataloading", { dataType: "source" })),
                                                  (this._tileJSONRequest = M(this._options, this.map._requestManager, function (i, n) {
                                                       (e._tileJSONRequest = null),
                                                            (e._loaded = !0),
                                                            i
                                                                 ? e.fire(new t.ErrorEvent(i))
                                                                 : n &&
                                                                   (t.extend(e, n),
                                                                   n.bounds && (e.tileBounds = new T(n.bounds, e.minzoom, e.maxzoom)),
                                                                   t.postTurnstileEvent(n.tiles, e.map._requestManager._customAccessToken),
                                                                   t.postMapLoadEvent(n.tiles, e.map._getMapId(), e.map._requestManager._skuToken, e.map._requestManager._customAccessToken),
                                                                   e.fire(new t.Event("data", { dataType: "source", sourceDataType: "metadata" })),
                                                                   e.fire(new t.Event("data", { dataType: "source", sourceDataType: "content" })));
                                                  }));
                                        }),
                                        (i.prototype.loaded = function () {
                                             return this._loaded;
                                        }),
                                        (i.prototype.hasTile = function (t) {
                                             return !this.tileBounds || this.tileBounds.contains(t.canonical);
                                        }),
                                        (i.prototype.onAdd = function (t) {
                                             (this.map = t), this.load();
                                        }),
                                        (i.prototype.onRemove = function () {
                                             this._tileJSONRequest && (this._tileJSONRequest.cancel(), (this._tileJSONRequest = null));
                                        }),
                                        (i.prototype.serialize = function () {
                                             return t.extend({}, this._options);
                                        }),
                                        (i.prototype.loadTile = function (e, i) {
                                             var n = this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles, this.scheme)),
                                                  r = {
                                                       request: this.map._requestManager.transformRequest(n, t.ResourceType.Tile),
                                                       uid: e.uid,
                                                       tileID: e.tileID,
                                                       zoom: e.tileID.overscaledZ,
                                                       tileSize: this.tileSize * e.tileID.overscaleFactor(),
                                                       type: this.type,
                                                       source: this.id,
                                                       pixelRatio: t.browser.devicePixelRatio,
                                                       showCollisionBoxes: this.map.showCollisionBoxes,
                                                       promoteId: this.promoteId,
                                                  };
                                             function o(n, r) {
                                                  return (
                                                       delete e.request,
                                                       e.aborted
                                                            ? i(null)
                                                            : n && 404 !== n.status
                                                            ? i(n)
                                                            : (r && r.resourceTiming && (e.resourceTiming = r.resourceTiming),
                                                              this.map._refreshExpiredTiles && r && e.setExpiryData(r),
                                                              e.loadVectorData(r, this.map.painter),
                                                              t.cacheEntryPossiblyAdded(this.dispatcher),
                                                              i(null),
                                                              void (e.reloadCallback && (this.loadTile(e, e.reloadCallback), (e.reloadCallback = null))))
                                                  );
                                             }
                                             (r.request.collectResourceTiming = this._collectResourceTiming),
                                                  e.actor && "expired" !== e.state
                                                       ? "loading" === e.state
                                                            ? (e.reloadCallback = i)
                                                            : (e.request = e.actor.send("reloadTile", r, o.bind(this)))
                                                       : ((e.actor = this.dispatcher.getActor()), (e.request = e.actor.send("loadTile", r, o.bind(this))));
                                        }),
                                        (i.prototype.abortTile = function (t) {
                                             t.request && (t.request.cancel(), delete t.request), t.actor && t.actor.send("abortTile", { uid: t.uid, type: this.type, source: this.id }, void 0);
                                        }),
                                        (i.prototype.unloadTile = function (t) {
                                             t.unloadVectorData(), t.actor && t.actor.send("removeTile", { uid: t.uid, type: this.type, source: this.id }, void 0);
                                        }),
                                        (i.prototype.hasTransition = function () {
                                             return !1;
                                        }),
                                        i
                                   );
                              })(t.Evented),
                              D = (function (e) {
                                   function i(i, n, r, o) {
                                        e.call(this),
                                             (this.id = i),
                                             (this.dispatcher = r),
                                             this.setEventedParent(o),
                                             (this.type = "raster"),
                                             (this.minzoom = 0),
                                             (this.maxzoom = 22),
                                             (this.roundZoom = !0),
                                             (this.scheme = "xyz"),
                                             (this.tileSize = 512),
                                             (this._loaded = !1),
                                             (this._options = t.extend({ type: "raster" }, n)),
                                             t.extend(this, t.pick(n, ["url", "scheme", "tileSize"]));
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.load = function () {
                                             var e = this;
                                             (this._loaded = !1),
                                                  this.fire(new t.Event("dataloading", { dataType: "source" })),
                                                  (this._tileJSONRequest = M(this._options, this.map._requestManager, function (i, n) {
                                                       (e._tileJSONRequest = null),
                                                            (e._loaded = !0),
                                                            i
                                                                 ? e.fire(new t.ErrorEvent(i))
                                                                 : n &&
                                                                   (t.extend(e, n),
                                                                   n.bounds && (e.tileBounds = new T(n.bounds, e.minzoom, e.maxzoom)),
                                                                   t.postTurnstileEvent(n.tiles),
                                                                   t.postMapLoadEvent(n.tiles, e.map._getMapId(), e.map._requestManager._skuToken),
                                                                   e.fire(new t.Event("data", { dataType: "source", sourceDataType: "metadata" })),
                                                                   e.fire(new t.Event("data", { dataType: "source", sourceDataType: "content" })));
                                                  }));
                                        }),
                                        (i.prototype.loaded = function () {
                                             return this._loaded;
                                        }),
                                        (i.prototype.onAdd = function (t) {
                                             (this.map = t), this.load();
                                        }),
                                        (i.prototype.onRemove = function () {
                                             this._tileJSONRequest && (this._tileJSONRequest.cancel(), (this._tileJSONRequest = null));
                                        }),
                                        (i.prototype.serialize = function () {
                                             return t.extend({}, this._options);
                                        }),
                                        (i.prototype.hasTile = function (t) {
                                             return !this.tileBounds || this.tileBounds.contains(t.canonical);
                                        }),
                                        (i.prototype.loadTile = function (e, i) {
                                             var n = this,
                                                  r = this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles, this.scheme), this.tileSize);
                                             e.request = t.getImage(this.map._requestManager.transformRequest(r, t.ResourceType.Tile), function (r, o) {
                                                  if ((delete e.request, e.aborted)) (e.state = "unloaded"), i(null);
                                                  else if (r) (e.state = "errored"), i(r);
                                                  else if (o) {
                                                       n.map._refreshExpiredTiles && e.setExpiryData(o), delete o.cacheControl, delete o.expires;
                                                       var a = n.map.painter.context,
                                                            s = a.gl;
                                                       (e.texture = n.map.painter.getTileTexture(o.width)),
                                                            e.texture
                                                                 ? e.texture.update(o, { useMipmap: !0 })
                                                                 : ((e.texture = new t.Texture(a, o, s.RGBA, { useMipmap: !0 })),
                                                                   e.texture.bind(s.LINEAR, s.CLAMP_TO_EDGE, s.LINEAR_MIPMAP_NEAREST),
                                                                   a.extTextureFilterAnisotropic && s.texParameterf(s.TEXTURE_2D, a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT, a.extTextureFilterAnisotropicMax)),
                                                            (e.state = "loaded"),
                                                            t.cacheEntryPossiblyAdded(n.dispatcher),
                                                            i(null);
                                                  }
                                             });
                                        }),
                                        (i.prototype.abortTile = function (t, e) {
                                             t.request && (t.request.cancel(), delete t.request), e();
                                        }),
                                        (i.prototype.unloadTile = function (t, e) {
                                             t.texture && this.map.painter.saveTileTexture(t.texture), e();
                                        }),
                                        (i.prototype.hasTransition = function () {
                                             return !1;
                                        }),
                                        i
                                   );
                              })(t.Evented),
                              L = (function (e) {
                                   function i(i, n, r, o) {
                                        e.call(this, i, n, r, o), (this.type = "raster-dem"), (this.maxzoom = 22), (this._options = t.extend({ type: "raster-dem" }, n)), (this.encoding = n.encoding || "mapbox");
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.serialize = function () {
                                             return { type: "raster-dem", url: this.url, tileSize: this.tileSize, tiles: this.tiles, bounds: this.bounds, encoding: this.encoding };
                                        }),
                                        (i.prototype.loadTile = function (e, i) {
                                             var n = this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles, this.scheme), this.tileSize);
                                             function r(t, n) {
                                                  t && ((e.state = "errored"), i(t)), n && ((e.dem = n), (e.needsHillshadePrepare = !0), (e.state = "loaded"), i(null));
                                             }
                                             (e.request = t.getImage(
                                                  this.map._requestManager.transformRequest(n, t.ResourceType.Tile),
                                                  function (n, o) {
                                                       if ((delete e.request, e.aborted)) (e.state = "unloaded"), i(null);
                                                       else if (n) (e.state = "errored"), i(n);
                                                       else if (o) {
                                                            this.map._refreshExpiredTiles && e.setExpiryData(o), delete o.cacheControl, delete o.expires;
                                                            var a = t.window.ImageBitmap && o instanceof t.window.ImageBitmap && t.offscreenCanvasSupported() ? o : t.browser.getImageData(o, 1),
                                                                 s = { uid: e.uid, coord: e.tileID, source: this.id, rawImageData: a, encoding: this.encoding };
                                                            (e.actor && "expired" !== e.state) || ((e.actor = this.dispatcher.getActor()), e.actor.send("loadDEMTile", s, r.bind(this)));
                                                       }
                                                  }.bind(this)
                                             )),
                                                  (e.neighboringTiles = this._getNeighboringTiles(e.tileID));
                                        }),
                                        (i.prototype._getNeighboringTiles = function (e) {
                                             var i = e.canonical,
                                                  n = Math.pow(2, i.z),
                                                  r = (i.x - 1 + n) % n,
                                                  o = 0 === i.x ? e.wrap - 1 : e.wrap,
                                                  a = (i.x + 1 + n) % n,
                                                  s = i.x + 1 === n ? e.wrap + 1 : e.wrap,
                                                  l = {};
                                             return (
                                                  (l[new t.OverscaledTileID(e.overscaledZ, o, i.z, r, i.y).key] = { backfilled: !1 }),
                                                  (l[new t.OverscaledTileID(e.overscaledZ, s, i.z, a, i.y).key] = { backfilled: !1 }),
                                                  i.y > 0 &&
                                                       ((l[new t.OverscaledTileID(e.overscaledZ, o, i.z, r, i.y - 1).key] = { backfilled: !1 }),
                                                       (l[new t.OverscaledTileID(e.overscaledZ, e.wrap, i.z, i.x, i.y - 1).key] = { backfilled: !1 }),
                                                       (l[new t.OverscaledTileID(e.overscaledZ, s, i.z, a, i.y - 1).key] = { backfilled: !1 })),
                                                  i.y + 1 < n &&
                                                       ((l[new t.OverscaledTileID(e.overscaledZ, o, i.z, r, i.y + 1).key] = { backfilled: !1 }),
                                                       (l[new t.OverscaledTileID(e.overscaledZ, e.wrap, i.z, i.x, i.y + 1).key] = { backfilled: !1 }),
                                                       (l[new t.OverscaledTileID(e.overscaledZ, s, i.z, a, i.y + 1).key] = { backfilled: !1 })),
                                                  l
                                             );
                                        }),
                                        (i.prototype.unloadTile = function (t) {
                                             t.demTexture && this.map.painter.saveTileTexture(t.demTexture),
                                                  t.fbo && (t.fbo.destroy(), delete t.fbo),
                                                  t.dem && delete t.dem,
                                                  delete t.neighboringTiles,
                                                  (t.state = "unloaded"),
                                                  t.actor && t.actor.send("removeDEMTile", { uid: t.uid, source: this.id });
                                        }),
                                        i
                                   );
                              })(D),
                              E = (function (e) {
                                   function i(i, n, r, o) {
                                        e.call(this),
                                             (this.id = i),
                                             (this.type = "geojson"),
                                             (this.minzoom = 0),
                                             (this.maxzoom = 18),
                                             (this.tileSize = 512),
                                             (this.isTileClipped = !0),
                                             (this.reparseOverscaled = !0),
                                             (this._removed = !1),
                                             (this._loaded = !1),
                                             (this.actor = r.getActor()),
                                             this.setEventedParent(o),
                                             (this._data = n.data),
                                             (this._options = t.extend({}, n)),
                                             (this._collectResourceTiming = n.collectResourceTiming),
                                             (this._resourceTiming = []),
                                             void 0 !== n.maxzoom && (this.maxzoom = n.maxzoom),
                                             n.type && (this.type = n.type),
                                             n.attribution && (this.attribution = n.attribution),
                                             (this.promoteId = n.promoteId);
                                        var a = t.EXTENT / this.tileSize;
                                        this.workerOptions = t.extend(
                                             {
                                                  source: this.id,
                                                  cluster: n.cluster || !1,
                                                  geojsonVtOptions: {
                                                       buffer: (void 0 !== n.buffer ? n.buffer : 128) * a,
                                                       tolerance: (void 0 !== n.tolerance ? n.tolerance : 0.375) * a,
                                                       extent: t.EXTENT,
                                                       maxZoom: this.maxzoom,
                                                       lineMetrics: n.lineMetrics || !1,
                                                       generateId: n.generateId || !1,
                                                  },
                                                  superclusterOptions: {
                                                       maxZoom: void 0 !== n.clusterMaxZoom ? Math.min(n.clusterMaxZoom, this.maxzoom - 1) : this.maxzoom - 1,
                                                       extent: t.EXTENT,
                                                       radius: (n.clusterRadius || 50) * a,
                                                       log: !1,
                                                       generateId: n.generateId || !1,
                                                  },
                                                  clusterProperties: n.clusterProperties,
                                             },
                                             n.workerOptions
                                        );
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.load = function () {
                                             var e = this;
                                             this.fire(new t.Event("dataloading", { dataType: "source" })),
                                                  this._updateWorkerData(function (i) {
                                                       if (i) e.fire(new t.ErrorEvent(i));
                                                       else {
                                                            var n = { dataType: "source", sourceDataType: "metadata" };
                                                            e._collectResourceTiming && e._resourceTiming && e._resourceTiming.length > 0 && ((n.resourceTiming = e._resourceTiming), (e._resourceTiming = [])), e.fire(new t.Event("data", n));
                                                       }
                                                  });
                                        }),
                                        (i.prototype.onAdd = function (t) {
                                             (this.map = t), this.load();
                                        }),
                                        (i.prototype.setData = function (e) {
                                             var i = this;
                                             return (
                                                  (this._data = e),
                                                  this.fire(new t.Event("dataloading", { dataType: "source" })),
                                                  this._updateWorkerData(function (e) {
                                                       if (e) i.fire(new t.ErrorEvent(e));
                                                       else {
                                                            var n = { dataType: "source", sourceDataType: "content" };
                                                            i._collectResourceTiming && i._resourceTiming && i._resourceTiming.length > 0 && ((n.resourceTiming = i._resourceTiming), (i._resourceTiming = [])), i.fire(new t.Event("data", n));
                                                       }
                                                  }),
                                                  this
                                             );
                                        }),
                                        (i.prototype.getClusterExpansionZoom = function (t, e) {
                                             return this.actor.send("geojson.getClusterExpansionZoom", { clusterId: t, source: this.id }, e), this;
                                        }),
                                        (i.prototype.getClusterChildren = function (t, e) {
                                             return this.actor.send("geojson.getClusterChildren", { clusterId: t, source: this.id }, e), this;
                                        }),
                                        (i.prototype.getClusterLeaves = function (t, e, i, n) {
                                             return this.actor.send("geojson.getClusterLeaves", { source: this.id, clusterId: t, limit: e, offset: i }, n), this;
                                        }),
                                        (i.prototype._updateWorkerData = function (e) {
                                             var i = this;
                                             this._loaded = !1;
                                             var n = t.extend({}, this.workerOptions),
                                                  r = this._data;
                                             "string" == typeof r
                                                  ? ((n.request = this.map._requestManager.transformRequest(t.browser.resolveURL(r), t.ResourceType.Source)), (n.request.collectResourceTiming = this._collectResourceTiming))
                                                  : (n.data = JSON.stringify(r)),
                                                  this.actor.send(this.type + ".loadData", n, function (t, r) {
                                                       i._removed ||
                                                            (r && r.abandoned) ||
                                                            ((i._loaded = !0),
                                                            r && r.resourceTiming && r.resourceTiming[i.id] && (i._resourceTiming = r.resourceTiming[i.id].slice(0)),
                                                            i.actor.send(i.type + ".coalesce", { source: n.source }, null),
                                                            e(t));
                                                  });
                                        }),
                                        (i.prototype.loaded = function () {
                                             return this._loaded;
                                        }),
                                        (i.prototype.loadTile = function (e, i) {
                                             var n = this,
                                                  r = e.actor ? "reloadTile" : "loadTile";
                                             (e.actor = this.actor),
                                                  (e.request = this.actor.send(
                                                       r,
                                                       {
                                                            type: this.type,
                                                            uid: e.uid,
                                                            tileID: e.tileID,
                                                            zoom: e.tileID.overscaledZ,
                                                            maxZoom: this.maxzoom,
                                                            tileSize: this.tileSize,
                                                            source: this.id,
                                                            pixelRatio: t.browser.devicePixelRatio,
                                                            showCollisionBoxes: this.map.showCollisionBoxes,
                                                            promoteId: this.promoteId,
                                                       },
                                                       function (t, o) {
                                                            return delete e.request, e.unloadVectorData(), e.aborted ? i(null) : t ? i(t) : (e.loadVectorData(o, n.map.painter, "reloadTile" === r), i(null));
                                                       }
                                                  ));
                                        }),
                                        (i.prototype.abortTile = function (t) {
                                             t.request && (t.request.cancel(), delete t.request), (t.aborted = !0);
                                        }),
                                        (i.prototype.unloadTile = function (t) {
                                             t.unloadVectorData(), this.actor.send("removeTile", { uid: t.uid, type: this.type, source: this.id });
                                        }),
                                        (i.prototype.onRemove = function () {
                                             (this._removed = !0), this.actor.send("removeSource", { type: this.type, source: this.id });
                                        }),
                                        (i.prototype.serialize = function () {
                                             return t.extend({}, this._options, { type: this.type, data: this._data });
                                        }),
                                        (i.prototype.hasTransition = function () {
                                             return !1;
                                        }),
                                        i
                                   );
                              })(t.Evented),
                              A = t.createLayout([
                                   { name: "a_pos", type: "Int16", components: 2 },
                                   { name: "a_texture_pos", type: "Int16", components: 2 },
                              ]),
                              P = (function (e) {
                                   function i(t, i, n, r) {
                                        e.call(this),
                                             (this.id = t),
                                             (this.dispatcher = n),
                                             (this.coordinates = i.coordinates),
                                             (this.type = "image"),
                                             (this.minzoom = 0),
                                             (this.maxzoom = 22),
                                             (this.tileSize = 512),
                                             (this.tiles = {}),
                                             (this._loaded = !1),
                                             this.setEventedParent(r),
                                             (this.options = i);
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.load = function (e, i) {
                                             var n = this;
                                             (this._loaded = !1),
                                                  this.fire(new t.Event("dataloading", { dataType: "source" })),
                                                  (this.url = this.options.url),
                                                  t.getImage(this.map._requestManager.transformRequest(this.url, t.ResourceType.Image), function (r, o) {
                                                       (n._loaded = !0), r ? n.fire(new t.ErrorEvent(r)) : o && ((n.image = o), e && (n.coordinates = e), i && i(), n._finishLoading());
                                                  });
                                        }),
                                        (i.prototype.loaded = function () {
                                             return this._loaded;
                                        }),
                                        (i.prototype.updateImage = function (t) {
                                             var e = this;
                                             return this.image && t.url
                                                  ? ((this.options.url = t.url),
                                                    this.load(t.coordinates, function () {
                                                         e.texture = null;
                                                    }),
                                                    this)
                                                  : this;
                                        }),
                                        (i.prototype._finishLoading = function () {
                                             this.map && (this.setCoordinates(this.coordinates), this.fire(new t.Event("data", { dataType: "source", sourceDataType: "metadata" })));
                                        }),
                                        (i.prototype.onAdd = function (t) {
                                             (this.map = t), this.load();
                                        }),
                                        (i.prototype.setCoordinates = function (e) {
                                             var i = this;
                                             this.coordinates = e;
                                             var n = e.map(t.MercatorCoordinate.fromLngLat);
                                             (this.tileID = (function (e) {
                                                  for (var i = 1 / 0, n = 1 / 0, r = -1 / 0, o = -1 / 0, a = 0, s = e; a < s.length; a += 1) {
                                                       var l = s[a];
                                                       (i = Math.min(i, l.x)), (n = Math.min(n, l.y)), (r = Math.max(r, l.x)), (o = Math.max(o, l.y));
                                                  }
                                                  var c = Math.max(r - i, o - n),
                                                       u = Math.max(0, Math.floor(-Math.log(c) / Math.LN2)),
                                                       h = Math.pow(2, u);
                                                  return new t.CanonicalTileID(u, Math.floor(((i + r) / 2) * h), Math.floor(((n + o) / 2) * h));
                                             })(n)),
                                                  (this.minzoom = this.maxzoom = this.tileID.z);
                                             var r = n.map(function (t) {
                                                  return i.tileID.getTilePoint(t)._round();
                                             });
                                             return (
                                                  (this._boundsArray = new t.StructArrayLayout4i8()),
                                                  this._boundsArray.emplaceBack(r[0].x, r[0].y, 0, 0),
                                                  this._boundsArray.emplaceBack(r[1].x, r[1].y, t.EXTENT, 0),
                                                  this._boundsArray.emplaceBack(r[3].x, r[3].y, 0, t.EXTENT),
                                                  this._boundsArray.emplaceBack(r[2].x, r[2].y, t.EXTENT, t.EXTENT),
                                                  this.boundsBuffer && (this.boundsBuffer.destroy(), delete this.boundsBuffer),
                                                  this.fire(new t.Event("data", { dataType: "source", sourceDataType: "content" })),
                                                  this
                                             );
                                        }),
                                        (i.prototype.prepare = function () {
                                             if (0 !== Object.keys(this.tiles).length && this.image) {
                                                  var e = this.map.painter.context,
                                                       i = e.gl;
                                                  for (var n in (this.boundsBuffer || (this.boundsBuffer = e.createVertexBuffer(this._boundsArray, A.members)),
                                                  this.boundsSegments || (this.boundsSegments = t.SegmentVector.simpleSegment(0, 0, 4, 2)),
                                                  this.texture || ((this.texture = new t.Texture(e, this.image, i.RGBA)), this.texture.bind(i.LINEAR, i.CLAMP_TO_EDGE)),
                                                  this.tiles)) {
                                                       var r = this.tiles[n];
                                                       "loaded" !== r.state && ((r.state = "loaded"), (r.texture = this.texture));
                                                  }
                                             }
                                        }),
                                        (i.prototype.loadTile = function (t, e) {
                                             this.tileID && this.tileID.equals(t.tileID.canonical) ? ((this.tiles[String(t.tileID.wrap)] = t), (t.buckets = {}), e(null)) : ((t.state = "errored"), e(null));
                                        }),
                                        (i.prototype.serialize = function () {
                                             return { type: "image", url: this.options.url, coordinates: this.coordinates };
                                        }),
                                        (i.prototype.hasTransition = function () {
                                             return !1;
                                        }),
                                        i
                                   );
                              })(t.Evented),
                              I = (function (e) {
                                   function i(t, i, n, r) {
                                        e.call(this, t, i, n, r), (this.roundZoom = !0), (this.type = "video"), (this.options = i);
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.load = function () {
                                             var e = this;
                                             this._loaded = !1;
                                             var i = this.options;
                                             this.urls = [];
                                             for (var n = 0, r = i.urls; n < r.length; n += 1) this.urls.push(this.map._requestManager.transformRequest(r[n], t.ResourceType.Source).url);
                                             t.getVideo(this.urls, function (i, n) {
                                                  (e._loaded = !0),
                                                       i
                                                            ? e.fire(new t.ErrorEvent(i))
                                                            : n &&
                                                              ((e.video = n),
                                                              (e.video.loop = !0),
                                                              e.video.addEventListener("playing", function () {
                                                                   e.map.triggerRepaint();
                                                              }),
                                                              e.map && e.video.play(),
                                                              e._finishLoading());
                                             });
                                        }),
                                        (i.prototype.pause = function () {
                                             this.video && this.video.pause();
                                        }),
                                        (i.prototype.play = function () {
                                             this.video && this.video.play();
                                        }),
                                        (i.prototype.seek = function (e) {
                                             if (this.video) {
                                                  var i = this.video.seekable;
                                                  e < i.start(0) || e > i.end(0)
                                                       ? this.fire(
                                                              new t.ErrorEvent(new t.ValidationError("sources." + this.id, null, "Playback for this video can be set only between the " + i.start(0) + " and " + i.end(0) + "-second mark."))
                                                         )
                                                       : (this.video.currentTime = e);
                                             }
                                        }),
                                        (i.prototype.getVideo = function () {
                                             return this.video;
                                        }),
                                        (i.prototype.onAdd = function (t) {
                                             this.map || ((this.map = t), this.load(), this.video && (this.video.play(), this.setCoordinates(this.coordinates)));
                                        }),
                                        (i.prototype.prepare = function () {
                                             if (!(0 === Object.keys(this.tiles).length || this.video.readyState < 2)) {
                                                  var e = this.map.painter.context,
                                                       i = e.gl;
                                                  for (var n in (this.boundsBuffer || (this.boundsBuffer = e.createVertexBuffer(this._boundsArray, A.members)),
                                                  this.boundsSegments || (this.boundsSegments = t.SegmentVector.simpleSegment(0, 0, 4, 2)),
                                                  this.texture
                                                       ? this.video.paused || (this.texture.bind(i.LINEAR, i.CLAMP_TO_EDGE), i.texSubImage2D(i.TEXTURE_2D, 0, 0, 0, i.RGBA, i.UNSIGNED_BYTE, this.video))
                                                       : ((this.texture = new t.Texture(e, this.video, i.RGBA)), this.texture.bind(i.LINEAR, i.CLAMP_TO_EDGE)),
                                                  this.tiles)) {
                                                       var r = this.tiles[n];
                                                       "loaded" !== r.state && ((r.state = "loaded"), (r.texture = this.texture));
                                                  }
                                             }
                                        }),
                                        (i.prototype.serialize = function () {
                                             return { type: "video", urls: this.urls, coordinates: this.coordinates };
                                        }),
                                        (i.prototype.hasTransition = function () {
                                             return this.video && !this.video.paused;
                                        }),
                                        i
                                   );
                              })(P),
                              O = (function (e) {
                                   function i(i, n, r, o) {
                                        e.call(this, i, n, r, o),
                                             n.coordinates
                                                  ? (Array.isArray(n.coordinates) &&
                                                         4 === n.coordinates.length &&
                                                         !n.coordinates.some(function (t) {
                                                              return (
                                                                   !Array.isArray(t) ||
                                                                   2 !== t.length ||
                                                                   t.some(function (t) {
                                                                        return "number" != typeof t;
                                                                   })
                                                              );
                                                         })) ||
                                                    this.fire(new t.ErrorEvent(new t.ValidationError("sources." + i, null, '"coordinates" property must be an array of 4 longitude/latitude array pairs')))
                                                  : this.fire(new t.ErrorEvent(new t.ValidationError("sources." + i, null, 'missing required property "coordinates"'))),
                                             n.animate && "boolean" != typeof n.animate && this.fire(new t.ErrorEvent(new t.ValidationError("sources." + i, null, 'optional "animate" property must be a boolean value'))),
                                             n.canvas
                                                  ? "string" == typeof n.canvas ||
                                                    n.canvas instanceof t.window.HTMLCanvasElement ||
                                                    this.fire(
                                                         new t.ErrorEvent(
                                                              new t.ValidationError("sources." + i, null, '"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance')
                                                         )
                                                    )
                                                  : this.fire(new t.ErrorEvent(new t.ValidationError("sources." + i, null, 'missing required property "canvas"'))),
                                             (this.options = n),
                                             (this.animate = void 0 === n.animate || n.animate);
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.load = function () {
                                             (this._loaded = !0),
                                                  this.canvas || (this.canvas = this.options.canvas instanceof t.window.HTMLCanvasElement ? this.options.canvas : t.window.document.getElementById(this.options.canvas)),
                                                  (this.width = this.canvas.width),
                                                  (this.height = this.canvas.height),
                                                  this._hasInvalidDimensions()
                                                       ? this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero.")))
                                                       : ((this.play = function () {
                                                              (this._playing = !0), this.map.triggerRepaint();
                                                         }),
                                                         (this.pause = function () {
                                                              this._playing && (this.prepare(), (this._playing = !1));
                                                         }),
                                                         this._finishLoading());
                                        }),
                                        (i.prototype.getCanvas = function () {
                                             return this.canvas;
                                        }),
                                        (i.prototype.onAdd = function (t) {
                                             (this.map = t), this.load(), this.canvas && this.animate && this.play();
                                        }),
                                        (i.prototype.onRemove = function () {
                                             this.pause();
                                        }),
                                        (i.prototype.prepare = function () {
                                             var e = !1;
                                             if (
                                                  (this.canvas.width !== this.width && ((this.width = this.canvas.width), (e = !0)),
                                                  this.canvas.height !== this.height && ((this.height = this.canvas.height), (e = !0)),
                                                  !this._hasInvalidDimensions() && 0 !== Object.keys(this.tiles).length)
                                             ) {
                                                  var i = this.map.painter.context,
                                                       n = i.gl;
                                                  for (var r in (this.boundsBuffer || (this.boundsBuffer = i.createVertexBuffer(this._boundsArray, A.members)),
                                                  this.boundsSegments || (this.boundsSegments = t.SegmentVector.simpleSegment(0, 0, 4, 2)),
                                                  this.texture ? (e || this._playing) && this.texture.update(this.canvas, { premultiply: !0 }) : (this.texture = new t.Texture(i, this.canvas, n.RGBA, { premultiply: !0 })),
                                                  this.tiles)) {
                                                       var o = this.tiles[r];
                                                       "loaded" !== o.state && ((o.state = "loaded"), (o.texture = this.texture));
                                                  }
                                             }
                                        }),
                                        (i.prototype.serialize = function () {
                                             return { type: "canvas", coordinates: this.coordinates };
                                        }),
                                        (i.prototype.hasTransition = function () {
                                             return this._playing;
                                        }),
                                        (i.prototype._hasInvalidDimensions = function () {
                                             for (var t = 0, e = [this.canvas.width, this.canvas.height]; t < e.length; t += 1) {
                                                  var i = e[t];
                                                  if (isNaN(i) || i <= 0) return !0;
                                             }
                                             return !1;
                                        }),
                                        i
                                   );
                              })(P),
                              Y = { vector: C, raster: D, "raster-dem": L, geojson: E, video: I, image: P, canvas: O };
                         function z(e, i) {
                              var n = t.identity([]);
                              return t.translate(n, n, [1, 1, 0]), t.scale(n, n, [0.5 * e.width, 0.5 * e.height, 1]), t.multiply(n, n, e.calculatePosMatrix(i.toUnwrapped()));
                         }
                         function R(t, e, i, n, r, o) {
                              var a = (function (t, e, i) {
                                        if (t)
                                             for (var n = 0, r = t; n < r.length; n += 1) {
                                                  var o = e[r[n]];
                                                  if (o && o.source === i && "fill-extrusion" === o.type) return !0;
                                             }
                                        else
                                             for (var a in e) {
                                                  var s = e[a];
                                                  if (s.source === i && "fill-extrusion" === s.type) return !0;
                                             }
                                        return !1;
                                   })(r && r.layers, e, t.id),
                                   s = o.maxPitchScaleFactor(),
                                   l = t.tilesIn(n, s, a);
                              l.sort(F);
                              for (var c = [], u = 0, h = l; u < h.length; u += 1) {
                                   var d = h[u];
                                   c.push({ wrappedTileID: d.tileID.wrapped().key, queryResults: d.tile.queryRenderedFeatures(e, i, t._state, d.queryGeometry, d.cameraQueryGeometry, d.scale, r, o, s, z(t.transform, d.tileID)) });
                              }
                              var p = (function (t) {
                                   for (var e = {}, i = {}, n = 0, r = t; n < r.length; n += 1) {
                                        var o = r[n],
                                             a = o.queryResults,
                                             s = o.wrappedTileID,
                                             l = (i[s] = i[s] || {});
                                        for (var c in a)
                                             for (var u = a[c], h = (l[c] = l[c] || {}), d = (e[c] = e[c] || []), p = 0, f = u; p < f.length; p += 1) {
                                                  var m = f[p];
                                                  h[m.featureIndex] || ((h[m.featureIndex] = !0), d.push(m));
                                             }
                                   }
                                   return e;
                              })(c);
                              for (var f in p)
                                   p[f].forEach(function (e) {
                                        var i = e.feature,
                                             n = t.getFeatureState(i.layer["source-layer"], i.id);
                                        (i.source = i.layer.source), i.layer["source-layer"] && (i.sourceLayer = i.layer["source-layer"]), (i.state = n);
                                   });
                              return p;
                         }
                         function F(t, e) {
                              var i = t.tileID,
                                   n = e.tileID;
                              return i.overscaledZ - n.overscaledZ || i.canonical.y - n.canonical.y || i.wrap - n.wrap || i.canonical.x - n.canonical.x;
                         }
                         var H = function (t, e) {
                              (this.max = t), (this.onRemove = e), this.reset();
                         };
                         (H.prototype.reset = function () {
                              for (var t in this.data)
                                   for (var e = 0, i = this.data[t]; e < i.length; e += 1) {
                                        var n = i[e];
                                        n.timeout && clearTimeout(n.timeout), this.onRemove(n.value);
                                   }
                              return (this.data = {}), (this.order = []), this;
                         }),
                              (H.prototype.add = function (t, e, i) {
                                   var n = this,
                                        r = t.wrapped().key;
                                   void 0 === this.data[r] && (this.data[r] = []);
                                   var o = { value: e, timeout: void 0 };
                                   if (
                                        (void 0 !== i &&
                                             (o.timeout = setTimeout(function () {
                                                  n.remove(t, o);
                                             }, i)),
                                        this.data[r].push(o),
                                        this.order.push(r),
                                        this.order.length > this.max)
                                   ) {
                                        var a = this._getAndRemoveByKey(this.order[0]);
                                        a && this.onRemove(a);
                                   }
                                   return this;
                              }),
                              (H.prototype.has = function (t) {
                                   return t.wrapped().key in this.data;
                              }),
                              (H.prototype.getAndRemove = function (t) {
                                   return this.has(t) ? this._getAndRemoveByKey(t.wrapped().key) : null;
                              }),
                              (H.prototype._getAndRemoveByKey = function (t) {
                                   var e = this.data[t].shift();
                                   return e.timeout && clearTimeout(e.timeout), 0 === this.data[t].length && delete this.data[t], this.order.splice(this.order.indexOf(t), 1), e.value;
                              }),
                              (H.prototype.getByKey = function (t) {
                                   var e = this.data[t];
                                   return e ? e[0].value : null;
                              }),
                              (H.prototype.get = function (t) {
                                   return this.has(t) ? this.data[t.wrapped().key][0].value : null;
                              }),
                              (H.prototype.remove = function (t, e) {
                                   if (!this.has(t)) return this;
                                   var i = t.wrapped().key,
                                        n = void 0 === e ? 0 : this.data[i].indexOf(e),
                                        r = this.data[i][n];
                                   return this.data[i].splice(n, 1), r.timeout && clearTimeout(r.timeout), 0 === this.data[i].length && delete this.data[i], this.onRemove(r.value), this.order.splice(this.order.indexOf(i), 1), this;
                              }),
                              (H.prototype.setMaxSize = function (t) {
                                   for (this.max = t; this.order.length > this.max; ) {
                                        var e = this._getAndRemoveByKey(this.order[0]);
                                        e && this.onRemove(e);
                                   }
                                   return this;
                              }),
                              (H.prototype.filter = function (t) {
                                   var e = [];
                                   for (var i in this.data)
                                        for (var n = 0, r = this.data[i]; n < r.length; n += 1) {
                                             var o = r[n];
                                             t(o.value) || e.push(o);
                                        }
                                   for (var a = 0, s = e; a < s.length; a += 1) {
                                        var l = s[a];
                                        this.remove(l.value.tileID, l);
                                   }
                              });
                         var j = function (t, e, i) {
                              this.context = t;
                              var n = t.gl;
                              (this.buffer = n.createBuffer()),
                                   (this.dynamicDraw = Boolean(i)),
                                   this.context.unbindVAO(),
                                   t.bindElementBuffer.set(this.buffer),
                                   n.bufferData(n.ELEMENT_ARRAY_BUFFER, e.arrayBuffer, this.dynamicDraw ? n.DYNAMIC_DRAW : n.STATIC_DRAW),
                                   this.dynamicDraw || delete e.arrayBuffer;
                         };
                         (j.prototype.bind = function () {
                              this.context.bindElementBuffer.set(this.buffer);
                         }),
                              (j.prototype.updateData = function (t) {
                                   var e = this.context.gl;
                                   this.context.unbindVAO(), this.bind(), e.bufferSubData(e.ELEMENT_ARRAY_BUFFER, 0, t.arrayBuffer);
                              }),
                              (j.prototype.destroy = function () {
                                   this.buffer && (this.context.gl.deleteBuffer(this.buffer), delete this.buffer);
                              });
                         var N = { Int8: "BYTE", Uint8: "UNSIGNED_BYTE", Int16: "SHORT", Uint16: "UNSIGNED_SHORT", Int32: "INT", Uint32: "UNSIGNED_INT", Float32: "FLOAT" },
                              B = function (t, e, i, n) {
                                   (this.length = e.length), (this.attributes = i), (this.itemSize = e.bytesPerElement), (this.dynamicDraw = n), (this.context = t);
                                   var r = t.gl;
                                   (this.buffer = r.createBuffer()),
                                        t.bindVertexBuffer.set(this.buffer),
                                        r.bufferData(r.ARRAY_BUFFER, e.arrayBuffer, this.dynamicDraw ? r.DYNAMIC_DRAW : r.STATIC_DRAW),
                                        this.dynamicDraw || delete e.arrayBuffer;
                              };
                         (B.prototype.bind = function () {
                              this.context.bindVertexBuffer.set(this.buffer);
                         }),
                              (B.prototype.updateData = function (t) {
                                   var e = this.context.gl;
                                   this.bind(), e.bufferSubData(e.ARRAY_BUFFER, 0, t.arrayBuffer);
                              }),
                              (B.prototype.enableAttributes = function (t, e) {
                                   for (var i = 0; i < this.attributes.length; i++) {
                                        var n = e.attributes[this.attributes[i].name];
                                        void 0 !== n && t.enableVertexAttribArray(n);
                                   }
                              }),
                              (B.prototype.setVertexAttribPointers = function (t, e, i) {
                                   for (var n = 0; n < this.attributes.length; n++) {
                                        var r = this.attributes[n],
                                             o = e.attributes[r.name];
                                        void 0 !== o && t.vertexAttribPointer(o, r.components, t[N[r.type]], !1, this.itemSize, r.offset + this.itemSize * (i || 0));
                                   }
                              }),
                              (B.prototype.destroy = function () {
                                   this.buffer && (this.context.gl.deleteBuffer(this.buffer), delete this.buffer);
                              });
                         var W = function (t) {
                              (this.gl = t.gl), (this.default = this.getDefault()), (this.current = this.default), (this.dirty = !1);
                         };
                         (W.prototype.get = function () {
                              return this.current;
                         }),
                              (W.prototype.set = function (t) {}),
                              (W.prototype.getDefault = function () {
                                   return this.default;
                              }),
                              (W.prototype.setDefault = function () {
                                   this.set(this.default);
                              });
                         var V = (function (e) {
                                   function i() {
                                        e.apply(this, arguments);
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.getDefault = function () {
                                             return t.Color.transparent;
                                        }),
                                        (i.prototype.set = function (t) {
                                             var e = this.current;
                                             (t.r !== e.r || t.g !== e.g || t.b !== e.b || t.a !== e.a || this.dirty) && (this.gl.clearColor(t.r, t.g, t.b, t.a), (this.current = t), (this.dirty = !1));
                                        }),
                                        i
                                   );
                              })(W),
                              U = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return 1;
                                        }),
                                        (e.prototype.set = function (t) {
                                             (t !== this.current || this.dirty) && (this.gl.clearDepth(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              q = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return 0;
                                        }),
                                        (e.prototype.set = function (t) {
                                             (t !== this.current || this.dirty) && (this.gl.clearStencil(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              $ = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return [!0, !0, !0, !0];
                                        }),
                                        (e.prototype.set = function (t) {
                                             var e = this.current;
                                             (t[0] !== e[0] || t[1] !== e[1] || t[2] !== e[2] || t[3] !== e[3] || this.dirty) && (this.gl.colorMask(t[0], t[1], t[2], t[3]), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              X = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return !0;
                                        }),
                                        (e.prototype.set = function (t) {
                                             (t !== this.current || this.dirty) && (this.gl.depthMask(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              G = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return 255;
                                        }),
                                        (e.prototype.set = function (t) {
                                             (t !== this.current || this.dirty) && (this.gl.stencilMask(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              Z = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return { func: this.gl.ALWAYS, ref: 0, mask: 255 };
                                        }),
                                        (e.prototype.set = function (t) {
                                             var e = this.current;
                                             (t.func !== e.func || t.ref !== e.ref || t.mask !== e.mask || this.dirty) && (this.gl.stencilFunc(t.func, t.ref, t.mask), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              J = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             var t = this.gl;
                                             return [t.KEEP, t.KEEP, t.KEEP];
                                        }),
                                        (e.prototype.set = function (t) {
                                             var e = this.current;
                                             (t[0] !== e[0] || t[1] !== e[1] || t[2] !== e[2] || this.dirty) && (this.gl.stencilOp(t[0], t[1], t[2]), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              K = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return !1;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  t ? e.enable(e.STENCIL_TEST) : e.disable(e.STENCIL_TEST), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              Q = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return [0, 1];
                                        }),
                                        (e.prototype.set = function (t) {
                                             var e = this.current;
                                             (t[0] !== e[0] || t[1] !== e[1] || this.dirty) && (this.gl.depthRange(t[0], t[1]), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              tt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return !1;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  t ? e.enable(e.DEPTH_TEST) : e.disable(e.DEPTH_TEST), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              et = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return this.gl.LESS;
                                        }),
                                        (e.prototype.set = function (t) {
                                             (t !== this.current || this.dirty) && (this.gl.depthFunc(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              it = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return !1;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  t ? e.enable(e.BLEND) : e.disable(e.BLEND), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              nt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             var t = this.gl;
                                             return [t.ONE, t.ZERO];
                                        }),
                                        (e.prototype.set = function (t) {
                                             var e = this.current;
                                             (t[0] !== e[0] || t[1] !== e[1] || this.dirty) && (this.gl.blendFunc(t[0], t[1]), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              rt = (function (e) {
                                   function i() {
                                        e.apply(this, arguments);
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.getDefault = function () {
                                             return t.Color.transparent;
                                        }),
                                        (i.prototype.set = function (t) {
                                             var e = this.current;
                                             (t.r !== e.r || t.g !== e.g || t.b !== e.b || t.a !== e.a || this.dirty) && (this.gl.blendColor(t.r, t.g, t.b, t.a), (this.current = t), (this.dirty = !1));
                                        }),
                                        i
                                   );
                              })(W),
                              ot = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return this.gl.FUNC_ADD;
                                        }),
                                        (e.prototype.set = function (t) {
                                             (t !== this.current || this.dirty) && (this.gl.blendEquation(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              at = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return !1;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  t ? e.enable(e.CULL_FACE) : e.disable(e.CULL_FACE), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              st = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return this.gl.BACK;
                                        }),
                                        (e.prototype.set = function (t) {
                                             (t !== this.current || this.dirty) && (this.gl.cullFace(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              lt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return this.gl.CCW;
                                        }),
                                        (e.prototype.set = function (t) {
                                             (t !== this.current || this.dirty) && (this.gl.frontFace(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              ct = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return null;
                                        }),
                                        (e.prototype.set = function (t) {
                                             (t !== this.current || this.dirty) && (this.gl.useProgram(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              ut = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return this.gl.TEXTURE0;
                                        }),
                                        (e.prototype.set = function (t) {
                                             (t !== this.current || this.dirty) && (this.gl.activeTexture(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              ht = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             var t = this.gl;
                                             return [0, 0, t.drawingBufferWidth, t.drawingBufferHeight];
                                        }),
                                        (e.prototype.set = function (t) {
                                             var e = this.current;
                                             (t[0] !== e[0] || t[1] !== e[1] || t[2] !== e[2] || t[3] !== e[3] || this.dirty) && (this.gl.viewport(t[0], t[1], t[2], t[3]), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              dt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return null;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  e.bindFramebuffer(e.FRAMEBUFFER, t), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              pt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return null;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  e.bindRenderbuffer(e.RENDERBUFFER, t), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              ft = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return null;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  e.bindTexture(e.TEXTURE_2D, t), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              mt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return null;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  e.bindBuffer(e.ARRAY_BUFFER, t), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              gt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return null;
                                        }),
                                        (e.prototype.set = function (t) {
                                             var e = this.gl;
                                             e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, t), (this.current = t), (this.dirty = !1);
                                        }),
                                        e
                                   );
                              })(W),
                              vt = (function (t) {
                                   function e(e) {
                                        t.call(this, e), (this.vao = e.extVertexArrayObject);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return null;
                                        }),
                                        (e.prototype.set = function (t) {
                                             this.vao && (t !== this.current || this.dirty) && (this.vao.bindVertexArrayOES(t), (this.current = t), (this.dirty = !1));
                                        }),
                                        e
                                   );
                              })(W),
                              yt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return 4;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  e.pixelStorei(e.UNPACK_ALIGNMENT, t), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              bt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return !1;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, t), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              _t = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return !1;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  var e = this.gl;
                                                  e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL, t), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(W),
                              xt = (function (t) {
                                   function e(e, i) {
                                        t.call(this, e), (this.context = e), (this.parent = i);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.getDefault = function () {
                                             return null;
                                        }),
                                        e
                                   );
                              })(W),
                              wt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.setDirty = function () {
                                             this.dirty = !0;
                                        }),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  this.context.bindFramebuffer.set(this.parent);
                                                  var e = this.gl;
                                                  e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, t, 0), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(xt),
                              kt = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.set = function (t) {
                                             if (t !== this.current || this.dirty) {
                                                  this.context.bindFramebuffer.set(this.parent);
                                                  var e = this.gl;
                                                  e.framebufferRenderbuffer(e.FRAMEBUFFER, e.DEPTH_ATTACHMENT, e.RENDERBUFFER, t), (this.current = t), (this.dirty = !1);
                                             }
                                        }),
                                        e
                                   );
                              })(xt),
                              St = function (t, e, i, n) {
                                   (this.context = t), (this.width = e), (this.height = i);
                                   var r = (this.framebuffer = t.gl.createFramebuffer());
                                   (this.colorAttachment = new wt(t, r)), n && (this.depthAttachment = new kt(t, r));
                              };
                         St.prototype.destroy = function () {
                              var t = this.context.gl,
                                   e = this.colorAttachment.get();
                              if ((e && t.deleteTexture(e), this.depthAttachment)) {
                                   var i = this.depthAttachment.get();
                                   i && t.deleteRenderbuffer(i);
                              }
                              t.deleteFramebuffer(this.framebuffer);
                         };
                         var Mt = function (t, e, i) {
                              (this.func = t), (this.mask = e), (this.range = i);
                         };
                         (Mt.ReadOnly = !1), (Mt.ReadWrite = !0), (Mt.disabled = new Mt(519, Mt.ReadOnly, [0, 1]));
                         var Tt = function (t, e, i, n, r, o) {
                              (this.test = t), (this.ref = e), (this.mask = i), (this.fail = n), (this.depthFail = r), (this.pass = o);
                         };
                         Tt.disabled = new Tt({ func: 519, mask: 0 }, 0, 0, 7680, 7680, 7680);
                         var Ct = function (t, e, i) {
                              (this.blendFunction = t), (this.blendColor = e), (this.mask = i);
                         };
                         (Ct.disabled = new Ct((Ct.Replace = [1, 0]), t.Color.transparent, [!1, !1, !1, !1])),
                              (Ct.unblended = new Ct(Ct.Replace, t.Color.transparent, [!0, !0, !0, !0])),
                              (Ct.alphaBlended = new Ct([1, 771], t.Color.transparent, [!0, !0, !0, !0]));
                         var Dt = function (t, e, i) {
                              (this.enable = t), (this.mode = e), (this.frontFace = i);
                         };
                         (Dt.disabled = new Dt(!1, 1029, 2305)), (Dt.backCCW = new Dt(!0, 1029, 2305));
                         var Lt = function (t) {
                              (this.gl = t),
                                   (this.extVertexArrayObject = this.gl.getExtension("OES_vertex_array_object")),
                                   (this.clearColor = new V(this)),
                                   (this.clearDepth = new U(this)),
                                   (this.clearStencil = new q(this)),
                                   (this.colorMask = new $(this)),
                                   (this.depthMask = new X(this)),
                                   (this.stencilMask = new G(this)),
                                   (this.stencilFunc = new Z(this)),
                                   (this.stencilOp = new J(this)),
                                   (this.stencilTest = new K(this)),
                                   (this.depthRange = new Q(this)),
                                   (this.depthTest = new tt(this)),
                                   (this.depthFunc = new et(this)),
                                   (this.blend = new it(this)),
                                   (this.blendFunc = new nt(this)),
                                   (this.blendColor = new rt(this)),
                                   (this.blendEquation = new ot(this)),
                                   (this.cullFace = new at(this)),
                                   (this.cullFaceSide = new st(this)),
                                   (this.frontFace = new lt(this)),
                                   (this.program = new ct(this)),
                                   (this.activeTexture = new ut(this)),
                                   (this.viewport = new ht(this)),
                                   (this.bindFramebuffer = new dt(this)),
                                   (this.bindRenderbuffer = new pt(this)),
                                   (this.bindTexture = new ft(this)),
                                   (this.bindVertexBuffer = new mt(this)),
                                   (this.bindElementBuffer = new gt(this)),
                                   (this.bindVertexArrayOES = this.extVertexArrayObject && new vt(this)),
                                   (this.pixelStoreUnpack = new yt(this)),
                                   (this.pixelStoreUnpackPremultiplyAlpha = new bt(this)),
                                   (this.pixelStoreUnpackFlipY = new _t(this)),
                                   (this.extTextureFilterAnisotropic = t.getExtension("EXT_texture_filter_anisotropic") || t.getExtension("MOZ_EXT_texture_filter_anisotropic") || t.getExtension("WEBKIT_EXT_texture_filter_anisotropic")),
                                   this.extTextureFilterAnisotropic && (this.extTextureFilterAnisotropicMax = t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),
                                   (this.extTextureHalfFloat = t.getExtension("OES_texture_half_float")),
                                   this.extTextureHalfFloat && (t.getExtension("OES_texture_half_float_linear"), (this.extRenderToTextureHalfFloat = t.getExtension("EXT_color_buffer_half_float"))),
                                   (this.extTimerQuery = t.getExtension("EXT_disjoint_timer_query"));
                         };
                         (Lt.prototype.setDefault = function () {
                              this.unbindVAO(),
                                   this.clearColor.setDefault(),
                                   this.clearDepth.setDefault(),
                                   this.clearStencil.setDefault(),
                                   this.colorMask.setDefault(),
                                   this.depthMask.setDefault(),
                                   this.stencilMask.setDefault(),
                                   this.stencilFunc.setDefault(),
                                   this.stencilOp.setDefault(),
                                   this.stencilTest.setDefault(),
                                   this.depthRange.setDefault(),
                                   this.depthTest.setDefault(),
                                   this.depthFunc.setDefault(),
                                   this.blend.setDefault(),
                                   this.blendFunc.setDefault(),
                                   this.blendColor.setDefault(),
                                   this.blendEquation.setDefault(),
                                   this.cullFace.setDefault(),
                                   this.cullFaceSide.setDefault(),
                                   this.frontFace.setDefault(),
                                   this.program.setDefault(),
                                   this.activeTexture.setDefault(),
                                   this.bindFramebuffer.setDefault(),
                                   this.pixelStoreUnpack.setDefault(),
                                   this.pixelStoreUnpackPremultiplyAlpha.setDefault(),
                                   this.pixelStoreUnpackFlipY.setDefault();
                         }),
                              (Lt.prototype.setDirty = function () {
                                   (this.clearColor.dirty = !0),
                                        (this.clearDepth.dirty = !0),
                                        (this.clearStencil.dirty = !0),
                                        (this.colorMask.dirty = !0),
                                        (this.depthMask.dirty = !0),
                                        (this.stencilMask.dirty = !0),
                                        (this.stencilFunc.dirty = !0),
                                        (this.stencilOp.dirty = !0),
                                        (this.stencilTest.dirty = !0),
                                        (this.depthRange.dirty = !0),
                                        (this.depthTest.dirty = !0),
                                        (this.depthFunc.dirty = !0),
                                        (this.blend.dirty = !0),
                                        (this.blendFunc.dirty = !0),
                                        (this.blendColor.dirty = !0),
                                        (this.blendEquation.dirty = !0),
                                        (this.cullFace.dirty = !0),
                                        (this.cullFaceSide.dirty = !0),
                                        (this.frontFace.dirty = !0),
                                        (this.program.dirty = !0),
                                        (this.activeTexture.dirty = !0),
                                        (this.viewport.dirty = !0),
                                        (this.bindFramebuffer.dirty = !0),
                                        (this.bindRenderbuffer.dirty = !0),
                                        (this.bindTexture.dirty = !0),
                                        (this.bindVertexBuffer.dirty = !0),
                                        (this.bindElementBuffer.dirty = !0),
                                        this.extVertexArrayObject && (this.bindVertexArrayOES.dirty = !0),
                                        (this.pixelStoreUnpack.dirty = !0),
                                        (this.pixelStoreUnpackPremultiplyAlpha.dirty = !0),
                                        (this.pixelStoreUnpackFlipY.dirty = !0);
                              }),
                              (Lt.prototype.createIndexBuffer = function (t, e) {
                                   return new j(this, t, e);
                              }),
                              (Lt.prototype.createVertexBuffer = function (t, e, i) {
                                   return new B(this, t, e, i);
                              }),
                              (Lt.prototype.createRenderbuffer = function (t, e, i) {
                                   var n = this.gl,
                                        r = n.createRenderbuffer();
                                   return this.bindRenderbuffer.set(r), n.renderbufferStorage(n.RENDERBUFFER, t, e, i), this.bindRenderbuffer.set(null), r;
                              }),
                              (Lt.prototype.createFramebuffer = function (t, e, i) {
                                   return new St(this, t, e, i);
                              }),
                              (Lt.prototype.clear = function (t) {
                                   var e = t.color,
                                        i = t.depth,
                                        n = this.gl,
                                        r = 0;
                                   e && ((r |= n.COLOR_BUFFER_BIT), this.clearColor.set(e), this.colorMask.set([!0, !0, !0, !0])),
                                        void 0 !== i && ((r |= n.DEPTH_BUFFER_BIT), this.depthRange.set([0, 1]), this.clearDepth.set(i), this.depthMask.set(!0)),
                                        n.clear(r);
                              }),
                              (Lt.prototype.setCullFace = function (t) {
                                   !1 === t.enable ? this.cullFace.set(!1) : (this.cullFace.set(!0), this.cullFaceSide.set(t.mode), this.frontFace.set(t.frontFace));
                              }),
                              (Lt.prototype.setDepthMode = function (t) {
                                   t.func !== this.gl.ALWAYS || t.mask ? (this.depthTest.set(!0), this.depthFunc.set(t.func), this.depthMask.set(t.mask), this.depthRange.set(t.range)) : this.depthTest.set(!1);
                              }),
                              (Lt.prototype.setStencilMode = function (t) {
                                   t.test.func !== this.gl.ALWAYS || t.mask
                                        ? (this.stencilTest.set(!0), this.stencilMask.set(t.mask), this.stencilOp.set([t.fail, t.depthFail, t.pass]), this.stencilFunc.set({ func: t.test.func, ref: t.ref, mask: t.test.mask }))
                                        : this.stencilTest.set(!1);
                              }),
                              (Lt.prototype.setColorMode = function (e) {
                                   t.deepEqual(e.blendFunction, Ct.Replace) ? this.blend.set(!1) : (this.blend.set(!0), this.blendFunc.set(e.blendFunction), this.blendColor.set(e.blendColor)), this.colorMask.set(e.mask);
                              }),
                              (Lt.prototype.unbindVAO = function () {
                                   this.extVertexArrayObject && this.bindVertexArrayOES.set(null);
                              });
                         var Et = (function (e) {
                              function i(i, n, r) {
                                   var o = this;
                                   e.call(this),
                                        (this.id = i),
                                        (this.dispatcher = r),
                                        this.on("data", function (t) {
                                             "source" === t.dataType && "metadata" === t.sourceDataType && (o._sourceLoaded = !0),
                                                  o._sourceLoaded && !o._paused && "source" === t.dataType && "content" === t.sourceDataType && (o.reload(), o.transform && o.update(o.transform));
                                        }),
                                        this.on("error", function () {
                                             o._sourceErrored = !0;
                                        }),
                                        (this._source = (function (e, i, n, r) {
                                             var o = new Y[i.type](e, i, n, r);
                                             if (o.id !== e) throw new Error("Expected Source id to be " + e + " instead of " + o.id);
                                             return t.bindAll(["load", "abort", "unload", "serialize", "prepare"], o), o;
                                        })(i, n, r, this)),
                                        (this._tiles = {}),
                                        (this._cache = new H(0, this._unloadTile.bind(this))),
                                        (this._timers = {}),
                                        (this._cacheTimers = {}),
                                        (this._maxTileCacheSize = null),
                                        (this._loadedParentTiles = {}),
                                        (this._coveredTiles = {}),
                                        (this._state = new t.SourceFeatureState());
                              }
                              return (
                                   e && (i.__proto__ = e),
                                   ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                   (i.prototype.onAdd = function (t) {
                                        (this.map = t), (this._maxTileCacheSize = t ? t._maxTileCacheSize : null), this._source && this._source.onAdd && this._source.onAdd(t);
                                   }),
                                   (i.prototype.onRemove = function (t) {
                                        this._source && this._source.onRemove && this._source.onRemove(t);
                                   }),
                                   (i.prototype.loaded = function () {
                                        if (this._sourceErrored) return !0;
                                        if (!this._sourceLoaded) return !1;
                                        if (!this._source.loaded()) return !1;
                                        for (var t in this._tiles) {
                                             var e = this._tiles[t];
                                             if ("loaded" !== e.state && "errored" !== e.state) return !1;
                                        }
                                        return !0;
                                   }),
                                   (i.prototype.getSource = function () {
                                        return this._source;
                                   }),
                                   (i.prototype.pause = function () {
                                        this._paused = !0;
                                   }),
                                   (i.prototype.resume = function () {
                                        if (this._paused) {
                                             var t = this._shouldReloadOnResume;
                                             (this._paused = !1), (this._shouldReloadOnResume = !1), t && this.reload(), this.transform && this.update(this.transform);
                                        }
                                   }),
                                   (i.prototype._loadTile = function (t, e) {
                                        return this._source.loadTile(t, e);
                                   }),
                                   (i.prototype._unloadTile = function (t) {
                                        if (this._source.unloadTile) return this._source.unloadTile(t, function () {});
                                   }),
                                   (i.prototype._abortTile = function (t) {
                                        if (this._source.abortTile) return this._source.abortTile(t, function () {});
                                   }),
                                   (i.prototype.serialize = function () {
                                        return this._source.serialize();
                                   }),
                                   (i.prototype.prepare = function (t) {
                                        for (var e in (this._source.prepare && this._source.prepare(), this._state.coalesceChanges(this._tiles, this.map ? this.map.painter : null), this._tiles)) {
                                             var i = this._tiles[e];
                                             i.upload(t), i.prepare(this.map.style.imageManager);
                                        }
                                   }),
                                   (i.prototype.getIds = function () {
                                        return t
                                             .values(this._tiles)
                                             .map(function (t) {
                                                  return t.tileID;
                                             })
                                             .sort(At)
                                             .map(function (t) {
                                                  return t.key;
                                             });
                                   }),
                                   (i.prototype.getRenderableIds = function (e) {
                                        var i = this,
                                             n = [];
                                        for (var r in this._tiles) this._isIdRenderable(r, e) && n.push(this._tiles[r]);
                                        return e
                                             ? n
                                                    .sort(function (e, n) {
                                                         var r = e.tileID,
                                                              o = n.tileID,
                                                              a = new t.Point(r.canonical.x, r.canonical.y)._rotate(i.transform.angle),
                                                              s = new t.Point(o.canonical.x, o.canonical.y)._rotate(i.transform.angle);
                                                         return r.overscaledZ - o.overscaledZ || s.y - a.y || s.x - a.x;
                                                    })
                                                    .map(function (t) {
                                                         return t.tileID.key;
                                                    })
                                             : n
                                                    .map(function (t) {
                                                         return t.tileID;
                                                    })
                                                    .sort(At)
                                                    .map(function (t) {
                                                         return t.key;
                                                    });
                                   }),
                                   (i.prototype.hasRenderableParent = function (t) {
                                        var e = this.findLoadedParent(t, 0);
                                        return !!e && this._isIdRenderable(e.tileID.key);
                                   }),
                                   (i.prototype._isIdRenderable = function (t, e) {
                                        return this._tiles[t] && this._tiles[t].hasData() && !this._coveredTiles[t] && (e || !this._tiles[t].holdingForFade());
                                   }),
                                   (i.prototype.reload = function () {
                                        if (this._paused) this._shouldReloadOnResume = !0;
                                        else for (var t in (this._cache.reset(), this._tiles)) "errored" !== this._tiles[t].state && this._reloadTile(t, "reloading");
                                   }),
                                   (i.prototype._reloadTile = function (t, e) {
                                        var i = this._tiles[t];
                                        i && ("loading" !== i.state && (i.state = e), this._loadTile(i, this._tileLoaded.bind(this, i, t, e)));
                                   }),
                                   (i.prototype._tileLoaded = function (e, i, n, r) {
                                        if (r) return (e.state = "errored"), void (404 !== r.status ? this._source.fire(new t.ErrorEvent(r, { tile: e })) : this.update(this.transform));
                                        (e.timeAdded = t.browser.now()),
                                             "expired" === n && (e.refreshedUponExpiration = !0),
                                             this._setTileReloadTimer(i, e),
                                             "raster-dem" === this.getSource().type && e.dem && this._backfillDEM(e),
                                             this._state.initializeTileState(e, this.map ? this.map.painter : null),
                                             this._source.fire(new t.Event("data", { dataType: "source", tile: e, coord: e.tileID }));
                                   }),
                                   (i.prototype._backfillDEM = function (t) {
                                        for (var e = this.getRenderableIds(), i = 0; i < e.length; i++) {
                                             var n = e[i];
                                             if (t.neighboringTiles && t.neighboringTiles[n]) {
                                                  var r = this.getTileByID(n);
                                                  o(t, r), o(r, t);
                                             }
                                        }
                                        function o(t, e) {
                                             t.needsHillshadePrepare = !0;
                                             var i = e.tileID.canonical.x - t.tileID.canonical.x,
                                                  n = e.tileID.canonical.y - t.tileID.canonical.y,
                                                  r = Math.pow(2, t.tileID.canonical.z),
                                                  o = e.tileID.key;
                                             (0 === i && 0 === n) ||
                                                  Math.abs(n) > 1 ||
                                                  (Math.abs(i) > 1 && (1 === Math.abs(i + r) ? (i += r) : 1 === Math.abs(i - r) && (i -= r)),
                                                  e.dem && t.dem && (t.dem.backfillBorder(e.dem, i, n), t.neighboringTiles && t.neighboringTiles[o] && (t.neighboringTiles[o].backfilled = !0)));
                                        }
                                   }),
                                   (i.prototype.getTile = function (t) {
                                        return this.getTileByID(t.key);
                                   }),
                                   (i.prototype.getTileByID = function (t) {
                                        return this._tiles[t];
                                   }),
                                   (i.prototype._retainLoadedChildren = function (t, e, i, n) {
                                        for (var r in this._tiles) {
                                             var o = this._tiles[r];
                                             if (!(n[r] || !o.hasData() || o.tileID.overscaledZ <= e || o.tileID.overscaledZ > i)) {
                                                  for (var a = o.tileID; o && o.tileID.overscaledZ > e + 1; ) {
                                                       var s = o.tileID.scaledTo(o.tileID.overscaledZ - 1);
                                                       (o = this._tiles[s.key]) && o.hasData() && (a = s);
                                                  }
                                                  for (var l = a; l.overscaledZ > e; )
                                                       if (t[(l = l.scaledTo(l.overscaledZ - 1)).key]) {
                                                            n[a.key] = a;
                                                            break;
                                                       }
                                             }
                                        }
                                   }),
                                   (i.prototype.findLoadedParent = function (t, e) {
                                        if (t.key in this._loadedParentTiles) {
                                             var i = this._loadedParentTiles[t.key];
                                             return i && i.tileID.overscaledZ >= e ? i : null;
                                        }
                                        for (var n = t.overscaledZ - 1; n >= e; n--) {
                                             var r = t.scaledTo(n),
                                                  o = this._getLoadedTile(r);
                                             if (o) return o;
                                        }
                                   }),
                                   (i.prototype._getLoadedTile = function (t) {
                                        var e = this._tiles[t.key];
                                        return e && e.hasData() ? e : this._cache.getByKey(t.wrapped().key);
                                   }),
                                   (i.prototype.updateCacheSize = function (t) {
                                        var e = Math.ceil(t.width / this._source.tileSize) + 1,
                                             i = Math.ceil(t.height / this._source.tileSize) + 1,
                                             n = Math.floor(e * i * 5),
                                             r = "number" == typeof this._maxTileCacheSize ? Math.min(this._maxTileCacheSize, n) : n;
                                        this._cache.setMaxSize(r);
                                   }),
                                   (i.prototype.handleWrapJump = function (t) {
                                        var e = Math.round((t - (void 0 === this._prevLng ? t : this._prevLng)) / 360);
                                        if (((this._prevLng = t), e)) {
                                             var i = {};
                                             for (var n in this._tiles) {
                                                  var r = this._tiles[n];
                                                  (r.tileID = r.tileID.unwrapTo(r.tileID.wrap + e)), (i[r.tileID.key] = r);
                                             }
                                             for (var o in ((this._tiles = i), this._timers)) clearTimeout(this._timers[o]), delete this._timers[o];
                                             for (var a in this._tiles) this._setTileReloadTimer(a, this._tiles[a]);
                                        }
                                   }),
                                   (i.prototype.update = function (e) {
                                        var n = this;
                                        if (((this.transform = e), this._sourceLoaded && !this._paused)) {
                                             var r;
                                             this.updateCacheSize(e),
                                                  this.handleWrapJump(this.transform.center.lng),
                                                  (this._coveredTiles = {}),
                                                  this.used
                                                       ? this._source.tileID
                                                            ? (r = e.getVisibleUnwrappedCoordinates(this._source.tileID).map(function (e) {
                                                                   return new t.OverscaledTileID(e.canonical.z, e.wrap, e.canonical.z, e.canonical.x, e.canonical.y);
                                                              }))
                                                            : ((r = e.coveringTiles({
                                                                   tileSize: this._source.tileSize,
                                                                   minzoom: this._source.minzoom,
                                                                   maxzoom: this._source.maxzoom,
                                                                   roundZoom: this._source.roundZoom,
                                                                   reparseOverscaled: this._source.reparseOverscaled,
                                                              })),
                                                              this._source.hasTile &&
                                                                   (r = r.filter(function (t) {
                                                                        return n._source.hasTile(t);
                                                                   })))
                                                       : (r = []);
                                             var o = e.coveringZoomLevel(this._source),
                                                  a = Math.max(o - i.maxOverzooming, this._source.minzoom),
                                                  s = Math.max(o + i.maxUnderzooming, this._source.minzoom),
                                                  l = this._updateRetainedTiles(r, o);
                                             if (Pt(this._source.type)) {
                                                  for (var c = {}, u = {}, h = 0, d = Object.keys(l); h < d.length; h += 1) {
                                                       var p = d[h],
                                                            f = l[p],
                                                            m = this._tiles[p];
                                                       if (m && !(m.fadeEndTime && m.fadeEndTime <= t.browser.now())) {
                                                            var g = this.findLoadedParent(f, a);
                                                            g && (this._addTile(g.tileID), (c[g.tileID.key] = g.tileID)), (u[p] = f);
                                                       }
                                                  }
                                                  for (var v in (this._retainLoadedChildren(u, o, s, l), c)) l[v] || ((this._coveredTiles[v] = !0), (l[v] = c[v]));
                                             }
                                             for (var y in l) this._tiles[y].clearFadeHold();
                                             for (var b = 0, _ = t.keysDifference(this._tiles, l); b < _.length; b += 1) {
                                                  var x = _[b],
                                                       w = this._tiles[x];
                                                  w.hasSymbolBuckets && !w.holdingForFade() ? w.setHoldDuration(this.map._fadeDuration) : (w.hasSymbolBuckets && !w.symbolFadeFinished()) || this._removeTile(x);
                                             }
                                             this._updateLoadedParentTileCache();
                                        }
                                   }),
                                   (i.prototype.releaseSymbolFadeTiles = function () {
                                        for (var t in this._tiles) this._tiles[t].holdingForFade() && this._removeTile(t);
                                   }),
                                   (i.prototype._updateRetainedTiles = function (t, e) {
                                        for (var n = {}, r = {}, o = Math.max(e - i.maxOverzooming, this._source.minzoom), a = Math.max(e + i.maxUnderzooming, this._source.minzoom), s = {}, l = 0, c = t; l < c.length; l += 1) {
                                             var u = c[l],
                                                  h = this._addTile(u);
                                             (n[u.key] = u), h.hasData() || (e < this._source.maxzoom && (s[u.key] = u));
                                        }
                                        this._retainLoadedChildren(s, e, a, n);
                                        for (var d = 0, p = t; d < p.length; d += 1) {
                                             var f = p[d],
                                                  m = this._tiles[f.key];
                                             if (!m.hasData()) {
                                                  if (e + 1 > this._source.maxzoom) {
                                                       var g = f.children(this._source.maxzoom)[0],
                                                            v = this.getTile(g);
                                                       if (v && v.hasData()) {
                                                            n[g.key] = g;
                                                            continue;
                                                       }
                                                  } else {
                                                       var y = f.children(this._source.maxzoom);
                                                       if (n[y[0].key] && n[y[1].key] && n[y[2].key] && n[y[3].key]) continue;
                                                  }
                                                  for (var b = m.wasRequested(), _ = f.overscaledZ - 1; _ >= o; --_) {
                                                       var x = f.scaledTo(_);
                                                       if (r[x.key]) break;
                                                       if (((r[x.key] = !0), !(m = this.getTile(x)) && b && (m = this._addTile(x)), m && ((n[x.key] = x), (b = m.wasRequested()), m.hasData()))) break;
                                                  }
                                             }
                                        }
                                        return n;
                                   }),
                                   (i.prototype._updateLoadedParentTileCache = function () {
                                        for (var t in ((this._loadedParentTiles = {}), this._tiles)) {
                                             for (var e = [], i = void 0, n = this._tiles[t].tileID; n.overscaledZ > 0; ) {
                                                  if (n.key in this._loadedParentTiles) {
                                                       i = this._loadedParentTiles[n.key];
                                                       break;
                                                  }
                                                  e.push(n.key);
                                                  var r = n.scaledTo(n.overscaledZ - 1);
                                                  if ((i = this._getLoadedTile(r))) break;
                                                  n = r;
                                             }
                                             for (var o = 0, a = e; o < a.length; o += 1) this._loadedParentTiles[a[o]] = i;
                                        }
                                   }),
                                   (i.prototype._addTile = function (e) {
                                        var i = this._tiles[e.key];
                                        if (i) return i;
                                        (i = this._cache.getAndRemove(e)) &&
                                             (this._setTileReloadTimer(e.key, i),
                                             (i.tileID = e),
                                             this._state.initializeTileState(i, this.map ? this.map.painter : null),
                                             this._cacheTimers[e.key] && (clearTimeout(this._cacheTimers[e.key]), delete this._cacheTimers[e.key], this._setTileReloadTimer(e.key, i)));
                                        var n = Boolean(i);
                                        return (
                                             n || ((i = new t.Tile(e, this._source.tileSize * e.overscaleFactor())), this._loadTile(i, this._tileLoaded.bind(this, i, e.key, i.state))),
                                             i ? (i.uses++, (this._tiles[e.key] = i), n || this._source.fire(new t.Event("dataloading", { tile: i, coord: i.tileID, dataType: "source" })), i) : null
                                        );
                                   }),
                                   (i.prototype._setTileReloadTimer = function (t, e) {
                                        var i = this;
                                        t in this._timers && (clearTimeout(this._timers[t]), delete this._timers[t]);
                                        var n = e.getExpiryTimeout();
                                        n &&
                                             (this._timers[t] = setTimeout(function () {
                                                  i._reloadTile(t, "expired"), delete i._timers[t];
                                             }, n));
                                   }),
                                   (i.prototype._removeTile = function (t) {
                                        var e = this._tiles[t];
                                        e &&
                                             (e.uses--,
                                             delete this._tiles[t],
                                             this._timers[t] && (clearTimeout(this._timers[t]), delete this._timers[t]),
                                             e.uses > 0 || (e.hasData() && "reloading" !== e.state ? this._cache.add(e.tileID, e, e.getExpiryTimeout()) : ((e.aborted = !0), this._abortTile(e), this._unloadTile(e))));
                                   }),
                                   (i.prototype.clearTiles = function () {
                                        for (var t in ((this._shouldReloadOnResume = !1), (this._paused = !1), this._tiles)) this._removeTile(t);
                                        this._cache.reset();
                                   }),
                                   (i.prototype.tilesIn = function (e, i, n) {
                                        var r = this,
                                             o = [],
                                             a = this.transform;
                                        if (!a) return o;
                                        for (
                                             var s = n ? a.getCameraQueryGeometry(e) : e,
                                                  l = e.map(function (t) {
                                                       return a.pointCoordinate(t);
                                                  }),
                                                  c = s.map(function (t) {
                                                       return a.pointCoordinate(t);
                                                  }),
                                                  u = this.getIds(),
                                                  h = 1 / 0,
                                                  d = 1 / 0,
                                                  p = -1 / 0,
                                                  f = -1 / 0,
                                                  m = 0,
                                                  g = c;
                                             m < g.length;
                                             m += 1
                                        ) {
                                             var v = g[m];
                                             (h = Math.min(h, v.x)), (d = Math.min(d, v.y)), (p = Math.max(p, v.x)), (f = Math.max(f, v.y));
                                        }
                                        for (
                                             var y = function (e) {
                                                       var n = r._tiles[u[e]];
                                                       if (!n.holdingForFade()) {
                                                            var s = n.tileID,
                                                                 m = Math.pow(2, a.zoom - n.tileID.overscaledZ),
                                                                 g = (i * n.queryPadding * t.EXTENT) / n.tileSize / m,
                                                                 v = [s.getTilePoint(new t.MercatorCoordinate(h, d)), s.getTilePoint(new t.MercatorCoordinate(p, f))];
                                                            if (v[0].x - g < t.EXTENT && v[0].y - g < t.EXTENT && v[1].x + g >= 0 && v[1].y + g >= 0) {
                                                                 var y = l.map(function (t) {
                                                                           return s.getTilePoint(t);
                                                                      }),
                                                                      b = c.map(function (t) {
                                                                           return s.getTilePoint(t);
                                                                      });
                                                                 o.push({ tile: n, tileID: s, queryGeometry: y, cameraQueryGeometry: b, scale: m });
                                                            }
                                                       }
                                                  },
                                                  b = 0;
                                             b < u.length;
                                             b++
                                        )
                                             y(b);
                                        return o;
                                   }),
                                   (i.prototype.getVisibleCoordinates = function (t) {
                                        for (
                                             var e = this,
                                                  i = this.getRenderableIds(t).map(function (t) {
                                                       return e._tiles[t].tileID;
                                                  }),
                                                  n = 0,
                                                  r = i;
                                             n < r.length;
                                             n += 1
                                        ) {
                                             var o = r[n];
                                             o.posMatrix = this.transform.calculatePosMatrix(o.toUnwrapped());
                                        }
                                        return i;
                                   }),
                                   (i.prototype.hasTransition = function () {
                                        if (this._source.hasTransition()) return !0;
                                        if (Pt(this._source.type))
                                             for (var e in this._tiles) {
                                                  var i = this._tiles[e];
                                                  if (void 0 !== i.fadeEndTime && i.fadeEndTime >= t.browser.now()) return !0;
                                             }
                                        return !1;
                                   }),
                                   (i.prototype.setFeatureState = function (t, e, i) {
                                        this._state.updateState((t = t || "_geojsonTileLayer"), e, i);
                                   }),
                                   (i.prototype.removeFeatureState = function (t, e, i) {
                                        this._state.removeFeatureState((t = t || "_geojsonTileLayer"), e, i);
                                   }),
                                   (i.prototype.getFeatureState = function (t, e) {
                                        return this._state.getState((t = t || "_geojsonTileLayer"), e);
                                   }),
                                   (i.prototype.setDependencies = function (t, e, i) {
                                        var n = this._tiles[t];
                                        n && n.setDependencies(e, i);
                                   }),
                                   (i.prototype.reloadTilesForDependencies = function (t, e) {
                                        for (var i in this._tiles) this._tiles[i].hasDependency(t, e) && this._reloadTile(i, "reloading");
                                        this._cache.filter(function (i) {
                                             return !i.hasDependency(t, e);
                                        });
                                   }),
                                   i
                              );
                         })(t.Evented);
                         function At(t, e) {
                              var i = Math.abs(2 * t.wrap) - +(t.wrap < 0),
                                   n = Math.abs(2 * e.wrap) - +(e.wrap < 0);
                              return t.overscaledZ - e.overscaledZ || n - i || e.canonical.y - t.canonical.y || e.canonical.x - t.canonical.x;
                         }
                         function Pt(t) {
                              return "raster" === t || "image" === t || "video" === t;
                         }
                         function It() {
                              return new t.window.Worker(qr.workerUrl);
                         }
                         (Et.maxOverzooming = 10), (Et.maxUnderzooming = 3);
                         var Ot = "mapboxgl_preloaded_worker_pool",
                              Yt = function () {
                                   this.active = {};
                              };
                         (Yt.prototype.acquire = function (t) {
                              if (!this.workers) for (this.workers = []; this.workers.length < Yt.workerCount; ) this.workers.push(new It());
                              return (this.active[t] = !0), this.workers.slice();
                         }),
                              (Yt.prototype.release = function (t) {
                                   delete this.active[t],
                                        0 === this.numActive() &&
                                             (this.workers.forEach(function (t) {
                                                  t.terminate();
                                             }),
                                             (this.workers = null));
                              }),
                              (Yt.prototype.isPreloaded = function () {
                                   return !!this.active[Ot];
                              }),
                              (Yt.prototype.numActive = function () {
                                   return Object.keys(this.active).length;
                              });
                         var zt,
                              Rt = Math.floor(t.browser.hardwareConcurrency / 2);
                         function Ft() {
                              return zt || (zt = new Yt()), zt;
                         }
                         function Ht(e, i) {
                              var n = {};
                              for (var r in e) "ref" !== r && (n[r] = e[r]);
                              return (
                                   t.refProperties.forEach(function (t) {
                                        t in i && (n[t] = i[t]);
                                   }),
                                   n
                              );
                         }
                         function jt(t) {
                              t = t.slice();
                              for (var e = Object.create(null), i = 0; i < t.length; i++) e[t[i].id] = t[i];
                              for (var n = 0; n < t.length; n++) "ref" in t[n] && (t[n] = Ht(t[n], e[t[n].ref]));
                              return t;
                         }
                         Yt.workerCount = Math.max(Math.min(Rt, 6), 1);
                         var Nt = {
                              setStyle: "setStyle",
                              addLayer: "addLayer",
                              removeLayer: "removeLayer",
                              setPaintProperty: "setPaintProperty",
                              setLayoutProperty: "setLayoutProperty",
                              setFilter: "setFilter",
                              addSource: "addSource",
                              removeSource: "removeSource",
                              setGeoJSONSourceData: "setGeoJSONSourceData",
                              setLayerZoomRange: "setLayerZoomRange",
                              setLayerProperty: "setLayerProperty",
                              setCenter: "setCenter",
                              setZoom: "setZoom",
                              setBearing: "setBearing",
                              setPitch: "setPitch",
                              setSprite: "setSprite",
                              setGlyphs: "setGlyphs",
                              setTransition: "setTransition",
                              setLight: "setLight",
                         };
                         function Bt(t, e, i) {
                              i.push({ command: Nt.addSource, args: [t, e[t]] });
                         }
                         function Wt(t, e, i) {
                              e.push({ command: Nt.removeSource, args: [t] }), (i[t] = !0);
                         }
                         function Vt(t, e, i, n) {
                              Wt(t, i, n), Bt(t, e, i);
                         }
                         function Ut(e, i, n) {
                              var r;
                              for (r in e[n]) if (e[n].hasOwnProperty(r) && "data" !== r && !t.deepEqual(e[n][r], i[n][r])) return !1;
                              for (r in i[n]) if (i[n].hasOwnProperty(r) && "data" !== r && !t.deepEqual(e[n][r], i[n][r])) return !1;
                              return !0;
                         }
                         function qt(e, i, n, r, o, a) {
                              var s;
                              for (s in ((i = i || {}), (e = e || {}))) e.hasOwnProperty(s) && (t.deepEqual(e[s], i[s]) || n.push({ command: a, args: [r, s, i[s], o] }));
                              for (s in i) i.hasOwnProperty(s) && !e.hasOwnProperty(s) && (t.deepEqual(e[s], i[s]) || n.push({ command: a, args: [r, s, i[s], o] }));
                         }
                         function $t(t) {
                              return t.id;
                         }
                         function Xt(t, e) {
                              return (t[e.id] = e), t;
                         }
                         var Gt = function (t, e) {
                              this.reset(t, e);
                         };
                         (Gt.prototype.reset = function (t, e) {
                              (this.points = t || []), (this._distances = [0]);
                              for (var i = 1; i < this.points.length; i++) this._distances[i] = this._distances[i - 1] + this.points[i].dist(this.points[i - 1]);
                              (this.length = this._distances[this._distances.length - 1]), (this.padding = Math.min(e || 0, 0.5 * this.length)), (this.paddedLength = this.length - 2 * this.padding);
                         }),
                              (Gt.prototype.lerp = function (e) {
                                   if (1 === this.points.length) return this.points[0];
                                   e = t.clamp(e, 0, 1);
                                   for (var i = 1, n = this._distances[i], r = e * this.paddedLength + this.padding; n < r && i < this._distances.length; ) n = this._distances[++i];
                                   var o = i - 1,
                                        a = this._distances[o],
                                        s = n - a,
                                        l = s > 0 ? (r - a) / s : 0;
                                   return this.points[o].mult(1 - l).add(this.points[i].mult(l));
                              });
                         var Zt = function (t, e, i) {
                              var n = (this.boxCells = []),
                                   r = (this.circleCells = []);
                              (this.xCellCount = Math.ceil(t / i)), (this.yCellCount = Math.ceil(e / i));
                              for (var o = 0; o < this.xCellCount * this.yCellCount; o++) n.push([]), r.push([]);
                              (this.circleKeys = []),
                                   (this.boxKeys = []),
                                   (this.bboxes = []),
                                   (this.circles = []),
                                   (this.width = t),
                                   (this.height = e),
                                   (this.xScale = this.xCellCount / t),
                                   (this.yScale = this.yCellCount / e),
                                   (this.boxUid = 0),
                                   (this.circleUid = 0);
                         };
                         function Jt(e, i, n, r, o) {
                              var a = t.create();
                              return i ? (t.scale(a, a, [1 / o, 1 / o, 1]), n || t.rotateZ(a, a, r.angle)) : t.multiply(a, r.labelPlaneMatrix, e), a;
                         }
                         function Kt(e, i, n, r, o) {
                              if (i) {
                                   var a = t.clone(e);
                                   return t.scale(a, a, [o, o, 1]), n || t.rotateZ(a, a, -r.angle), a;
                              }
                              return r.glCoordMatrix;
                         }
                         function Qt(e, i) {
                              var n = [e.x, e.y, 0, 1];
                              ue(n, n, i);
                              var r = n[3];
                              return { point: new t.Point(n[0] / r, n[1] / r), signedDistanceFromCamera: r };
                         }
                         function te(t, e) {
                              return 0.5 + (t / e) * 0.5;
                         }
                         function ee(t, e) {
                              var i = t[0] / t[3],
                                   n = t[1] / t[3];
                              return i >= -e[0] && i <= e[0] && n >= -e[1] && n <= e[1];
                         }
                         function ie(e, i, n, r, o, a, s, l) {
                              var c = r ? e.textSizeData : e.iconSizeData,
                                   u = t.evaluateSizeForZoom(c, n.transform.zoom),
                                   h = [(256 / n.width) * 2 + 1, (256 / n.height) * 2 + 1],
                                   d = r ? e.text.dynamicLayoutVertexArray : e.icon.dynamicLayoutVertexArray;
                              d.clear();
                              for (var p = e.lineVertexArray, f = r ? e.text.placedSymbolArray : e.icon.placedSymbolArray, m = n.transform.width / n.transform.height, g = !1, v = 0; v < f.length; v++) {
                                   var y = f.get(v);
                                   if (y.hidden || (y.writingMode === t.WritingMode.vertical && !g)) ce(y.numGlyphs, d);
                                   else {
                                        g = !1;
                                        var b = [y.anchorX, y.anchorY, 0, 1];
                                        if ((t.transformMat4(b, b, i), ee(b, h))) {
                                             var _ = te(n.transform.cameraToCenterDistance, b[3]),
                                                  x = t.evaluateSizeForFeature(c, u, y),
                                                  w = s ? x / _ : x * _,
                                                  k = new t.Point(y.anchorX, y.anchorY),
                                                  S = Qt(k, o).point,
                                                  M = {},
                                                  T = oe(y, w, !1, l, i, o, a, e.glyphOffsetArray, p, d, S, k, M, m);
                                             (g = T.useVertical), (T.notEnoughRoom || g || (T.needsFlipping && oe(y, w, !0, l, i, o, a, e.glyphOffsetArray, p, d, S, k, M, m).notEnoughRoom)) && ce(y.numGlyphs, d);
                                        } else ce(y.numGlyphs, d);
                                   }
                              }
                              r ? e.text.dynamicLayoutVertexBuffer.updateData(d) : e.icon.dynamicLayoutVertexBuffer.updateData(d);
                         }
                         function ne(t, e, i, n, r, o, a, s, l, c, u) {
                              var h = s.glyphStartIndex + s.numGlyphs,
                                   d = s.lineStartIndex,
                                   p = s.lineStartIndex + s.lineLength,
                                   f = e.getoffsetX(s.glyphStartIndex),
                                   m = e.getoffsetX(h - 1),
                                   g = se(t * f, i, n, r, o, a, s.segment, d, p, l, c, u);
                              if (!g) return null;
                              var v = se(t * m, i, n, r, o, a, s.segment, d, p, l, c, u);
                              return v ? { first: g, last: v } : null;
                         }
                         function re(e, i, n, r) {
                              return e === t.WritingMode.horizontal && Math.abs(n.y - i.y) > Math.abs(n.x - i.x) * r ? { useVertical: !0 } : (e === t.WritingMode.vertical ? i.y < n.y : i.x > n.x) ? { needsFlipping: !0 } : null;
                         }
                         function oe(e, i, n, r, o, a, s, l, c, u, h, d, p, f) {
                              var m,
                                   g = i / 24,
                                   v = e.lineOffsetX * g,
                                   y = e.lineOffsetY * g;
                              if (e.numGlyphs > 1) {
                                   var b = e.glyphStartIndex + e.numGlyphs,
                                        _ = e.lineStartIndex,
                                        x = e.lineStartIndex + e.lineLength,
                                        w = ne(g, l, v, y, n, h, d, e, c, a, p);
                                   if (!w) return { notEnoughRoom: !0 };
                                   var k = Qt(w.first.point, s).point,
                                        S = Qt(w.last.point, s).point;
                                   if (r && !n) {
                                        var M = re(e.writingMode, k, S, f);
                                        if (M) return M;
                                   }
                                   m = [w.first];
                                   for (var T = e.glyphStartIndex + 1; T < b - 1; T++) m.push(se(g * l.getoffsetX(T), v, y, n, h, d, e.segment, _, x, c, a, p));
                                   m.push(w.last);
                              } else {
                                   if (r && !n) {
                                        var C = Qt(d, o).point,
                                             D = e.lineStartIndex + e.segment + 1,
                                             L = new t.Point(c.getx(D), c.gety(D)),
                                             E = Qt(L, o),
                                             A = E.signedDistanceFromCamera > 0 ? E.point : ae(d, L, C, 1, o),
                                             P = re(e.writingMode, C, A, f);
                                        if (P) return P;
                                   }
                                   var I = se(g * l.getoffsetX(e.glyphStartIndex), v, y, n, h, d, e.segment, e.lineStartIndex, e.lineStartIndex + e.lineLength, c, a, p);
                                   if (!I) return { notEnoughRoom: !0 };
                                   m = [I];
                              }
                              for (var O = 0, Y = m; O < Y.length; O += 1) {
                                   var z = Y[O];
                                   t.addDynamicAttributes(u, z.point, z.angle);
                              }
                              return {};
                         }
                         function ae(t, e, i, n, r) {
                              var o = Qt(t.add(t.sub(e)._unit()), r).point,
                                   a = i.sub(o);
                              return i.add(a._mult(n / a.mag()));
                         }
                         function se(e, i, n, r, o, a, s, l, c, u, h, d) {
                              var p = r ? e - i : e + i,
                                   f = p > 0 ? 1 : -1,
                                   m = 0;
                              r && ((f *= -1), (m = Math.PI)), f < 0 && (m += Math.PI);
                              for (var g = f > 0 ? l + s : l + s + 1, v = o, y = o, b = 0, _ = 0, x = Math.abs(p), w = []; b + _ <= x; ) {
                                   if ((g += f) < l || g >= c) return null;
                                   if (((y = v), w.push(v), void 0 === (v = d[g]))) {
                                        var k = new t.Point(u.getx(g), u.gety(g)),
                                             S = Qt(k, h);
                                        if (S.signedDistanceFromCamera > 0) v = d[g] = S.point;
                                        else {
                                             var M = g - f;
                                             v = ae(0 === b ? a : new t.Point(u.getx(M), u.gety(M)), k, y, x - b + 1, h);
                                        }
                                   }
                                   (b += _), (_ = y.dist(v));
                              }
                              var T = (x - b) / _,
                                   C = v.sub(y),
                                   D = C.mult(T)._add(y);
                              D._add(
                                   C._unit()
                                        ._perp()
                                        ._mult(n * f)
                              );
                              var L = m + Math.atan2(v.y - y.y, v.x - y.x);
                              return w.push(D), { point: D, angle: L, path: w };
                         }
                         (Zt.prototype.keysLength = function () {
                              return this.boxKeys.length + this.circleKeys.length;
                         }),
                              (Zt.prototype.insert = function (t, e, i, n, r) {
                                   this._forEachCell(e, i, n, r, this._insertBoxCell, this.boxUid++), this.boxKeys.push(t), this.bboxes.push(e), this.bboxes.push(i), this.bboxes.push(n), this.bboxes.push(r);
                              }),
                              (Zt.prototype.insertCircle = function (t, e, i, n) {
                                   this._forEachCell(e - n, i - n, e + n, i + n, this._insertCircleCell, this.circleUid++), this.circleKeys.push(t), this.circles.push(e), this.circles.push(i), this.circles.push(n);
                              }),
                              (Zt.prototype._insertBoxCell = function (t, e, i, n, r, o) {
                                   this.boxCells[r].push(o);
                              }),
                              (Zt.prototype._insertCircleCell = function (t, e, i, n, r, o) {
                                   this.circleCells[r].push(o);
                              }),
                              (Zt.prototype._query = function (t, e, i, n, r, o) {
                                   if (i < 0 || t > this.width || n < 0 || e > this.height) return !r && [];
                                   var a = [];
                                   if (t <= 0 && e <= 0 && this.width <= i && this.height <= n) {
                                        if (r) return !0;
                                        for (var s = 0; s < this.boxKeys.length; s++) a.push({ key: this.boxKeys[s], x1: this.bboxes[4 * s], y1: this.bboxes[4 * s + 1], x2: this.bboxes[4 * s + 2], y2: this.bboxes[4 * s + 3] });
                                        for (var l = 0; l < this.circleKeys.length; l++) {
                                             var c = this.circles[3 * l],
                                                  u = this.circles[3 * l + 1],
                                                  h = this.circles[3 * l + 2];
                                             a.push({ key: this.circleKeys[l], x1: c - h, y1: u - h, x2: c + h, y2: u + h });
                                        }
                                        return o ? a.filter(o) : a;
                                   }
                                   return this._forEachCell(t, e, i, n, this._queryCell, a, { hitTest: r, seenUids: { box: {}, circle: {} } }, o), r ? a.length > 0 : a;
                              }),
                              (Zt.prototype._queryCircle = function (t, e, i, n, r) {
                                   var o = t - i,
                                        a = t + i,
                                        s = e - i,
                                        l = e + i;
                                   if (a < 0 || o > this.width || l < 0 || s > this.height) return !n && [];
                                   var c = [];
                                   return this._forEachCell(o, s, a, l, this._queryCellCircle, c, { hitTest: n, circle: { x: t, y: e, radius: i }, seenUids: { box: {}, circle: {} } }, r), n ? c.length > 0 : c;
                              }),
                              (Zt.prototype.query = function (t, e, i, n, r) {
                                   return this._query(t, e, i, n, !1, r);
                              }),
                              (Zt.prototype.hitTest = function (t, e, i, n, r) {
                                   return this._query(t, e, i, n, !0, r);
                              }),
                              (Zt.prototype.hitTestCircle = function (t, e, i, n) {
                                   return this._queryCircle(t, e, i, !0, n);
                              }),
                              (Zt.prototype._queryCell = function (t, e, i, n, r, o, a, s) {
                                   var l = a.seenUids,
                                        c = this.boxCells[r];
                                   if (null !== c)
                                        for (var u = this.bboxes, h = 0, d = c; h < d.length; h += 1) {
                                             var p = d[h];
                                             if (!l.box[p]) {
                                                  l.box[p] = !0;
                                                  var f = 4 * p;
                                                  if (t <= u[f + 2] && e <= u[f + 3] && i >= u[f + 0] && n >= u[f + 1] && (!s || s(this.boxKeys[p]))) {
                                                       if (a.hitTest) return o.push(!0), !0;
                                                       o.push({ key: this.boxKeys[p], x1: u[f], y1: u[f + 1], x2: u[f + 2], y2: u[f + 3] });
                                                  }
                                             }
                                        }
                                   var m = this.circleCells[r];
                                   if (null !== m)
                                        for (var g = this.circles, v = 0, y = m; v < y.length; v += 1) {
                                             var b = y[v];
                                             if (!l.circle[b]) {
                                                  l.circle[b] = !0;
                                                  var _ = 3 * b;
                                                  if (this._circleAndRectCollide(g[_], g[_ + 1], g[_ + 2], t, e, i, n) && (!s || s(this.circleKeys[b]))) {
                                                       if (a.hitTest) return o.push(!0), !0;
                                                       var x = g[_],
                                                            w = g[_ + 1],
                                                            k = g[_ + 2];
                                                       o.push({ key: this.circleKeys[b], x1: x - k, y1: w - k, x2: x + k, y2: w + k });
                                                  }
                                             }
                                        }
                              }),
                              (Zt.prototype._queryCellCircle = function (t, e, i, n, r, o, a, s) {
                                   var l = a.circle,
                                        c = a.seenUids,
                                        u = this.boxCells[r];
                                   if (null !== u)
                                        for (var h = this.bboxes, d = 0, p = u; d < p.length; d += 1) {
                                             var f = p[d];
                                             if (!c.box[f]) {
                                                  c.box[f] = !0;
                                                  var m = 4 * f;
                                                  if (this._circleAndRectCollide(l.x, l.y, l.radius, h[m + 0], h[m + 1], h[m + 2], h[m + 3]) && (!s || s(this.boxKeys[f]))) return o.push(!0), !0;
                                             }
                                        }
                                   var g = this.circleCells[r];
                                   if (null !== g)
                                        for (var v = this.circles, y = 0, b = g; y < b.length; y += 1) {
                                             var _ = b[y];
                                             if (!c.circle[_]) {
                                                  c.circle[_] = !0;
                                                  var x = 3 * _;
                                                  if (this._circlesCollide(v[x], v[x + 1], v[x + 2], l.x, l.y, l.radius) && (!s || s(this.circleKeys[_]))) return o.push(!0), !0;
                                             }
                                        }
                              }),
                              (Zt.prototype._forEachCell = function (t, e, i, n, r, o, a, s) {
                                   for (var l = this._convertToXCellCoord(t), c = this._convertToYCellCoord(e), u = this._convertToXCellCoord(i), h = this._convertToYCellCoord(n), d = l; d <= u; d++)
                                        for (var p = c; p <= h; p++) if (r.call(this, t, e, i, n, this.xCellCount * p + d, o, a, s)) return;
                              }),
                              (Zt.prototype._convertToXCellCoord = function (t) {
                                   return Math.max(0, Math.min(this.xCellCount - 1, Math.floor(t * this.xScale)));
                              }),
                              (Zt.prototype._convertToYCellCoord = function (t) {
                                   return Math.max(0, Math.min(this.yCellCount - 1, Math.floor(t * this.yScale)));
                              }),
                              (Zt.prototype._circlesCollide = function (t, e, i, n, r, o) {
                                   var a = n - t,
                                        s = r - e,
                                        l = i + o;
                                   return l * l > a * a + s * s;
                              }),
                              (Zt.prototype._circleAndRectCollide = function (t, e, i, n, r, o, a) {
                                   var s = (o - n) / 2,
                                        l = Math.abs(t - (n + s));
                                   if (l > s + i) return !1;
                                   var c = (a - r) / 2,
                                        u = Math.abs(e - (r + c));
                                   if (u > c + i) return !1;
                                   if (l <= s || u <= c) return !0;
                                   var h = l - s,
                                        d = u - c;
                                   return h * h + d * d <= i * i;
                              });
                         var le = new Float32Array([-1 / 0, -1 / 0, 0, -1 / 0, -1 / 0, 0, -1 / 0, -1 / 0, 0, -1 / 0, -1 / 0, 0]);
                         function ce(t, e) {
                              for (var i = 0; i < t; i++) {
                                   var n = e.length;
                                   e.resize(n + 4), e.float32.set(le, 3 * n);
                              }
                         }
                         function ue(t, e, i) {
                              var n = e[0],
                                   r = e[1];
                              return (t[0] = i[0] * n + i[4] * r + i[12]), (t[1] = i[1] * n + i[5] * r + i[13]), (t[3] = i[3] * n + i[7] * r + i[15]), t;
                         }
                         var he = function (t, e, i) {
                              void 0 === e && (e = new Zt(t.width + 200, t.height + 200, 25)),
                                   void 0 === i && (i = new Zt(t.width + 200, t.height + 200, 25)),
                                   (this.transform = t),
                                   (this.grid = e),
                                   (this.ignoredGrid = i),
                                   (this.pitchfactor = Math.cos(t._pitch) * t.cameraToCenterDistance),
                                   (this.screenRightBoundary = t.width + 100),
                                   (this.screenBottomBoundary = t.height + 100),
                                   (this.gridRightBoundary = t.width + 200),
                                   (this.gridBottomBoundary = t.height + 200);
                         };
                         function de(e, i, n) {
                              return i * (t.EXTENT / (e.tileSize * Math.pow(2, n - e.tileID.overscaledZ)));
                         }
                         (he.prototype.placeCollisionBox = function (t, e, i, n, r) {
                              var o = this.projectAndGetPerspectiveRatio(n, t.anchorPointX, t.anchorPointY),
                                   a = i * o.perspectiveRatio,
                                   s = t.x1 * a + o.point.x,
                                   l = t.y1 * a + o.point.y,
                                   c = t.x2 * a + o.point.x,
                                   u = t.y2 * a + o.point.y;
                              return !this.isInsideGrid(s, l, c, u) || (!e && this.grid.hitTest(s, l, c, u, r)) ? { box: [], offscreen: !1 } : { box: [s, l, c, u], offscreen: this.isOffscreen(s, l, c, u) };
                         }),
                              (he.prototype.placeCollisionCircles = function (e, i, n, r, o, a, s, l, c, u, h, d, p) {
                                   var f = [],
                                        m = new t.Point(i.anchorX, i.anchorY),
                                        g = Qt(m, a),
                                        v = te(this.transform.cameraToCenterDistance, g.signedDistanceFromCamera),
                                        y = (u ? o / v : o * v) / t.ONE_EM,
                                        b = Qt(m, s).point,
                                        _ = ne(y, r, i.lineOffsetX * y, i.lineOffsetY * y, !1, b, m, i, n, s, {}),
                                        x = !1,
                                        w = !1,
                                        k = !0;
                                   if (_) {
                                        for (
                                             var S = 0.5 * d * v + p, M = new t.Point(-100, -100), T = new t.Point(this.screenRightBoundary, this.screenBottomBoundary), C = new Gt(), D = _.first, L = _.last, E = [], A = D.path.length - 1;
                                             A >= 1;
                                             A--
                                        )
                                             E.push(D.path[A]);
                                        for (var P = 1; P < L.path.length; P++) E.push(L.path[P]);
                                        var I = 2.5 * S;
                                        if (l) {
                                             var O = E.map(function (t) {
                                                  return Qt(t, l);
                                             });
                                             E = O.some(function (t) {
                                                  return t.signedDistanceFromCamera <= 0;
                                             })
                                                  ? []
                                                  : O.map(function (t) {
                                                         return t.point;
                                                    });
                                        }
                                        var Y = [];
                                        if (E.length > 0) {
                                             for (var z = E[0].clone(), R = E[0].clone(), F = 1; F < E.length; F++) (z.x = Math.min(z.x, E[F].x)), (z.y = Math.min(z.y, E[F].y)), (R.x = Math.max(R.x, E[F].x)), (R.y = Math.max(R.y, E[F].y));
                                             Y = z.x >= M.x && R.x <= T.x && z.y >= M.y && R.y <= T.y ? [E] : R.x < M.x || z.x > T.x || R.y < M.y || z.y > T.y ? [] : t.clipLine([E], M.x, M.y, T.x, T.y);
                                        }
                                        for (var H = 0, j = Y; H < j.length; H += 1) {
                                             var N;
                                             C.reset(j[H], 0.25 * S), (N = C.length <= 0.5 * S ? 1 : Math.ceil(C.paddedLength / I) + 1);
                                             for (var B = 0; B < N; B++) {
                                                  var W = B / Math.max(N - 1, 1),
                                                       V = C.lerp(W),
                                                       U = V.x + 100,
                                                       q = V.y + 100;
                                                  f.push(U, q, S, 0);
                                                  var $ = U - S,
                                                       X = q - S,
                                                       G = U + S,
                                                       Z = q + S;
                                                  if (((k = k && this.isOffscreen($, X, G, Z)), (w = w || this.isInsideGrid($, X, G, Z)), !e && this.grid.hitTestCircle(U, q, S, h) && ((x = !0), !c)))
                                                       return { circles: [], offscreen: !1, collisionDetected: x };
                                             }
                                        }
                                   }
                                   return { circles: (!c && x) || !w ? [] : f, offscreen: k, collisionDetected: x };
                              }),
                              (he.prototype.queryRenderedSymbols = function (e) {
                                   if (0 === e.length || (0 === this.grid.keysLength() && 0 === this.ignoredGrid.keysLength())) return {};
                                   for (var i = [], n = 1 / 0, r = 1 / 0, o = -1 / 0, a = -1 / 0, s = 0, l = e; s < l.length; s += 1) {
                                        var c = l[s],
                                             u = new t.Point(c.x + 100, c.y + 100);
                                        (n = Math.min(n, u.x)), (r = Math.min(r, u.y)), (o = Math.max(o, u.x)), (a = Math.max(a, u.y)), i.push(u);
                                   }
                                   for (var h = {}, d = {}, p = 0, f = this.grid.query(n, r, o, a).concat(this.ignoredGrid.query(n, r, o, a)); p < f.length; p += 1) {
                                        var m = f[p],
                                             g = m.key;
                                        if ((void 0 === h[g.bucketInstanceId] && (h[g.bucketInstanceId] = {}), !h[g.bucketInstanceId][g.featureIndex])) {
                                             var v = [new t.Point(m.x1, m.y1), new t.Point(m.x2, m.y1), new t.Point(m.x2, m.y2), new t.Point(m.x1, m.y2)];
                                             t.polygonIntersectsPolygon(i, v) && ((h[g.bucketInstanceId][g.featureIndex] = !0), void 0 === d[g.bucketInstanceId] && (d[g.bucketInstanceId] = []), d[g.bucketInstanceId].push(g.featureIndex));
                                        }
                                   }
                                   return d;
                              }),
                              (he.prototype.insertCollisionBox = function (t, e, i, n, r) {
                                   (e ? this.ignoredGrid : this.grid).insert({ bucketInstanceId: i, featureIndex: n, collisionGroupID: r }, t[0], t[1], t[2], t[3]);
                              }),
                              (he.prototype.insertCollisionCircles = function (t, e, i, n, r) {
                                   for (var o = e ? this.ignoredGrid : this.grid, a = { bucketInstanceId: i, featureIndex: n, collisionGroupID: r }, s = 0; s < t.length; s += 4) o.insertCircle(a, t[s], t[s + 1], t[s + 2]);
                              }),
                              (he.prototype.projectAndGetPerspectiveRatio = function (e, i, n) {
                                   var r = [i, n, 0, 1];
                                   return (
                                        ue(r, r, e),
                                        {
                                             point: new t.Point(((r[0] / r[3] + 1) / 2) * this.transform.width + 100, ((-r[1] / r[3] + 1) / 2) * this.transform.height + 100),
                                             perspectiveRatio: 0.5 + (this.transform.cameraToCenterDistance / r[3]) * 0.5,
                                        }
                                   );
                              }),
                              (he.prototype.isOffscreen = function (t, e, i, n) {
                                   return i < 100 || t >= this.screenRightBoundary || n < 100 || e > this.screenBottomBoundary;
                              }),
                              (he.prototype.isInsideGrid = function (t, e, i, n) {
                                   return i >= 0 && t < this.gridRightBoundary && n >= 0 && e < this.gridBottomBoundary;
                              }),
                              (he.prototype.getViewportMatrix = function () {
                                   var e = t.identity([]);
                                   return t.translate(e, e, [-100, -100, 0]), e;
                              });
                         var pe = function (t, e, i, n) {
                              (this.opacity = t ? Math.max(0, Math.min(1, t.opacity + (t.placed ? e : -e))) : n && i ? 1 : 0), (this.placed = i);
                         };
                         pe.prototype.isHidden = function () {
                              return 0 === this.opacity && !this.placed;
                         };
                         var fe = function (t, e, i, n, r) {
                              (this.text = new pe(t ? t.text : null, e, i, r)), (this.icon = new pe(t ? t.icon : null, e, n, r));
                         };
                         fe.prototype.isHidden = function () {
                              return this.text.isHidden() && this.icon.isHidden();
                         };
                         var me = function (t, e, i) {
                                   (this.text = t), (this.icon = e), (this.skipFade = i);
                              },
                              ge = function () {
                                   (this.invProjMatrix = t.create()), (this.viewportMatrix = t.create()), (this.circles = []);
                              },
                              ve = function (t, e, i, n, r) {
                                   (this.bucketInstanceId = t), (this.featureIndex = e), (this.sourceLayerIndex = i), (this.bucketIndex = n), (this.tileID = r);
                              },
                              ye = function (t) {
                                   (this.crossSourceCollisions = t), (this.maxGroupID = 0), (this.collisionGroups = {});
                              };
                         function be(e, i, n, r, o) {
                              var a = t.getAnchorAlignment(e),
                                   s = -(a.horizontalAlign - 0.5) * i,
                                   l = -(a.verticalAlign - 0.5) * n,
                                   c = t.evaluateVariableOffset(e, r);
                              return new t.Point(s + c[0] * o, l + c[1] * o);
                         }
                         function _e(e, i, n, r, o, a) {
                              var s = e.x1,
                                   l = e.x2,
                                   c = e.y1,
                                   u = e.y2,
                                   h = e.anchorPointX,
                                   d = e.anchorPointY,
                                   p = new t.Point(i, n);
                              return r && p._rotate(o ? a : -a), { x1: s + p.x, y1: c + p.y, x2: l + p.x, y2: u + p.y, anchorPointX: h, anchorPointY: d };
                         }
                         ye.prototype.get = function (t) {
                              if (this.crossSourceCollisions) return { ID: 0, predicate: null };
                              if (!this.collisionGroups[t]) {
                                   var e = ++this.maxGroupID;
                                   this.collisionGroups[t] = {
                                        ID: e,
                                        predicate: function (t) {
                                             return t.collisionGroupID === e;
                                        },
                                   };
                              }
                              return this.collisionGroups[t];
                         };
                         var xe = function (t, e, i, n) {
                              (this.transform = t.clone()),
                                   (this.collisionIndex = new he(this.transform)),
                                   (this.placements = {}),
                                   (this.opacities = {}),
                                   (this.variableOffsets = {}),
                                   (this.stale = !1),
                                   (this.commitTime = 0),
                                   (this.fadeDuration = e),
                                   (this.retainedQueryData = {}),
                                   (this.collisionGroups = new ye(i)),
                                   (this.collisionCircleArrays = {}),
                                   (this.prevPlacement = n),
                                   n && (n.prevPlacement = void 0),
                                   (this.placedOrientations = {});
                         };
                         function we(t, e, i, n, r) {
                              t.emplaceBack(e ? 1 : 0, i ? 1 : 0, n || 0, r || 0),
                                   t.emplaceBack(e ? 1 : 0, i ? 1 : 0, n || 0, r || 0),
                                   t.emplaceBack(e ? 1 : 0, i ? 1 : 0, n || 0, r || 0),
                                   t.emplaceBack(e ? 1 : 0, i ? 1 : 0, n || 0, r || 0);
                         }
                         (xe.prototype.getBucketParts = function (e, i, n, r) {
                              var o = n.getBucket(i),
                                   a = n.latestFeatureIndex;
                              if (o && a && i.id === o.layerIds[0]) {
                                   var s = n.collisionBoxArray,
                                        l = o.layers[0].layout,
                                        c = Math.pow(2, this.transform.zoom - n.tileID.overscaledZ),
                                        u = n.tileSize / t.EXTENT,
                                        h = this.transform.calculatePosMatrix(n.tileID.toUnwrapped()),
                                        d = "map" === l.get("text-pitch-alignment"),
                                        p = "map" === l.get("text-rotation-alignment"),
                                        f = de(n, 1, this.transform.zoom),
                                        m = Jt(h, d, p, this.transform, f),
                                        g = null;
                                   if (d) {
                                        var v = Kt(h, d, p, this.transform, f);
                                        g = t.multiply([], this.transform.labelPlaneMatrix, v);
                                   }
                                   this.retainedQueryData[o.bucketInstanceId] = new ve(o.bucketInstanceId, a, o.sourceLayerIndex, o.index, n.tileID);
                                   var y = {
                                        bucket: o,
                                        layout: l,
                                        posMatrix: h,
                                        textLabelPlaneMatrix: m,
                                        labelToScreenMatrix: g,
                                        scale: c,
                                        textPixelRatio: u,
                                        holdingForFade: n.holdingForFade(),
                                        collisionBoxArray: s,
                                        partiallyEvaluatedTextSize: t.evaluateSizeForZoom(o.textSizeData, this.transform.zoom),
                                        collisionGroup: this.collisionGroups.get(o.sourceID),
                                   };
                                   if (r)
                                        for (var b = 0, _ = o.sortKeyRanges; b < _.length; b += 1) {
                                             var x = _[b];
                                             e.push({ sortKey: x.sortKey, symbolInstanceStart: x.symbolInstanceStart, symbolInstanceEnd: x.symbolInstanceEnd, parameters: y });
                                        }
                                   else e.push({ symbolInstanceStart: 0, symbolInstanceEnd: o.symbolInstances.length, parameters: y });
                              }
                         }),
                              (xe.prototype.attemptAnchorPlacement = function (t, e, i, n, r, o, a, s, l, c, u, h, d, p, f) {
                                   var m,
                                        g = [h.textOffset0, h.textOffset1],
                                        v = be(t, i, n, g, r),
                                        y = this.collisionIndex.placeCollisionBox(_e(e, v.x, v.y, o, a, this.transform.angle), u, s, l, c.predicate);
                                   if (!f || 0 !== this.collisionIndex.placeCollisionBox(_e(f, v.x, v.y, o, a, this.transform.angle), u, s, l, c.predicate).box.length)
                                        return y.box.length > 0
                                             ? (this.prevPlacement &&
                                                    this.prevPlacement.variableOffsets[h.crossTileID] &&
                                                    this.prevPlacement.placements[h.crossTileID] &&
                                                    this.prevPlacement.placements[h.crossTileID].text &&
                                                    (m = this.prevPlacement.variableOffsets[h.crossTileID].anchor),
                                               (this.variableOffsets[h.crossTileID] = { textOffset: g, width: i, height: n, anchor: t, textBoxScale: r, prevAnchor: m }),
                                               this.markUsedJustification(d, t, h, p),
                                               d.allowVerticalPlacement && (this.markUsedOrientation(d, p, h), (this.placedOrientations[h.crossTileID] = p)),
                                               { shift: v, placedGlyphBoxes: y })
                                             : void 0;
                              }),
                              (xe.prototype.placeLayerBucketPart = function (e, i, n) {
                                   var r = this,
                                        o = e.parameters,
                                        a = o.bucket,
                                        s = o.layout,
                                        l = o.posMatrix,
                                        c = o.textLabelPlaneMatrix,
                                        u = o.labelToScreenMatrix,
                                        h = o.textPixelRatio,
                                        d = o.holdingForFade,
                                        p = o.collisionBoxArray,
                                        f = o.partiallyEvaluatedTextSize,
                                        m = o.collisionGroup,
                                        g = s.get("text-optional"),
                                        v = s.get("icon-optional"),
                                        y = s.get("text-allow-overlap"),
                                        b = s.get("icon-allow-overlap"),
                                        _ = "map" === s.get("text-rotation-alignment"),
                                        x = "map" === s.get("text-pitch-alignment"),
                                        w = "none" !== s.get("icon-text-fit"),
                                        k = "viewport-y" === s.get("symbol-z-order"),
                                        S = y && (b || !a.hasIconData() || v),
                                        M = b && (y || !a.hasTextData() || g);
                                   !a.collisionArrays && p && a.deserializeCollisionBoxes(p);
                                   var T = function (e, o) {
                                        if (!i[e.crossTileID])
                                             if (d) r.placements[e.crossTileID] = new me(!1, !1, !1);
                                             else {
                                                  var p,
                                                       k = !1,
                                                       T = !1,
                                                       C = !0,
                                                       D = null,
                                                       L = { box: null, offscreen: null },
                                                       E = { box: null, offscreen: null },
                                                       A = null,
                                                       P = null,
                                                       I = 0,
                                                       O = 0,
                                                       Y = 0;
                                                  o.textFeatureIndex ? (I = o.textFeatureIndex) : e.useRuntimeCollisionCircles && (I = e.featureIndex), o.verticalTextFeatureIndex && (O = o.verticalTextFeatureIndex);
                                                  var z = o.textBox;
                                                  if (z) {
                                                       var R = function (i) {
                                                                 var n = t.WritingMode.horizontal;
                                                                 if (a.allowVerticalPlacement && !i && r.prevPlacement) {
                                                                      var o = r.prevPlacement.placedOrientations[e.crossTileID];
                                                                      o && ((r.placedOrientations[e.crossTileID] = o), r.markUsedOrientation(a, (n = o), e));
                                                                 }
                                                                 return n;
                                                            },
                                                            F = function (i, n) {
                                                                 if (a.allowVerticalPlacement && e.numVerticalGlyphVertices > 0 && o.verticalTextBox)
                                                                      for (var r = 0, s = a.writingModes; r < s.length && (s[r] === t.WritingMode.vertical ? ((L = n()), (E = L)) : (L = i()), !(L && L.box && L.box.length)); r += 1);
                                                                 else L = i();
                                                            };
                                                       if (s.get("text-variable-anchor")) {
                                                            var H = s.get("text-variable-anchor");
                                                            if (r.prevPlacement && r.prevPlacement.variableOffsets[e.crossTileID]) {
                                                                 var j = r.prevPlacement.variableOffsets[e.crossTileID];
                                                                 H.indexOf(j.anchor) > 0 &&
                                                                      (H = H.filter(function (t) {
                                                                           return t !== j.anchor;
                                                                      })).unshift(j.anchor);
                                                            }
                                                            var N = function (t, i, n) {
                                                                 for (var o = t.x2 - t.x1, s = t.y2 - t.y1, c = e.textBoxScale, u = w && !b ? i : null, d = { box: [], offscreen: !1 }, p = y ? 2 * H.length : H.length, f = 0; f < p; ++f) {
                                                                      var g = r.attemptAnchorPlacement(H[f % H.length], t, o, s, c, _, x, h, l, m, f >= H.length, e, a, n, u);
                                                                      if (g && (d = g.placedGlyphBoxes) && d.box && d.box.length) {
                                                                           (k = !0), (D = g.shift);
                                                                           break;
                                                                      }
                                                                 }
                                                                 return d;
                                                            };
                                                            F(
                                                                 function () {
                                                                      return N(z, o.iconBox, t.WritingMode.horizontal);
                                                                 },
                                                                 function () {
                                                                      var i = o.verticalTextBox;
                                                                      return a.allowVerticalPlacement && !(L && L.box && L.box.length) && e.numVerticalGlyphVertices > 0 && i
                                                                           ? N(i, o.verticalIconBox, t.WritingMode.vertical)
                                                                           : { box: null, offscreen: null };
                                                                 }
                                                            ),
                                                                 L && ((k = L.box), (C = L.offscreen));
                                                            var B = R(L && L.box);
                                                            if (!k && r.prevPlacement) {
                                                                 var W = r.prevPlacement.variableOffsets[e.crossTileID];
                                                                 W && ((r.variableOffsets[e.crossTileID] = W), r.markUsedJustification(a, W.anchor, e, B));
                                                            }
                                                       } else {
                                                            var V = function (t, i) {
                                                                 var n = r.collisionIndex.placeCollisionBox(t, y, h, l, m.predicate);
                                                                 return n && n.box && n.box.length && (r.markUsedOrientation(a, i, e), (r.placedOrientations[e.crossTileID] = i)), n;
                                                            };
                                                            F(
                                                                 function () {
                                                                      return V(z, t.WritingMode.horizontal);
                                                                 },
                                                                 function () {
                                                                      var i = o.verticalTextBox;
                                                                      return a.allowVerticalPlacement && e.numVerticalGlyphVertices > 0 && i ? V(i, t.WritingMode.vertical) : { box: null, offscreen: null };
                                                                 }
                                                            ),
                                                                 R(L && L.box && L.box.length);
                                                       }
                                                  }
                                                  if (((k = (p = L) && p.box && p.box.length > 0), (C = p && p.offscreen), e.useRuntimeCollisionCircles)) {
                                                       var U = a.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),
                                                            q = t.evaluateSizeForFeature(a.textSizeData, f, U),
                                                            $ = s.get("text-padding");
                                                       (A = r.collisionIndex.placeCollisionCircles(y, U, a.lineVertexArray, a.glyphOffsetArray, q, l, c, u, n, x, m.predicate, e.collisionCircleDiameter, $)),
                                                            (k = y || (A.circles.length > 0 && !A.collisionDetected)),
                                                            (C = C && A.offscreen);
                                                  }
                                                  if ((o.iconFeatureIndex && (Y = o.iconFeatureIndex), o.iconBox)) {
                                                       var X = function (t) {
                                                            var e = w && D ? _e(t, D.x, D.y, _, x, r.transform.angle) : t;
                                                            return r.collisionIndex.placeCollisionBox(e, b, h, l, m.predicate);
                                                       };
                                                       (T = E && E.box && E.box.length && o.verticalIconBox ? (P = X(o.verticalIconBox)).box.length > 0 : (P = X(o.iconBox)).box.length > 0), (C = C && P.offscreen);
                                                  }
                                                  var G = g || (0 === e.numHorizontalGlyphVertices && 0 === e.numVerticalGlyphVertices),
                                                       Z = v || 0 === e.numIconVertices;
                                                  if (
                                                       (G || Z ? (Z ? G || (T = T && k) : (k = T && k)) : (T = k = T && k),
                                                       k && p && p.box && r.collisionIndex.insertCollisionBox(p.box, s.get("text-ignore-placement"), a.bucketInstanceId, E && E.box && O ? O : I, m.ID),
                                                       T && P && r.collisionIndex.insertCollisionBox(P.box, s.get("icon-ignore-placement"), a.bucketInstanceId, Y, m.ID),
                                                       A && (k && r.collisionIndex.insertCollisionCircles(A.circles, s.get("text-ignore-placement"), a.bucketInstanceId, I, m.ID), n))
                                                  ) {
                                                       var J = a.bucketInstanceId,
                                                            K = r.collisionCircleArrays[J];
                                                       void 0 === K && (K = r.collisionCircleArrays[J] = new ge());
                                                       for (var Q = 0; Q < A.circles.length; Q += 4)
                                                            K.circles.push(A.circles[Q + 0]), K.circles.push(A.circles[Q + 1]), K.circles.push(A.circles[Q + 2]), K.circles.push(A.collisionDetected ? 1 : 0);
                                                  }
                                                  (r.placements[e.crossTileID] = new me(k || S, T || M, C || a.justReloaded)), (i[e.crossTileID] = !0);
                                             }
                                   };
                                   if (k)
                                        for (var C = a.getSortedSymbolIndexes(this.transform.angle), D = C.length - 1; D >= 0; --D) {
                                             var L = C[D];
                                             T(a.symbolInstances.get(L), a.collisionArrays[L]);
                                        }
                                   else for (var E = e.symbolInstanceStart; E < e.symbolInstanceEnd; E++) T(a.symbolInstances.get(E), a.collisionArrays[E]);
                                   if (n && a.bucketInstanceId in this.collisionCircleArrays) {
                                        var A = this.collisionCircleArrays[a.bucketInstanceId];
                                        t.invert(A.invProjMatrix, l), (A.viewportMatrix = this.collisionIndex.getViewportMatrix());
                                   }
                                   a.justReloaded = !1;
                              }),
                              (xe.prototype.markUsedJustification = function (e, i, n, r) {
                                   var o;
                                   o =
                                        r === t.WritingMode.vertical
                                             ? n.verticalPlacedTextSymbolIndex
                                             : { left: n.leftJustifiedTextSymbolIndex, center: n.centerJustifiedTextSymbolIndex, right: n.rightJustifiedTextSymbolIndex }[t.getAnchorJustification(i)];
                                   for (var a = 0, s = [n.leftJustifiedTextSymbolIndex, n.centerJustifiedTextSymbolIndex, n.rightJustifiedTextSymbolIndex, n.verticalPlacedTextSymbolIndex]; a < s.length; a += 1) {
                                        var l = s[a];
                                        l >= 0 && (e.text.placedSymbolArray.get(l).crossTileID = o >= 0 && l !== o ? 0 : n.crossTileID);
                                   }
                              }),
                              (xe.prototype.markUsedOrientation = function (e, i, n) {
                                   for (
                                        var r = i === t.WritingMode.horizontal || i === t.WritingMode.horizontalOnly ? i : 0,
                                             o = i === t.WritingMode.vertical ? i : 0,
                                             a = 0,
                                             s = [n.leftJustifiedTextSymbolIndex, n.centerJustifiedTextSymbolIndex, n.rightJustifiedTextSymbolIndex];
                                        a < s.length;
                                        a += 1
                                   )
                                        e.text.placedSymbolArray.get(s[a]).placedOrientation = r;
                                   n.verticalPlacedTextSymbolIndex && (e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation = o);
                              }),
                              (xe.prototype.commit = function (t) {
                                   (this.commitTime = t), (this.zoomAtLastRecencyCheck = this.transform.zoom);
                                   var e = this.prevPlacement,
                                        i = !1;
                                   this.prevZoomAdjustment = e ? e.zoomAdjustment(this.transform.zoom) : 0;
                                   var n = e ? e.symbolFadeChange(t) : 1,
                                        r = e ? e.opacities : {},
                                        o = e ? e.variableOffsets : {},
                                        a = e ? e.placedOrientations : {};
                                   for (var s in this.placements) {
                                        var l = this.placements[s],
                                             c = r[s];
                                        c
                                             ? ((this.opacities[s] = new fe(c, n, l.text, l.icon)), (i = i || l.text !== c.text.placed || l.icon !== c.icon.placed))
                                             : ((this.opacities[s] = new fe(null, n, l.text, l.icon, l.skipFade)), (i = i || l.text || l.icon));
                                   }
                                   for (var u in r) {
                                        var h = r[u];
                                        if (!this.opacities[u]) {
                                             var d = new fe(h, n, !1, !1);
                                             d.isHidden() || ((this.opacities[u] = d), (i = i || h.text.placed || h.icon.placed));
                                        }
                                   }
                                   for (var p in o) this.variableOffsets[p] || !this.opacities[p] || this.opacities[p].isHidden() || (this.variableOffsets[p] = o[p]);
                                   for (var f in a) this.placedOrientations[f] || !this.opacities[f] || this.opacities[f].isHidden() || (this.placedOrientations[f] = a[f]);
                                   i ? (this.lastPlacementChangeTime = t) : "number" != typeof this.lastPlacementChangeTime && (this.lastPlacementChangeTime = e ? e.lastPlacementChangeTime : t);
                              }),
                              (xe.prototype.updateLayerOpacities = function (t, e) {
                                   for (var i = {}, n = 0, r = e; n < r.length; n += 1) {
                                        var o = r[n],
                                             a = o.getBucket(t);
                                        a && o.latestFeatureIndex && t.id === a.layerIds[0] && this.updateBucketOpacities(a, i, o.collisionBoxArray);
                                   }
                              }),
                              (xe.prototype.updateBucketOpacities = function (e, i, n) {
                                   var r = this;
                                   e.hasTextData() && e.text.opacityVertexArray.clear(),
                                        e.hasIconData() && e.icon.opacityVertexArray.clear(),
                                        e.hasIconCollisionBoxData() && e.iconCollisionBox.collisionVertexArray.clear(),
                                        e.hasTextCollisionBoxData() && e.textCollisionBox.collisionVertexArray.clear();
                                   var o = e.layers[0].layout,
                                        a = new fe(null, 0, !1, !1, !0),
                                        s = o.get("text-allow-overlap"),
                                        l = o.get("icon-allow-overlap"),
                                        c = o.get("text-variable-anchor"),
                                        u = "map" === o.get("text-rotation-alignment"),
                                        h = "map" === o.get("text-pitch-alignment"),
                                        d = "none" !== o.get("icon-text-fit"),
                                        p = new fe(null, 0, s && (l || !e.hasIconData() || o.get("icon-optional")), l && (s || !e.hasTextData() || o.get("text-optional")), !0);
                                   !e.collisionArrays && n && (e.hasIconCollisionBoxData() || e.hasTextCollisionBoxData()) && e.deserializeCollisionBoxes(n);
                                   for (
                                        var f = function (t, e, i) {
                                                  for (var n = 0; n < e / 4; n++) t.opacityVertexArray.emplaceBack(i);
                                             },
                                             m = function (n) {
                                                  var o = e.symbolInstances.get(n),
                                                       s = o.numHorizontalGlyphVertices,
                                                       l = o.numVerticalGlyphVertices,
                                                       m = o.crossTileID,
                                                       g = r.opacities[m];
                                                  i[m] ? (g = a) : g || (r.opacities[m] = g = p), (i[m] = !0);
                                                  var v = o.numIconVertices > 0,
                                                       y = r.placedOrientations[o.crossTileID],
                                                       b = y === t.WritingMode.vertical,
                                                       _ = y === t.WritingMode.horizontal || y === t.WritingMode.horizontalOnly;
                                                  if (s > 0 || l > 0) {
                                                       var x = Ee(g.text);
                                                       f(e.text, s, b ? Ae : x), f(e.text, l, _ ? Ae : x);
                                                       var w = g.text.isHidden();
                                                       [o.rightJustifiedTextSymbolIndex, o.centerJustifiedTextSymbolIndex, o.leftJustifiedTextSymbolIndex].forEach(function (t) {
                                                            t >= 0 && (e.text.placedSymbolArray.get(t).hidden = w || b ? 1 : 0);
                                                       }),
                                                            o.verticalPlacedTextSymbolIndex >= 0 && (e.text.placedSymbolArray.get(o.verticalPlacedTextSymbolIndex).hidden = w || _ ? 1 : 0);
                                                       var k = r.variableOffsets[o.crossTileID];
                                                       k && r.markUsedJustification(e, k.anchor, o, y);
                                                       var S = r.placedOrientations[o.crossTileID];
                                                       S && (r.markUsedJustification(e, "left", o, S), r.markUsedOrientation(e, S, o));
                                                  }
                                                  if (v) {
                                                       var M = Ee(g.icon),
                                                            T = !(d && o.verticalPlacedIconSymbolIndex && b);
                                                       o.placedIconSymbolIndex >= 0 && (f(e.icon, o.numIconVertices, T ? M : Ae), (e.icon.placedSymbolArray.get(o.placedIconSymbolIndex).hidden = g.icon.isHidden())),
                                                            o.verticalPlacedIconSymbolIndex >= 0 &&
                                                                 (f(e.icon, o.numVerticalIconVertices, T ? Ae : M), (e.icon.placedSymbolArray.get(o.verticalPlacedIconSymbolIndex).hidden = g.icon.isHidden()));
                                                  }
                                                  if (e.hasIconCollisionBoxData() || e.hasTextCollisionBoxData()) {
                                                       var C = e.collisionArrays[n];
                                                       if (C) {
                                                            var D = new t.Point(0, 0);
                                                            if (C.textBox || C.verticalTextBox) {
                                                                 var L = !0;
                                                                 if (c) {
                                                                      var E = r.variableOffsets[m];
                                                                      E ? ((D = be(E.anchor, E.width, E.height, E.textOffset, E.textBoxScale)), u && D._rotate(h ? r.transform.angle : -r.transform.angle)) : (L = !1);
                                                                 }
                                                                 C.textBox && we(e.textCollisionBox.collisionVertexArray, g.text.placed, !L || b, D.x, D.y),
                                                                      C.verticalTextBox && we(e.textCollisionBox.collisionVertexArray, g.text.placed, !L || _, D.x, D.y);
                                                            }
                                                            var A = Boolean(!_ && C.verticalIconBox);
                                                            C.iconBox && we(e.iconCollisionBox.collisionVertexArray, g.icon.placed, A, d ? D.x : 0, d ? D.y : 0),
                                                                 C.verticalIconBox && we(e.iconCollisionBox.collisionVertexArray, g.icon.placed, !A, d ? D.x : 0, d ? D.y : 0);
                                                       }
                                                  }
                                             },
                                             g = 0;
                                        g < e.symbolInstances.length;
                                        g++
                                   )
                                        m(g);
                                   if (
                                        (e.sortFeatures(this.transform.angle),
                                        this.retainedQueryData[e.bucketInstanceId] && (this.retainedQueryData[e.bucketInstanceId].featureSortOrder = e.featureSortOrder),
                                        e.hasTextData() && e.text.opacityVertexBuffer && e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),
                                        e.hasIconData() && e.icon.opacityVertexBuffer && e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),
                                        e.hasIconCollisionBoxData() && e.iconCollisionBox.collisionVertexBuffer && e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),
                                        e.hasTextCollisionBoxData() && e.textCollisionBox.collisionVertexBuffer && e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),
                                        e.bucketInstanceId in this.collisionCircleArrays)
                                   ) {
                                        var v = this.collisionCircleArrays[e.bucketInstanceId];
                                        (e.placementInvProjMatrix = v.invProjMatrix), (e.placementViewportMatrix = v.viewportMatrix), (e.collisionCircleArray = v.circles), delete this.collisionCircleArrays[e.bucketInstanceId];
                                   }
                              }),
                              (xe.prototype.symbolFadeChange = function (t) {
                                   return 0 === this.fadeDuration ? 1 : (t - this.commitTime) / this.fadeDuration + this.prevZoomAdjustment;
                              }),
                              (xe.prototype.zoomAdjustment = function (t) {
                                   return Math.max(0, (this.transform.zoom - t) / 1.5);
                              }),
                              (xe.prototype.hasTransitions = function (t) {
                                   return this.stale || t - this.lastPlacementChangeTime < this.fadeDuration;
                              }),
                              (xe.prototype.stillRecent = function (t, e) {
                                   var i = this.zoomAtLastRecencyCheck === e ? 1 - this.zoomAdjustment(e) : 1;
                                   return (this.zoomAtLastRecencyCheck = e), this.commitTime + this.fadeDuration * i > t;
                              }),
                              (xe.prototype.setStale = function () {
                                   this.stale = !0;
                              });
                         var ke = Math.pow(2, 25),
                              Se = Math.pow(2, 24),
                              Me = Math.pow(2, 17),
                              Te = Math.pow(2, 16),
                              Ce = Math.pow(2, 9),
                              De = Math.pow(2, 8),
                              Le = Math.pow(2, 1);
                         function Ee(t) {
                              if (0 === t.opacity && !t.placed) return 0;
                              if (1 === t.opacity && t.placed) return 4294967295;
                              var e = t.placed ? 1 : 0,
                                   i = Math.floor(127 * t.opacity);
                              return i * ke + e * Se + i * Me + e * Te + i * Ce + e * De + i * Le + e;
                         }
                         var Ae = 0,
                              Pe = function (t) {
                                   (this._sortAcrossTiles = "viewport-y" !== t.layout.get("symbol-z-order") && void 0 !== t.layout.get("symbol-sort-key").constantOr(1)),
                                        (this._currentTileIndex = 0),
                                        (this._currentPartIndex = 0),
                                        (this._seenCrossTileIDs = {}),
                                        (this._bucketParts = []);
                              };
                         Pe.prototype.continuePlacement = function (t, e, i, n, r) {
                              for (var o = this._bucketParts; this._currentTileIndex < t.length; ) if ((e.getBucketParts(o, n, t[this._currentTileIndex], this._sortAcrossTiles), this._currentTileIndex++, r())) return !0;
                              for (
                                   this._sortAcrossTiles &&
                                   ((this._sortAcrossTiles = !1),
                                   o.sort(function (t, e) {
                                        return t.sortKey - e.sortKey;
                                   }));
                                   this._currentPartIndex < o.length;

                              )
                                   if ((e.placeLayerBucketPart(o[this._currentPartIndex], this._seenCrossTileIDs, i), this._currentPartIndex++, r())) return !0;
                              return !1;
                         };
                         var Ie = function (t, e, i, n, r, o, a) {
                              (this.placement = new xe(t, r, o, a)), (this._currentPlacementIndex = e.length - 1), (this._forceFullPlacement = i), (this._showCollisionBoxes = n), (this._done = !1);
                         };
                         (Ie.prototype.isDone = function () {
                              return this._done;
                         }),
                              (Ie.prototype.continuePlacement = function (e, i, n) {
                                   for (
                                        var r = this,
                                             o = t.browser.now(),
                                             a = function () {
                                                  var e = t.browser.now() - o;
                                                  return !r._forceFullPlacement && e > 2;
                                             };
                                        this._currentPlacementIndex >= 0;

                                   ) {
                                        var s = i[e[this._currentPlacementIndex]],
                                             l = this.placement.collisionIndex.transform.zoom;
                                        if ("symbol" === s.type && (!s.minzoom || s.minzoom <= l) && (!s.maxzoom || s.maxzoom > l)) {
                                             if ((this._inProgressLayer || (this._inProgressLayer = new Pe(s)), this._inProgressLayer.continuePlacement(n[s.source], this.placement, this._showCollisionBoxes, s, a))) return;
                                             delete this._inProgressLayer;
                                        }
                                        this._currentPlacementIndex--;
                                   }
                                   this._done = !0;
                              }),
                              (Ie.prototype.commit = function (t) {
                                   return this.placement.commit(t), this.placement;
                              });
                         var Oe = 512 / t.EXTENT / 2,
                              Ye = function (t, e, i) {
                                   (this.tileID = t), (this.indexedSymbolInstances = {}), (this.bucketInstanceId = i);
                                   for (var n = 0; n < e.length; n++) {
                                        var r = e.get(n),
                                             o = r.key;
                                        this.indexedSymbolInstances[o] || (this.indexedSymbolInstances[o] = []), this.indexedSymbolInstances[o].push({ crossTileID: r.crossTileID, coord: this.getScaledCoordinates(r, t) });
                                   }
                              };
                         (Ye.prototype.getScaledCoordinates = function (e, i) {
                              var n = Oe / Math.pow(2, i.canonical.z - this.tileID.canonical.z);
                              return { x: Math.floor((i.canonical.x * t.EXTENT + e.anchorX) * n), y: Math.floor((i.canonical.y * t.EXTENT + e.anchorY) * n) };
                         }),
                              (Ye.prototype.findMatches = function (t, e, i) {
                                   for (var n = this.tileID.canonical.z < e.canonical.z ? 1 : Math.pow(2, this.tileID.canonical.z - e.canonical.z), r = 0; r < t.length; r++) {
                                        var o = t.get(r);
                                        if (!o.crossTileID) {
                                             var a = this.indexedSymbolInstances[o.key];
                                             if (a)
                                                  for (var s = this.getScaledCoordinates(o, e), l = 0, c = a; l < c.length; l += 1) {
                                                       var u = c[l];
                                                       if (Math.abs(u.coord.x - s.x) <= n && Math.abs(u.coord.y - s.y) <= n && !i[u.crossTileID]) {
                                                            (i[u.crossTileID] = !0), (o.crossTileID = u.crossTileID);
                                                            break;
                                                       }
                                                  }
                                        }
                                   }
                              });
                         var ze = function () {
                              this.maxCrossTileID = 0;
                         };
                         ze.prototype.generate = function () {
                              return ++this.maxCrossTileID;
                         };
                         var Re = function () {
                              (this.indexes = {}), (this.usedCrossTileIDs = {}), (this.lng = 0);
                         };
                         (Re.prototype.handleWrapJump = function (t) {
                              var e = Math.round((t - this.lng) / 360);
                              if (0 !== e)
                                   for (var i in this.indexes) {
                                        var n = this.indexes[i],
                                             r = {};
                                        for (var o in n) {
                                             var a = n[o];
                                             (a.tileID = a.tileID.unwrapTo(a.tileID.wrap + e)), (r[a.tileID.key] = a);
                                        }
                                        this.indexes[i] = r;
                                   }
                              this.lng = t;
                         }),
                              (Re.prototype.addBucket = function (t, e, i) {
                                   if (this.indexes[t.overscaledZ] && this.indexes[t.overscaledZ][t.key]) {
                                        if (this.indexes[t.overscaledZ][t.key].bucketInstanceId === e.bucketInstanceId) return !1;
                                        this.removeBucketCrossTileIDs(t.overscaledZ, this.indexes[t.overscaledZ][t.key]);
                                   }
                                   for (var n = 0; n < e.symbolInstances.length; n++) e.symbolInstances.get(n).crossTileID = 0;
                                   this.usedCrossTileIDs[t.overscaledZ] || (this.usedCrossTileIDs[t.overscaledZ] = {});
                                   var r = this.usedCrossTileIDs[t.overscaledZ];
                                   for (var o in this.indexes) {
                                        var a = this.indexes[o];
                                        if (Number(o) > t.overscaledZ)
                                             for (var s in a) {
                                                  var l = a[s];
                                                  l.tileID.isChildOf(t) && l.findMatches(e.symbolInstances, t, r);
                                             }
                                        else {
                                             var c = a[t.scaledTo(Number(o)).key];
                                             c && c.findMatches(e.symbolInstances, t, r);
                                        }
                                   }
                                   for (var u = 0; u < e.symbolInstances.length; u++) {
                                        var h = e.symbolInstances.get(u);
                                        h.crossTileID || ((h.crossTileID = i.generate()), (r[h.crossTileID] = !0));
                                   }
                                   return void 0 === this.indexes[t.overscaledZ] && (this.indexes[t.overscaledZ] = {}), (this.indexes[t.overscaledZ][t.key] = new Ye(t, e.symbolInstances, e.bucketInstanceId)), !0;
                              }),
                              (Re.prototype.removeBucketCrossTileIDs = function (t, e) {
                                   for (var i in e.indexedSymbolInstances) for (var n = 0, r = e.indexedSymbolInstances[i]; n < r.length; n += 1) delete this.usedCrossTileIDs[t][r[n].crossTileID];
                              }),
                              (Re.prototype.removeStaleBuckets = function (t) {
                                   var e = !1;
                                   for (var i in this.indexes) {
                                        var n = this.indexes[i];
                                        for (var r in n) t[n[r].bucketInstanceId] || (this.removeBucketCrossTileIDs(i, n[r]), delete n[r], (e = !0));
                                   }
                                   return e;
                              });
                         var Fe = function () {
                              (this.layerIndexes = {}), (this.crossTileIDs = new ze()), (this.maxBucketInstanceId = 0), (this.bucketsInCurrentPlacement = {});
                         };
                         (Fe.prototype.addLayer = function (t, e, i) {
                              var n = this.layerIndexes[t.id];
                              void 0 === n && (n = this.layerIndexes[t.id] = new Re());
                              var r = !1,
                                   o = {};
                              n.handleWrapJump(i);
                              for (var a = 0, s = e; a < s.length; a += 1) {
                                   var l = s[a],
                                        c = l.getBucket(t);
                                   c && t.id === c.layerIds[0] && (c.bucketInstanceId || (c.bucketInstanceId = ++this.maxBucketInstanceId), n.addBucket(l.tileID, c, this.crossTileIDs) && (r = !0), (o[c.bucketInstanceId] = !0));
                              }
                              return n.removeStaleBuckets(o) && (r = !0), r;
                         }),
                              (Fe.prototype.pruneUnusedLayers = function (t) {
                                   var e = {};
                                   for (var i in (t.forEach(function (t) {
                                        e[t] = !0;
                                   }),
                                   this.layerIndexes))
                                        e[i] || delete this.layerIndexes[i];
                              });
                         var He = function (e, i) {
                                   return t.emitValidationErrors(
                                        e,
                                        i &&
                                             i.filter(function (t) {
                                                  return "source.canvas" !== t.identifier;
                                             })
                                   );
                              },
                              je = t.pick(Nt, ["addLayer", "removeLayer", "setPaintProperty", "setLayoutProperty", "setFilter", "addSource", "removeSource", "setLayerZoomRange", "setLight", "setTransition", "setGeoJSONSourceData"]),
                              Ne = t.pick(Nt, ["setCenter", "setZoom", "setBearing", "setPitch"]),
                              Be = (function () {
                                   var e = {},
                                        i = t.styleSpec.$version;
                                   for (var n in t.styleSpec.$root) {
                                        var r,
                                             o = t.styleSpec.$root[n];
                                        o.required && null != (r = "version" === n ? i : "array" === o.type ? [] : {}) && (e[n] = r);
                                   }
                                   return e;
                              })(),
                              We = (function (e) {
                                   function i(n, r) {
                                        var o = this;
                                        void 0 === r && (r = {}),
                                             e.call(this),
                                             (this.map = n),
                                             (this.dispatcher = new S(Ft(), this)),
                                             (this.imageManager = new d()),
                                             this.imageManager.setEventedParent(this),
                                             (this.glyphManager = new b(n._requestManager, r.localIdeographFontFamily)),
                                             (this.lineAtlas = new k(256, 512)),
                                             (this.crossTileSymbolIndex = new Fe()),
                                             (this._layers = {}),
                                             (this._serializedLayers = {}),
                                             (this._order = []),
                                             (this.sourceCaches = {}),
                                             (this.zoomHistory = new t.ZoomHistory()),
                                             (this._loaded = !1),
                                             (this._availableImages = []),
                                             this._resetUpdates(),
                                             this.dispatcher.broadcast("setReferrer", t.getReferrer());
                                        var a = this;
                                        (this._rtlTextPluginCallback = i.registerForPluginStateChange(function (e) {
                                             a.dispatcher.broadcast("syncRTLPluginState", { pluginStatus: e.pluginStatus, pluginURL: e.pluginURL }, function (e, i) {
                                                  if (
                                                       (t.triggerPluginCompletionEvent(e),
                                                       i &&
                                                            i.every(function (t) {
                                                                 return t;
                                                            }))
                                                  )
                                                       for (var n in a.sourceCaches) a.sourceCaches[n].reload();
                                             });
                                        })),
                                             this.on("data", function (t) {
                                                  if ("source" === t.dataType && "metadata" === t.sourceDataType) {
                                                       var e = o.sourceCaches[t.sourceId];
                                                       if (e) {
                                                            var i = e.getSource();
                                                            if (i && i.vectorLayerIds)
                                                                 for (var n in o._layers) {
                                                                      var r = o._layers[n];
                                                                      r.source === i.id && o._validateLayer(r);
                                                                 }
                                                       }
                                                  }
                                             });
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.loadURL = function (e, i) {
                                             var n = this;
                                             void 0 === i && (i = {}), this.fire(new t.Event("dataloading", { dataType: "style" }));
                                             var r = "boolean" == typeof i.validate ? i.validate : !t.isMapboxURL(e);
                                             e = this.map._requestManager.normalizeStyleURL(e, i.accessToken);
                                             var o = this.map._requestManager.transformRequest(e, t.ResourceType.Style);
                                             this._request = t.getJSON(o, function (e, i) {
                                                  (n._request = null), e ? n.fire(new t.ErrorEvent(e)) : i && n._load(i, r);
                                             });
                                        }),
                                        (i.prototype.loadJSON = function (e, i) {
                                             var n = this;
                                             void 0 === i && (i = {}),
                                                  this.fire(new t.Event("dataloading", { dataType: "style" })),
                                                  (this._request = t.browser.frame(function () {
                                                       (n._request = null), n._load(e, !1 !== i.validate);
                                                  }));
                                        }),
                                        (i.prototype.loadEmpty = function () {
                                             this.fire(new t.Event("dataloading", { dataType: "style" })), this._load(Be, !1);
                                        }),
                                        (i.prototype._load = function (e, i) {
                                             if (!i || !He(this, t.validateStyle(e))) {
                                                  for (var n in ((this._loaded = !0), (this.stylesheet = e), e.sources)) this.addSource(n, e.sources[n], { validate: !1 });
                                                  e.sprite ? this._loadSprite(e.sprite) : this.imageManager.setLoaded(!0), this.glyphManager.setURL(e.glyphs);
                                                  var r = jt(this.stylesheet.layers);
                                                  (this._order = r.map(function (t) {
                                                       return t.id;
                                                  })),
                                                       (this._layers = {}),
                                                       (this._serializedLayers = {});
                                                  for (var o = 0, a = r; o < a.length; o += 1) {
                                                       var s = a[o];
                                                       (s = t.createStyleLayer(s)).setEventedParent(this, { layer: { id: s.id } }), (this._layers[s.id] = s), (this._serializedLayers[s.id] = s.serialize());
                                                  }
                                                  this.dispatcher.broadcast("setLayers", this._serializeLayers(this._order)),
                                                       (this.light = new w(this.stylesheet.light)),
                                                       this.fire(new t.Event("data", { dataType: "style" })),
                                                       this.fire(new t.Event("style.load"));
                                             }
                                        }),
                                        (i.prototype._loadSprite = function (e) {
                                             var i = this;
                                             this._spriteRequest = (function (e, i, n) {
                                                  var r,
                                                       o,
                                                       a,
                                                       s = t.browser.devicePixelRatio > 1 ? "@2x" : "",
                                                       l = t.getJSON(i.transformRequest(i.normalizeSpriteURL(e, s, ".json"), t.ResourceType.SpriteJSON), function (t, e) {
                                                            (l = null), a || ((a = t), (r = e), u());
                                                       }),
                                                       c = t.getImage(i.transformRequest(i.normalizeSpriteURL(e, s, ".png"), t.ResourceType.SpriteImage), function (t, e) {
                                                            (c = null), a || ((a = t), (o = e), u());
                                                       });
                                                  function u() {
                                                       if (a) n(a);
                                                       else if (r && o) {
                                                            var e = t.browser.getImageData(o),
                                                                 i = {};
                                                            for (var s in r) {
                                                                 var l = r[s],
                                                                      c = l.width,
                                                                      u = l.height,
                                                                      h = l.x,
                                                                      d = l.y,
                                                                      p = l.sdf,
                                                                      f = l.pixelRatio,
                                                                      m = l.stretchX,
                                                                      g = l.stretchY,
                                                                      v = l.content,
                                                                      y = new t.RGBAImage({ width: c, height: u });
                                                                 t.RGBAImage.copy(e, y, { x: h, y: d }, { x: 0, y: 0 }, { width: c, height: u }), (i[s] = { data: y, pixelRatio: f, sdf: p, stretchX: m, stretchY: g, content: v });
                                                            }
                                                            n(null, i);
                                                       }
                                                  }
                                                  return {
                                                       cancel: function () {
                                                            l && (l.cancel(), (l = null)), c && (c.cancel(), (c = null));
                                                       },
                                                  };
                                             })(e, this.map._requestManager, function (e, n) {
                                                  if (((i._spriteRequest = null), e)) i.fire(new t.ErrorEvent(e));
                                                  else if (n) for (var r in n) i.imageManager.addImage(r, n[r]);
                                                  i.imageManager.setLoaded(!0), (i._availableImages = i.imageManager.listImages()), i.dispatcher.broadcast("setImages", i._availableImages), i.fire(new t.Event("data", { dataType: "style" }));
                                             });
                                        }),
                                        (i.prototype._validateLayer = function (e) {
                                             var i = this.sourceCaches[e.source];
                                             if (i) {
                                                  var n = e.sourceLayer;
                                                  if (n) {
                                                       var r = i.getSource();
                                                       ("geojson" === r.type || (r.vectorLayerIds && -1 === r.vectorLayerIds.indexOf(n))) &&
                                                            this.fire(new t.ErrorEvent(new Error('Source layer "' + n + '" does not exist on source "' + r.id + '" as specified by style layer "' + e.id + '"')));
                                                  }
                                             }
                                        }),
                                        (i.prototype.loaded = function () {
                                             if (!this._loaded) return !1;
                                             if (Object.keys(this._updatedSources).length) return !1;
                                             for (var t in this.sourceCaches) if (!this.sourceCaches[t].loaded()) return !1;
                                             return !!this.imageManager.isLoaded();
                                        }),
                                        (i.prototype._serializeLayers = function (t) {
                                             for (var e = [], i = 0, n = t; i < n.length; i += 1) {
                                                  var r = this._layers[n[i]];
                                                  "custom" !== r.type && e.push(r.serialize());
                                             }
                                             return e;
                                        }),
                                        (i.prototype.hasTransitions = function () {
                                             if (this.light && this.light.hasTransition()) return !0;
                                             for (var t in this.sourceCaches) if (this.sourceCaches[t].hasTransition()) return !0;
                                             for (var e in this._layers) if (this._layers[e].hasTransition()) return !0;
                                             return !1;
                                        }),
                                        (i.prototype._checkLoaded = function () {
                                             if (!this._loaded) throw new Error("Style is not done loading");
                                        }),
                                        (i.prototype.update = function (e) {
                                             if (this._loaded) {
                                                  var i = this._changed;
                                                  if (this._changed) {
                                                       var n = Object.keys(this._updatedLayers),
                                                            r = Object.keys(this._removedLayers);
                                                       for (var o in ((n.length || r.length) && this._updateWorkerLayers(n, r), this._updatedSources)) {
                                                            var a = this._updatedSources[o];
                                                            "reload" === a ? this._reloadSource(o) : "clear" === a && this._clearSource(o);
                                                       }
                                                       for (var s in (this._updateTilesForChangedImages(), this._updatedPaintProps)) this._layers[s].updateTransitions(e);
                                                       this.light.updateTransitions(e), this._resetUpdates();
                                                  }
                                                  for (var l in this.sourceCaches) this.sourceCaches[l].used = !1;
                                                  for (var c = 0, u = this._order; c < u.length; c += 1) {
                                                       var h = this._layers[u[c]];
                                                       h.recalculate(e, this._availableImages), !h.isHidden(e.zoom) && h.source && (this.sourceCaches[h.source].used = !0);
                                                  }
                                                  this.light.recalculate(e), (this.z = e.zoom), i && this.fire(new t.Event("data", { dataType: "style" }));
                                             }
                                        }),
                                        (i.prototype._updateTilesForChangedImages = function () {
                                             var t = Object.keys(this._changedImages);
                                             if (t.length) {
                                                  for (var e in this.sourceCaches) this.sourceCaches[e].reloadTilesForDependencies(["icons", "patterns"], t);
                                                  this._changedImages = {};
                                             }
                                        }),
                                        (i.prototype._updateWorkerLayers = function (t, e) {
                                             this.dispatcher.broadcast("updateLayers", { layers: this._serializeLayers(t), removedIds: e });
                                        }),
                                        (i.prototype._resetUpdates = function () {
                                             (this._changed = !1), (this._updatedLayers = {}), (this._removedLayers = {}), (this._updatedSources = {}), (this._updatedPaintProps = {}), (this._changedImages = {});
                                        }),
                                        (i.prototype.setState = function (e) {
                                             var i = this;
                                             if ((this._checkLoaded(), He(this, t.validateStyle(e)))) return !1;
                                             (e = t.clone$1(e)).layers = jt(e.layers);
                                             var n = (function (e, i) {
                                                  if (!e) return [{ command: Nt.setStyle, args: [i] }];
                                                  var n = [];
                                                  try {
                                                       if (!t.deepEqual(e.version, i.version)) return [{ command: Nt.setStyle, args: [i] }];
                                                       t.deepEqual(e.center, i.center) || n.push({ command: Nt.setCenter, args: [i.center] }),
                                                            t.deepEqual(e.zoom, i.zoom) || n.push({ command: Nt.setZoom, args: [i.zoom] }),
                                                            t.deepEqual(e.bearing, i.bearing) || n.push({ command: Nt.setBearing, args: [i.bearing] }),
                                                            t.deepEqual(e.pitch, i.pitch) || n.push({ command: Nt.setPitch, args: [i.pitch] }),
                                                            t.deepEqual(e.sprite, i.sprite) || n.push({ command: Nt.setSprite, args: [i.sprite] }),
                                                            t.deepEqual(e.glyphs, i.glyphs) || n.push({ command: Nt.setGlyphs, args: [i.glyphs] }),
                                                            t.deepEqual(e.transition, i.transition) || n.push({ command: Nt.setTransition, args: [i.transition] }),
                                                            t.deepEqual(e.light, i.light) || n.push({ command: Nt.setLight, args: [i.light] });
                                                       var r = {},
                                                            o = [];
                                                       !(function (e, i, n, r) {
                                                            var o;
                                                            for (o in ((i = i || {}), (e = e || {}))) e.hasOwnProperty(o) && (i.hasOwnProperty(o) || Wt(o, n, r));
                                                            for (o in i)
                                                                 i.hasOwnProperty(o) &&
                                                                      (e.hasOwnProperty(o)
                                                                           ? t.deepEqual(e[o], i[o]) ||
                                                                             ("geojson" === e[o].type && "geojson" === i[o].type && Ut(e, i, o) ? n.push({ command: Nt.setGeoJSONSourceData, args: [o, i[o].data] }) : Vt(o, i, n, r))
                                                                           : Bt(o, i, n));
                                                       })(e.sources, i.sources, o, r);
                                                       var a = [];
                                                       e.layers &&
                                                            e.layers.forEach(function (t) {
                                                                 r[t.source] ? n.push({ command: Nt.removeLayer, args: [t.id] }) : a.push(t);
                                                            }),
                                                            (n = n.concat(o)),
                                                            (function (e, i, n) {
                                                                 i = i || [];
                                                                 var r,
                                                                      o,
                                                                      a,
                                                                      s,
                                                                      l,
                                                                      c,
                                                                      u,
                                                                      h = (e = e || []).map($t),
                                                                      d = i.map($t),
                                                                      p = e.reduce(Xt, {}),
                                                                      f = i.reduce(Xt, {}),
                                                                      m = h.slice(),
                                                                      g = Object.create(null);
                                                                 for (r = 0, o = 0; r < h.length; r++) f.hasOwnProperty((a = h[r])) ? o++ : (n.push({ command: Nt.removeLayer, args: [a] }), m.splice(m.indexOf(a, o), 1));
                                                                 for (r = 0, o = 0; r < d.length; r++)
                                                                      m[m.length - 1 - r] !== (a = d[d.length - 1 - r]) &&
                                                                           (p.hasOwnProperty(a) ? (n.push({ command: Nt.removeLayer, args: [a] }), m.splice(m.lastIndexOf(a, m.length - o), 1)) : o++,
                                                                           n.push({ command: Nt.addLayer, args: [f[a], (c = m[m.length - r])] }),
                                                                           m.splice(m.length - r, 0, a),
                                                                           (g[a] = !0));
                                                                 for (r = 0; r < d.length; r++)
                                                                      if (((s = p[(a = d[r])]), (l = f[a]), !g[a] && !t.deepEqual(s, l)))
                                                                           if (t.deepEqual(s.source, l.source) && t.deepEqual(s["source-layer"], l["source-layer"]) && t.deepEqual(s.type, l.type)) {
                                                                                for (u in (qt(s.layout, l.layout, n, a, null, Nt.setLayoutProperty),
                                                                                qt(s.paint, l.paint, n, a, null, Nt.setPaintProperty),
                                                                                t.deepEqual(s.filter, l.filter) || n.push({ command: Nt.setFilter, args: [a, l.filter] }),
                                                                                (t.deepEqual(s.minzoom, l.minzoom) && t.deepEqual(s.maxzoom, l.maxzoom)) || n.push({ command: Nt.setLayerZoomRange, args: [a, l.minzoom, l.maxzoom] }),
                                                                                s))
                                                                                     s.hasOwnProperty(u) &&
                                                                                          "layout" !== u &&
                                                                                          "paint" !== u &&
                                                                                          "filter" !== u &&
                                                                                          "metadata" !== u &&
                                                                                          "minzoom" !== u &&
                                                                                          "maxzoom" !== u &&
                                                                                          (0 === u.indexOf("paint.")
                                                                                               ? qt(s[u], l[u], n, a, u.slice(6), Nt.setPaintProperty)
                                                                                               : t.deepEqual(s[u], l[u]) || n.push({ command: Nt.setLayerProperty, args: [a, u, l[u]] }));
                                                                                for (u in l)
                                                                                     l.hasOwnProperty(u) &&
                                                                                          !s.hasOwnProperty(u) &&
                                                                                          "layout" !== u &&
                                                                                          "paint" !== u &&
                                                                                          "filter" !== u &&
                                                                                          "metadata" !== u &&
                                                                                          "minzoom" !== u &&
                                                                                          "maxzoom" !== u &&
                                                                                          (0 === u.indexOf("paint.")
                                                                                               ? qt(s[u], l[u], n, a, u.slice(6), Nt.setPaintProperty)
                                                                                               : t.deepEqual(s[u], l[u]) || n.push({ command: Nt.setLayerProperty, args: [a, u, l[u]] }));
                                                                           } else n.push({ command: Nt.removeLayer, args: [a] }), (c = m[m.lastIndexOf(a) + 1]), n.push({ command: Nt.addLayer, args: [l, c] });
                                                            })(a, i.layers, n);
                                                  } catch (t) {
                                                       console.warn("Unable to compute style diff:", t), (n = [{ command: Nt.setStyle, args: [i] }]);
                                                  }
                                                  return n;
                                             })(this.serialize(), e).filter(function (t) {
                                                  return !(t.command in Ne);
                                             });
                                             if (0 === n.length) return !1;
                                             var r = n.filter(function (t) {
                                                  return !(t.command in je);
                                             });
                                             if (r.length > 0)
                                                  throw new Error(
                                                       "Unimplemented: " +
                                                            r
                                                                 .map(function (t) {
                                                                      return t.command;
                                                                 })
                                                                 .join(", ") +
                                                            "."
                                                  );
                                             return (
                                                  n.forEach(function (t) {
                                                       "setTransition" !== t.command && i[t.command].apply(i, t.args);
                                                  }),
                                                  (this.stylesheet = e),
                                                  !0
                                             );
                                        }),
                                        (i.prototype.addImage = function (e, i) {
                                             if (this.getImage(e)) return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));
                                             this.imageManager.addImage(e, i),
                                                  (this._availableImages = this.imageManager.listImages()),
                                                  (this._changedImages[e] = !0),
                                                  (this._changed = !0),
                                                  this.fire(new t.Event("data", { dataType: "style" }));
                                        }),
                                        (i.prototype.updateImage = function (t, e) {
                                             this.imageManager.updateImage(t, e);
                                        }),
                                        (i.prototype.getImage = function (t) {
                                             return this.imageManager.getImage(t);
                                        }),
                                        (i.prototype.removeImage = function (e) {
                                             if (!this.getImage(e)) return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));
                                             this.imageManager.removeImage(e),
                                                  (this._availableImages = this.imageManager.listImages()),
                                                  (this._changedImages[e] = !0),
                                                  (this._changed = !0),
                                                  this.fire(new t.Event("data", { dataType: "style" }));
                                        }),
                                        (i.prototype.listImages = function () {
                                             return this._checkLoaded(), this.imageManager.listImages();
                                        }),
                                        (i.prototype.addSource = function (e, i, n) {
                                             var r = this;
                                             if ((void 0 === n && (n = {}), this._checkLoaded(), void 0 !== this.sourceCaches[e])) throw new Error("There is already a source with this ID");
                                             if (!i.type) throw new Error("The type property must be defined, but the only the following properties were given: " + Object.keys(i).join(", ") + ".");
                                             if (!(["vector", "raster", "geojson", "video", "image"].indexOf(i.type) >= 0 && this._validate(t.validateStyle.source, "sources." + e, i, null, n))) {
                                                  this.map && this.map._collectResourceTiming && (i.collectResourceTiming = !0);
                                                  var o = (this.sourceCaches[e] = new Et(e, i, this.dispatcher));
                                                  (o.style = this),
                                                       o.setEventedParent(this, function () {
                                                            return { isSourceLoaded: r.loaded(), source: o.serialize(), sourceId: e };
                                                       }),
                                                       o.onAdd(this.map),
                                                       (this._changed = !0);
                                             }
                                        }),
                                        (i.prototype.removeSource = function (e) {
                                             if ((this._checkLoaded(), void 0 === this.sourceCaches[e])) throw new Error("There is no source with this ID");
                                             for (var i in this._layers) if (this._layers[i].source === e) return this.fire(new t.ErrorEvent(new Error('Source "' + e + '" cannot be removed while layer "' + i + '" is using it.')));
                                             var n = this.sourceCaches[e];
                                             delete this.sourceCaches[e],
                                                  delete this._updatedSources[e],
                                                  n.fire(new t.Event("data", { sourceDataType: "metadata", dataType: "source", sourceId: e })),
                                                  n.setEventedParent(null),
                                                  n.clearTiles(),
                                                  n.onRemove && n.onRemove(this.map),
                                                  (this._changed = !0);
                                        }),
                                        (i.prototype.setGeoJSONSourceData = function (t, e) {
                                             this._checkLoaded(), this.sourceCaches[t].getSource().setData(e), (this._changed = !0);
                                        }),
                                        (i.prototype.getSource = function (t) {
                                             return this.sourceCaches[t] && this.sourceCaches[t].getSource();
                                        }),
                                        (i.prototype.addLayer = function (e, i, n) {
                                             void 0 === n && (n = {}), this._checkLoaded();
                                             var r = e.id;
                                             if (this.getLayer(r)) this.fire(new t.ErrorEvent(new Error('Layer with id "' + r + '" already exists on this map')));
                                             else {
                                                  var o;
                                                  if ("custom" === e.type) {
                                                       if (He(this, t.validateCustomStyleLayer(e))) return;
                                                       o = t.createStyleLayer(e);
                                                  } else {
                                                       if (
                                                            ("object" == typeof e.source && (this.addSource(r, e.source), (e = t.clone$1(e)), (e = t.extend(e, { source: r }))),
                                                            this._validate(t.validateStyle.layer, "layers." + r, e, { arrayIndex: -1 }, n))
                                                       )
                                                            return;
                                                       (o = t.createStyleLayer(e)), this._validateLayer(o), o.setEventedParent(this, { layer: { id: r } }), (this._serializedLayers[o.id] = o.serialize());
                                                  }
                                                  var a = i ? this._order.indexOf(i) : this._order.length;
                                                  if (i && -1 === a) this.fire(new t.ErrorEvent(new Error('Layer with id "' + i + '" does not exist on this map.')));
                                                  else {
                                                       if ((this._order.splice(a, 0, r), (this._layerOrderChanged = !0), (this._layers[r] = o), this._removedLayers[r] && o.source && "custom" !== o.type)) {
                                                            var s = this._removedLayers[r];
                                                            delete this._removedLayers[r], s.type !== o.type ? (this._updatedSources[o.source] = "clear") : ((this._updatedSources[o.source] = "reload"), this.sourceCaches[o.source].pause());
                                                       }
                                                       this._updateLayer(o), o.onAdd && o.onAdd(this.map);
                                                  }
                                             }
                                        }),
                                        (i.prototype.moveLayer = function (e, i) {
                                             if ((this._checkLoaded(), (this._changed = !0), this._layers[e])) {
                                                  if (e !== i) {
                                                       var n = this._order.indexOf(e);
                                                       this._order.splice(n, 1);
                                                       var r = i ? this._order.indexOf(i) : this._order.length;
                                                       i && -1 === r ? this.fire(new t.ErrorEvent(new Error('Layer with id "' + i + '" does not exist on this map.'))) : (this._order.splice(r, 0, e), (this._layerOrderChanged = !0));
                                                  }
                                             } else this.fire(new t.ErrorEvent(new Error("The layer '" + e + "' does not exist in the map's style and cannot be moved.")));
                                        }),
                                        (i.prototype.removeLayer = function (e) {
                                             this._checkLoaded();
                                             var i = this._layers[e];
                                             if (i) {
                                                  i.setEventedParent(null);
                                                  var n = this._order.indexOf(e);
                                                  this._order.splice(n, 1),
                                                       (this._layerOrderChanged = !0),
                                                       (this._changed = !0),
                                                       (this._removedLayers[e] = i),
                                                       delete this._layers[e],
                                                       delete this._serializedLayers[e],
                                                       delete this._updatedLayers[e],
                                                       delete this._updatedPaintProps[e],
                                                       i.onRemove && i.onRemove(this.map);
                                             } else this.fire(new t.ErrorEvent(new Error("The layer '" + e + "' does not exist in the map's style and cannot be removed.")));
                                        }),
                                        (i.prototype.getLayer = function (t) {
                                             return this._layers[t];
                                        }),
                                        (i.prototype.hasLayer = function (t) {
                                             return t in this._layers;
                                        }),
                                        (i.prototype.setLayerZoomRange = function (e, i, n) {
                                             this._checkLoaded();
                                             var r = this.getLayer(e);
                                             r
                                                  ? (r.minzoom === i && r.maxzoom === n) || (null != i && (r.minzoom = i), null != n && (r.maxzoom = n), this._updateLayer(r))
                                                  : this.fire(new t.ErrorEvent(new Error("The layer '" + e + "' does not exist in the map's style and cannot have zoom extent.")));
                                        }),
                                        (i.prototype.setFilter = function (e, i, n) {
                                             void 0 === n && (n = {}), this._checkLoaded();
                                             var r = this.getLayer(e);
                                             if (r) {
                                                  if (!t.deepEqual(r.filter, i))
                                                       return null == i
                                                            ? ((r.filter = void 0), void this._updateLayer(r))
                                                            : void (this._validate(t.validateStyle.filter, "layers." + r.id + ".filter", i, null, n) || ((r.filter = t.clone$1(i)), this._updateLayer(r)));
                                             } else this.fire(new t.ErrorEvent(new Error("The layer '" + e + "' does not exist in the map's style and cannot be filtered.")));
                                        }),
                                        (i.prototype.getFilter = function (e) {
                                             return t.clone$1(this.getLayer(e).filter);
                                        }),
                                        (i.prototype.setLayoutProperty = function (e, i, n, r) {
                                             void 0 === r && (r = {}), this._checkLoaded();
                                             var o = this.getLayer(e);
                                             o
                                                  ? t.deepEqual(o.getLayoutProperty(i), n) || (o.setLayoutProperty(i, n, r), this._updateLayer(o))
                                                  : this.fire(new t.ErrorEvent(new Error("The layer '" + e + "' does not exist in the map's style and cannot be styled.")));
                                        }),
                                        (i.prototype.getLayoutProperty = function (e, i) {
                                             var n = this.getLayer(e);
                                             if (n) return n.getLayoutProperty(i);
                                             this.fire(new t.ErrorEvent(new Error("The layer '" + e + "' does not exist in the map's style.")));
                                        }),
                                        (i.prototype.setPaintProperty = function (e, i, n, r) {
                                             void 0 === r && (r = {}), this._checkLoaded();
                                             var o = this.getLayer(e);
                                             o
                                                  ? t.deepEqual(o.getPaintProperty(i), n) || (o.setPaintProperty(i, n, r) && this._updateLayer(o), (this._changed = !0), (this._updatedPaintProps[e] = !0))
                                                  : this.fire(new t.ErrorEvent(new Error("The layer '" + e + "' does not exist in the map's style and cannot be styled.")));
                                        }),
                                        (i.prototype.getPaintProperty = function (t, e) {
                                             return this.getLayer(t).getPaintProperty(e);
                                        }),
                                        (i.prototype.setFeatureState = function (e, i) {
                                             this._checkLoaded();
                                             var n = e.source,
                                                  r = e.sourceLayer,
                                                  o = this.sourceCaches[n];
                                             if (void 0 !== o) {
                                                  var a = o.getSource().type;
                                                  "geojson" === a && r
                                                       ? this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")))
                                                       : "vector" !== a || r
                                                       ? (void 0 === e.id && this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))), o.setFeatureState(r, e.id, i))
                                                       : this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));
                                             } else this.fire(new t.ErrorEvent(new Error("The source '" + n + "' does not exist in the map's style.")));
                                        }),
                                        (i.prototype.removeFeatureState = function (e, i) {
                                             this._checkLoaded();
                                             var n = e.source,
                                                  r = this.sourceCaches[n];
                                             if (void 0 !== r) {
                                                  var o = r.getSource().type,
                                                       a = "vector" === o ? e.sourceLayer : void 0;
                                                  "vector" !== o || a
                                                       ? i && "string" != typeof e.id && "number" != typeof e.id
                                                            ? this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property.")))
                                                            : r.removeFeatureState(a, e.id, i)
                                                       : this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));
                                             } else this.fire(new t.ErrorEvent(new Error("The source '" + n + "' does not exist in the map's style.")));
                                        }),
                                        (i.prototype.getFeatureState = function (e) {
                                             this._checkLoaded();
                                             var i = e.source,
                                                  n = e.sourceLayer,
                                                  r = this.sourceCaches[i];
                                             if (void 0 !== r) {
                                                  if ("vector" !== r.getSource().type || n) return void 0 === e.id && this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))), r.getFeatureState(n, e.id);
                                                  this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));
                                             } else this.fire(new t.ErrorEvent(new Error("The source '" + i + "' does not exist in the map's style.")));
                                        }),
                                        (i.prototype.getTransition = function () {
                                             return t.extend({ duration: 300, delay: 0 }, this.stylesheet && this.stylesheet.transition);
                                        }),
                                        (i.prototype.serialize = function () {
                                             return t.filterObject(
                                                  {
                                                       version: this.stylesheet.version,
                                                       name: this.stylesheet.name,
                                                       metadata: this.stylesheet.metadata,
                                                       light: this.stylesheet.light,
                                                       center: this.stylesheet.center,
                                                       zoom: this.stylesheet.zoom,
                                                       bearing: this.stylesheet.bearing,
                                                       pitch: this.stylesheet.pitch,
                                                       sprite: this.stylesheet.sprite,
                                                       glyphs: this.stylesheet.glyphs,
                                                       transition: this.stylesheet.transition,
                                                       sources: t.mapObject(this.sourceCaches, function (t) {
                                                            return t.serialize();
                                                       }),
                                                       layers: this._serializeLayers(this._order),
                                                  },
                                                  function (t) {
                                                       return void 0 !== t;
                                                  }
                                             );
                                        }),
                                        (i.prototype._updateLayer = function (t) {
                                             (this._updatedLayers[t.id] = !0),
                                                  t.source &&
                                                       !this._updatedSources[t.source] &&
                                                       "raster" !== this.sourceCaches[t.source].getSource().type &&
                                                       ((this._updatedSources[t.source] = "reload"), this.sourceCaches[t.source].pause()),
                                                  (this._changed = !0);
                                        }),
                                        (i.prototype._flattenAndSortRenderedFeatures = function (t) {
                                             for (
                                                  var e = this,
                                                       i = function (t) {
                                                            return "fill-extrusion" === e._layers[t].type;
                                                       },
                                                       n = {},
                                                       r = [],
                                                       o = this._order.length - 1;
                                                  o >= 0;
                                                  o--
                                             ) {
                                                  var a = this._order[o];
                                                  if (i(a)) {
                                                       n[a] = o;
                                                       for (var s = 0, l = t; s < l.length; s += 1) {
                                                            var c = l[s][a];
                                                            if (c) for (var u = 0, h = c; u < h.length; u += 1) r.push(h[u]);
                                                       }
                                                  }
                                             }
                                             r.sort(function (t, e) {
                                                  return e.intersectionZ - t.intersectionZ;
                                             });
                                             for (var d = [], p = this._order.length - 1; p >= 0; p--) {
                                                  var f = this._order[p];
                                                  if (i(f))
                                                       for (var m = r.length - 1; m >= 0; m--) {
                                                            var g = r[m].feature;
                                                            if (n[g.layer.id] < p) break;
                                                            d.push(g), r.pop();
                                                       }
                                                  else
                                                       for (var v = 0, y = t; v < y.length; v += 1) {
                                                            var b = y[v][f];
                                                            if (b) for (var _ = 0, x = b; _ < x.length; _ += 1) d.push(x[_].feature);
                                                       }
                                             }
                                             return d;
                                        }),
                                        (i.prototype.queryRenderedFeatures = function (e, i, n) {
                                             i && i.filter && this._validate(t.validateStyle.filter, "queryRenderedFeatures.filter", i.filter, null, i);
                                             var r = {};
                                             if (i && i.layers) {
                                                  if (!Array.isArray(i.layers)) return this.fire(new t.ErrorEvent(new Error("parameters.layers must be an Array."))), [];
                                                  for (var o = 0, a = i.layers; o < a.length; o += 1) {
                                                       var s = a[o],
                                                            l = this._layers[s];
                                                       if (!l) return this.fire(new t.ErrorEvent(new Error("The layer '" + s + "' does not exist in the map's style and cannot be queried for features."))), [];
                                                       r[l.source] = !0;
                                                  }
                                             }
                                             var c = [];
                                             for (var u in ((i.availableImages = this._availableImages), this.sourceCaches)) (i.layers && !r[u]) || c.push(R(this.sourceCaches[u], this._layers, this._serializedLayers, e, i, n));
                                             return (
                                                  this.placement &&
                                                       c.push(
                                                            (function (t, e, i, n, r, o, a) {
                                                                 for (var s = {}, l = o.queryRenderedSymbols(n), c = [], u = 0, h = Object.keys(l).map(Number); u < h.length; u += 1) c.push(a[h[u]]);
                                                                 c.sort(F);
                                                                 for (
                                                                      var d = function () {
                                                                                var i = f[p],
                                                                                     n = i.featureIndex.lookupSymbolFeatures(l[i.bucketInstanceId], e, i.bucketIndex, i.sourceLayerIndex, r.filter, r.layers, r.availableImages, t);
                                                                                for (var o in n) {
                                                                                     var a = (s[o] = s[o] || []),
                                                                                          c = n[o];
                                                                                     c.sort(function (t, e) {
                                                                                          var n = i.featureSortOrder;
                                                                                          if (n) {
                                                                                               var r = n.indexOf(t.featureIndex);
                                                                                               return n.indexOf(e.featureIndex) - r;
                                                                                          }
                                                                                          return e.featureIndex - t.featureIndex;
                                                                                     });
                                                                                     for (var u = 0, h = c; u < h.length; u += 1) a.push(h[u]);
                                                                                }
                                                                           },
                                                                           p = 0,
                                                                           f = c;
                                                                      p < f.length;
                                                                      p += 1
                                                                 )
                                                                      d();
                                                                 var m = function (e) {
                                                                      s[e].forEach(function (n) {
                                                                           var r = n.feature,
                                                                                o = i[t[e].source].getFeatureState(r.layer["source-layer"], r.id);
                                                                           (r.source = r.layer.source), r.layer["source-layer"] && (r.sourceLayer = r.layer["source-layer"]), (r.state = o);
                                                                      });
                                                                 };
                                                                 for (var g in s) m(g);
                                                                 return s;
                                                            })(this._layers, this._serializedLayers, this.sourceCaches, e, i, this.placement.collisionIndex, this.placement.retainedQueryData)
                                                       ),
                                                  this._flattenAndSortRenderedFeatures(c)
                                             );
                                        }),
                                        (i.prototype.querySourceFeatures = function (e, i) {
                                             i && i.filter && this._validate(t.validateStyle.filter, "querySourceFeatures.filter", i.filter, null, i);
                                             var n = this.sourceCaches[e];
                                             return n
                                                  ? (function (t, e) {
                                                         for (
                                                              var i = t.getRenderableIds().map(function (e) {
                                                                        return t.getTileByID(e);
                                                                   }),
                                                                   n = [],
                                                                   r = {},
                                                                   o = 0;
                                                              o < i.length;
                                                              o++
                                                         ) {
                                                              var a = i[o],
                                                                   s = a.tileID.canonical.key;
                                                              r[s] || ((r[s] = !0), a.querySourceFeatures(n, e));
                                                         }
                                                         return n;
                                                    })(n, i)
                                                  : [];
                                        }),
                                        (i.prototype.addSourceType = function (t, e, n) {
                                             return i.getSourceType(t)
                                                  ? n(new Error('A source type called "' + t + '" already exists.'))
                                                  : (i.setSourceType(t, e), e.workerSourceURL ? void this.dispatcher.broadcast("loadWorkerSource", { name: t, url: e.workerSourceURL }, n) : n(null, null));
                                        }),
                                        (i.prototype.getLight = function () {
                                             return this.light.getLight();
                                        }),
                                        (i.prototype.setLight = function (e, i) {
                                             void 0 === i && (i = {}), this._checkLoaded();
                                             var n = this.light.getLight(),
                                                  r = !1;
                                             for (var o in e)
                                                  if (!t.deepEqual(e[o], n[o])) {
                                                       r = !0;
                                                       break;
                                                  }
                                             if (r) {
                                                  var a = { now: t.browser.now(), transition: t.extend({ duration: 300, delay: 0 }, this.stylesheet.transition) };
                                                  this.light.setLight(e, i), this.light.updateTransitions(a);
                                             }
                                        }),
                                        (i.prototype._validate = function (e, i, n, r, o) {
                                             return void 0 === o && (o = {}), (!o || !1 !== o.validate) && He(this, e.call(t.validateStyle, t.extend({ key: i, style: this.serialize(), value: n, styleSpec: t.styleSpec }, r)));
                                        }),
                                        (i.prototype._remove = function () {
                                             for (var e in (this._request && (this._request.cancel(), (this._request = null)),
                                             this._spriteRequest && (this._spriteRequest.cancel(), (this._spriteRequest = null)),
                                             t.evented.off("pluginStateChange", this._rtlTextPluginCallback),
                                             this._layers))
                                                  this._layers[e].setEventedParent(null);
                                             for (var i in this.sourceCaches) this.sourceCaches[i].clearTiles(), this.sourceCaches[i].setEventedParent(null);
                                             this.imageManager.setEventedParent(null), this.setEventedParent(null), this.dispatcher.remove();
                                        }),
                                        (i.prototype._clearSource = function (t) {
                                             this.sourceCaches[t].clearTiles();
                                        }),
                                        (i.prototype._reloadSource = function (t) {
                                             this.sourceCaches[t].resume(), this.sourceCaches[t].reload();
                                        }),
                                        (i.prototype._updateSources = function (t) {
                                             for (var e in this.sourceCaches) this.sourceCaches[e].update(t);
                                        }),
                                        (i.prototype._generateCollisionBoxes = function () {
                                             for (var t in this.sourceCaches) this._reloadSource(t);
                                        }),
                                        (i.prototype._updatePlacement = function (e, i, n, r, o) {
                                             void 0 === o && (o = !1);
                                             for (var a = !1, s = !1, l = {}, c = 0, u = this._order; c < u.length; c += 1) {
                                                  var h = this._layers[u[c]];
                                                  if ("symbol" === h.type) {
                                                       if (!l[h.source]) {
                                                            var d = this.sourceCaches[h.source];
                                                            l[h.source] = d
                                                                 .getRenderableIds(!0)
                                                                 .map(function (t) {
                                                                      return d.getTileByID(t);
                                                                 })
                                                                 .sort(function (t, e) {
                                                                      return e.tileID.overscaledZ - t.tileID.overscaledZ || (t.tileID.isLessThan(e.tileID) ? -1 : 1);
                                                                 });
                                                       }
                                                       var p = this.crossTileSymbolIndex.addLayer(h, l[h.source], e.center.lng);
                                                       a = a || p;
                                                  }
                                             }
                                             if (
                                                  (this.crossTileSymbolIndex.pruneUnusedLayers(this._order),
                                                  ((o = o || this._layerOrderChanged || 0 === n) || !this.pauseablePlacement || (this.pauseablePlacement.isDone() && !this.placement.stillRecent(t.browser.now(), e.zoom))) &&
                                                       ((this.pauseablePlacement = new Ie(e, this._order, o, i, n, r, this.placement)), (this._layerOrderChanged = !1)),
                                                  this.pauseablePlacement.isDone()
                                                       ? this.placement.setStale()
                                                       : (this.pauseablePlacement.continuePlacement(this._order, this._layers, l),
                                                         this.pauseablePlacement.isDone() && ((this.placement = this.pauseablePlacement.commit(t.browser.now())), (s = !0)),
                                                         a && this.pauseablePlacement.placement.setStale()),
                                                  s || a)
                                             )
                                                  for (var f = 0, m = this._order; f < m.length; f += 1) {
                                                       var g = this._layers[m[f]];
                                                       "symbol" === g.type && this.placement.updateLayerOpacities(g, l[g.source]);
                                                  }
                                             return !this.pauseablePlacement.isDone() || this.placement.hasTransitions(t.browser.now());
                                        }),
                                        (i.prototype._releaseSymbolFadeTiles = function () {
                                             for (var t in this.sourceCaches) this.sourceCaches[t].releaseSymbolFadeTiles();
                                        }),
                                        (i.prototype.getImages = function (t, e, i) {
                                             this.imageManager.getImages(e.icons, i), this._updateTilesForChangedImages();
                                             var n = this.sourceCaches[e.source];
                                             n && n.setDependencies(e.tileID.key, e.type, e.icons);
                                        }),
                                        (i.prototype.getGlyphs = function (t, e, i) {
                                             this.glyphManager.getGlyphs(e.stacks, i);
                                        }),
                                        (i.prototype.getResource = function (e, i, n) {
                                             return t.makeRequest(i, n);
                                        }),
                                        i
                                   );
                              })(t.Evented);
                         (We.getSourceType = function (t) {
                              return Y[t];
                         }),
                              (We.setSourceType = function (t, e) {
                                   Y[t] = e;
                              }),
                              (We.registerForPluginStateChange = t.registerForPluginStateChange);
                         var Ve = t.createLayout([{ name: "a_pos", type: "Int16", components: 2 }]),
                              Ue = vi(
                                   "#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif",
                                   "#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}"
                              ),
                              qe = vi(
                                   "uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"
                              ),
                              $e = vi(
                                   "uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"
                              ),
                              Xe = vi(
                                   "varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"
                              ),
                              Ge = vi("void main() {gl_FragColor=vec4(1.0);}", "attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),
                              Ze = vi(
                                   "uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"
                              ),
                              Je = vi(
                                   "uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"
                              ),
                              Ke = vi(
                                   "varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}",
                                   "attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"
                              ),
                              Qe = vi(
                                   "varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}",
                                   "attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd  =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz  /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"
                              ),
                              ti = vi(
                                   "uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}",
                                   "attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"
                              ),
                              ei = vi(
                                   "#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"
                              ),
                              ii = vi(
                                   "varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"
                              ),
                              ni = vi(
                                   "uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"
                              ),
                              ri = vi(
                                   "uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"
                              ),
                              oi = vi(
                                   "varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"
                              ),
                              ai = vi(
                                   "uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"
                              ),
                              si = vi(
                                   "#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"
                              ),
                              li = vi(
                                   "uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"
                              ),
                              ci = vi(
                                   "uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"
                              ),
                              ui = vi(
                                   "uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"
                              ),
                              hi = vi(
                                   "uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"
                              ),
                              di = vi(
                                   "uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"
                              ),
                              pi = vi(
                                   "uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"
                              ),
                              fi = vi(
                                   "uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"
                              ),
                              mi = vi(
                                   "#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"
                              ),
                              gi = vi(
                                   "#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",
                                   "const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}"
                              );
                         function vi(t, e) {
                              var i = /#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,
                                   n = {};
                              return {
                                   fragmentSource: (t = t.replace(i, function (t, e, i, r, o) {
                                        return (
                                             (n[o] = !0),
                                             "define" === e
                                                  ? "\n#ifndef HAS_UNIFORM_u_" + o + "\nvarying " + i + " " + r + " " + o + ";\n#else\nuniform " + i + " " + r + " u_" + o + ";\n#endif\n"
                                                  : "\n#ifdef HAS_UNIFORM_u_" + o + "\n    " + i + " " + r + " " + o + " = u_" + o + ";\n#endif\n"
                                        );
                                   })),
                                   vertexSource: (e = e.replace(i, function (t, e, i, r, o) {
                                        var a = "float" === r ? "vec2" : "vec4",
                                             s = o.match(/color/) ? "color" : a;
                                        return n[o]
                                             ? "define" === e
                                                  ? "\n#ifndef HAS_UNIFORM_u_" +
                                                    o +
                                                    "\nuniform lowp float u_" +
                                                    o +
                                                    "_t;\nattribute " +
                                                    i +
                                                    " " +
                                                    a +
                                                    " a_" +
                                                    o +
                                                    ";\nvarying " +
                                                    i +
                                                    " " +
                                                    r +
                                                    " " +
                                                    o +
                                                    ";\n#else\nuniform " +
                                                    i +
                                                    " " +
                                                    r +
                                                    " u_" +
                                                    o +
                                                    ";\n#endif\n"
                                                  : "vec4" === s
                                                  ? "\n#ifndef HAS_UNIFORM_u_" + o + "\n    " + o + " = a_" + o + ";\n#else\n    " + i + " " + r + " " + o + " = u_" + o + ";\n#endif\n"
                                                  : "\n#ifndef HAS_UNIFORM_u_" + o + "\n    " + o + " = unpack_mix_" + s + "(a_" + o + ", u_" + o + "_t);\n#else\n    " + i + " " + r + " " + o + " = u_" + o + ";\n#endif\n"
                                             : "define" === e
                                             ? "\n#ifndef HAS_UNIFORM_u_" + o + "\nuniform lowp float u_" + o + "_t;\nattribute " + i + " " + a + " a_" + o + ";\n#else\nuniform " + i + " " + r + " u_" + o + ";\n#endif\n"
                                             : "vec4" === s
                                             ? "\n#ifndef HAS_UNIFORM_u_" + o + "\n    " + i + " " + r + " " + o + " = a_" + o + ";\n#else\n    " + i + " " + r + " " + o + " = u_" + o + ";\n#endif\n"
                                             : "\n#ifndef HAS_UNIFORM_u_" + o + "\n    " + i + " " + r + " " + o + " = unpack_mix_" + s + "(a_" + o + ", u_" + o + "_t);\n#else\n    " + i + " " + r + " " + o + " = u_" + o + ";\n#endif\n";
                                   })),
                              };
                         }
                         var yi = Object.freeze({
                                   __proto__: null,
                                   prelude: Ue,
                                   background: qe,
                                   backgroundPattern: $e,
                                   circle: Xe,
                                   clippingMask: Ge,
                                   heatmap: Ze,
                                   heatmapTexture: Je,
                                   collisionBox: Ke,
                                   collisionCircle: Qe,
                                   debug: ti,
                                   fill: ei,
                                   fillOutline: ii,
                                   fillOutlinePattern: ni,
                                   fillPattern: ri,
                                   fillExtrusion: oi,
                                   fillExtrusionPattern: ai,
                                   hillshadePrepare: si,
                                   hillshade: li,
                                   line: ci,
                                   lineGradient: ui,
                                   linePattern: hi,
                                   lineSDF: di,
                                   raster: pi,
                                   symbolIcon: fi,
                                   symbolSDF: mi,
                                   symbolTextAndIcon: gi,
                              }),
                              bi = function () {
                                   (this.boundProgram = null),
                                        (this.boundLayoutVertexBuffer = null),
                                        (this.boundPaintVertexBuffers = []),
                                        (this.boundIndexBuffer = null),
                                        (this.boundVertexOffset = null),
                                        (this.boundDynamicVertexBuffer = null),
                                        (this.vao = null);
                              };
                         (bi.prototype.bind = function (t, e, i, n, r, o, a, s) {
                              this.context = t;
                              for (var l = this.boundPaintVertexBuffers.length !== n.length, c = 0; !l && c < n.length; c++) this.boundPaintVertexBuffers[c] !== n[c] && (l = !0);
                              t.extVertexArrayObject &&
                              this.vao &&
                              this.boundProgram === e &&
                              this.boundLayoutVertexBuffer === i &&
                              !l &&
                              this.boundIndexBuffer === r &&
                              this.boundVertexOffset === o &&
                              this.boundDynamicVertexBuffer === a &&
                              this.boundDynamicVertexBuffer2 === s
                                   ? (t.bindVertexArrayOES.set(this.vao), a && a.bind(), r && r.dynamicDraw && r.bind(), s && s.bind())
                                   : this.freshBind(e, i, n, r, o, a, s);
                         }),
                              (bi.prototype.freshBind = function (t, e, i, n, r, o, a) {
                                   var s,
                                        l = t.numAttributes,
                                        c = this.context,
                                        u = c.gl;
                                   if (c.extVertexArrayObject)
                                        this.vao && this.destroy(),
                                             (this.vao = c.extVertexArrayObject.createVertexArrayOES()),
                                             c.bindVertexArrayOES.set(this.vao),
                                             (s = 0),
                                             (this.boundProgram = t),
                                             (this.boundLayoutVertexBuffer = e),
                                             (this.boundPaintVertexBuffers = i),
                                             (this.boundIndexBuffer = n),
                                             (this.boundVertexOffset = r),
                                             (this.boundDynamicVertexBuffer = o),
                                             (this.boundDynamicVertexBuffer2 = a);
                                   else {
                                        s = c.currentNumAttributes || 0;
                                        for (var h = l; h < s; h++) u.disableVertexAttribArray(h);
                                   }
                                   e.enableAttributes(u, t);
                                   for (var d = 0, p = i; d < p.length; d += 1) p[d].enableAttributes(u, t);
                                   o && o.enableAttributes(u, t), a && a.enableAttributes(u, t), e.bind(), e.setVertexAttribPointers(u, t, r);
                                   for (var f = 0, m = i; f < m.length; f += 1) {
                                        var g = m[f];
                                        g.bind(), g.setVertexAttribPointers(u, t, r);
                                   }
                                   o && (o.bind(), o.setVertexAttribPointers(u, t, r)), n && n.bind(), a && (a.bind(), a.setVertexAttribPointers(u, t, r)), (c.currentNumAttributes = l);
                              }),
                              (bi.prototype.destroy = function () {
                                   this.vao && (this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao), (this.vao = null));
                              });
                         var _i = function (t, e, i, n, r) {
                              var o = t.gl;
                              this.program = o.createProgram();
                              var a = i ? i.defines() : [];
                              r && a.push("#define OVERDRAW_INSPECTOR;");
                              var s = a.concat(Ue.fragmentSource, e.fragmentSource).join("\n"),
                                   l = a.concat(Ue.vertexSource, e.vertexSource).join("\n"),
                                   c = o.createShader(o.FRAGMENT_SHADER);
                              if (o.isContextLost()) this.failedToCreate = !0;
                              else {
                                   o.shaderSource(c, s), o.compileShader(c), o.attachShader(this.program, c);
                                   var u = o.createShader(o.VERTEX_SHADER);
                                   if (o.isContextLost()) this.failedToCreate = !0;
                                   else {
                                        o.shaderSource(u, l), o.compileShader(u), o.attachShader(this.program, u);
                                        for (var h = i ? i.layoutAttributes : [], d = 0; d < h.length; d++) o.bindAttribLocation(this.program, d, h[d].name);
                                        o.linkProgram(this.program), o.deleteShader(u), o.deleteShader(c), (this.numAttributes = o.getProgramParameter(this.program, o.ACTIVE_ATTRIBUTES)), (this.attributes = {});
                                        for (var p = {}, f = 0; f < this.numAttributes; f++) {
                                             var m = o.getActiveAttrib(this.program, f);
                                             m && (this.attributes[m.name] = o.getAttribLocation(this.program, m.name));
                                        }
                                        for (var g = o.getProgramParameter(this.program, o.ACTIVE_UNIFORMS), v = 0; v < g; v++) {
                                             var y = o.getActiveUniform(this.program, v);
                                             y && (p[y.name] = o.getUniformLocation(this.program, y.name));
                                        }
                                        (this.fixedUniforms = n(t, p)), (this.binderUniforms = i ? i.getUniforms(t, p) : []);
                                   }
                              }
                         };
                         function xi(t, e, i) {
                              var n = 1 / de(i, 1, e.transform.tileZoom),
                                   r = Math.pow(2, i.tileID.overscaledZ),
                                   o = (i.tileSize * Math.pow(2, e.transform.tileZoom)) / r,
                                   a = o * (i.tileID.canonical.x + i.tileID.wrap * r),
                                   s = o * i.tileID.canonical.y;
                              return { u_image: 0, u_texsize: i.imageAtlasTexture.size, u_scale: [n, t.fromScale, t.toScale], u_fade: t.t, u_pixel_coord_upper: [a >> 16, s >> 16], u_pixel_coord_lower: [65535 & a, 65535 & s] };
                         }
                         _i.prototype.draw = function (t, e, i, n, r, o, a, s, l, c, u, h, d, p, f, m) {
                              var g,
                                   v = t.gl;
                              if (!this.failedToCreate) {
                                   for (var y in (t.program.set(this.program), t.setDepthMode(i), t.setStencilMode(n), t.setColorMode(r), t.setCullFace(o), this.fixedUniforms)) this.fixedUniforms[y].set(a[y]);
                                   p && p.setUniforms(t, this.binderUniforms, h, { zoom: d });
                                   for (var b = ((g = {}), (g[v.LINES] = 2), (g[v.TRIANGLES] = 3), (g[v.LINE_STRIP] = 1), g)[e], _ = 0, x = u.get(); _ < x.length; _ += 1) {
                                        var w = x[_],
                                             k = w.vaos || (w.vaos = {});
                                        (k[s] || (k[s] = new bi())).bind(t, this, l, p ? p.getPaintVertexBuffers() : [], c, w.vertexOffset, f, m), v.drawElements(e, w.primitiveLength * b, v.UNSIGNED_SHORT, w.primitiveOffset * b * 2);
                                   }
                              }
                         };
                         var wi = function (e, i, n, r) {
                                   var o = i.style.light,
                                        a = o.properties.get("position"),
                                        s = [a.x, a.y, a.z],
                                        l = t.create$1();
                                   "viewport" === o.properties.get("anchor") && t.fromRotation(l, -i.transform.angle), t.transformMat3(s, s, l);
                                   var c = o.properties.get("color");
                                   return { u_matrix: e, u_lightpos: s, u_lightintensity: o.properties.get("intensity"), u_lightcolor: [c.r, c.g, c.b], u_vertical_gradient: +n, u_opacity: r };
                              },
                              ki = function (e, i, n, r, o, a, s) {
                                   return t.extend(wi(e, i, n, r), xi(a, i, s), { u_height_factor: -Math.pow(2, o.overscaledZ) / s.tileSize / 8 });
                              },
                              Si = function (t) {
                                   return { u_matrix: t };
                              },
                              Mi = function (e, i, n, r) {
                                   return t.extend(Si(e), xi(n, i, r));
                              },
                              Ti = function (t, e) {
                                   return { u_matrix: t, u_world: e };
                              },
                              Ci = function (e, i, n, r, o) {
                                   return t.extend(Mi(e, i, n, r), { u_world: o });
                              },
                              Di = function (e, i, n, r) {
                                   var o,
                                        a,
                                        s = e.transform;
                                   if ("map" === r.paint.get("circle-pitch-alignment")) {
                                        var l = de(n, 1, s.zoom);
                                        (o = !0), (a = [l, l]);
                                   } else (o = !1), (a = s.pixelsToGLUnits);
                                   return {
                                        u_camera_to_center_distance: s.cameraToCenterDistance,
                                        u_scale_with_map: +("map" === r.paint.get("circle-pitch-scale")),
                                        u_matrix: e.translatePosMatrix(i.posMatrix, n, r.paint.get("circle-translate"), r.paint.get("circle-translate-anchor")),
                                        u_pitch_with_map: +o,
                                        u_device_pixel_ratio: t.browser.devicePixelRatio,
                                        u_extrude_scale: a,
                                   };
                              },
                              Li = function (t, e, i) {
                                   var n = de(i, 1, e.zoom),
                                        r = Math.pow(2, e.zoom - i.tileID.overscaledZ),
                                        o = i.tileID.overscaleFactor();
                                   return {
                                        u_matrix: t,
                                        u_camera_to_center_distance: e.cameraToCenterDistance,
                                        u_pixels_to_tile_units: n,
                                        u_extrude_scale: [e.pixelsToGLUnits[0] / (n * r), e.pixelsToGLUnits[1] / (n * r)],
                                        u_overscale_factor: o,
                                   };
                              },
                              Ei = function (t, e, i) {
                                   return { u_matrix: t, u_inv_matrix: e, u_camera_to_center_distance: i.cameraToCenterDistance, u_viewport_size: [i.width, i.height] };
                              },
                              Ai = function (t, e, i) {
                                   return void 0 === i && (i = 1), { u_matrix: t, u_color: e, u_overlay: 0, u_overlay_scale: i };
                              },
                              Pi = function (t) {
                                   return { u_matrix: t };
                              },
                              Ii = function (t, e, i, n) {
                                   return { u_matrix: t, u_extrude_scale: de(e, 1, i), u_intensity: n };
                              },
                              Oi = function (e, i, n) {
                                   var r = e.transform;
                                   return { u_matrix: Hi(e, i, n), u_ratio: 1 / de(i, 1, r.zoom), u_device_pixel_ratio: t.browser.devicePixelRatio, u_units_to_pixels: [1 / r.pixelsToGLUnits[0], 1 / r.pixelsToGLUnits[1]] };
                              },
                              Yi = function (e, i, n) {
                                   return t.extend(Oi(e, i, n), { u_image: 0 });
                              },
                              zi = function (e, i, n, r) {
                                   var o = e.transform,
                                        a = Fi(i, o);
                                   return {
                                        u_matrix: Hi(e, i, n),
                                        u_texsize: i.imageAtlasTexture.size,
                                        u_ratio: 1 / de(i, 1, o.zoom),
                                        u_device_pixel_ratio: t.browser.devicePixelRatio,
                                        u_image: 0,
                                        u_scale: [a, r.fromScale, r.toScale],
                                        u_fade: r.t,
                                        u_units_to_pixels: [1 / o.pixelsToGLUnits[0], 1 / o.pixelsToGLUnits[1]],
                                   };
                              },
                              Ri = function (e, i, n, r, o) {
                                   var a = e.lineAtlas,
                                        s = Fi(i, e.transform),
                                        l = "round" === n.layout.get("line-cap"),
                                        c = a.getDash(r.from, l),
                                        u = a.getDash(r.to, l),
                                        h = c.width * o.fromScale,
                                        d = u.width * o.toScale;
                                   return t.extend(Oi(e, i, n), {
                                        u_patternscale_a: [s / h, -c.height / 2],
                                        u_patternscale_b: [s / d, -u.height / 2],
                                        u_sdfgamma: a.width / (256 * Math.min(h, d) * t.browser.devicePixelRatio) / 2,
                                        u_image: 0,
                                        u_tex_y_a: c.y,
                                        u_tex_y_b: u.y,
                                        u_mix: o.t,
                                   });
                              };
                         function Fi(t, e) {
                              return 1 / de(t, 1, e.tileZoom);
                         }
                         function Hi(t, e, i) {
                              return t.translatePosMatrix(e.tileID.posMatrix, e, i.paint.get("line-translate"), i.paint.get("line-translate-anchor"));
                         }
                         var ji = function (t, e, i, n, r) {
                              return {
                                   u_matrix: t,
                                   u_tl_parent: e,
                                   u_scale_parent: i,
                                   u_buffer_scale: 1,
                                   u_fade_t: n.mix,
                                   u_opacity: n.opacity * r.paint.get("raster-opacity"),
                                   u_image0: 0,
                                   u_image1: 1,
                                   u_brightness_low: r.paint.get("raster-brightness-min"),
                                   u_brightness_high: r.paint.get("raster-brightness-max"),
                                   u_saturation_factor: ((a = r.paint.get("raster-saturation")), a > 0 ? 1 - 1 / (1.001 - a) : -a),
                                   u_contrast_factor: ((o = r.paint.get("raster-contrast")), o > 0 ? 1 / (1 - o) : 1 + o),
                                   u_spin_weights: Ni(r.paint.get("raster-hue-rotate")),
                              };
                              var o, a;
                         };
                         function Ni(t) {
                              t *= Math.PI / 180;
                              var e = Math.sin(t),
                                   i = Math.cos(t);
                              return [(2 * i + 1) / 3, (-Math.sqrt(3) * e - i + 1) / 3, (Math.sqrt(3) * e - i + 1) / 3];
                         }
                         var Bi,
                              Wi = function (t, e, i, n, r, o, a, s, l, c) {
                                   var u = r.transform;
                                   return {
                                        u_is_size_zoom_constant: +("constant" === t || "source" === t),
                                        u_is_size_feature_constant: +("constant" === t || "camera" === t),
                                        u_size_t: e ? e.uSizeT : 0,
                                        u_size: e ? e.uSize : 0,
                                        u_camera_to_center_distance: u.cameraToCenterDistance,
                                        u_pitch: (u.pitch / 360) * 2 * Math.PI,
                                        u_rotate_symbol: +i,
                                        u_aspect_ratio: u.width / u.height,
                                        u_fade_change: r.options.fadeDuration ? r.symbolFadeChange : 1,
                                        u_matrix: o,
                                        u_label_plane_matrix: a,
                                        u_coord_matrix: s,
                                        u_is_text: +l,
                                        u_pitch_with_map: +n,
                                        u_texsize: c,
                                        u_texture: 0,
                                   };
                              },
                              Vi = function (e, i, n, r, o, a, s, l, c, u, h) {
                                   var d = o.transform;
                                   return t.extend(Wi(e, i, n, r, o, a, s, l, c, u), { u_gamma_scale: r ? Math.cos(d._pitch) * d.cameraToCenterDistance : 1, u_device_pixel_ratio: t.browser.devicePixelRatio, u_is_halo: +h });
                              },
                              Ui = function (e, i, n, r, o, a, s, l, c, u) {
                                   return t.extend(Vi(e, i, n, r, o, a, s, l, !0, c, !0), { u_texsize_icon: u, u_texture_icon: 1 });
                              },
                              qi = function (t, e, i) {
                                   return { u_matrix: t, u_opacity: e, u_color: i };
                              },
                              $i = function (e, i, n, r, o, a) {
                                   return t.extend(
                                        (function (t, e, i, n) {
                                             var r = i.imageManager.getPattern(t.from.toString()),
                                                  o = i.imageManager.getPattern(t.to.toString()),
                                                  a = i.imageManager.getPixelSize(),
                                                  s = a.width,
                                                  l = a.height,
                                                  c = Math.pow(2, n.tileID.overscaledZ),
                                                  u = (n.tileSize * Math.pow(2, i.transform.tileZoom)) / c,
                                                  h = u * (n.tileID.canonical.x + n.tileID.wrap * c),
                                                  d = u * n.tileID.canonical.y;
                                             return {
                                                  u_image: 0,
                                                  u_pattern_tl_a: r.tl,
                                                  u_pattern_br_a: r.br,
                                                  u_pattern_tl_b: o.tl,
                                                  u_pattern_br_b: o.br,
                                                  u_texsize: [s, l],
                                                  u_mix: e.t,
                                                  u_pattern_size_a: r.displaySize,
                                                  u_pattern_size_b: o.displaySize,
                                                  u_scale_a: e.fromScale,
                                                  u_scale_b: e.toScale,
                                                  u_tile_units_to_pixels: 1 / de(n, 1, i.transform.tileZoom),
                                                  u_pixel_coord_upper: [h >> 16, d >> 16],
                                                  u_pixel_coord_lower: [65535 & h, 65535 & d],
                                             };
                                        })(r, a, n, o),
                                        { u_matrix: e, u_opacity: i }
                                   );
                              },
                              Xi = {
                                   fillExtrusion: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_lightpos: new t.Uniform3f(e, i.u_lightpos),
                                             u_lightintensity: new t.Uniform1f(e, i.u_lightintensity),
                                             u_lightcolor: new t.Uniform3f(e, i.u_lightcolor),
                                             u_vertical_gradient: new t.Uniform1f(e, i.u_vertical_gradient),
                                             u_opacity: new t.Uniform1f(e, i.u_opacity),
                                        };
                                   },
                                   fillExtrusionPattern: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_lightpos: new t.Uniform3f(e, i.u_lightpos),
                                             u_lightintensity: new t.Uniform1f(e, i.u_lightintensity),
                                             u_lightcolor: new t.Uniform3f(e, i.u_lightcolor),
                                             u_vertical_gradient: new t.Uniform1f(e, i.u_vertical_gradient),
                                             u_height_factor: new t.Uniform1f(e, i.u_height_factor),
                                             u_image: new t.Uniform1i(e, i.u_image),
                                             u_texsize: new t.Uniform2f(e, i.u_texsize),
                                             u_pixel_coord_upper: new t.Uniform2f(e, i.u_pixel_coord_upper),
                                             u_pixel_coord_lower: new t.Uniform2f(e, i.u_pixel_coord_lower),
                                             u_scale: new t.Uniform3f(e, i.u_scale),
                                             u_fade: new t.Uniform1f(e, i.u_fade),
                                             u_opacity: new t.Uniform1f(e, i.u_opacity),
                                        };
                                   },
                                   fill: function (e, i) {
                                        return { u_matrix: new t.UniformMatrix4f(e, i.u_matrix) };
                                   },
                                   fillPattern: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_image: new t.Uniform1i(e, i.u_image),
                                             u_texsize: new t.Uniform2f(e, i.u_texsize),
                                             u_pixel_coord_upper: new t.Uniform2f(e, i.u_pixel_coord_upper),
                                             u_pixel_coord_lower: new t.Uniform2f(e, i.u_pixel_coord_lower),
                                             u_scale: new t.Uniform3f(e, i.u_scale),
                                             u_fade: new t.Uniform1f(e, i.u_fade),
                                        };
                                   },
                                   fillOutline: function (e, i) {
                                        return { u_matrix: new t.UniformMatrix4f(e, i.u_matrix), u_world: new t.Uniform2f(e, i.u_world) };
                                   },
                                   fillOutlinePattern: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_world: new t.Uniform2f(e, i.u_world),
                                             u_image: new t.Uniform1i(e, i.u_image),
                                             u_texsize: new t.Uniform2f(e, i.u_texsize),
                                             u_pixel_coord_upper: new t.Uniform2f(e, i.u_pixel_coord_upper),
                                             u_pixel_coord_lower: new t.Uniform2f(e, i.u_pixel_coord_lower),
                                             u_scale: new t.Uniform3f(e, i.u_scale),
                                             u_fade: new t.Uniform1f(e, i.u_fade),
                                        };
                                   },
                                   circle: function (e, i) {
                                        return {
                                             u_camera_to_center_distance: new t.Uniform1f(e, i.u_camera_to_center_distance),
                                             u_scale_with_map: new t.Uniform1i(e, i.u_scale_with_map),
                                             u_pitch_with_map: new t.Uniform1i(e, i.u_pitch_with_map),
                                             u_extrude_scale: new t.Uniform2f(e, i.u_extrude_scale),
                                             u_device_pixel_ratio: new t.Uniform1f(e, i.u_device_pixel_ratio),
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                        };
                                   },
                                   collisionBox: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_camera_to_center_distance: new t.Uniform1f(e, i.u_camera_to_center_distance),
                                             u_pixels_to_tile_units: new t.Uniform1f(e, i.u_pixels_to_tile_units),
                                             u_extrude_scale: new t.Uniform2f(e, i.u_extrude_scale),
                                             u_overscale_factor: new t.Uniform1f(e, i.u_overscale_factor),
                                        };
                                   },
                                   collisionCircle: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_inv_matrix: new t.UniformMatrix4f(e, i.u_inv_matrix),
                                             u_camera_to_center_distance: new t.Uniform1f(e, i.u_camera_to_center_distance),
                                             u_viewport_size: new t.Uniform2f(e, i.u_viewport_size),
                                        };
                                   },
                                   debug: function (e, i) {
                                        return {
                                             u_color: new t.UniformColor(e, i.u_color),
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_overlay: new t.Uniform1i(e, i.u_overlay),
                                             u_overlay_scale: new t.Uniform1f(e, i.u_overlay_scale),
                                        };
                                   },
                                   clippingMask: function (e, i) {
                                        return { u_matrix: new t.UniformMatrix4f(e, i.u_matrix) };
                                   },
                                   heatmap: function (e, i) {
                                        return { u_extrude_scale: new t.Uniform1f(e, i.u_extrude_scale), u_intensity: new t.Uniform1f(e, i.u_intensity), u_matrix: new t.UniformMatrix4f(e, i.u_matrix) };
                                   },
                                   heatmapTexture: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_world: new t.Uniform2f(e, i.u_world),
                                             u_image: new t.Uniform1i(e, i.u_image),
                                             u_color_ramp: new t.Uniform1i(e, i.u_color_ramp),
                                             u_opacity: new t.Uniform1f(e, i.u_opacity),
                                        };
                                   },
                                   hillshade: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_image: new t.Uniform1i(e, i.u_image),
                                             u_latrange: new t.Uniform2f(e, i.u_latrange),
                                             u_light: new t.Uniform2f(e, i.u_light),
                                             u_shadow: new t.UniformColor(e, i.u_shadow),
                                             u_highlight: new t.UniformColor(e, i.u_highlight),
                                             u_accent: new t.UniformColor(e, i.u_accent),
                                        };
                                   },
                                   hillshadePrepare: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_image: new t.Uniform1i(e, i.u_image),
                                             u_dimension: new t.Uniform2f(e, i.u_dimension),
                                             u_zoom: new t.Uniform1f(e, i.u_zoom),
                                             u_maxzoom: new t.Uniform1f(e, i.u_maxzoom),
                                             u_unpack: new t.Uniform4f(e, i.u_unpack),
                                        };
                                   },
                                   line: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_ratio: new t.Uniform1f(e, i.u_ratio),
                                             u_device_pixel_ratio: new t.Uniform1f(e, i.u_device_pixel_ratio),
                                             u_units_to_pixels: new t.Uniform2f(e, i.u_units_to_pixels),
                                        };
                                   },
                                   lineGradient: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_ratio: new t.Uniform1f(e, i.u_ratio),
                                             u_device_pixel_ratio: new t.Uniform1f(e, i.u_device_pixel_ratio),
                                             u_units_to_pixels: new t.Uniform2f(e, i.u_units_to_pixels),
                                             u_image: new t.Uniform1i(e, i.u_image),
                                        };
                                   },
                                   linePattern: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_texsize: new t.Uniform2f(e, i.u_texsize),
                                             u_ratio: new t.Uniform1f(e, i.u_ratio),
                                             u_device_pixel_ratio: new t.Uniform1f(e, i.u_device_pixel_ratio),
                                             u_image: new t.Uniform1i(e, i.u_image),
                                             u_units_to_pixels: new t.Uniform2f(e, i.u_units_to_pixels),
                                             u_scale: new t.Uniform3f(e, i.u_scale),
                                             u_fade: new t.Uniform1f(e, i.u_fade),
                                        };
                                   },
                                   lineSDF: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_ratio: new t.Uniform1f(e, i.u_ratio),
                                             u_device_pixel_ratio: new t.Uniform1f(e, i.u_device_pixel_ratio),
                                             u_units_to_pixels: new t.Uniform2f(e, i.u_units_to_pixels),
                                             u_patternscale_a: new t.Uniform2f(e, i.u_patternscale_a),
                                             u_patternscale_b: new t.Uniform2f(e, i.u_patternscale_b),
                                             u_sdfgamma: new t.Uniform1f(e, i.u_sdfgamma),
                                             u_image: new t.Uniform1i(e, i.u_image),
                                             u_tex_y_a: new t.Uniform1f(e, i.u_tex_y_a),
                                             u_tex_y_b: new t.Uniform1f(e, i.u_tex_y_b),
                                             u_mix: new t.Uniform1f(e, i.u_mix),
                                        };
                                   },
                                   raster: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_tl_parent: new t.Uniform2f(e, i.u_tl_parent),
                                             u_scale_parent: new t.Uniform1f(e, i.u_scale_parent),
                                             u_buffer_scale: new t.Uniform1f(e, i.u_buffer_scale),
                                             u_fade_t: new t.Uniform1f(e, i.u_fade_t),
                                             u_opacity: new t.Uniform1f(e, i.u_opacity),
                                             u_image0: new t.Uniform1i(e, i.u_image0),
                                             u_image1: new t.Uniform1i(e, i.u_image1),
                                             u_brightness_low: new t.Uniform1f(e, i.u_brightness_low),
                                             u_brightness_high: new t.Uniform1f(e, i.u_brightness_high),
                                             u_saturation_factor: new t.Uniform1f(e, i.u_saturation_factor),
                                             u_contrast_factor: new t.Uniform1f(e, i.u_contrast_factor),
                                             u_spin_weights: new t.Uniform3f(e, i.u_spin_weights),
                                        };
                                   },
                                   symbolIcon: function (e, i) {
                                        return {
                                             u_is_size_zoom_constant: new t.Uniform1i(e, i.u_is_size_zoom_constant),
                                             u_is_size_feature_constant: new t.Uniform1i(e, i.u_is_size_feature_constant),
                                             u_size_t: new t.Uniform1f(e, i.u_size_t),
                                             u_size: new t.Uniform1f(e, i.u_size),
                                             u_camera_to_center_distance: new t.Uniform1f(e, i.u_camera_to_center_distance),
                                             u_pitch: new t.Uniform1f(e, i.u_pitch),
                                             u_rotate_symbol: new t.Uniform1i(e, i.u_rotate_symbol),
                                             u_aspect_ratio: new t.Uniform1f(e, i.u_aspect_ratio),
                                             u_fade_change: new t.Uniform1f(e, i.u_fade_change),
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_label_plane_matrix: new t.UniformMatrix4f(e, i.u_label_plane_matrix),
                                             u_coord_matrix: new t.UniformMatrix4f(e, i.u_coord_matrix),
                                             u_is_text: new t.Uniform1i(e, i.u_is_text),
                                             u_pitch_with_map: new t.Uniform1i(e, i.u_pitch_with_map),
                                             u_texsize: new t.Uniform2f(e, i.u_texsize),
                                             u_texture: new t.Uniform1i(e, i.u_texture),
                                        };
                                   },
                                   symbolSDF: function (e, i) {
                                        return {
                                             u_is_size_zoom_constant: new t.Uniform1i(e, i.u_is_size_zoom_constant),
                                             u_is_size_feature_constant: new t.Uniform1i(e, i.u_is_size_feature_constant),
                                             u_size_t: new t.Uniform1f(e, i.u_size_t),
                                             u_size: new t.Uniform1f(e, i.u_size),
                                             u_camera_to_center_distance: new t.Uniform1f(e, i.u_camera_to_center_distance),
                                             u_pitch: new t.Uniform1f(e, i.u_pitch),
                                             u_rotate_symbol: new t.Uniform1i(e, i.u_rotate_symbol),
                                             u_aspect_ratio: new t.Uniform1f(e, i.u_aspect_ratio),
                                             u_fade_change: new t.Uniform1f(e, i.u_fade_change),
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_label_plane_matrix: new t.UniformMatrix4f(e, i.u_label_plane_matrix),
                                             u_coord_matrix: new t.UniformMatrix4f(e, i.u_coord_matrix),
                                             u_is_text: new t.Uniform1i(e, i.u_is_text),
                                             u_pitch_with_map: new t.Uniform1i(e, i.u_pitch_with_map),
                                             u_texsize: new t.Uniform2f(e, i.u_texsize),
                                             u_texture: new t.Uniform1i(e, i.u_texture),
                                             u_gamma_scale: new t.Uniform1f(e, i.u_gamma_scale),
                                             u_device_pixel_ratio: new t.Uniform1f(e, i.u_device_pixel_ratio),
                                             u_is_halo: new t.Uniform1i(e, i.u_is_halo),
                                        };
                                   },
                                   symbolTextAndIcon: function (e, i) {
                                        return {
                                             u_is_size_zoom_constant: new t.Uniform1i(e, i.u_is_size_zoom_constant),
                                             u_is_size_feature_constant: new t.Uniform1i(e, i.u_is_size_feature_constant),
                                             u_size_t: new t.Uniform1f(e, i.u_size_t),
                                             u_size: new t.Uniform1f(e, i.u_size),
                                             u_camera_to_center_distance: new t.Uniform1f(e, i.u_camera_to_center_distance),
                                             u_pitch: new t.Uniform1f(e, i.u_pitch),
                                             u_rotate_symbol: new t.Uniform1i(e, i.u_rotate_symbol),
                                             u_aspect_ratio: new t.Uniform1f(e, i.u_aspect_ratio),
                                             u_fade_change: new t.Uniform1f(e, i.u_fade_change),
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_label_plane_matrix: new t.UniformMatrix4f(e, i.u_label_plane_matrix),
                                             u_coord_matrix: new t.UniformMatrix4f(e, i.u_coord_matrix),
                                             u_is_text: new t.Uniform1i(e, i.u_is_text),
                                             u_pitch_with_map: new t.Uniform1i(e, i.u_pitch_with_map),
                                             u_texsize: new t.Uniform2f(e, i.u_texsize),
                                             u_texsize_icon: new t.Uniform2f(e, i.u_texsize_icon),
                                             u_texture: new t.Uniform1i(e, i.u_texture),
                                             u_texture_icon: new t.Uniform1i(e, i.u_texture_icon),
                                             u_gamma_scale: new t.Uniform1f(e, i.u_gamma_scale),
                                             u_device_pixel_ratio: new t.Uniform1f(e, i.u_device_pixel_ratio),
                                             u_is_halo: new t.Uniform1i(e, i.u_is_halo),
                                        };
                                   },
                                   background: function (e, i) {
                                        return { u_matrix: new t.UniformMatrix4f(e, i.u_matrix), u_opacity: new t.Uniform1f(e, i.u_opacity), u_color: new t.UniformColor(e, i.u_color) };
                                   },
                                   backgroundPattern: function (e, i) {
                                        return {
                                             u_matrix: new t.UniformMatrix4f(e, i.u_matrix),
                                             u_opacity: new t.Uniform1f(e, i.u_opacity),
                                             u_image: new t.Uniform1i(e, i.u_image),
                                             u_pattern_tl_a: new t.Uniform2f(e, i.u_pattern_tl_a),
                                             u_pattern_br_a: new t.Uniform2f(e, i.u_pattern_br_a),
                                             u_pattern_tl_b: new t.Uniform2f(e, i.u_pattern_tl_b),
                                             u_pattern_br_b: new t.Uniform2f(e, i.u_pattern_br_b),
                                             u_texsize: new t.Uniform2f(e, i.u_texsize),
                                             u_mix: new t.Uniform1f(e, i.u_mix),
                                             u_pattern_size_a: new t.Uniform2f(e, i.u_pattern_size_a),
                                             u_pattern_size_b: new t.Uniform2f(e, i.u_pattern_size_b),
                                             u_scale_a: new t.Uniform1f(e, i.u_scale_a),
                                             u_scale_b: new t.Uniform1f(e, i.u_scale_b),
                                             u_pixel_coord_upper: new t.Uniform2f(e, i.u_pixel_coord_upper),
                                             u_pixel_coord_lower: new t.Uniform2f(e, i.u_pixel_coord_lower),
                                             u_tile_units_to_pixels: new t.Uniform1f(e, i.u_tile_units_to_pixels),
                                        };
                                   },
                              };
                         function Gi(e, i, n, r, o, a, s) {
                              for (var l = e.context, c = l.gl, u = e.useProgram("collisionBox"), h = [], d = 0, p = 0, f = 0; f < r.length; f++) {
                                   var m = r[f],
                                        g = i.getTile(m),
                                        v = g.getBucket(n);
                                   if (v) {
                                        var y = m.posMatrix;
                                        (0 === o[0] && 0 === o[1]) || (y = e.translatePosMatrix(m.posMatrix, g, o, a));
                                        var b = s ? v.textCollisionBox : v.iconCollisionBox,
                                             _ = v.collisionCircleArray;
                                        if (_.length > 0) {
                                             var x = t.create(),
                                                  w = y;
                                             t.mul(x, v.placementInvProjMatrix, e.transform.glCoordMatrix),
                                                  t.mul(x, x, v.placementViewportMatrix),
                                                  h.push({ circleArray: _, circleOffset: p, transform: w, invTransform: x }),
                                                  (p = d += _.length / 4);
                                        }
                                        b &&
                                             u.draw(
                                                  l,
                                                  c.LINES,
                                                  Mt.disabled,
                                                  Tt.disabled,
                                                  e.colorModeForRenderPass(),
                                                  Dt.disabled,
                                                  Li(y, e.transform, g),
                                                  n.id,
                                                  b.layoutVertexBuffer,
                                                  b.indexBuffer,
                                                  b.segments,
                                                  null,
                                                  e.transform.zoom,
                                                  null,
                                                  null,
                                                  b.collisionVertexBuffer
                                             );
                                   }
                              }
                              if (s && h.length) {
                                   var k = e.useProgram("collisionCircle"),
                                        S = new t.StructArrayLayout2f1f2i16();
                                   S.resize(4 * d), S._trim();
                                   for (var M = 0, T = 0, C = h; T < C.length; T += 1)
                                        for (var D = C[T], L = 0; L < D.circleArray.length / 4; L++) {
                                             var E = 4 * L,
                                                  A = D.circleArray[E + 0],
                                                  P = D.circleArray[E + 1],
                                                  I = D.circleArray[E + 2],
                                                  O = D.circleArray[E + 3];
                                             S.emplace(M++, A, P, I, O, 0), S.emplace(M++, A, P, I, O, 1), S.emplace(M++, A, P, I, O, 2), S.emplace(M++, A, P, I, O, 3);
                                        }
                                   (!Bi || Bi.length < 2 * d) &&
                                        (Bi = (function (e) {
                                             var i = 2 * e,
                                                  n = new t.StructArrayLayout3ui6();
                                             n.resize(i), n._trim();
                                             for (var r = 0; r < i; r++) {
                                                  var o = 6 * r;
                                                  (n.uint16[o + 0] = 4 * r + 0), (n.uint16[o + 1] = 4 * r + 1), (n.uint16[o + 2] = 4 * r + 2), (n.uint16[o + 3] = 4 * r + 2), (n.uint16[o + 4] = 4 * r + 3), (n.uint16[o + 5] = 4 * r + 0);
                                             }
                                             return n;
                                        })(d));
                                   for (var Y = l.createIndexBuffer(Bi, !0), z = l.createVertexBuffer(S, t.collisionCircleLayout.members, !0), R = 0, F = h; R < F.length; R += 1) {
                                        var H = F[R],
                                             j = Ei(H.transform, H.invTransform, e.transform);
                                        k.draw(
                                             l,
                                             c.TRIANGLES,
                                             Mt.disabled,
                                             Tt.disabled,
                                             e.colorModeForRenderPass(),
                                             Dt.disabled,
                                             j,
                                             n.id,
                                             z,
                                             Y,
                                             t.SegmentVector.simpleSegment(0, 2 * H.circleOffset, H.circleArray.length, H.circleArray.length / 2),
                                             null,
                                             e.transform.zoom,
                                             null,
                                             null,
                                             null
                                        );
                                   }
                                   z.destroy(), Y.destroy();
                              }
                         }
                         var Zi = t.identity(new Float32Array(16));
                         function Ji(e, i, n, r, o, a) {
                              var s = t.getAnchorAlignment(e),
                                   l = -(s.horizontalAlign - 0.5) * i,
                                   c = -(s.verticalAlign - 0.5) * n,
                                   u = t.evaluateVariableOffset(e, r);
                              return new t.Point((l / o + u[0]) * a, (c / o + u[1]) * a);
                         }
                         function Ki(e, i, n, r, o, a, s, l, c, u, h) {
                              var d = e.text.placedSymbolArray,
                                   p = e.text.dynamicLayoutVertexArray,
                                   f = e.icon.dynamicLayoutVertexArray,
                                   m = {};
                              p.clear();
                              for (var g = 0; g < d.length; g++) {
                                   var v = d.get(g),
                                        y = v.hidden || !v.crossTileID || (e.allowVerticalPlacement && !v.placedOrientation) ? null : r[v.crossTileID];
                                   if (y) {
                                        var b = new t.Point(v.anchorX, v.anchorY),
                                             _ = Qt(b, n ? l : s),
                                             x = te(a.cameraToCenterDistance, _.signedDistanceFromCamera),
                                             w = (o.evaluateSizeForFeature(e.textSizeData, u, v) * x) / t.ONE_EM;
                                        n && (w *= e.tilePixelRatio / c);
                                        for (
                                             var k = Ji(y.anchor, y.width, y.height, y.textOffset, y.textBoxScale, w),
                                                  S = n ? Qt(b.add(k), s).point : _.point.add(i ? k.rotate(-a.angle) : k),
                                                  M = e.allowVerticalPlacement && v.placedOrientation === t.WritingMode.vertical ? Math.PI / 2 : 0,
                                                  T = 0;
                                             T < v.numGlyphs;
                                             T++
                                        )
                                             t.addDynamicAttributes(p, S, M);
                                        h && v.associatedIconIndex >= 0 && (m[v.associatedIconIndex] = { shiftedAnchor: S, angle: M });
                                   } else ce(v.numGlyphs, p);
                              }
                              if (h) {
                                   f.clear();
                                   for (var C = e.icon.placedSymbolArray, D = 0; D < C.length; D++) {
                                        var L = C.get(D);
                                        if (L.hidden) ce(L.numGlyphs, f);
                                        else {
                                             var E = m[D];
                                             if (E) for (var A = 0; A < L.numGlyphs; A++) t.addDynamicAttributes(f, E.shiftedAnchor, E.angle);
                                             else ce(L.numGlyphs, f);
                                        }
                                   }
                                   e.icon.dynamicLayoutVertexBuffer.updateData(f);
                              }
                              e.text.dynamicLayoutVertexBuffer.updateData(p);
                         }
                         function Qi(t, e, i) {
                              return i.iconsInText && e ? "symbolTextAndIcon" : t ? "symbolSDF" : "symbolIcon";
                         }
                         function tn(e, i, n, r, o, a, s, l, c, u, h, d) {
                              for (
                                   var p = e.context,
                                        f = p.gl,
                                        m = e.transform,
                                        g = "map" === l,
                                        v = "map" === c,
                                        y = g && "point" !== n.layout.get("symbol-placement"),
                                        b = g && !v && !y,
                                        _ = void 0 !== n.layout.get("symbol-sort-key").constantOr(1),
                                        x = e.depthModeForSublayer(0, Mt.ReadOnly),
                                        w = n.layout.get("text-variable-anchor"),
                                        k = [],
                                        S = 0,
                                        M = r;
                                   S < M.length;
                                   S += 1
                              ) {
                                   var T = M[S],
                                        C = i.getTile(T),
                                        D = C.getBucket(n);
                                   if (D) {
                                        var L = o ? D.text : D.icon;
                                        if (L && L.segments.get().length) {
                                             var E = L.programConfigurations.get(n.id),
                                                  A = o || D.sdfIcons,
                                                  P = o ? D.textSizeData : D.iconSizeData,
                                                  I = v || 0 !== m.pitch,
                                                  O = e.useProgram(Qi(A, o, D), E),
                                                  Y = t.evaluateSizeForZoom(P, m.zoom),
                                                  z = void 0,
                                                  R = [0, 0],
                                                  F = void 0,
                                                  H = void 0,
                                                  j = null,
                                                  N = void 0;
                                             if (o)
                                                  (F = C.glyphAtlasTexture),
                                                       (H = f.LINEAR),
                                                       (z = C.glyphAtlasTexture.size),
                                                       D.iconsInText &&
                                                            ((R = C.imageAtlasTexture.size),
                                                            (j = C.imageAtlasTexture),
                                                            (N = I || e.options.rotating || e.options.zooming || "composite" === P.kind || "camera" === P.kind ? f.LINEAR : f.NEAREST));
                                             else {
                                                  var B = 1 !== n.layout.get("icon-size").constantOr(0) || D.iconsNeedLinear;
                                                  (F = C.imageAtlasTexture), (H = A || e.options.rotating || e.options.zooming || B || I ? f.LINEAR : f.NEAREST), (z = C.imageAtlasTexture.size);
                                             }
                                             var W = de(C, 1, e.transform.zoom),
                                                  V = Jt(T.posMatrix, v, g, e.transform, W),
                                                  U = Kt(T.posMatrix, v, g, e.transform, W),
                                                  q = w && D.hasTextData(),
                                                  $ = "none" !== n.layout.get("icon-text-fit") && q && D.hasIconData();
                                             y && ie(D, T.posMatrix, e, o, V, U, v, u);
                                             var X = e.translatePosMatrix(T.posMatrix, C, a, s),
                                                  G = y || (o && w) || $ ? Zi : V,
                                                  Z = e.translatePosMatrix(U, C, a, s, !0),
                                                  J = A && 0 !== n.paint.get(o ? "text-halo-width" : "icon-halo-width").constantOr(1),
                                                  K = {
                                                       program: O,
                                                       buffers: L,
                                                       uniformValues: A ? (D.iconsInText ? Ui(P.kind, Y, b, v, e, X, G, Z, z, R) : Vi(P.kind, Y, b, v, e, X, G, Z, o, z, !0)) : Wi(P.kind, Y, b, v, e, X, G, Z, o, z),
                                                       atlasTexture: F,
                                                       atlasTextureIcon: j,
                                                       atlasInterpolation: H,
                                                       atlasInterpolationIcon: N,
                                                       isSDF: A,
                                                       hasHalo: J,
                                                  };
                                             if (_)
                                                  for (var Q = 0, tt = L.segments.get(); Q < tt.length; Q += 1) {
                                                       var et = tt[Q];
                                                       k.push({ segments: new t.SegmentVector([et]), sortKey: et.sortKey, state: K });
                                                  }
                                             else k.push({ segments: L.segments, sortKey: 0, state: K });
                                        }
                                   }
                              }
                              _ &&
                                   k.sort(function (t, e) {
                                        return t.sortKey - e.sortKey;
                                   });
                              for (var it = 0, nt = k; it < nt.length; it += 1) {
                                   var rt = nt[it],
                                        ot = rt.state;
                                   if (
                                        (p.activeTexture.set(f.TEXTURE0),
                                        ot.atlasTexture.bind(ot.atlasInterpolation, f.CLAMP_TO_EDGE),
                                        ot.atlasTextureIcon && (p.activeTexture.set(f.TEXTURE1), ot.atlasTextureIcon && ot.atlasTextureIcon.bind(ot.atlasInterpolationIcon, f.CLAMP_TO_EDGE)),
                                        ot.isSDF)
                                   ) {
                                        var at = ot.uniformValues;
                                        ot.hasHalo && ((at.u_is_halo = 1), en(ot.buffers, rt.segments, n, e, ot.program, x, h, d, at)), (at.u_is_halo = 0);
                                   }
                                   en(ot.buffers, rt.segments, n, e, ot.program, x, h, d, ot.uniformValues);
                              }
                         }
                         function en(t, e, i, n, r, o, a, s, l) {
                              var c = n.context;
                              r.draw(
                                   c,
                                   c.gl.TRIANGLES,
                                   o,
                                   a,
                                   s,
                                   Dt.disabled,
                                   l,
                                   i.id,
                                   t.layoutVertexBuffer,
                                   t.indexBuffer,
                                   e,
                                   i.paint,
                                   n.transform.zoom,
                                   t.programConfigurations.get(i.id),
                                   t.dynamicLayoutVertexBuffer,
                                   t.opacityVertexBuffer
                              );
                         }
                         function nn(t, e, i, n, r, o, a) {
                              var s,
                                   l,
                                   c,
                                   u,
                                   h,
                                   d = t.context.gl,
                                   p = i.paint.get("fill-pattern"),
                                   f = p && p.constantOr(1),
                                   m = i.getCrossfadeParameters();
                              a ? ((l = f && !i.getPaintProperty("fill-outline-color") ? "fillOutlinePattern" : "fillOutline"), (s = d.LINES)) : ((l = f ? "fillPattern" : "fill"), (s = d.TRIANGLES));
                              for (var g = 0, v = n; g < v.length; g += 1) {
                                   var y = v[g],
                                        b = e.getTile(y);
                                   if (!f || b.patternsLoaded()) {
                                        var _ = b.getBucket(i);
                                        if (_) {
                                             var x = _.programConfigurations.get(i.id),
                                                  w = t.useProgram(l, x);
                                             f && (t.context.activeTexture.set(d.TEXTURE0), b.imageAtlasTexture.bind(d.LINEAR, d.CLAMP_TO_EDGE), x.updatePaintBuffers(m));
                                             var k = p.constantOr(null);
                                             if (k && b.imageAtlas) {
                                                  var S = b.imageAtlas,
                                                       M = S.patternPositions[k.to.toString()],
                                                       T = S.patternPositions[k.from.toString()];
                                                  M && T && x.setConstantPatternPositions(M, T);
                                             }
                                             var C = t.translatePosMatrix(y.posMatrix, b, i.paint.get("fill-translate"), i.paint.get("fill-translate-anchor"));
                                             if (a) {
                                                  (u = _.indexBuffer2), (h = _.segments2);
                                                  var D = [d.drawingBufferWidth, d.drawingBufferHeight];
                                                  c = "fillOutlinePattern" === l && f ? Ci(C, t, m, b, D) : Ti(C, D);
                                             } else (u = _.indexBuffer), (h = _.segments), (c = f ? Mi(C, t, m, b) : Si(C));
                                             w.draw(t.context, s, r, t.stencilModeForClipping(y), o, Dt.disabled, c, i.id, _.layoutVertexBuffer, u, h, i.paint, t.transform.zoom, x);
                                        }
                                   }
                              }
                         }
                         function rn(t, e, i, n, r, o, a) {
                              for (var s = t.context, l = s.gl, c = i.paint.get("fill-extrusion-pattern"), u = c.constantOr(1), h = i.getCrossfadeParameters(), d = i.paint.get("fill-extrusion-opacity"), p = 0, f = n; p < f.length; p += 1) {
                                   var m = f[p],
                                        g = e.getTile(m),
                                        v = g.getBucket(i);
                                   if (v) {
                                        var y = v.programConfigurations.get(i.id),
                                             b = t.useProgram(u ? "fillExtrusionPattern" : "fillExtrusion", y);
                                        u && (t.context.activeTexture.set(l.TEXTURE0), g.imageAtlasTexture.bind(l.LINEAR, l.CLAMP_TO_EDGE), y.updatePaintBuffers(h));
                                        var _ = c.constantOr(null);
                                        if (_ && g.imageAtlas) {
                                             var x = g.imageAtlas,
                                                  w = x.patternPositions[_.to.toString()],
                                                  k = x.patternPositions[_.from.toString()];
                                             w && k && y.setConstantPatternPositions(w, k);
                                        }
                                        var S = t.translatePosMatrix(m.posMatrix, g, i.paint.get("fill-extrusion-translate"), i.paint.get("fill-extrusion-translate-anchor")),
                                             M = i.paint.get("fill-extrusion-vertical-gradient"),
                                             T = u ? ki(S, t, M, d, m, h, g) : wi(S, t, M, d);
                                        b.draw(s, s.gl.TRIANGLES, r, o, a, Dt.backCCW, T, i.id, v.layoutVertexBuffer, v.indexBuffer, v.segments, i.paint, t.transform.zoom, y);
                                   }
                              }
                         }
                         function on(e, i, n, r, o, a) {
                              var s = e.context,
                                   l = s.gl,
                                   c = i.fbo;
                              if (c) {
                                   var u = e.useProgram("hillshade");
                                   s.activeTexture.set(l.TEXTURE0), l.bindTexture(l.TEXTURE_2D, c.colorAttachment.get());
                                   var h = (function (e, i, n) {
                                        var r = n.paint.get("hillshade-shadow-color"),
                                             o = n.paint.get("hillshade-highlight-color"),
                                             a = n.paint.get("hillshade-accent-color"),
                                             s = n.paint.get("hillshade-illumination-direction") * (Math.PI / 180);
                                        "viewport" === n.paint.get("hillshade-illumination-anchor") && (s -= e.transform.angle);
                                        var l,
                                             c,
                                             u,
                                             h = !e.options.moving;
                                        return {
                                             u_matrix: e.transform.calculatePosMatrix(i.tileID.toUnwrapped(), h),
                                             u_image: 0,
                                             u_latrange: ((l = i.tileID), (c = Math.pow(2, l.canonical.z)), (u = l.canonical.y), [new t.MercatorCoordinate(0, u / c).toLngLat().lat, new t.MercatorCoordinate(0, (u + 1) / c).toLngLat().lat]),
                                             u_light: [n.paint.get("hillshade-exaggeration"), s],
                                             u_shadow: r,
                                             u_highlight: o,
                                             u_accent: a,
                                        };
                                   })(e, i, n);
                                   u.draw(s, l.TRIANGLES, r, o, a, Dt.disabled, h, n.id, e.rasterBoundsBuffer, e.quadTriangleIndexBuffer, e.rasterBoundsSegments);
                              }
                         }
                         function an(e, i, n, r, o, a, s) {
                              var l = e.context,
                                   c = l.gl,
                                   u = i.dem;
                              if (u && u.data) {
                                   var h = u.dim,
                                        d = u.stride,
                                        p = u.getPixels();
                                   if ((l.activeTexture.set(c.TEXTURE1), l.pixelStoreUnpackPremultiplyAlpha.set(!1), (i.demTexture = i.demTexture || e.getTileTexture(d)), i.demTexture)) {
                                        var f = i.demTexture;
                                        f.update(p, { premultiply: !1 }), f.bind(c.NEAREST, c.CLAMP_TO_EDGE);
                                   } else (i.demTexture = new t.Texture(l, p, c.RGBA, { premultiply: !1 })), i.demTexture.bind(c.NEAREST, c.CLAMP_TO_EDGE);
                                   l.activeTexture.set(c.TEXTURE0);
                                   var m = i.fbo;
                                   if (!m) {
                                        var g = new t.Texture(l, { width: h, height: h, data: null }, c.RGBA);
                                        g.bind(c.LINEAR, c.CLAMP_TO_EDGE), (m = i.fbo = l.createFramebuffer(h, h, !0)).colorAttachment.set(g.texture);
                                   }
                                   l.bindFramebuffer.set(m.framebuffer),
                                        l.viewport.set([0, 0, h, h]),
                                        e.useProgram("hillshadePrepare").draw(
                                             l,
                                             c.TRIANGLES,
                                             o,
                                             a,
                                             s,
                                             Dt.disabled,
                                             (function (e, i, n) {
                                                  var r = i.stride,
                                                       o = t.create();
                                                  return (
                                                       t.ortho(o, 0, t.EXTENT, -t.EXTENT, 0, 0, 1),
                                                       t.translate(o, o, [0, -t.EXTENT, 0]),
                                                       { u_matrix: o, u_image: 1, u_dimension: [r, r], u_zoom: e.overscaledZ, u_maxzoom: n, u_unpack: i.getUnpackVector() }
                                                  );
                                             })(i.tileID, u, r),
                                             n.id,
                                             e.rasterBoundsBuffer,
                                             e.quadTriangleIndexBuffer,
                                             e.rasterBoundsSegments
                                        ),
                                        (i.needsHillshadePrepare = !1);
                              }
                         }
                         function sn(e, i, n, r, o) {
                              var a = r.paint.get("raster-fade-duration");
                              if (a > 0) {
                                   var s = t.browser.now(),
                                        l = (s - e.timeAdded) / a,
                                        c = i ? (s - i.timeAdded) / a : -1,
                                        u = n.getSource(),
                                        h = o.coveringZoomLevel({ tileSize: u.tileSize, roundZoom: u.roundZoom }),
                                        d = !i || Math.abs(i.tileID.overscaledZ - h) > Math.abs(e.tileID.overscaledZ - h),
                                        p = d && e.refreshedUponExpiration ? 1 : t.clamp(d ? l : 1 - c, 0, 1);
                                   return e.refreshedUponExpiration && l >= 1 && (e.refreshedUponExpiration = !1), i ? { opacity: 1, mix: 1 - p } : { opacity: p, mix: 0 };
                              }
                              return { opacity: 1, mix: 0 };
                         }
                         var ln = new t.Color(1, 0, 0, 1),
                              cn = new t.Color(0, 1, 0, 1),
                              un = new t.Color(0, 0, 1, 1),
                              hn = new t.Color(1, 0, 1, 1),
                              dn = new t.Color(0, 1, 1, 1);
                         function pn(t, e, i, n) {
                              mn(t, 0, e + i / 2, t.transform.width, i, n);
                         }
                         function fn(t, e, i, n) {
                              mn(t, e - i / 2, 0, i, t.transform.height, n);
                         }
                         function mn(e, i, n, r, o, a) {
                              var s = e.context,
                                   l = s.gl;
                              l.enable(l.SCISSOR_TEST),
                                   l.scissor(i * t.browser.devicePixelRatio, n * t.browser.devicePixelRatio, r * t.browser.devicePixelRatio, o * t.browser.devicePixelRatio),
                                   s.clear({ color: a }),
                                   l.disable(l.SCISSOR_TEST);
                         }
                         function gn(e, i, n) {
                              var r = e.context,
                                   o = r.gl,
                                   a = n.posMatrix,
                                   s = e.useProgram("debug"),
                                   l = Mt.disabled,
                                   c = Tt.disabled,
                                   u = e.colorModeForRenderPass();
                              r.activeTexture.set(o.TEXTURE0),
                                   e.emptyTexture.bind(o.LINEAR, o.CLAMP_TO_EDGE),
                                   s.draw(r, o.LINE_STRIP, l, c, u, Dt.disabled, Ai(a, t.Color.red), "$debug", e.debugBuffer, e.tileBorderIndexBuffer, e.debugSegments);
                              var h = i.getTileByID(n.key).latestRawTileData,
                                   d = Math.floor(((h && h.byteLength) || 0) / 1024),
                                   p = i.getTile(n).tileSize,
                                   f = (512 / Math.min(p, 512)) * (n.overscaledZ / e.transform.zoom) * 0.5,
                                   m = n.canonical.toString();
                              n.overscaledZ !== n.canonical.z && (m += " => " + n.overscaledZ),
                                   (function (t, e) {
                                        t.initDebugOverlayCanvas();
                                        var i = t.debugOverlayCanvas,
                                             n = t.context.gl,
                                             r = t.debugOverlayCanvas.getContext("2d");
                                        r.clearRect(0, 0, i.width, i.height),
                                             (r.shadowColor = "white"),
                                             (r.shadowBlur = 2),
                                             (r.lineWidth = 1.5),
                                             (r.strokeStyle = "white"),
                                             (r.textBaseline = "top"),
                                             (r.font = "bold 36px Open Sans, sans-serif"),
                                             r.fillText(e, 5, 5),
                                             r.strokeText(e, 5, 5),
                                             t.debugOverlayTexture.update(i),
                                             t.debugOverlayTexture.bind(n.LINEAR, n.CLAMP_TO_EDGE);
                                   })(e, m + " " + d + "kb"),
                                   s.draw(r, o.TRIANGLES, l, c, Ct.alphaBlended, Dt.disabled, Ai(a, t.Color.transparent, f), "$debug", e.debugBuffer, e.quadTriangleIndexBuffer, e.debugSegments);
                         }
                         var vn = {
                                   symbol: function (e, i, n, r, o) {
                                        if ("translucent" === e.renderPass) {
                                             var a = Tt.disabled,
                                                  s = e.colorModeForRenderPass();
                                             n.layout.get("text-variable-anchor") &&
                                                  (function (e, i, n, r, o, a, s) {
                                                       for (var l = i.transform, c = "map" === o, u = "map" === a, h = 0, d = e; h < d.length; h += 1) {
                                                            var p = d[h],
                                                                 f = r.getTile(p),
                                                                 m = f.getBucket(n);
                                                            if (m && m.text && m.text.segments.get().length) {
                                                                 var g = t.evaluateSizeForZoom(m.textSizeData, l.zoom),
                                                                      v = de(f, 1, i.transform.zoom),
                                                                      y = Jt(p.posMatrix, u, c, i.transform, v),
                                                                      b = "none" !== n.layout.get("icon-text-fit") && m.hasIconData();
                                                                 if (g) {
                                                                      var _ = Math.pow(2, l.zoom - f.tileID.overscaledZ);
                                                                      Ki(m, c, u, s, t.symbolSize, l, y, p.posMatrix, _, g, b);
                                                                 }
                                                            }
                                                       }
                                                  })(r, e, n, i, n.layout.get("text-rotation-alignment"), n.layout.get("text-pitch-alignment"), o),
                                                  0 !== n.paint.get("icon-opacity").constantOr(1) &&
                                                       tn(
                                                            e,
                                                            i,
                                                            n,
                                                            r,
                                                            !1,
                                                            n.paint.get("icon-translate"),
                                                            n.paint.get("icon-translate-anchor"),
                                                            n.layout.get("icon-rotation-alignment"),
                                                            n.layout.get("icon-pitch-alignment"),
                                                            n.layout.get("icon-keep-upright"),
                                                            a,
                                                            s
                                                       ),
                                                  0 !== n.paint.get("text-opacity").constantOr(1) &&
                                                       tn(
                                                            e,
                                                            i,
                                                            n,
                                                            r,
                                                            !0,
                                                            n.paint.get("text-translate"),
                                                            n.paint.get("text-translate-anchor"),
                                                            n.layout.get("text-rotation-alignment"),
                                                            n.layout.get("text-pitch-alignment"),
                                                            n.layout.get("text-keep-upright"),
                                                            a,
                                                            s
                                                       ),
                                                  i.map.showCollisionBoxes &&
                                                       (Gi(e, i, n, r, n.paint.get("text-translate"), n.paint.get("text-translate-anchor"), !0), Gi(e, i, n, r, n.paint.get("icon-translate"), n.paint.get("icon-translate-anchor"), !1));
                                        }
                                   },
                                   circle: function (e, i, n, r) {
                                        if ("translucent" === e.renderPass) {
                                             var o = n.paint.get("circle-opacity"),
                                                  a = n.paint.get("circle-stroke-width"),
                                                  s = n.paint.get("circle-stroke-opacity"),
                                                  l = void 0 !== n.layout.get("circle-sort-key").constantOr(1);
                                             if (0 !== o.constantOr(1) || (0 !== a.constantOr(1) && 0 !== s.constantOr(1))) {
                                                  for (var c = e.context, u = c.gl, h = e.depthModeForSublayer(0, Mt.ReadOnly), d = Tt.disabled, p = e.colorModeForRenderPass(), f = [], m = 0; m < r.length; m++) {
                                                       var g = r[m],
                                                            v = i.getTile(g),
                                                            y = v.getBucket(n);
                                                       if (y) {
                                                            var b = y.programConfigurations.get(n.id),
                                                                 _ = { programConfiguration: b, program: e.useProgram("circle", b), layoutVertexBuffer: y.layoutVertexBuffer, indexBuffer: y.indexBuffer, uniformValues: Di(e, g, v, n) };
                                                            if (l)
                                                                 for (var x = 0, w = y.segments.get(); x < w.length; x += 1) {
                                                                      var k = w[x];
                                                                      f.push({ segments: new t.SegmentVector([k]), sortKey: k.sortKey, state: _ });
                                                                 }
                                                            else f.push({ segments: y.segments, sortKey: 0, state: _ });
                                                       }
                                                  }
                                                  l &&
                                                       f.sort(function (t, e) {
                                                            return t.sortKey - e.sortKey;
                                                       });
                                                  for (var S = 0, M = f; S < M.length; S += 1) {
                                                       var T = M[S],
                                                            C = T.state;
                                                       C.program.draw(c, u.TRIANGLES, h, d, p, Dt.disabled, C.uniformValues, n.id, C.layoutVertexBuffer, C.indexBuffer, T.segments, n.paint, e.transform.zoom, C.programConfiguration);
                                                  }
                                             }
                                        }
                                   },
                                   heatmap: function (e, i, n, r) {
                                        if (0 !== n.paint.get("heatmap-opacity"))
                                             if ("offscreen" === e.renderPass) {
                                                  var o = e.context,
                                                       a = o.gl,
                                                       s = Tt.disabled,
                                                       l = new Ct([a.ONE, a.ONE], t.Color.transparent, [!0, !0, !0, !0]);
                                                  !(function (t, e, i) {
                                                       var n = t.gl;
                                                       t.activeTexture.set(n.TEXTURE1), t.viewport.set([0, 0, e.width / 4, e.height / 4]);
                                                       var r = i.heatmapFbo;
                                                       if (r) n.bindTexture(n.TEXTURE_2D, r.colorAttachment.get()), t.bindFramebuffer.set(r.framebuffer);
                                                       else {
                                                            var o = n.createTexture();
                                                            n.bindTexture(n.TEXTURE_2D, o),
                                                                 n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE),
                                                                 n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE),
                                                                 n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, n.LINEAR),
                                                                 n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, n.LINEAR),
                                                                 (r = i.heatmapFbo = t.createFramebuffer(e.width / 4, e.height / 4, !1)),
                                                                 (function (t, e, i, n) {
                                                                      var r = t.gl;
                                                                      r.texImage2D(r.TEXTURE_2D, 0, r.RGBA, e.width / 4, e.height / 4, 0, r.RGBA, t.extRenderToTextureHalfFloat ? t.extTextureHalfFloat.HALF_FLOAT_OES : r.UNSIGNED_BYTE, null),
                                                                           n.colorAttachment.set(i);
                                                                 })(t, e, o, r);
                                                       }
                                                  })(o, e, n),
                                                       o.clear({ color: t.Color.transparent });
                                                  for (var c = 0; c < r.length; c++) {
                                                       var u = r[c];
                                                       if (!i.hasRenderableParent(u)) {
                                                            var h = i.getTile(u),
                                                                 d = h.getBucket(n);
                                                            if (d) {
                                                                 var p = d.programConfigurations.get(n.id);
                                                                 e.useProgram("heatmap", p).draw(
                                                                      o,
                                                                      a.TRIANGLES,
                                                                      Mt.disabled,
                                                                      s,
                                                                      l,
                                                                      Dt.disabled,
                                                                      Ii(u.posMatrix, h, e.transform.zoom, n.paint.get("heatmap-intensity")),
                                                                      n.id,
                                                                      d.layoutVertexBuffer,
                                                                      d.indexBuffer,
                                                                      d.segments,
                                                                      n.paint,
                                                                      e.transform.zoom,
                                                                      p
                                                                 );
                                                            }
                                                       }
                                                  }
                                                  o.viewport.set([0, 0, e.width, e.height]);
                                             } else
                                                  "translucent" === e.renderPass &&
                                                       (e.context.setColorMode(e.colorModeForRenderPass()),
                                                       (function (e, i) {
                                                            var n = e.context,
                                                                 r = n.gl,
                                                                 o = i.heatmapFbo;
                                                            if (o) {
                                                                 n.activeTexture.set(r.TEXTURE0), r.bindTexture(r.TEXTURE_2D, o.colorAttachment.get()), n.activeTexture.set(r.TEXTURE1);
                                                                 var a = i.colorRampTexture;
                                                                 a || (a = i.colorRampTexture = new t.Texture(n, i.colorRamp, r.RGBA)),
                                                                      a.bind(r.LINEAR, r.CLAMP_TO_EDGE),
                                                                      e.useProgram("heatmapTexture").draw(
                                                                           n,
                                                                           r.TRIANGLES,
                                                                           Mt.disabled,
                                                                           Tt.disabled,
                                                                           e.colorModeForRenderPass(),
                                                                           Dt.disabled,
                                                                           (function (e, i, n, r) {
                                                                                var o = t.create();
                                                                                t.ortho(o, 0, e.width, e.height, 0, 0, 1);
                                                                                var a = e.context.gl;
                                                                                return { u_matrix: o, u_world: [a.drawingBufferWidth, a.drawingBufferHeight], u_image: 0, u_color_ramp: 1, u_opacity: i.paint.get("heatmap-opacity") };
                                                                           })(e, i),
                                                                           i.id,
                                                                           e.viewportBuffer,
                                                                           e.quadTriangleIndexBuffer,
                                                                           e.viewportSegments,
                                                                           i.paint,
                                                                           e.transform.zoom
                                                                      );
                                                            }
                                                       })(e, n));
                                   },
                                   line: function (e, i, n, r) {
                                        if ("translucent" === e.renderPass) {
                                             var o = n.paint.get("line-opacity"),
                                                  a = n.paint.get("line-width");
                                             if (0 !== o.constantOr(1) && 0 !== a.constantOr(1)) {
                                                  var s = e.depthModeForSublayer(0, Mt.ReadOnly),
                                                       l = e.colorModeForRenderPass(),
                                                       c = n.paint.get("line-dasharray"),
                                                       u = n.paint.get("line-pattern"),
                                                       h = u.constantOr(1),
                                                       d = n.paint.get("line-gradient"),
                                                       p = n.getCrossfadeParameters(),
                                                       f = h ? "linePattern" : c ? "lineSDF" : d ? "lineGradient" : "line",
                                                       m = e.context,
                                                       g = m.gl,
                                                       v = !0;
                                                  if (d) {
                                                       m.activeTexture.set(g.TEXTURE0);
                                                       var y = n.gradientTexture;
                                                       if (!n.gradient) return;
                                                       y || (y = n.gradientTexture = new t.Texture(m, n.gradient, g.RGBA)), y.bind(g.LINEAR, g.CLAMP_TO_EDGE);
                                                  }
                                                  for (var b = 0, _ = r; b < _.length; b += 1) {
                                                       var x = _[b],
                                                            w = i.getTile(x);
                                                       if (!h || w.patternsLoaded()) {
                                                            var k = w.getBucket(n);
                                                            if (k) {
                                                                 var S = k.programConfigurations.get(n.id),
                                                                      M = e.context.program.get(),
                                                                      T = e.useProgram(f, S),
                                                                      C = v || T.program !== M,
                                                                      D = u.constantOr(null);
                                                                 if (D && w.imageAtlas) {
                                                                      var L = w.imageAtlas,
                                                                           E = L.patternPositions[D.to.toString()],
                                                                           A = L.patternPositions[D.from.toString()];
                                                                      E && A && S.setConstantPatternPositions(E, A);
                                                                 }
                                                                 var P = h ? zi(e, w, n, p) : c ? Ri(e, w, n, c, p) : d ? Yi(e, w, n) : Oi(e, w, n);
                                                                 h
                                                                      ? (m.activeTexture.set(g.TEXTURE0), w.imageAtlasTexture.bind(g.LINEAR, g.CLAMP_TO_EDGE), S.updatePaintBuffers(p))
                                                                      : c && (C || e.lineAtlas.dirty) && (m.activeTexture.set(g.TEXTURE0), e.lineAtlas.bind(m)),
                                                                      T.draw(m, g.TRIANGLES, s, e.stencilModeForClipping(x), l, Dt.disabled, P, n.id, k.layoutVertexBuffer, k.indexBuffer, k.segments, n.paint, e.transform.zoom, S),
                                                                      (v = !1);
                                                            }
                                                       }
                                                  }
                                             }
                                        }
                                   },
                                   fill: function (e, i, n, r) {
                                        var o = n.paint.get("fill-color"),
                                             a = n.paint.get("fill-opacity");
                                        if (0 !== a.constantOr(1)) {
                                             var s = e.colorModeForRenderPass(),
                                                  l = n.paint.get("fill-pattern"),
                                                  c = e.opaquePassEnabledForLayer() && !l.constantOr(1) && 1 === o.constantOr(t.Color.transparent).a && 1 === a.constantOr(0) ? "opaque" : "translucent";
                                             if (e.renderPass === c) {
                                                  var u = e.depthModeForSublayer(1, "opaque" === e.renderPass ? Mt.ReadWrite : Mt.ReadOnly);
                                                  nn(e, i, n, r, u, s, !1);
                                             }
                                             if ("translucent" === e.renderPass && n.paint.get("fill-antialias")) {
                                                  var h = e.depthModeForSublayer(n.getPaintProperty("fill-outline-color") ? 2 : 0, Mt.ReadOnly);
                                                  nn(e, i, n, r, h, s, !0);
                                             }
                                        }
                                   },
                                   "fill-extrusion": function (t, e, i, n) {
                                        var r = i.paint.get("fill-extrusion-opacity");
                                        if (0 !== r && "translucent" === t.renderPass) {
                                             var o = new Mt(t.context.gl.LEQUAL, Mt.ReadWrite, t.depthRangeFor3D);
                                             if (1 !== r || i.paint.get("fill-extrusion-pattern").constantOr(1)) rn(t, e, i, n, o, Tt.disabled, Ct.disabled), rn(t, e, i, n, o, t.stencilModeFor3D(), t.colorModeForRenderPass());
                                             else {
                                                  var a = t.colorModeForRenderPass();
                                                  rn(t, e, i, n, o, Tt.disabled, a);
                                             }
                                        }
                                   },
                                   hillshade: function (t, e, i, n) {
                                        if ("offscreen" === t.renderPass || "translucent" === t.renderPass) {
                                             for (
                                                  var r = t.context,
                                                       o = e.getSource().maxzoom,
                                                       a = t.depthModeForSublayer(0, Mt.ReadOnly),
                                                       s = t.colorModeForRenderPass(),
                                                       l = "translucent" === t.renderPass ? t.stencilConfigForOverlap(n) : [{}, n],
                                                       c = l[0],
                                                       u = 0,
                                                       h = l[1];
                                                  u < h.length;
                                                  u += 1
                                             ) {
                                                  var d = h[u],
                                                       p = e.getTile(d);
                                                  p.needsHillshadePrepare && "offscreen" === t.renderPass ? an(t, p, i, o, a, Tt.disabled, s) : "translucent" === t.renderPass && on(t, p, i, a, c[d.overscaledZ], s);
                                             }
                                             r.viewport.set([0, 0, t.width, t.height]);
                                        }
                                   },
                                   raster: function (t, e, i, n) {
                                        if ("translucent" === t.renderPass && 0 !== i.paint.get("raster-opacity") && n.length)
                                             for (
                                                  var r = t.context,
                                                       o = r.gl,
                                                       a = e.getSource(),
                                                       s = t.useProgram("raster"),
                                                       l = t.colorModeForRenderPass(),
                                                       c = a instanceof P ? [{}, n] : t.stencilConfigForOverlap(n),
                                                       u = c[0],
                                                       h = c[1],
                                                       d = h[h.length - 1].overscaledZ,
                                                       p = !t.options.moving,
                                                       f = 0,
                                                       m = h;
                                                  f < m.length;
                                                  f += 1
                                             ) {
                                                  var g = m[f],
                                                       v = t.depthModeForSublayer(g.overscaledZ - d, 1 === i.paint.get("raster-opacity") ? Mt.ReadWrite : Mt.ReadOnly, o.LESS),
                                                       y = e.getTile(g),
                                                       b = t.transform.calculatePosMatrix(g.toUnwrapped(), p);
                                                  y.registerFadeDuration(i.paint.get("raster-fade-duration"));
                                                  var _ = e.findLoadedParent(g, 0),
                                                       x = sn(y, _, e, i, t.transform),
                                                       w = void 0,
                                                       k = void 0,
                                                       S = "nearest" === i.paint.get("raster-resampling") ? o.NEAREST : o.LINEAR;
                                                  r.activeTexture.set(o.TEXTURE0),
                                                       y.texture.bind(S, o.CLAMP_TO_EDGE, o.LINEAR_MIPMAP_NEAREST),
                                                       r.activeTexture.set(o.TEXTURE1),
                                                       _
                                                            ? (_.texture.bind(S, o.CLAMP_TO_EDGE, o.LINEAR_MIPMAP_NEAREST),
                                                              (w = Math.pow(2, _.tileID.overscaledZ - y.tileID.overscaledZ)),
                                                              (k = [(y.tileID.canonical.x * w) % 1, (y.tileID.canonical.y * w) % 1]))
                                                            : y.texture.bind(S, o.CLAMP_TO_EDGE, o.LINEAR_MIPMAP_NEAREST);
                                                  var M = ji(b, k || [0, 0], w || 1, x, i);
                                                  a instanceof P
                                                       ? s.draw(r, o.TRIANGLES, v, Tt.disabled, l, Dt.disabled, M, i.id, a.boundsBuffer, t.quadTriangleIndexBuffer, a.boundsSegments)
                                                       : s.draw(r, o.TRIANGLES, v, u[g.overscaledZ], l, Dt.disabled, M, i.id, t.rasterBoundsBuffer, t.quadTriangleIndexBuffer, t.rasterBoundsSegments);
                                             }
                                   },
                                   background: function (t, e, i) {
                                        var n = i.paint.get("background-color"),
                                             r = i.paint.get("background-opacity");
                                        if (0 !== r) {
                                             var o = t.context,
                                                  a = o.gl,
                                                  s = t.transform,
                                                  l = s.tileSize,
                                                  c = i.paint.get("background-pattern");
                                             if (!t.isPatternMissing(c)) {
                                                  var u = !c && 1 === n.a && 1 === r && t.opaquePassEnabledForLayer() ? "opaque" : "translucent";
                                                  if (t.renderPass === u) {
                                                       var h = Tt.disabled,
                                                            d = t.depthModeForSublayer(0, "opaque" === u ? Mt.ReadWrite : Mt.ReadOnly),
                                                            p = t.colorModeForRenderPass(),
                                                            f = t.useProgram(c ? "backgroundPattern" : "background"),
                                                            m = s.coveringTiles({ tileSize: l });
                                                       c && (o.activeTexture.set(a.TEXTURE0), t.imageManager.bind(t.context));
                                                       for (var g = i.getCrossfadeParameters(), v = 0, y = m; v < y.length; v += 1) {
                                                            var b = y[v],
                                                                 _ = t.transform.calculatePosMatrix(b.toUnwrapped()),
                                                                 x = c ? $i(_, r, t, c, { tileID: b, tileSize: l }, g) : qi(_, r, n);
                                                            f.draw(o, a.TRIANGLES, d, h, p, Dt.disabled, x, i.id, t.tileExtentBuffer, t.quadTriangleIndexBuffer, t.tileExtentSegments);
                                                       }
                                                  }
                                             }
                                        }
                                   },
                                   debug: function (t, e, i) {
                                        for (var n = 0; n < i.length; n++) gn(t, e, i[n]);
                                   },
                                   custom: function (t, e, i) {
                                        var n = t.context,
                                             r = i.implementation;
                                        if ("offscreen" === t.renderPass) {
                                             var o = r.prerender;
                                             o && (t.setCustomLayerDefaults(), n.setColorMode(t.colorModeForRenderPass()), o.call(r, n.gl, t.transform.customLayerMatrix()), n.setDirty(), t.setBaseState());
                                        } else if ("translucent" === t.renderPass) {
                                             t.setCustomLayerDefaults(), n.setColorMode(t.colorModeForRenderPass()), n.setStencilMode(Tt.disabled);
                                             var a = "3d" === r.renderingMode ? new Mt(t.context.gl.LEQUAL, Mt.ReadWrite, t.depthRangeFor3D) : t.depthModeForSublayer(0, Mt.ReadOnly);
                                             n.setDepthMode(a), r.render(n.gl, t.transform.customLayerMatrix()), n.setDirty(), t.setBaseState(), n.bindFramebuffer.set(null);
                                        }
                                   },
                              },
                              yn = function (t, e) {
                                   (this.context = new Lt(t)),
                                        (this.transform = e),
                                        (this._tileTextures = {}),
                                        this.setup(),
                                        (this.numSublayers = Et.maxUnderzooming + Et.maxOverzooming + 1),
                                        (this.depthEpsilon = 1 / Math.pow(2, 16)),
                                        (this.crossTileSymbolIndex = new Fe()),
                                        (this.gpuTimers = {});
                              };
                         (yn.prototype.resize = function (e, i) {
                              if (((this.width = e * t.browser.devicePixelRatio), (this.height = i * t.browser.devicePixelRatio), this.context.viewport.set([0, 0, this.width, this.height]), this.style))
                                   for (var n = 0, r = this.style._order; n < r.length; n += 1) this.style._layers[r[n]].resize();
                         }),
                              (yn.prototype.setup = function () {
                                   var e = this.context,
                                        i = new t.StructArrayLayout2i4();
                                   i.emplaceBack(0, 0),
                                        i.emplaceBack(t.EXTENT, 0),
                                        i.emplaceBack(0, t.EXTENT),
                                        i.emplaceBack(t.EXTENT, t.EXTENT),
                                        (this.tileExtentBuffer = e.createVertexBuffer(i, Ve.members)),
                                        (this.tileExtentSegments = t.SegmentVector.simpleSegment(0, 0, 4, 2));
                                   var n = new t.StructArrayLayout2i4();
                                   n.emplaceBack(0, 0),
                                        n.emplaceBack(t.EXTENT, 0),
                                        n.emplaceBack(0, t.EXTENT),
                                        n.emplaceBack(t.EXTENT, t.EXTENT),
                                        (this.debugBuffer = e.createVertexBuffer(n, Ve.members)),
                                        (this.debugSegments = t.SegmentVector.simpleSegment(0, 0, 4, 5));
                                   var r = new t.StructArrayLayout4i8();
                                   r.emplaceBack(0, 0, 0, 0),
                                        r.emplaceBack(t.EXTENT, 0, t.EXTENT, 0),
                                        r.emplaceBack(0, t.EXTENT, 0, t.EXTENT),
                                        r.emplaceBack(t.EXTENT, t.EXTENT, t.EXTENT, t.EXTENT),
                                        (this.rasterBoundsBuffer = e.createVertexBuffer(r, A.members)),
                                        (this.rasterBoundsSegments = t.SegmentVector.simpleSegment(0, 0, 4, 2));
                                   var o = new t.StructArrayLayout2i4();
                                   o.emplaceBack(0, 0),
                                        o.emplaceBack(1, 0),
                                        o.emplaceBack(0, 1),
                                        o.emplaceBack(1, 1),
                                        (this.viewportBuffer = e.createVertexBuffer(o, Ve.members)),
                                        (this.viewportSegments = t.SegmentVector.simpleSegment(0, 0, 4, 2));
                                   var a = new t.StructArrayLayout1ui2();
                                   a.emplaceBack(0), a.emplaceBack(1), a.emplaceBack(3), a.emplaceBack(2), a.emplaceBack(0), (this.tileBorderIndexBuffer = e.createIndexBuffer(a));
                                   var s = new t.StructArrayLayout3ui6();
                                   s.emplaceBack(0, 1, 2),
                                        s.emplaceBack(2, 1, 3),
                                        (this.quadTriangleIndexBuffer = e.createIndexBuffer(s)),
                                        (this.emptyTexture = new t.Texture(e, { width: 1, height: 1, data: new Uint8Array([0, 0, 0, 0]) }, e.gl.RGBA));
                                   var l = this.context.gl;
                                   this.stencilClearMode = new Tt({ func: l.ALWAYS, mask: 0 }, 0, 255, l.ZERO, l.ZERO, l.ZERO);
                              }),
                              (yn.prototype.clearStencil = function () {
                                   var e = this.context,
                                        i = e.gl;
                                   (this.nextStencilID = 1), (this.currentStencilSource = void 0);
                                   var n = t.create();
                                   t.ortho(n, 0, this.width, this.height, 0, 0, 1),
                                        t.scale(n, n, [i.drawingBufferWidth, i.drawingBufferHeight, 0]),
                                        this.useProgram("clippingMask").draw(
                                             e,
                                             i.TRIANGLES,
                                             Mt.disabled,
                                             this.stencilClearMode,
                                             Ct.disabled,
                                             Dt.disabled,
                                             Pi(n),
                                             "$clipping",
                                             this.viewportBuffer,
                                             this.quadTriangleIndexBuffer,
                                             this.viewportSegments
                                        );
                              }),
                              (yn.prototype._renderTileClippingMasks = function (t, e) {
                                   if (this.currentStencilSource !== t.source && t.isTileClipped() && e && e.length) {
                                        this.currentStencilSource = t.source;
                                        var i = this.context,
                                             n = i.gl;
                                        this.nextStencilID + e.length > 256 && this.clearStencil(), i.setColorMode(Ct.disabled), i.setDepthMode(Mt.disabled);
                                        var r = this.useProgram("clippingMask");
                                        this._tileClippingMaskIDs = {};
                                        for (var o = 0, a = e; o < a.length; o += 1) {
                                             var s = a[o],
                                                  l = (this._tileClippingMaskIDs[s.key] = this.nextStencilID++);
                                             r.draw(
                                                  i,
                                                  n.TRIANGLES,
                                                  Mt.disabled,
                                                  new Tt({ func: n.ALWAYS, mask: 0 }, l, 255, n.KEEP, n.KEEP, n.REPLACE),
                                                  Ct.disabled,
                                                  Dt.disabled,
                                                  Pi(s.posMatrix),
                                                  "$clipping",
                                                  this.tileExtentBuffer,
                                                  this.quadTriangleIndexBuffer,
                                                  this.tileExtentSegments
                                             );
                                        }
                                   }
                              }),
                              (yn.prototype.stencilModeFor3D = function () {
                                   (this.currentStencilSource = void 0), this.nextStencilID + 1 > 256 && this.clearStencil();
                                   var t = this.nextStencilID++,
                                        e = this.context.gl;
                                   return new Tt({ func: e.NOTEQUAL, mask: 255 }, t, 255, e.KEEP, e.KEEP, e.REPLACE);
                              }),
                              (yn.prototype.stencilModeForClipping = function (t) {
                                   var e = this.context.gl;
                                   return new Tt({ func: e.EQUAL, mask: 255 }, this._tileClippingMaskIDs[t.key], 0, e.KEEP, e.KEEP, e.REPLACE);
                              }),
                              (yn.prototype.stencilConfigForOverlap = function (t) {
                                   var e,
                                        i = this.context.gl,
                                        n = t.sort(function (t, e) {
                                             return e.overscaledZ - t.overscaledZ;
                                        }),
                                        r = n[n.length - 1].overscaledZ,
                                        o = n[0].overscaledZ - r + 1;
                                   if (o > 1) {
                                        (this.currentStencilSource = void 0), this.nextStencilID + o > 256 && this.clearStencil();
                                        for (var a = {}, s = 0; s < o; s++) a[s + r] = new Tt({ func: i.GEQUAL, mask: 255 }, s + this.nextStencilID, 255, i.KEEP, i.KEEP, i.REPLACE);
                                        return (this.nextStencilID += o), [a, n];
                                   }
                                   return [((e = {}), (e[r] = Tt.disabled), e), n];
                              }),
                              (yn.prototype.colorModeForRenderPass = function () {
                                   var e = this.context.gl;
                                   return this._showOverdrawInspector ? new Ct([e.CONSTANT_COLOR, e.ONE], new t.Color(1 / 8, 1 / 8, 1 / 8, 0), [!0, !0, !0, !0]) : "opaque" === this.renderPass ? Ct.unblended : Ct.alphaBlended;
                              }),
                              (yn.prototype.depthModeForSublayer = function (t, e, i) {
                                   if (!this.opaquePassEnabledForLayer()) return Mt.disabled;
                                   var n = 1 - ((1 + this.currentLayer) * this.numSublayers + t) * this.depthEpsilon;
                                   return new Mt(i || this.context.gl.LEQUAL, e, [n, n]);
                              }),
                              (yn.prototype.opaquePassEnabledForLayer = function () {
                                   return this.currentLayer < this.opaquePassCutoff;
                              }),
                              (yn.prototype.render = function (e, i) {
                                   var n = this;
                                   (this.style = e),
                                        (this.options = i),
                                        (this.lineAtlas = e.lineAtlas),
                                        (this.imageManager = e.imageManager),
                                        (this.glyphManager = e.glyphManager),
                                        (this.symbolFadeChange = e.placement.symbolFadeChange(t.browser.now())),
                                        this.imageManager.beginFrame();
                                   var r = this.style._order,
                                        o = this.style.sourceCaches;
                                   for (var a in o) {
                                        var s = o[a];
                                        s.used && s.prepare(this.context);
                                   }
                                   var l,
                                        c,
                                        u = {},
                                        h = {},
                                        d = {};
                                   for (var p in o) {
                                        var f = o[p];
                                        (u[p] = f.getVisibleCoordinates()), (h[p] = u[p].slice().reverse()), (d[p] = f.getVisibleCoordinates(!0).reverse());
                                   }
                                   this.opaquePassCutoff = 1 / 0;
                                   for (var m = 0; m < r.length; m++)
                                        if (this.style._layers[r[m]].is3D()) {
                                             this.opaquePassCutoff = m;
                                             break;
                                        }
                                   this.renderPass = "offscreen";
                                   for (var g = 0, v = r; g < v.length; g += 1) {
                                        var y = this.style._layers[v[g]];
                                        if (y.hasOffscreenPass() && !y.isHidden(this.transform.zoom)) {
                                             var b = h[y.source];
                                             ("custom" === y.type || b.length) && this.renderLayer(this, o[y.source], y, b);
                                        }
                                   }
                                   for (
                                        this.context.bindFramebuffer.set(null),
                                             this.context.clear({ color: i.showOverdrawInspector ? t.Color.black : t.Color.transparent, depth: 1 }),
                                             this.clearStencil(),
                                             this._showOverdrawInspector = i.showOverdrawInspector,
                                             this.depthRangeFor3D = [0, 1 - (e._order.length + 2) * this.numSublayers * this.depthEpsilon],
                                             this.renderPass = "opaque",
                                             this.currentLayer = r.length - 1;
                                        this.currentLayer >= 0;
                                        this.currentLayer--
                                   ) {
                                        var _ = this.style._layers[r[this.currentLayer]],
                                             x = o[_.source],
                                             w = u[_.source];
                                        this._renderTileClippingMasks(_, w), this.renderLayer(this, x, _, w);
                                   }
                                   for (this.renderPass = "translucent", this.currentLayer = 0; this.currentLayer < r.length; this.currentLayer++) {
                                        var k = this.style._layers[r[this.currentLayer]],
                                             S = o[k.source],
                                             M = ("symbol" === k.type ? d : h)[k.source];
                                        this._renderTileClippingMasks(k, u[k.source]), this.renderLayer(this, S, k, M);
                                   }
                                   this.options.showTileBoundaries &&
                                        (t.values(this.style._layers).forEach(function (t) {
                                             t.source && !t.isHidden(n.transform.zoom) && (t.source !== (c && c.id) && (c = n.style.sourceCaches[t.source]), (!l || l.getSource().maxzoom < c.getSource().maxzoom) && (l = c));
                                        }),
                                        l && vn.debug(this, l, l.getVisibleCoordinates())),
                                        this.options.showPadding &&
                                             (function (t) {
                                                  var e = t.transform.padding;
                                                  pn(t, t.transform.height - (e.top || 0), 3, ln), pn(t, e.bottom || 0, 3, cn), fn(t, e.left || 0, 3, un), fn(t, t.transform.width - (e.right || 0), 3, hn);
                                                  var i = t.transform.centerPoint;
                                                  !(function (t, e, i, n) {
                                                       mn(t, e - 1, i - 10, 2, 20, n), mn(t, e - 10, i - 1, 20, 2, n);
                                                  })(t, i.x, t.transform.height - i.y, dn);
                                             })(this),
                                        this.context.setDefault();
                              }),
                              (yn.prototype.renderLayer = function (t, e, i, n) {
                                   i.isHidden(this.transform.zoom) ||
                                        (("background" === i.type || "custom" === i.type || n.length) && ((this.id = i.id), this.gpuTimingStart(i), vn[i.type](t, e, i, n, this.style.placement.variableOffsets), this.gpuTimingEnd()));
                              }),
                              (yn.prototype.gpuTimingStart = function (t) {
                                   if (this.options.gpuTiming) {
                                        var e = this.context.extTimerQuery,
                                             i = this.gpuTimers[t.id];
                                        i || (i = this.gpuTimers[t.id] = { calls: 0, cpuTime: 0, query: e.createQueryEXT() }), i.calls++, e.beginQueryEXT(e.TIME_ELAPSED_EXT, i.query);
                                   }
                              }),
                              (yn.prototype.gpuTimingEnd = function () {
                                   if (this.options.gpuTiming) {
                                        var t = this.context.extTimerQuery;
                                        t.endQueryEXT(t.TIME_ELAPSED_EXT);
                                   }
                              }),
                              (yn.prototype.collectGpuTimers = function () {
                                   var t = this.gpuTimers;
                                   return (this.gpuTimers = {}), t;
                              }),
                              (yn.prototype.queryGpuTimers = function (t) {
                                   var e = {};
                                   for (var i in t) {
                                        var n = t[i],
                                             r = this.context.extTimerQuery,
                                             o = r.getQueryObjectEXT(n.query, r.QUERY_RESULT_EXT) / 1e6;
                                        r.deleteQueryEXT(n.query), (e[i] = o);
                                   }
                                   return e;
                              }),
                              (yn.prototype.translatePosMatrix = function (e, i, n, r, o) {
                                   if (!n[0] && !n[1]) return e;
                                   var a = o ? ("map" === r ? this.transform.angle : 0) : "viewport" === r ? -this.transform.angle : 0;
                                   if (a) {
                                        var s = Math.sin(a),
                                             l = Math.cos(a);
                                        n = [n[0] * l - n[1] * s, n[0] * s + n[1] * l];
                                   }
                                   var c = [o ? n[0] : de(i, n[0], this.transform.zoom), o ? n[1] : de(i, n[1], this.transform.zoom), 0],
                                        u = new Float32Array(16);
                                   return t.translate(u, e, c), u;
                              }),
                              (yn.prototype.saveTileTexture = function (t) {
                                   var e = this._tileTextures[t.size[0]];
                                   e ? e.push(t) : (this._tileTextures[t.size[0]] = [t]);
                              }),
                              (yn.prototype.getTileTexture = function (t) {
                                   var e = this._tileTextures[t];
                                   return e && e.length > 0 ? e.pop() : null;
                              }),
                              (yn.prototype.isPatternMissing = function (t) {
                                   if (!t) return !1;
                                   if (!t.from || !t.to) return !0;
                                   var e = this.imageManager.getPattern(t.from.toString()),
                                        i = this.imageManager.getPattern(t.to.toString());
                                   return !e || !i;
                              }),
                              (yn.prototype.useProgram = function (t, e) {
                                   this.cache = this.cache || {};
                                   var i = "" + t + (e ? e.cacheKey : "") + (this._showOverdrawInspector ? "/overdraw" : "");
                                   return this.cache[i] || (this.cache[i] = new _i(this.context, yi[t], e, Xi[t], this._showOverdrawInspector)), this.cache[i];
                              }),
                              (yn.prototype.setCustomLayerDefaults = function () {
                                   this.context.unbindVAO(),
                                        this.context.cullFace.setDefault(),
                                        this.context.activeTexture.setDefault(),
                                        this.context.pixelStoreUnpack.setDefault(),
                                        this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),
                                        this.context.pixelStoreUnpackFlipY.setDefault();
                              }),
                              (yn.prototype.setBaseState = function () {
                                   var t = this.context.gl;
                                   this.context.cullFace.set(!1), this.context.viewport.set([0, 0, this.width, this.height]), this.context.blendEquation.set(t.FUNC_ADD);
                              }),
                              (yn.prototype.initDebugOverlayCanvas = function () {
                                   null == this.debugOverlayCanvas &&
                                        ((this.debugOverlayCanvas = t.window.document.createElement("canvas")),
                                        (this.debugOverlayCanvas.width = 512),
                                        (this.debugOverlayCanvas.height = 512),
                                        (this.debugOverlayTexture = new t.Texture(this.context, this.debugOverlayCanvas, this.context.gl.RGBA)));
                              }),
                              (yn.prototype.destroy = function () {
                                   this.emptyTexture.destroy(), this.debugOverlayTexture && this.debugOverlayTexture.destroy();
                              });
                         var bn = function (t, e) {
                              (this.points = t), (this.planes = e);
                         };
                         bn.fromInvProjectionMatrix = function (e, i, n) {
                              var r = Math.pow(2, n),
                                   o = [
                                        [-1, 1, -1, 1],
                                        [1, 1, -1, 1],
                                        [1, -1, -1, 1],
                                        [-1, -1, -1, 1],
                                        [-1, 1, 1, 1],
                                        [1, 1, 1, 1],
                                        [1, -1, 1, 1],
                                        [-1, -1, 1, 1],
                                   ]
                                        .map(function (i) {
                                             return t.transformMat4([], i, e);
                                        })
                                        .map(function (e) {
                                             return t.scale$1([], e, (1 / e[3] / i) * r);
                                        }),
                                   a = [
                                        [0, 1, 2],
                                        [6, 5, 4],
                                        [0, 3, 7],
                                        [2, 1, 5],
                                        [3, 2, 6],
                                        [0, 4, 5],
                                   ].map(function (e) {
                                        var i = t.sub([], o[e[0]], o[e[1]]),
                                             n = t.sub([], o[e[2]], o[e[1]]),
                                             r = t.normalize([], t.cross([], i, n)),
                                             a = -t.dot(r, o[e[1]]);
                                        return r.concat(a);
                                   });
                              return new bn(o, a);
                         };
                         var _n = function (e, i) {
                              (this.min = e), (this.max = i), (this.center = t.scale$2([], t.add([], this.min, this.max), 0.5));
                         };
                         (_n.prototype.quadrant = function (e) {
                              for (var i = [e % 2 == 0, e < 2], n = t.clone$2(this.min), r = t.clone$2(this.max), o = 0; o < i.length; o++) (n[o] = i[o] ? this.min[o] : this.center[o]), (r[o] = i[o] ? this.center[o] : this.max[o]);
                              return (r[2] = this.max[2]), new _n(n, r);
                         }),
                              (_n.prototype.distanceX = function (t) {
                                   return Math.max(Math.min(this.max[0], t[0]), this.min[0]) - t[0];
                              }),
                              (_n.prototype.distanceY = function (t) {
                                   return Math.max(Math.min(this.max[1], t[1]), this.min[1]) - t[1];
                              }),
                              (_n.prototype.intersects = function (e) {
                                   for (
                                        var i = [
                                                  [this.min[0], this.min[1], 0, 1],
                                                  [this.max[0], this.min[1], 0, 1],
                                                  [this.max[0], this.max[1], 0, 1],
                                                  [this.min[0], this.max[1], 0, 1],
                                             ],
                                             n = !0,
                                             r = 0;
                                        r < e.planes.length;
                                        r++
                                   ) {
                                        for (var o = e.planes[r], a = 0, s = 0; s < i.length; s++) a += t.dot$1(o, i[s]) >= 0;
                                        if (0 === a) return 0;
                                        a !== i.length && (n = !1);
                                   }
                                   if (n) return 2;
                                   for (var l = 0; l < 3; l++) {
                                        for (var c = Number.MAX_VALUE, u = -Number.MAX_VALUE, h = 0; h < e.points.length; h++) {
                                             var d = e.points[h][l] - this.min[l];
                                             (c = Math.min(c, d)), (u = Math.max(u, d));
                                        }
                                        if (u < 0 || c > this.max[l] - this.min[l]) return 0;
                                   }
                                   return 1;
                              });
                         var xn = function (t, e, i, n) {
                              if ((void 0 === t && (t = 0), void 0 === e && (e = 0), void 0 === i && (i = 0), void 0 === n && (n = 0), isNaN(t) || t < 0 || isNaN(e) || e < 0 || isNaN(i) || i < 0 || isNaN(n) || n < 0))
                                   throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");
                              (this.top = t), (this.bottom = e), (this.left = i), (this.right = n);
                         };
                         (xn.prototype.interpolate = function (e, i, n) {
                              return (
                                   null != i.top && null != e.top && (this.top = t.number(e.top, i.top, n)),
                                   null != i.bottom && null != e.bottom && (this.bottom = t.number(e.bottom, i.bottom, n)),
                                   null != i.left && null != e.left && (this.left = t.number(e.left, i.left, n)),
                                   null != i.right && null != e.right && (this.right = t.number(e.right, i.right, n)),
                                   this
                              );
                         }),
                              (xn.prototype.getCenter = function (e, i) {
                                   var n = t.clamp((this.left + e - this.right) / 2, 0, e),
                                        r = t.clamp((this.top + i - this.bottom) / 2, 0, i);
                                   return new t.Point(n, r);
                              }),
                              (xn.prototype.equals = function (t) {
                                   return this.top === t.top && this.bottom === t.bottom && this.left === t.left && this.right === t.right;
                              }),
                              (xn.prototype.clone = function () {
                                   return new xn(this.top, this.bottom, this.left, this.right);
                              }),
                              (xn.prototype.toJSON = function () {
                                   return { top: this.top, bottom: this.bottom, left: this.left, right: this.right };
                              });
                         var wn = function (e, i, n, r, o) {
                                   (this.tileSize = 512),
                                        (this.maxValidLatitude = 85.051129),
                                        (this._renderWorldCopies = void 0 === o || o),
                                        (this._minZoom = e || 0),
                                        (this._maxZoom = i || 22),
                                        (this._minPitch = null == n ? 0 : n),
                                        (this._maxPitch = null == r ? 60 : r),
                                        this.setMaxBounds(),
                                        (this.width = 0),
                                        (this.height = 0),
                                        (this._center = new t.LngLat(0, 0)),
                                        (this.zoom = 0),
                                        (this.angle = 0),
                                        (this._fov = 0.6435011087932844),
                                        (this._pitch = 0),
                                        (this._unmodified = !0),
                                        (this._edgeInsets = new xn()),
                                        (this._posMatrixCache = {}),
                                        (this._alignedPosMatrixCache = {});
                              },
                              kn = {
                                   minZoom: { configurable: !0 },
                                   maxZoom: { configurable: !0 },
                                   minPitch: { configurable: !0 },
                                   maxPitch: { configurable: !0 },
                                   renderWorldCopies: { configurable: !0 },
                                   worldSize: { configurable: !0 },
                                   centerOffset: { configurable: !0 },
                                   size: { configurable: !0 },
                                   bearing: { configurable: !0 },
                                   pitch: { configurable: !0 },
                                   fov: { configurable: !0 },
                                   zoom: { configurable: !0 },
                                   center: { configurable: !0 },
                                   padding: { configurable: !0 },
                                   centerPoint: { configurable: !0 },
                                   unmodified: { configurable: !0 },
                                   point: { configurable: !0 },
                              };
                         (wn.prototype.clone = function () {
                              var t = new wn(this._minZoom, this._maxZoom, this._minPitch, this.maxPitch, this._renderWorldCopies);
                              return (
                                   (t.tileSize = this.tileSize),
                                   (t.latRange = this.latRange),
                                   (t.width = this.width),
                                   (t.height = this.height),
                                   (t._center = this._center),
                                   (t.zoom = this.zoom),
                                   (t.angle = this.angle),
                                   (t._fov = this._fov),
                                   (t._pitch = this._pitch),
                                   (t._unmodified = this._unmodified),
                                   (t._edgeInsets = this._edgeInsets.clone()),
                                   t._calcMatrices(),
                                   t
                              );
                         }),
                              (kn.minZoom.get = function () {
                                   return this._minZoom;
                              }),
                              (kn.minZoom.set = function (t) {
                                   this._minZoom !== t && ((this._minZoom = t), (this.zoom = Math.max(this.zoom, t)));
                              }),
                              (kn.maxZoom.get = function () {
                                   return this._maxZoom;
                              }),
                              (kn.maxZoom.set = function (t) {
                                   this._maxZoom !== t && ((this._maxZoom = t), (this.zoom = Math.min(this.zoom, t)));
                              }),
                              (kn.minPitch.get = function () {
                                   return this._minPitch;
                              }),
                              (kn.minPitch.set = function (t) {
                                   this._minPitch !== t && ((this._minPitch = t), (this.pitch = Math.max(this.pitch, t)));
                              }),
                              (kn.maxPitch.get = function () {
                                   return this._maxPitch;
                              }),
                              (kn.maxPitch.set = function (t) {
                                   this._maxPitch !== t && ((this._maxPitch = t), (this.pitch = Math.min(this.pitch, t)));
                              }),
                              (kn.renderWorldCopies.get = function () {
                                   return this._renderWorldCopies;
                              }),
                              (kn.renderWorldCopies.set = function (t) {
                                   void 0 === t ? (t = !0) : null === t && (t = !1), (this._renderWorldCopies = t);
                              }),
                              (kn.worldSize.get = function () {
                                   return this.tileSize * this.scale;
                              }),
                              (kn.centerOffset.get = function () {
                                   return this.centerPoint._sub(this.size._div(2));
                              }),
                              (kn.size.get = function () {
                                   return new t.Point(this.width, this.height);
                              }),
                              (kn.bearing.get = function () {
                                   return (-this.angle / Math.PI) * 180;
                              }),
                              (kn.bearing.set = function (e) {
                                   var i = (-t.wrap(e, -180, 180) * Math.PI) / 180;
                                   this.angle !== i && ((this._unmodified = !1), (this.angle = i), this._calcMatrices(), (this.rotationMatrix = t.create$2()), t.rotate(this.rotationMatrix, this.rotationMatrix, this.angle));
                              }),
                              (kn.pitch.get = function () {
                                   return (this._pitch / Math.PI) * 180;
                              }),
                              (kn.pitch.set = function (e) {
                                   var i = (t.clamp(e, this.minPitch, this.maxPitch) / 180) * Math.PI;
                                   this._pitch !== i && ((this._unmodified = !1), (this._pitch = i), this._calcMatrices());
                              }),
                              (kn.fov.get = function () {
                                   return (this._fov / Math.PI) * 180;
                              }),
                              (kn.fov.set = function (t) {
                                   (t = Math.max(0.01, Math.min(60, t))), this._fov !== t && ((this._unmodified = !1), (this._fov = (t / 180) * Math.PI), this._calcMatrices());
                              }),
                              (kn.zoom.get = function () {
                                   return this._zoom;
                              }),
                              (kn.zoom.set = function (t) {
                                   var e = Math.min(Math.max(t, this.minZoom), this.maxZoom);
                                   this._zoom !== e &&
                                        ((this._unmodified = !1), (this._zoom = e), (this.scale = this.zoomScale(e)), (this.tileZoom = Math.floor(e)), (this.zoomFraction = e - this.tileZoom), this._constrain(), this._calcMatrices());
                              }),
                              (kn.center.get = function () {
                                   return this._center;
                              }),
                              (kn.center.set = function (t) {
                                   (t.lat === this._center.lat && t.lng === this._center.lng) || ((this._unmodified = !1), (this._center = t), this._constrain(), this._calcMatrices());
                              }),
                              (kn.padding.get = function () {
                                   return this._edgeInsets.toJSON();
                              }),
                              (kn.padding.set = function (t) {
                                   this._edgeInsets.equals(t) || ((this._unmodified = !1), this._edgeInsets.interpolate(this._edgeInsets, t, 1), this._calcMatrices());
                              }),
                              (kn.centerPoint.get = function () {
                                   return this._edgeInsets.getCenter(this.width, this.height);
                              }),
                              (wn.prototype.isPaddingEqual = function (t) {
                                   return this._edgeInsets.equals(t);
                              }),
                              (wn.prototype.interpolatePadding = function (t, e, i) {
                                   (this._unmodified = !1), this._edgeInsets.interpolate(t, e, i), this._constrain(), this._calcMatrices();
                              }),
                              (wn.prototype.coveringZoomLevel = function (t) {
                                   var e = (t.roundZoom ? Math.round : Math.floor)(this.zoom + this.scaleZoom(this.tileSize / t.tileSize));
                                   return Math.max(0, e);
                              }),
                              (wn.prototype.getVisibleUnwrappedCoordinates = function (e) {
                                   var i = [new t.UnwrappedTileID(0, e)];
                                   if (this._renderWorldCopies)
                                        for (
                                             var n = this.pointCoordinate(new t.Point(0, 0)),
                                                  r = this.pointCoordinate(new t.Point(this.width, 0)),
                                                  o = this.pointCoordinate(new t.Point(this.width, this.height)),
                                                  a = this.pointCoordinate(new t.Point(0, this.height)),
                                                  s = Math.floor(Math.min(n.x, r.x, o.x, a.x)),
                                                  l = Math.floor(Math.max(n.x, r.x, o.x, a.x)),
                                                  c = s - 1;
                                             c <= l + 1;
                                             c++
                                        )
                                             0 !== c && i.push(new t.UnwrappedTileID(c, e));
                                   return i;
                              }),
                              (wn.prototype.coveringTiles = function (e) {
                                   var i = this.coveringZoomLevel(e),
                                        n = i;
                                   if (void 0 !== e.minzoom && i < e.minzoom) return [];
                                   void 0 !== e.maxzoom && i > e.maxzoom && (i = e.maxzoom);
                                   var r = t.MercatorCoordinate.fromLngLat(this.center),
                                        o = Math.pow(2, i),
                                        a = [o * r.x, o * r.y, 0],
                                        s = bn.fromInvProjectionMatrix(this.invProjMatrix, this.worldSize, i),
                                        l = e.minzoom || 0;
                                   this.pitch <= 60 && this._edgeInsets.top < 0.1 && (l = i);
                                   var c = function (t) {
                                             return { aabb: new _n([t * o, 0, 0], [(t + 1) * o, o, 0]), zoom: 0, x: 0, y: 0, wrap: t, fullyVisible: !1 };
                                        },
                                        u = [],
                                        h = [],
                                        d = i,
                                        p = e.reparseOverscaled ? n : i;
                                   if (this._renderWorldCopies) for (var f = 1; f <= 3; f++) u.push(c(-f)), u.push(c(f));
                                   for (u.push(c(0)); u.length > 0; ) {
                                        var m = u.pop(),
                                             g = m.x,
                                             v = m.y,
                                             y = m.fullyVisible;
                                        if (!y) {
                                             var b = m.aabb.intersects(s);
                                             if (0 === b) continue;
                                             y = 2 === b;
                                        }
                                        var _ = m.aabb.distanceX(a),
                                             x = m.aabb.distanceY(a),
                                             w = Math.max(Math.abs(_), Math.abs(x));
                                        if (m.zoom === d || (w > 3 + (1 << (d - m.zoom)) - 2 && m.zoom >= l))
                                             h.push({ tileID: new t.OverscaledTileID(m.zoom === d ? p : m.zoom, m.wrap, m.zoom, g, v), distanceSq: t.sqrLen([a[0] - 0.5 - g, a[1] - 0.5 - v]) });
                                        else
                                             for (var k = 0; k < 4; k++) {
                                                  var S = (g << 1) + (k % 2),
                                                       M = (v << 1) + (k >> 1);
                                                  u.push({ aabb: m.aabb.quadrant(k), zoom: m.zoom + 1, x: S, y: M, wrap: m.wrap, fullyVisible: y });
                                             }
                                   }
                                   return h
                                        .sort(function (t, e) {
                                             return t.distanceSq - e.distanceSq;
                                        })
                                        .map(function (t) {
                                             return t.tileID;
                                        });
                              }),
                              (wn.prototype.resize = function (t, e) {
                                   (this.width = t), (this.height = e), (this.pixelsToGLUnits = [2 / t, -2 / e]), this._constrain(), this._calcMatrices();
                              }),
                              (kn.unmodified.get = function () {
                                   return this._unmodified;
                              }),
                              (wn.prototype.zoomScale = function (t) {
                                   return Math.pow(2, t);
                              }),
                              (wn.prototype.scaleZoom = function (t) {
                                   return Math.log(t) / Math.LN2;
                              }),
                              (wn.prototype.project = function (e) {
                                   var i = t.clamp(e.lat, -this.maxValidLatitude, this.maxValidLatitude);
                                   return new t.Point(t.mercatorXfromLng(e.lng) * this.worldSize, t.mercatorYfromLat(i) * this.worldSize);
                              }),
                              (wn.prototype.unproject = function (e) {
                                   return new t.MercatorCoordinate(e.x / this.worldSize, e.y / this.worldSize).toLngLat();
                              }),
                              (kn.point.get = function () {
                                   return this.project(this.center);
                              }),
                              (wn.prototype.setLocationAtPoint = function (e, i) {
                                   var n = this.pointCoordinate(i),
                                        r = this.pointCoordinate(this.centerPoint),
                                        o = this.locationCoordinate(e),
                                        a = new t.MercatorCoordinate(o.x - (n.x - r.x), o.y - (n.y - r.y));
                                   (this.center = this.coordinateLocation(a)), this._renderWorldCopies && (this.center = this.center.wrap());
                              }),
                              (wn.prototype.locationPoint = function (t) {
                                   return this.coordinatePoint(this.locationCoordinate(t));
                              }),
                              (wn.prototype.pointLocation = function (t) {
                                   return this.coordinateLocation(this.pointCoordinate(t));
                              }),
                              (wn.prototype.locationCoordinate = function (e) {
                                   return t.MercatorCoordinate.fromLngLat(e);
                              }),
                              (wn.prototype.coordinateLocation = function (t) {
                                   return t.toLngLat();
                              }),
                              (wn.prototype.pointCoordinate = function (e) {
                                   var i = [e.x, e.y, 0, 1],
                                        n = [e.x, e.y, 1, 1];
                                   t.transformMat4(i, i, this.pixelMatrixInverse), t.transformMat4(n, n, this.pixelMatrixInverse);
                                   var r = i[3],
                                        o = n[3],
                                        a = i[1] / r,
                                        s = n[1] / o,
                                        l = i[2] / r,
                                        c = n[2] / o,
                                        u = l === c ? 0 : (0 - l) / (c - l);
                                   return new t.MercatorCoordinate(t.number(i[0] / r, n[0] / o, u) / this.worldSize, t.number(a, s, u) / this.worldSize);
                              }),
                              (wn.prototype.coordinatePoint = function (e) {
                                   var i = [e.x * this.worldSize, e.y * this.worldSize, 0, 1];
                                   return t.transformMat4(i, i, this.pixelMatrix), new t.Point(i[0] / i[3], i[1] / i[3]);
                              }),
                              (wn.prototype.getBounds = function () {
                                   return new t.LngLatBounds()
                                        .extend(this.pointLocation(new t.Point(0, 0)))
                                        .extend(this.pointLocation(new t.Point(this.width, 0)))
                                        .extend(this.pointLocation(new t.Point(this.width, this.height)))
                                        .extend(this.pointLocation(new t.Point(0, this.height)));
                              }),
                              (wn.prototype.getMaxBounds = function () {
                                   return this.latRange && 2 === this.latRange.length && this.lngRange && 2 === this.lngRange.length ? new t.LngLatBounds([this.lngRange[0], this.latRange[0]], [this.lngRange[1], this.latRange[1]]) : null;
                              }),
                              (wn.prototype.setMaxBounds = function (t) {
                                   t
                                        ? ((this.lngRange = [t.getWest(), t.getEast()]), (this.latRange = [t.getSouth(), t.getNorth()]), this._constrain())
                                        : ((this.lngRange = null), (this.latRange = [-this.maxValidLatitude, this.maxValidLatitude]));
                              }),
                              (wn.prototype.calculatePosMatrix = function (e, i) {
                                   void 0 === i && (i = !1);
                                   var n = e.key,
                                        r = i ? this._alignedPosMatrixCache : this._posMatrixCache;
                                   if (r[n]) return r[n];
                                   var o = e.canonical,
                                        a = this.worldSize / this.zoomScale(o.z),
                                        s = o.x + Math.pow(2, o.z) * e.wrap,
                                        l = t.identity(new Float64Array(16));
                                   return t.translate(l, l, [s * a, o.y * a, 0]), t.scale(l, l, [a / t.EXTENT, a / t.EXTENT, 1]), t.multiply(l, i ? this.alignedProjMatrix : this.projMatrix, l), (r[n] = new Float32Array(l)), r[n];
                              }),
                              (wn.prototype.customLayerMatrix = function () {
                                   return this.mercatorMatrix.slice();
                              }),
                              (wn.prototype._constrain = function () {
                                   if (this.center && this.width && this.height && !this._constraining) {
                                        this._constraining = !0;
                                        var e,
                                             i,
                                             n,
                                             r,
                                             o = -90,
                                             a = 90,
                                             s = -180,
                                             l = 180,
                                             c = this.size,
                                             u = this._unmodified;
                                        if (this.latRange) {
                                             var h = this.latRange;
                                             (o = t.mercatorYfromLat(h[1]) * this.worldSize), (e = (a = t.mercatorYfromLat(h[0]) * this.worldSize) - o < c.y ? c.y / (a - o) : 0);
                                        }
                                        if (this.lngRange) {
                                             var d = this.lngRange;
                                             (s = t.mercatorXfromLng(d[0]) * this.worldSize), (i = (l = t.mercatorXfromLng(d[1]) * this.worldSize) - s < c.x ? c.x / (l - s) : 0);
                                        }
                                        var p = this.point,
                                             f = Math.max(i || 0, e || 0);
                                        if (f) return (this.center = this.unproject(new t.Point(i ? (l + s) / 2 : p.x, e ? (a + o) / 2 : p.y))), (this.zoom += this.scaleZoom(f)), (this._unmodified = u), void (this._constraining = !1);
                                        if (this.latRange) {
                                             var m = p.y,
                                                  g = c.y / 2;
                                             m - g < o && (r = o + g), m + g > a && (r = a - g);
                                        }
                                        if (this.lngRange) {
                                             var v = p.x,
                                                  y = c.x / 2;
                                             v - y < s && (n = s + y), v + y > l && (n = l - y);
                                        }
                                        (void 0 === n && void 0 === r) || (this.center = this.unproject(new t.Point(void 0 !== n ? n : p.x, void 0 !== r ? r : p.y))), (this._unmodified = u), (this._constraining = !1);
                                   }
                              }),
                              (wn.prototype._calcMatrices = function () {
                                   if (this.height) {
                                        var e = this.centerOffset;
                                        this.cameraToCenterDistance = (0.5 / Math.tan(this._fov / 2)) * this.height;
                                        var i = Math.PI / 2 + this._pitch,
                                             n = this._fov * (0.5 + e.y / this.height),
                                             r = (Math.sin(n) * this.cameraToCenterDistance) / Math.sin(t.clamp(Math.PI - i - n, 0.01, Math.PI - 0.01)),
                                             o = this.point,
                                             a = o.x,
                                             s = o.y,
                                             l = 1.01 * (Math.cos(Math.PI / 2 - this._pitch) * r + this.cameraToCenterDistance),
                                             c = this.height / 50,
                                             u = new Float64Array(16);
                                        t.perspective(u, this._fov, this.width / this.height, c, l),
                                             (u[8] = (2 * -e.x) / this.width),
                                             (u[9] = (2 * e.y) / this.height),
                                             t.scale(u, u, [1, -1, 1]),
                                             t.translate(u, u, [0, 0, -this.cameraToCenterDistance]),
                                             t.rotateX(u, u, this._pitch),
                                             t.rotateZ(u, u, this.angle),
                                             t.translate(u, u, [-a, -s, 0]),
                                             (this.mercatorMatrix = t.scale([], u, [this.worldSize, this.worldSize, this.worldSize])),
                                             t.scale(u, u, [1, 1, t.mercatorZfromAltitude(1, this.center.lat) * this.worldSize, 1]),
                                             (this.projMatrix = u),
                                             (this.invProjMatrix = t.invert([], this.projMatrix));
                                        var h = (this.width % 2) / 2,
                                             d = (this.height % 2) / 2,
                                             p = Math.cos(this.angle),
                                             f = Math.sin(this.angle),
                                             m = a - Math.round(a) + p * h + f * d,
                                             g = s - Math.round(s) + p * d + f * h,
                                             v = new Float64Array(u);
                                        if (
                                             (t.translate(v, v, [m > 0.5 ? m - 1 : m, g > 0.5 ? g - 1 : g, 0]),
                                             (this.alignedProjMatrix = v),
                                             (u = t.create()),
                                             t.scale(u, u, [this.width / 2, -this.height / 2, 1]),
                                             t.translate(u, u, [1, -1, 0]),
                                             (this.labelPlaneMatrix = u),
                                             (u = t.create()),
                                             t.scale(u, u, [1, -1, 1]),
                                             t.translate(u, u, [-1, -1, 0]),
                                             t.scale(u, u, [2 / this.width, 2 / this.height, 1]),
                                             (this.glCoordMatrix = u),
                                             (this.pixelMatrix = t.multiply(new Float64Array(16), this.labelPlaneMatrix, this.projMatrix)),
                                             !(u = t.invert(new Float64Array(16), this.pixelMatrix)))
                                        )
                                             throw new Error("failed to invert matrix");
                                        (this.pixelMatrixInverse = u), (this._posMatrixCache = {}), (this._alignedPosMatrixCache = {});
                                   }
                              }),
                              (wn.prototype.maxPitchScaleFactor = function () {
                                   if (!this.pixelMatrixInverse) return 1;
                                   var e = this.pointCoordinate(new t.Point(0, 0)),
                                        i = [e.x * this.worldSize, e.y * this.worldSize, 0, 1];
                                   return t.transformMat4(i, i, this.pixelMatrix)[3] / this.cameraToCenterDistance;
                              }),
                              (wn.prototype.getCameraPoint = function () {
                                   var e = Math.tan(this._pitch) * (this.cameraToCenterDistance || 1);
                                   return this.centerPoint.add(new t.Point(0, e));
                              }),
                              (wn.prototype.getCameraQueryGeometry = function (e) {
                                   var i = this.getCameraPoint();
                                   if (1 === e.length) return [e[0], i];
                                   for (var n = i.x, r = i.y, o = i.x, a = i.y, s = 0, l = e; s < l.length; s += 1) {
                                        var c = l[s];
                                        (n = Math.min(n, c.x)), (r = Math.min(r, c.y)), (o = Math.max(o, c.x)), (a = Math.max(a, c.y));
                                   }
                                   return [new t.Point(n, r), new t.Point(o, r), new t.Point(o, a), new t.Point(n, a), new t.Point(n, r)];
                              }),
                              Object.defineProperties(wn.prototype, kn);
                         var Sn = function (e) {
                              var i, n, r, o;
                              (this._hashName = e && encodeURIComponent(e)),
                                   t.bindAll(["_getCurrentHash", "_onHashChange", "_updateHash"], this),
                                   (this._updateHash =
                                        ((i = this._updateHashUnthrottled.bind(this)),
                                        (n = !1),
                                        (r = null),
                                        (o = function () {
                                             (r = null), n && (i(), (r = setTimeout(o, 300)), (n = !1));
                                        }),
                                        function () {
                                             return (n = !0), r || o(), r;
                                        }));
                         };
                         (Sn.prototype.addTo = function (e) {
                              return (this._map = e), t.window.addEventListener("hashchange", this._onHashChange, !1), this._map.on("moveend", this._updateHash), this;
                         }),
                              (Sn.prototype.remove = function () {
                                   return t.window.removeEventListener("hashchange", this._onHashChange, !1), this._map.off("moveend", this._updateHash), clearTimeout(this._updateHash()), delete this._map, this;
                              }),
                              (Sn.prototype.getHashString = function (e) {
                                   var i = this._map.getCenter(),
                                        n = Math.round(100 * this._map.getZoom()) / 100,
                                        r = Math.ceil((n * Math.LN2 + Math.log(512 / 360 / 0.5)) / Math.LN10),
                                        o = Math.pow(10, r),
                                        a = Math.round(i.lng * o) / o,
                                        s = Math.round(i.lat * o) / o,
                                        l = this._map.getBearing(),
                                        c = this._map.getPitch(),
                                        u = "";
                                   if (((u += e ? "/" + a + "/" + s + "/" + n : n + "/" + s + "/" + a), (l || c) && (u += "/" + Math.round(10 * l) / 10), c && (u += "/" + Math.round(c)), this._hashName)) {
                                        var h = this._hashName,
                                             d = !1,
                                             p = t.window.location.hash
                                                  .slice(1)
                                                  .split("&")
                                                  .map(function (t) {
                                                       var e = t.split("=")[0];
                                                       return e === h ? ((d = !0), e + "=" + u) : t;
                                                  })
                                                  .filter(function (t) {
                                                       return t;
                                                  });
                                        return d || p.push(h + "=" + u), "#" + p.join("&");
                                   }
                                   return "#" + u;
                              }),
                              (Sn.prototype._getCurrentHash = function () {
                                   var e,
                                        i = this,
                                        n = t.window.location.hash.replace("#", "");
                                   return this._hashName
                                        ? (n
                                               .split("&")
                                               .map(function (t) {
                                                    return t.split("=");
                                               })
                                               .forEach(function (t) {
                                                    t[0] === i._hashName && (e = t);
                                               }),
                                          ((e && e[1]) || "").split("/"))
                                        : n.split("/");
                              }),
                              (Sn.prototype._onHashChange = function () {
                                   var t = this._getCurrentHash();
                                   if (
                                        t.length >= 3 &&
                                        !t.some(function (t) {
                                             return isNaN(t);
                                        })
                                   ) {
                                        var e = this._map.dragRotate.isEnabled() && this._map.touchZoomRotate.isEnabled() ? +(t[3] || 0) : this._map.getBearing();
                                        return this._map.jumpTo({ center: [+t[2], +t[1]], zoom: +t[0], bearing: e, pitch: +(t[4] || 0) }), !0;
                                   }
                                   return !1;
                              }),
                              (Sn.prototype._updateHashUnthrottled = function () {
                                   var e = this.getHashString();
                                   try {
                                        t.window.history.replaceState(t.window.history.state, "", e);
                                   } catch (t) {}
                              });
                         var Mn = { linearity: 0.3, easing: t.bezier(0, 0, 0.3, 1) },
                              Tn = t.extend({ deceleration: 2500, maxSpeed: 1400 }, Mn),
                              Cn = t.extend({ deceleration: 20, maxSpeed: 1400 }, Mn),
                              Dn = t.extend({ deceleration: 1e3, maxSpeed: 360 }, Mn),
                              Ln = t.extend({ deceleration: 1e3, maxSpeed: 90 }, Mn),
                              En = function (t) {
                                   (this._map = t), this.clear();
                              };
                         function An(t, e) {
                              (!t.duration || t.duration < e.duration) && ((t.duration = e.duration), (t.easing = e.easing));
                         }
                         function Pn(e, i, n) {
                              var r = n.maxSpeed,
                                   o = n.linearity,
                                   a = n.deceleration,
                                   s = t.clamp((e * o) / (i / 1e3), -r, r),
                                   l = Math.abs(s) / (a * o);
                              return { easing: n.easing, duration: 1e3 * l, amount: s * (l / 2) };
                         }
                         (En.prototype.clear = function () {
                              this._inertiaBuffer = [];
                         }),
                              (En.prototype.record = function (e) {
                                   this._drainInertiaBuffer(), this._inertiaBuffer.push({ time: t.browser.now(), settings: e });
                              }),
                              (En.prototype._drainInertiaBuffer = function () {
                                   for (var e = this._inertiaBuffer, i = t.browser.now(); e.length > 0 && i - e[0].time > 160; ) e.shift();
                              }),
                              (En.prototype._onMoveEnd = function (e) {
                                   if ((this._drainInertiaBuffer(), !(this._inertiaBuffer.length < 2))) {
                                        for (var i = { zoom: 0, bearing: 0, pitch: 0, pan: new t.Point(0, 0), pinchAround: void 0, around: void 0 }, n = 0, r = this._inertiaBuffer; n < r.length; n += 1) {
                                             var o = r[n].settings;
                                             (i.zoom += o.zoomDelta || 0),
                                                  (i.bearing += o.bearingDelta || 0),
                                                  (i.pitch += o.pitchDelta || 0),
                                                  o.panDelta && i.pan._add(o.panDelta),
                                                  o.around && (i.around = o.around),
                                                  o.pinchAround && (i.pinchAround = o.pinchAround);
                                        }
                                        var a = this._inertiaBuffer[this._inertiaBuffer.length - 1].time - this._inertiaBuffer[0].time,
                                             s = {};
                                        if (i.pan.mag()) {
                                             var l = Pn(i.pan.mag(), a, t.extend({}, Tn, e || {}));
                                             (s.offset = i.pan.mult(l.amount / i.pan.mag())), (s.center = this._map.transform.center), An(s, l);
                                        }
                                        if (i.zoom) {
                                             var c = Pn(i.zoom, a, Cn);
                                             (s.zoom = this._map.transform.zoom + c.amount), An(s, c);
                                        }
                                        if (i.bearing) {
                                             var u = Pn(i.bearing, a, Dn);
                                             (s.bearing = this._map.transform.bearing + t.clamp(u.amount, -179, 179)), An(s, u);
                                        }
                                        if (i.pitch) {
                                             var h = Pn(i.pitch, a, Ln);
                                             (s.pitch = this._map.transform.pitch + h.amount), An(s, h);
                                        }
                                        if (s.zoom || s.bearing) {
                                             var d = void 0 === i.pinchAround ? i.around : i.pinchAround;
                                             s.around = d ? this._map.unproject(d) : this._map.getCenter();
                                        }
                                        return this.clear(), t.extend(s, { noMoveStart: !0 });
                                   }
                              });
                         var In = (function (e) {
                                   function n(n, r, o, a) {
                                        void 0 === a && (a = {});
                                        var s = i.mousePos(r.getCanvasContainer(), o),
                                             l = r.unproject(s);
                                        e.call(this, n, t.extend({ point: s, lngLat: l, originalEvent: o }, a)), (this._defaultPrevented = !1), (this.target = r);
                                   }
                                   e && (n.__proto__ = e), ((n.prototype = Object.create(e && e.prototype)).constructor = n);
                                   var r = { defaultPrevented: { configurable: !0 } };
                                   return (
                                        (n.prototype.preventDefault = function () {
                                             this._defaultPrevented = !0;
                                        }),
                                        (r.defaultPrevented.get = function () {
                                             return this._defaultPrevented;
                                        }),
                                        Object.defineProperties(n.prototype, r),
                                        n
                                   );
                              })(t.Event),
                              On = (function (e) {
                                   function n(n, r, o) {
                                        var a = "touchend" === n ? o.changedTouches : o.touches,
                                             s = i.touchPos(r.getCanvasContainer(), a),
                                             l = s.map(function (t) {
                                                  return r.unproject(t);
                                             }),
                                             c = s.reduce(function (t, e, i, n) {
                                                  return t.add(e.div(n.length));
                                             }, new t.Point(0, 0)),
                                             u = r.unproject(c);
                                        e.call(this, n, { points: s, point: c, lngLats: l, lngLat: u, originalEvent: o }), (this._defaultPrevented = !1);
                                   }
                                   e && (n.__proto__ = e), ((n.prototype = Object.create(e && e.prototype)).constructor = n);
                                   var r = { defaultPrevented: { configurable: !0 } };
                                   return (
                                        (n.prototype.preventDefault = function () {
                                             this._defaultPrevented = !0;
                                        }),
                                        (r.defaultPrevented.get = function () {
                                             return this._defaultPrevented;
                                        }),
                                        Object.defineProperties(n.prototype, r),
                                        n
                                   );
                              })(t.Event),
                              Yn = (function (t) {
                                   function e(e, i, n) {
                                        t.call(this, e, { originalEvent: n }), (this._defaultPrevented = !1);
                                   }
                                   t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e);
                                   var i = { defaultPrevented: { configurable: !0 } };
                                   return (
                                        (e.prototype.preventDefault = function () {
                                             this._defaultPrevented = !0;
                                        }),
                                        (i.defaultPrevented.get = function () {
                                             return this._defaultPrevented;
                                        }),
                                        Object.defineProperties(e.prototype, i),
                                        e
                                   );
                              })(t.Event),
                              zn = function (t, e) {
                                   (this._map = t), (this._clickTolerance = e.clickTolerance);
                              };
                         (zn.prototype.reset = function () {
                              delete this._mousedownPos;
                         }),
                              (zn.prototype.wheel = function (t) {
                                   return this._firePreventable(new Yn(t.type, this._map, t));
                              }),
                              (zn.prototype.mousedown = function (t, e) {
                                   return (this._mousedownPos = e), this._firePreventable(new In(t.type, this._map, t));
                              }),
                              (zn.prototype.mouseup = function (t) {
                                   this._map.fire(new In(t.type, this._map, t));
                              }),
                              (zn.prototype.click = function (t, e) {
                                   (this._mousedownPos && this._mousedownPos.dist(e) >= this._clickTolerance) || this._map.fire(new In(t.type, this._map, t));
                              }),
                              (zn.prototype.dblclick = function (t) {
                                   return this._firePreventable(new In(t.type, this._map, t));
                              }),
                              (zn.prototype.mouseover = function (t) {
                                   this._map.fire(new In(t.type, this._map, t));
                              }),
                              (zn.prototype.mouseout = function (t) {
                                   this._map.fire(new In(t.type, this._map, t));
                              }),
                              (zn.prototype.touchstart = function (t) {
                                   return this._firePreventable(new On(t.type, this._map, t));
                              }),
                              (zn.prototype.touchmove = function (t) {
                                   this._map.fire(new On(t.type, this._map, t));
                              }),
                              (zn.prototype.touchend = function (t) {
                                   this._map.fire(new On(t.type, this._map, t));
                              }),
                              (zn.prototype.touchcancel = function (t) {
                                   this._map.fire(new On(t.type, this._map, t));
                              }),
                              (zn.prototype._firePreventable = function (t) {
                                   if ((this._map.fire(t), t.defaultPrevented)) return {};
                              }),
                              (zn.prototype.isEnabled = function () {
                                   return !0;
                              }),
                              (zn.prototype.isActive = function () {
                                   return !1;
                              }),
                              (zn.prototype.enable = function () {}),
                              (zn.prototype.disable = function () {});
                         var Rn = function (t) {
                              this._map = t;
                         };
                         (Rn.prototype.reset = function () {
                              (this._delayContextMenu = !1), delete this._contextMenuEvent;
                         }),
                              (Rn.prototype.mousemove = function (t) {
                                   this._map.fire(new In(t.type, this._map, t));
                              }),
                              (Rn.prototype.mousedown = function () {
                                   this._delayContextMenu = !0;
                              }),
                              (Rn.prototype.mouseup = function () {
                                   (this._delayContextMenu = !1), this._contextMenuEvent && (this._map.fire(new In("contextmenu", this._map, this._contextMenuEvent)), delete this._contextMenuEvent);
                              }),
                              (Rn.prototype.contextmenu = function (t) {
                                   this._delayContextMenu ? (this._contextMenuEvent = t) : this._map.fire(new In(t.type, this._map, t)), this._map.listens("contextmenu") && t.preventDefault();
                              }),
                              (Rn.prototype.isEnabled = function () {
                                   return !0;
                              }),
                              (Rn.prototype.isActive = function () {
                                   return !1;
                              }),
                              (Rn.prototype.enable = function () {}),
                              (Rn.prototype.disable = function () {});
                         var Fn = function (t, e) {
                              (this._map = t), (this._el = t.getCanvasContainer()), (this._container = t.getContainer()), (this._clickTolerance = e.clickTolerance || 1);
                         };
                         function Hn(t, e) {
                              for (var i = {}, n = 0; n < t.length; n++) i[t[n].identifier] = e[n];
                              return i;
                         }
                         (Fn.prototype.isEnabled = function () {
                              return !!this._enabled;
                         }),
                              (Fn.prototype.isActive = function () {
                                   return !!this._active;
                              }),
                              (Fn.prototype.enable = function () {
                                   this.isEnabled() || (this._enabled = !0);
                              }),
                              (Fn.prototype.disable = function () {
                                   this.isEnabled() && (this._enabled = !1);
                              }),
                              (Fn.prototype.mousedown = function (t, e) {
                                   this.isEnabled() && t.shiftKey && 0 === t.button && (i.disableDrag(), (this._startPos = this._lastPos = e), (this._active = !0));
                              }),
                              (Fn.prototype.mousemoveWindow = function (t, e) {
                                   if (this._active) {
                                        var n = e;
                                        if (!(this._lastPos.equals(n) || (!this._box && n.dist(this._startPos) < this._clickTolerance))) {
                                             var r = this._startPos;
                                             (this._lastPos = n), this._box || ((this._box = i.create("div", "mapboxgl-boxzoom", this._container)), this._container.classList.add("mapboxgl-crosshair"), this._fireEvent("boxzoomstart", t));
                                             var o = Math.min(r.x, n.x),
                                                  a = Math.max(r.x, n.x),
                                                  s = Math.min(r.y, n.y),
                                                  l = Math.max(r.y, n.y);
                                             i.setTransform(this._box, "translate(" + o + "px," + s + "px)"), (this._box.style.width = a - o + "px"), (this._box.style.height = l - s + "px");
                                        }
                                   }
                              }),
                              (Fn.prototype.mouseupWindow = function (e, n) {
                                   var r = this;
                                   if (this._active && 0 === e.button) {
                                        var o = this._startPos,
                                             a = n;
                                        if ((this.reset(), i.suppressClick(), o.x !== a.x || o.y !== a.y))
                                             return (
                                                  this._map.fire(new t.Event("boxzoomend", { originalEvent: e })),
                                                  {
                                                       cameraAnimation: function (t) {
                                                            return t.fitScreenCoordinates(o, a, r._map.getBearing(), { linear: !0 });
                                                       },
                                                  }
                                             );
                                        this._fireEvent("boxzoomcancel", e);
                                   }
                              }),
                              (Fn.prototype.keydown = function (t) {
                                   this._active && 27 === t.keyCode && (this.reset(), this._fireEvent("boxzoomcancel", t));
                              }),
                              (Fn.prototype.reset = function () {
                                   (this._active = !1), this._container.classList.remove("mapboxgl-crosshair"), this._box && (i.remove(this._box), (this._box = null)), i.enableDrag(), delete this._startPos, delete this._lastPos;
                              }),
                              (Fn.prototype._fireEvent = function (e, i) {
                                   return this._map.fire(new t.Event(e, { originalEvent: i }));
                              });
                         var jn = function (t) {
                              this.reset(), (this.numTouches = t.numTouches);
                         };
                         (jn.prototype.reset = function () {
                              delete this.centroid, delete this.startTime, delete this.touches, (this.aborted = !1);
                         }),
                              (jn.prototype.touchstart = function (e, i, n) {
                                   (this.centroid || n.length > this.numTouches) && (this.aborted = !0),
                                        this.aborted ||
                                             (void 0 === this.startTime && (this.startTime = e.timeStamp),
                                             n.length === this.numTouches &&
                                                  ((this.centroid = (function (e) {
                                                       for (var i = new t.Point(0, 0), n = 0, r = e; n < r.length; n += 1) i._add(r[n]);
                                                       return i.div(e.length);
                                                  })(i)),
                                                  (this.touches = Hn(n, i))));
                              }),
                              (jn.prototype.touchmove = function (t, e, i) {
                                   if (!this.aborted && this.centroid) {
                                        var n = Hn(i, e);
                                        for (var r in this.touches) {
                                             var o = n[r];
                                             (!o || o.dist(this.touches[r]) > 30) && (this.aborted = !0);
                                        }
                                   }
                              }),
                              (jn.prototype.touchend = function (t, e, i) {
                                   if (((!this.centroid || t.timeStamp - this.startTime > 500) && (this.aborted = !0), 0 === i.length)) {
                                        var n = !this.aborted && this.centroid;
                                        if ((this.reset(), n)) return n;
                                   }
                              });
                         var Nn = function (t) {
                              (this.singleTap = new jn(t)), (this.numTaps = t.numTaps), this.reset();
                         };
                         (Nn.prototype.reset = function () {
                              (this.lastTime = 1 / 0), delete this.lastTap, (this.count = 0), this.singleTap.reset();
                         }),
                              (Nn.prototype.touchstart = function (t, e, i) {
                                   this.singleTap.touchstart(t, e, i);
                              }),
                              (Nn.prototype.touchmove = function (t, e, i) {
                                   this.singleTap.touchmove(t, e, i);
                              }),
                              (Nn.prototype.touchend = function (t, e, i) {
                                   var n = this.singleTap.touchend(t, e, i);
                                   if (n) {
                                        var r = t.timeStamp - this.lastTime < 500,
                                             o = !this.lastTap || this.lastTap.dist(n) < 30;
                                        if (((r && o) || this.reset(), this.count++, (this.lastTime = t.timeStamp), (this.lastTap = n), this.count === this.numTaps)) return this.reset(), n;
                                   }
                              });
                         var Bn = function () {
                              (this._zoomIn = new Nn({ numTouches: 1, numTaps: 2 })), (this._zoomOut = new Nn({ numTouches: 2, numTaps: 1 })), this.reset();
                         };
                         (Bn.prototype.reset = function () {
                              (this._active = !1), this._zoomIn.reset(), this._zoomOut.reset();
                         }),
                              (Bn.prototype.touchstart = function (t, e, i) {
                                   this._zoomIn.touchstart(t, e, i), this._zoomOut.touchstart(t, e, i);
                              }),
                              (Bn.prototype.touchmove = function (t, e, i) {
                                   this._zoomIn.touchmove(t, e, i), this._zoomOut.touchmove(t, e, i);
                              }),
                              (Bn.prototype.touchend = function (t, e, i) {
                                   var n = this,
                                        r = this._zoomIn.touchend(t, e, i),
                                        o = this._zoomOut.touchend(t, e, i);
                                   return r
                                        ? ((this._active = !0),
                                          t.preventDefault(),
                                          setTimeout(function () {
                                               return n.reset();
                                          }, 0),
                                          {
                                               cameraAnimation: function (e) {
                                                    return e.easeTo({ duration: 300, zoom: e.getZoom() + 1, around: e.unproject(r) }, { originalEvent: t });
                                               },
                                          })
                                        : o
                                        ? ((this._active = !0),
                                          t.preventDefault(),
                                          setTimeout(function () {
                                               return n.reset();
                                          }, 0),
                                          {
                                               cameraAnimation: function (e) {
                                                    return e.easeTo({ duration: 300, zoom: e.getZoom() - 1, around: e.unproject(o) }, { originalEvent: t });
                                               },
                                          })
                                        : void 0;
                              }),
                              (Bn.prototype.touchcancel = function () {
                                   this.reset();
                              }),
                              (Bn.prototype.enable = function () {
                                   this._enabled = !0;
                              }),
                              (Bn.prototype.disable = function () {
                                   (this._enabled = !1), this.reset();
                              }),
                              (Bn.prototype.isEnabled = function () {
                                   return this._enabled;
                              }),
                              (Bn.prototype.isActive = function () {
                                   return this._active;
                              });
                         var Wn = function (t) {
                              this.reset(), (this._clickTolerance = t.clickTolerance || 1);
                         };
                         (Wn.prototype.reset = function () {
                              (this._active = !1), (this._moved = !1), delete this._lastPoint, delete this._eventButton;
                         }),
                              (Wn.prototype._correctButton = function (t, e) {
                                   return !1;
                              }),
                              (Wn.prototype._move = function (t, e) {
                                   return {};
                              }),
                              (Wn.prototype.mousedown = function (t, e) {
                                   if (!this._lastPoint) {
                                        var n = i.mouseButton(t);
                                        this._correctButton(t, n) && ((this._lastPoint = e), (this._eventButton = n));
                                   }
                              }),
                              (Wn.prototype.mousemoveWindow = function (t, e) {
                                   var i = this._lastPoint;
                                   if (i && (t.preventDefault(), this._moved || !(e.dist(i) < this._clickTolerance))) return (this._moved = !0), (this._lastPoint = e), this._move(i, e);
                              }),
                              (Wn.prototype.mouseupWindow = function (t) {
                                   i.mouseButton(t) === this._eventButton && (this._moved && i.suppressClick(), this.reset());
                              }),
                              (Wn.prototype.enable = function () {
                                   this._enabled = !0;
                              }),
                              (Wn.prototype.disable = function () {
                                   (this._enabled = !1), this.reset();
                              }),
                              (Wn.prototype.isEnabled = function () {
                                   return this._enabled;
                              }),
                              (Wn.prototype.isActive = function () {
                                   return this._active;
                              });
                         var Vn = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.mousedown = function (e, i) {
                                             t.prototype.mousedown.call(this, e, i), this._lastPoint && (this._active = !0);
                                        }),
                                        (e.prototype._correctButton = function (t, e) {
                                             return 0 === e && !t.ctrlKey;
                                        }),
                                        (e.prototype._move = function (t, e) {
                                             return { around: e, panDelta: e.sub(t) };
                                        }),
                                        e
                                   );
                              })(Wn),
                              Un = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype._correctButton = function (t, e) {
                                             return (0 === e && t.ctrlKey) || 2 === e;
                                        }),
                                        (e.prototype._move = function (t, e) {
                                             var i = 0.8 * (e.x - t.x);
                                             if (i) return (this._active = !0), { bearingDelta: i };
                                        }),
                                        (e.prototype.contextmenu = function (t) {
                                             t.preventDefault();
                                        }),
                                        e
                                   );
                              })(Wn),
                              qn = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype._correctButton = function (t, e) {
                                             return (0 === e && t.ctrlKey) || 2 === e;
                                        }),
                                        (e.prototype._move = function (t, e) {
                                             var i = -0.5 * (e.y - t.y);
                                             if (i) return (this._active = !0), { pitchDelta: i };
                                        }),
                                        (e.prototype.contextmenu = function (t) {
                                             t.preventDefault();
                                        }),
                                        e
                                   );
                              })(Wn),
                              $n = function (t) {
                                   (this._minTouches = 1), (this._clickTolerance = t.clickTolerance || 1), this.reset();
                              };
                         ($n.prototype.reset = function () {
                              (this._active = !1), (this._touches = {}), (this._sum = new t.Point(0, 0));
                         }),
                              ($n.prototype.touchstart = function (t, e, i) {
                                   return this._calculateTransform(t, e, i);
                              }),
                              ($n.prototype.touchmove = function (t, e, i) {
                                   if (this._active) return t.preventDefault(), this._calculateTransform(t, e, i);
                              }),
                              ($n.prototype.touchend = function (t, e, i) {
                                   this._calculateTransform(t, e, i), this._active && i.length < this._minTouches && this.reset();
                              }),
                              ($n.prototype.touchcancel = function () {
                                   this.reset();
                              }),
                              ($n.prototype._calculateTransform = function (e, i, n) {
                                   n.length > 0 && (this._active = !0);
                                   var r = Hn(n, i),
                                        o = new t.Point(0, 0),
                                        a = new t.Point(0, 0),
                                        s = 0;
                                   for (var l in r) {
                                        var c = r[l],
                                             u = this._touches[l];
                                        u && (o._add(c), a._add(c.sub(u)), s++, (r[l] = c));
                                   }
                                   if (((this._touches = r), !(s < this._minTouches) && a.mag())) {
                                        var h = a.div(s);
                                        if ((this._sum._add(h), !(this._sum.mag() < this._clickTolerance))) return { around: o.div(s), panDelta: h };
                                   }
                              }),
                              ($n.prototype.enable = function () {
                                   this._enabled = !0;
                              }),
                              ($n.prototype.disable = function () {
                                   (this._enabled = !1), this.reset();
                              }),
                              ($n.prototype.isEnabled = function () {
                                   return this._enabled;
                              }),
                              ($n.prototype.isActive = function () {
                                   return this._active;
                              });
                         var Xn = function () {
                              this.reset();
                         };
                         function Gn(t, e, i) {
                              for (var n = 0; n < t.length; n++) if (t[n].identifier === i) return e[n];
                         }
                         function Zn(t, e) {
                              return Math.log(t / e) / Math.LN2;
                         }
                         (Xn.prototype.reset = function () {
                              (this._active = !1), delete this._firstTwoTouches;
                         }),
                              (Xn.prototype._start = function (t) {}),
                              (Xn.prototype._move = function (t, e, i) {
                                   return {};
                              }),
                              (Xn.prototype.touchstart = function (t, e, i) {
                                   this._firstTwoTouches || i.length < 2 || ((this._firstTwoTouches = [i[0].identifier, i[1].identifier]), this._start([e[0], e[1]]));
                              }),
                              (Xn.prototype.touchmove = function (t, e, i) {
                                   if (this._firstTwoTouches) {
                                        t.preventDefault();
                                        var n = this._firstTwoTouches,
                                             r = n[1],
                                             o = Gn(i, e, n[0]),
                                             a = Gn(i, e, r);
                                        if (o && a) {
                                             var s = this._aroundCenter ? null : o.add(a).div(2);
                                             return this._move([o, a], s, t);
                                        }
                                   }
                              }),
                              (Xn.prototype.touchend = function (t, e, n) {
                                   if (this._firstTwoTouches) {
                                        var r = this._firstTwoTouches,
                                             o = r[1],
                                             a = Gn(n, e, r[0]),
                                             s = Gn(n, e, o);
                                        (a && s) || (this._active && i.suppressClick(), this.reset());
                                   }
                              }),
                              (Xn.prototype.touchcancel = function () {
                                   this.reset();
                              }),
                              (Xn.prototype.enable = function (t) {
                                   (this._enabled = !0), (this._aroundCenter = !!t && "center" === t.around);
                              }),
                              (Xn.prototype.disable = function () {
                                   (this._enabled = !1), this.reset();
                              }),
                              (Xn.prototype.isEnabled = function () {
                                   return this._enabled;
                              }),
                              (Xn.prototype.isActive = function () {
                                   return this._active;
                              });
                         var Jn = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype.reset = function () {
                                        t.prototype.reset.call(this), delete this._distance, delete this._startDistance;
                                   }),
                                   (e.prototype._start = function (t) {
                                        this._startDistance = this._distance = t[0].dist(t[1]);
                                   }),
                                   (e.prototype._move = function (t, e) {
                                        var i = this._distance;
                                        if (((this._distance = t[0].dist(t[1])), this._active || !(Math.abs(Zn(this._distance, this._startDistance)) < 0.1))) return (this._active = !0), { zoomDelta: Zn(this._distance, i), pinchAround: e };
                                   }),
                                   e
                              );
                         })(Xn);
                         function Kn(t, e) {
                              return (180 * t.angleWith(e)) / Math.PI;
                         }
                         var Qn = (function (t) {
                              function e() {
                                   t.apply(this, arguments);
                              }
                              return (
                                   t && (e.__proto__ = t),
                                   ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                   (e.prototype.reset = function () {
                                        t.prototype.reset.call(this), delete this._minDiameter, delete this._startVector, delete this._vector;
                                   }),
                                   (e.prototype._start = function (t) {
                                        (this._startVector = this._vector = t[0].sub(t[1])), (this._minDiameter = t[0].dist(t[1]));
                                   }),
                                   (e.prototype._move = function (t, e) {
                                        var i = this._vector;
                                        if (((this._vector = t[0].sub(t[1])), this._active || !this._isBelowThreshold(this._vector))) return (this._active = !0), { bearingDelta: Kn(this._vector, i), pinchAround: e };
                                   }),
                                   (e.prototype._isBelowThreshold = function (t) {
                                        this._minDiameter = Math.min(this._minDiameter, t.mag());
                                        var e = (25 / (Math.PI * this._minDiameter)) * 360,
                                             i = Kn(t, this._startVector);
                                        return Math.abs(i) < e;
                                   }),
                                   e
                              );
                         })(Xn);
                         function tr(t) {
                              return Math.abs(t.y) > Math.abs(t.x);
                         }
                         var er = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return (
                                        t && (e.__proto__ = t),
                                        ((e.prototype = Object.create(t && t.prototype)).constructor = e),
                                        (e.prototype.reset = function () {
                                             t.prototype.reset.call(this), (this._valid = void 0), delete this._firstMove, delete this._lastPoints;
                                        }),
                                        (e.prototype._start = function (t) {
                                             (this._lastPoints = t), tr(t[0].sub(t[1])) && (this._valid = !1);
                                        }),
                                        (e.prototype._move = function (t, e, i) {
                                             var n = t[0].sub(this._lastPoints[0]),
                                                  r = t[1].sub(this._lastPoints[1]);
                                             if (((this._valid = this.gestureBeginsVertically(n, r, i.timeStamp)), this._valid)) return (this._lastPoints = t), (this._active = !0), { pitchDelta: ((n.y + r.y) / 2) * -0.5 };
                                        }),
                                        (e.prototype.gestureBeginsVertically = function (t, e, i) {
                                             if (void 0 !== this._valid) return this._valid;
                                             var n = t.mag() >= 2,
                                                  r = e.mag() >= 2;
                                             if (n || r) {
                                                  if (!n || !r) return void 0 === this._firstMove && (this._firstMove = i), i - this._firstMove < 100 && void 0;
                                                  var o = t.y > 0 == e.y > 0;
                                                  return tr(t) && tr(e) && o;
                                             }
                                        }),
                                        e
                                   );
                              })(Xn),
                              ir = { panStep: 100, bearingStep: 15, pitchStep: 10 },
                              nr = function () {
                                   var t = ir;
                                   (this._panStep = t.panStep), (this._bearingStep = t.bearingStep), (this._pitchStep = t.pitchStep);
                              };
                         function rr(t) {
                              return t * (2 - t);
                         }
                         (nr.prototype.reset = function () {
                              this._active = !1;
                         }),
                              (nr.prototype.keydown = function (t) {
                                   var e = this;
                                   if (!(t.altKey || t.ctrlKey || t.metaKey)) {
                                        var i = 0,
                                             n = 0,
                                             r = 0,
                                             o = 0,
                                             a = 0;
                                        switch (t.keyCode) {
                                             case 61:
                                             case 107:
                                             case 171:
                                             case 187:
                                                  i = 1;
                                                  break;
                                             case 189:
                                             case 109:
                                             case 173:
                                                  i = -1;
                                                  break;
                                             case 37:
                                                  t.shiftKey ? (n = -1) : (t.preventDefault(), (o = -1));
                                                  break;
                                             case 39:
                                                  t.shiftKey ? (n = 1) : (t.preventDefault(), (o = 1));
                                                  break;
                                             case 38:
                                                  t.shiftKey ? (r = 1) : (t.preventDefault(), (a = -1));
                                                  break;
                                             case 40:
                                                  t.shiftKey ? (r = -1) : (t.preventDefault(), (a = 1));
                                                  break;
                                             default:
                                                  return;
                                        }
                                        return {
                                             cameraAnimation: function (s) {
                                                  var l = s.getZoom();
                                                  s.easeTo(
                                                       {
                                                            duration: 300,
                                                            easeId: "keyboardHandler",
                                                            easing: rr,
                                                            zoom: i ? Math.round(l) + i * (t.shiftKey ? 2 : 1) : l,
                                                            bearing: s.getBearing() + n * e._bearingStep,
                                                            pitch: s.getPitch() + r * e._pitchStep,
                                                            offset: [-o * e._panStep, -a * e._panStep],
                                                            center: s.getCenter(),
                                                       },
                                                       { originalEvent: t }
                                                  );
                                             },
                                        };
                                   }
                              }),
                              (nr.prototype.enable = function () {
                                   this._enabled = !0;
                              }),
                              (nr.prototype.disable = function () {
                                   (this._enabled = !1), this.reset();
                              }),
                              (nr.prototype.isEnabled = function () {
                                   return this._enabled;
                              }),
                              (nr.prototype.isActive = function () {
                                   return this._active;
                              });
                         var or = function (e, i) {
                              (this._map = e),
                                   (this._el = e.getCanvasContainer()),
                                   (this._handler = i),
                                   (this._delta = 0),
                                   (this._defaultZoomRate = 0.01),
                                   (this._wheelZoomRate = 1 / 450),
                                   t.bindAll(["_onWheel", "_onTimeout", "_onScrollFrame", "_onScrollFinished"], this);
                         };
                         (or.prototype.setZoomRate = function (t) {
                              this._defaultZoomRate = t;
                         }),
                              (or.prototype.setWheelZoomRate = function (t) {
                                   this._wheelZoomRate = t;
                              }),
                              (or.prototype.isEnabled = function () {
                                   return !!this._enabled;
                              }),
                              (or.prototype.isActive = function () {
                                   return !!this._active || void 0 !== this._finishTimeout;
                              }),
                              (or.prototype.isZooming = function () {
                                   return !!this._zooming;
                              }),
                              (or.prototype.enable = function (t) {
                                   this.isEnabled() || ((this._enabled = !0), (this._aroundCenter = t && "center" === t.around));
                              }),
                              (or.prototype.disable = function () {
                                   this.isEnabled() && (this._enabled = !1);
                              }),
                              (or.prototype.wheel = function (e) {
                                   if (this.isEnabled()) {
                                        var i = e.deltaMode === t.window.WheelEvent.DOM_DELTA_LINE ? 40 * e.deltaY : e.deltaY,
                                             n = t.browser.now(),
                                             r = n - (this._lastWheelEventTime || 0);
                                        (this._lastWheelEventTime = n),
                                             0 !== i && i % 4.000244140625 == 0
                                                  ? (this._type = "wheel")
                                                  : 0 !== i && Math.abs(i) < 4
                                                  ? (this._type = "trackpad")
                                                  : r > 400
                                                  ? ((this._type = null), (this._lastValue = i), (this._timeout = setTimeout(this._onTimeout, 40, e)))
                                                  : this._type || ((this._type = Math.abs(r * i) < 200 ? "trackpad" : "wheel"), this._timeout && (clearTimeout(this._timeout), (this._timeout = null), (i += this._lastValue))),
                                             e.shiftKey && i && (i /= 4),
                                             this._type && ((this._lastWheelEvent = e), (this._delta -= i), this._active || this._start(e)),
                                             e.preventDefault();
                                   }
                              }),
                              (or.prototype._onTimeout = function (t) {
                                   (this._type = "wheel"), (this._delta -= this._lastValue), this._active || this._start(t);
                              }),
                              (or.prototype._start = function (e) {
                                   if (this._delta) {
                                        this._frameId && (this._frameId = null), (this._active = !0), this.isZooming() || (this._zooming = !0), this._finishTimeout && (clearTimeout(this._finishTimeout), delete this._finishTimeout);
                                        var n = i.mousePos(this._el, e);
                                        (this._around = t.LngLat.convert(this._aroundCenter ? this._map.getCenter() : this._map.unproject(n))),
                                             (this._aroundPoint = this._map.transform.locationPoint(this._around)),
                                             this._frameId || ((this._frameId = !0), this._handler._triggerRenderFrame());
                                   }
                              }),
                              (or.prototype.renderFrame = function () {
                                   return this._onScrollFrame();
                              }),
                              (or.prototype._onScrollFrame = function () {
                                   var e = this;
                                   if (this._frameId && ((this._frameId = null), this.isActive())) {
                                        var i = this._map.transform;
                                        if (0 !== this._delta) {
                                             var n = "wheel" === this._type && Math.abs(this._delta) > 4.000244140625 ? this._wheelZoomRate : this._defaultZoomRate,
                                                  r = 2 / (1 + Math.exp(-Math.abs(this._delta * n)));
                                             this._delta < 0 && 0 !== r && (r = 1 / r);
                                             var o = "number" == typeof this._targetZoom ? i.zoomScale(this._targetZoom) : i.scale;
                                             (this._targetZoom = Math.min(i.maxZoom, Math.max(i.minZoom, i.scaleZoom(o * r)))),
                                                  "wheel" === this._type && ((this._startZoom = i.zoom), (this._easing = this._smoothOutEasing(200))),
                                                  (this._delta = 0);
                                        }
                                        var a,
                                             s = "number" == typeof this._targetZoom ? this._targetZoom : i.zoom,
                                             l = this._startZoom,
                                             c = this._easing,
                                             u = !1;
                                        if ("wheel" === this._type && l && c) {
                                             var h = Math.min((t.browser.now() - this._lastWheelEventTime) / 200, 1),
                                                  d = c(h);
                                             (a = t.number(l, s, d)), h < 1 ? this._frameId || (this._frameId = !0) : (u = !0);
                                        } else (a = s), (u = !0);
                                        return (
                                             (this._active = !0),
                                             u &&
                                                  ((this._active = !1),
                                                  (this._finishTimeout = setTimeout(function () {
                                                       (e._zooming = !1), e._handler._triggerRenderFrame(), delete e._targetZoom, delete e._finishTimeout;
                                                  }, 200))),
                                             { noInertia: !0, needsRenderFrame: !u, zoomDelta: a - i.zoom, around: this._aroundPoint, originalEvent: this._lastWheelEvent }
                                        );
                                   }
                              }),
                              (or.prototype._smoothOutEasing = function (e) {
                                   var i = t.ease;
                                   if (this._prevEase) {
                                        var n = this._prevEase,
                                             r = (t.browser.now() - n.start) / n.duration,
                                             o = n.easing(r + 0.01) - n.easing(r),
                                             a = (0.27 / Math.sqrt(o * o + 1e-4)) * 0.01,
                                             s = Math.sqrt(0.0729 - a * a);
                                        i = t.bezier(a, s, 0.25, 1);
                                   }
                                   return (this._prevEase = { start: t.browser.now(), duration: e, easing: i }), i;
                              }),
                              (or.prototype.reset = function () {
                                   this._active = !1;
                              });
                         var ar = function (t, e) {
                              (this._clickZoom = t), (this._tapZoom = e);
                         };
                         (ar.prototype.enable = function () {
                              this._clickZoom.enable(), this._tapZoom.enable();
                         }),
                              (ar.prototype.disable = function () {
                                   this._clickZoom.disable(), this._tapZoom.disable();
                              }),
                              (ar.prototype.isEnabled = function () {
                                   return this._clickZoom.isEnabled() && this._tapZoom.isEnabled();
                              }),
                              (ar.prototype.isActive = function () {
                                   return this._clickZoom.isActive() || this._tapZoom.isActive();
                              });
                         var sr = function () {
                              this.reset();
                         };
                         (sr.prototype.reset = function () {
                              this._active = !1;
                         }),
                              (sr.prototype.dblclick = function (t, e) {
                                   return (
                                        t.preventDefault(),
                                        {
                                             cameraAnimation: function (i) {
                                                  i.easeTo({ duration: 300, zoom: i.getZoom() + (t.shiftKey ? -1 : 1), around: i.unproject(e) }, { originalEvent: t });
                                             },
                                        }
                                   );
                              }),
                              (sr.prototype.enable = function () {
                                   this._enabled = !0;
                              }),
                              (sr.prototype.disable = function () {
                                   (this._enabled = !1), this.reset();
                              }),
                              (sr.prototype.isEnabled = function () {
                                   return this._enabled;
                              }),
                              (sr.prototype.isActive = function () {
                                   return this._active;
                              });
                         var lr = function () {
                              (this._tap = new Nn({ numTouches: 1, numTaps: 1 })), this.reset();
                         };
                         (lr.prototype.reset = function () {
                              (this._active = !1), delete this._swipePoint, delete this._swipeTouch, delete this._tapTime, this._tap.reset();
                         }),
                              (lr.prototype.touchstart = function (t, e, i) {
                                   this._swipePoint ||
                                        (this._tapTime && t.timeStamp - this._tapTime > 500 && this.reset(), this._tapTime ? i.length > 0 && ((this._swipePoint = e[0]), (this._swipeTouch = i[0].identifier)) : this._tap.touchstart(t, e, i));
                              }),
                              (lr.prototype.touchmove = function (t, e, i) {
                                   if (this._tapTime) {
                                        if (this._swipePoint) {
                                             if (i[0].identifier !== this._swipeTouch) return;
                                             var n = e[0],
                                                  r = n.y - this._swipePoint.y;
                                             return (this._swipePoint = n), t.preventDefault(), (this._active = !0), { zoomDelta: r / 128 };
                                        }
                                   } else this._tap.touchmove(t, e, i);
                              }),
                              (lr.prototype.touchend = function (t, e, i) {
                                   this._tapTime ? this._swipePoint && 0 === i.length && this.reset() : this._tap.touchend(t, e, i) && (this._tapTime = t.timeStamp);
                              }),
                              (lr.prototype.touchcancel = function () {
                                   this.reset();
                              }),
                              (lr.prototype.enable = function () {
                                   this._enabled = !0;
                              }),
                              (lr.prototype.disable = function () {
                                   (this._enabled = !1), this.reset();
                              }),
                              (lr.prototype.isEnabled = function () {
                                   return this._enabled;
                              }),
                              (lr.prototype.isActive = function () {
                                   return this._active;
                              });
                         var cr = function (t, e, i) {
                              (this._el = t), (this._mousePan = e), (this._touchPan = i);
                         };
                         (cr.prototype.enable = function (t) {
                              (this._inertiaOptions = t || {}), this._mousePan.enable(), this._touchPan.enable(), this._el.classList.add("mapboxgl-touch-drag-pan");
                         }),
                              (cr.prototype.disable = function () {
                                   this._mousePan.disable(), this._touchPan.disable(), this._el.classList.remove("mapboxgl-touch-drag-pan");
                              }),
                              (cr.prototype.isEnabled = function () {
                                   return this._mousePan.isEnabled() && this._touchPan.isEnabled();
                              }),
                              (cr.prototype.isActive = function () {
                                   return this._mousePan.isActive() || this._touchPan.isActive();
                              });
                         var ur = function (t, e, i) {
                              (this._pitchWithRotate = t.pitchWithRotate), (this._mouseRotate = e), (this._mousePitch = i);
                         };
                         (ur.prototype.enable = function () {
                              this._mouseRotate.enable(), this._pitchWithRotate && this._mousePitch.enable();
                         }),
                              (ur.prototype.disable = function () {
                                   this._mouseRotate.disable(), this._mousePitch.disable();
                              }),
                              (ur.prototype.isEnabled = function () {
                                   return this._mouseRotate.isEnabled() && (!this._pitchWithRotate || this._mousePitch.isEnabled());
                              }),
                              (ur.prototype.isActive = function () {
                                   return this._mouseRotate.isActive() || this._mousePitch.isActive();
                              });
                         var hr = function (t, e, i, n) {
                              (this._el = t), (this._touchZoom = e), (this._touchRotate = i), (this._tapDragZoom = n), (this._rotationDisabled = !1), (this._enabled = !0);
                         };
                         (hr.prototype.enable = function (t) {
                              this._touchZoom.enable(t), this._rotationDisabled || this._touchRotate.enable(t), this._tapDragZoom.enable(), this._el.classList.add("mapboxgl-touch-zoom-rotate");
                         }),
                              (hr.prototype.disable = function () {
                                   this._touchZoom.disable(), this._touchRotate.disable(), this._tapDragZoom.disable(), this._el.classList.remove("mapboxgl-touch-zoom-rotate");
                              }),
                              (hr.prototype.isEnabled = function () {
                                   return this._touchZoom.isEnabled() && (this._rotationDisabled || this._touchRotate.isEnabled()) && this._tapDragZoom.isEnabled();
                              }),
                              (hr.prototype.isActive = function () {
                                   return this._touchZoom.isActive() || this._touchRotate.isActive() || this._tapDragZoom.isActive();
                              }),
                              (hr.prototype.disableRotation = function () {
                                   (this._rotationDisabled = !0), this._touchRotate.disable();
                              }),
                              (hr.prototype.enableRotation = function () {
                                   (this._rotationDisabled = !1), this._touchZoom.isEnabled() && this._touchRotate.enable();
                              });
                         var dr = function (t) {
                                   return t.zoom || t.drag || t.pitch || t.rotate;
                              },
                              pr = (function (t) {
                                   function e() {
                                        t.apply(this, arguments);
                                   }
                                   return t && (e.__proto__ = t), ((e.prototype = Object.create(t && t.prototype)).constructor = e), e;
                              })(t.Event);
                         function fr(t) {
                              return (t.panDelta && t.panDelta.mag()) || t.zoomDelta || t.bearingDelta || t.pitchDelta;
                         }
                         var mr = function (e, n) {
                              (this._map = e),
                                   (this._el = this._map.getCanvasContainer()),
                                   (this._handlers = []),
                                   (this._handlersById = {}),
                                   (this._changes = []),
                                   (this._inertia = new En(e)),
                                   (this._bearingSnap = n.bearingSnap),
                                   (this._previousActiveHandlers = {}),
                                   (this._eventsInProgress = {}),
                                   this._addDefaultHandlers(n),
                                   t.bindAll(["handleEvent", "handleWindowEvent"], this);
                              var r = this._el;
                              this._listeners = [
                                   [r, "touchstart", { passive: !1 }],
                                   [r, "touchmove", { passive: !1 }],
                                   [r, "touchend", void 0],
                                   [r, "touchcancel", void 0],
                                   [r, "mousedown", void 0],
                                   [r, "mousemove", void 0],
                                   [r, "mouseup", void 0],
                                   [t.window.document, "mousemove", { capture: !0 }],
                                   [t.window.document, "mouseup", void 0],
                                   [r, "mouseover", void 0],
                                   [r, "mouseout", void 0],
                                   [r, "dblclick", void 0],
                                   [r, "click", void 0],
                                   [r, "keydown", { capture: !1 }],
                                   [r, "keyup", void 0],
                                   [r, "wheel", { passive: !1 }],
                                   [r, "contextmenu", void 0],
                                   [t.window, "blur", void 0],
                              ];
                              for (var o = 0, a = this._listeners; o < a.length; o += 1) {
                                   var s = a[o],
                                        l = s[0];
                                   i.addEventListener(l, s[1], l === t.window.document ? this.handleWindowEvent : this.handleEvent, s[2]);
                              }
                         };
                         (mr.prototype.destroy = function () {
                              for (var e = 0, n = this._listeners; e < n.length; e += 1) {
                                   var r = n[e],
                                        o = r[0];
                                   i.removeEventListener(o, r[1], o === t.window.document ? this.handleWindowEvent : this.handleEvent, r[2]);
                              }
                         }),
                              (mr.prototype._addDefaultHandlers = function (t) {
                                   var e = this._map,
                                        i = e.getCanvasContainer();
                                   this._add("mapEvent", new zn(e, t));
                                   var n = (e.boxZoom = new Fn(e, t));
                                   this._add("boxZoom", n);
                                   var r = new Bn(),
                                        o = new sr();
                                   (e.doubleClickZoom = new ar(o, r)), this._add("tapZoom", r), this._add("clickZoom", o);
                                   var a = new lr();
                                   this._add("tapDragZoom", a);
                                   var s = (e.touchPitch = new er());
                                   this._add("touchPitch", s);
                                   var l = new Un(t),
                                        c = new qn(t);
                                   (e.dragRotate = new ur(t, l, c)), this._add("mouseRotate", l, ["mousePitch"]), this._add("mousePitch", c, ["mouseRotate"]);
                                   var u = new Vn(t),
                                        h = new $n(t);
                                   (e.dragPan = new cr(i, u, h)), this._add("mousePan", u), this._add("touchPan", h, ["touchZoom", "touchRotate"]);
                                   var d = new Qn(),
                                        p = new Jn();
                                   (e.touchZoomRotate = new hr(i, p, d, a)), this._add("touchRotate", d, ["touchPan", "touchZoom"]), this._add("touchZoom", p, ["touchPan", "touchRotate"]);
                                   var f = (e.scrollZoom = new or(e, this));
                                   this._add("scrollZoom", f, ["mousePan"]);
                                   var m = (e.keyboard = new nr());
                                   this._add("keyboard", m), this._add("blockableMapEvent", new Rn(e));
                                   for (var g = 0, v = ["boxZoom", "doubleClickZoom", "tapDragZoom", "touchPitch", "dragRotate", "dragPan", "touchZoomRotate", "scrollZoom", "keyboard"]; g < v.length; g += 1) {
                                        var y = v[g];
                                        t.interactive && t[y] && e[y].enable(t[y]);
                                   }
                              }),
                              (mr.prototype._add = function (t, e, i) {
                                   this._handlers.push({ handlerName: t, handler: e, allowed: i }), (this._handlersById[t] = e);
                              }),
                              (mr.prototype.stop = function () {
                                   if (!this._updatingCamera) {
                                        for (var t = 0, e = this._handlers; t < e.length; t += 1) e[t].handler.reset();
                                        this._inertia.clear(), this._fireEvents({}, {}), (this._changes = []);
                                   }
                              }),
                              (mr.prototype.isActive = function () {
                                   for (var t = 0, e = this._handlers; t < e.length; t += 1) if (e[t].handler.isActive()) return !0;
                                   return !1;
                              }),
                              (mr.prototype.isZooming = function () {
                                   return !!this._eventsInProgress.zoom || this._map.scrollZoom.isZooming();
                              }),
                              (mr.prototype.isRotating = function () {
                                   return !!this._eventsInProgress.rotate;
                              }),
                              (mr.prototype.isMoving = function () {
                                   return Boolean(dr(this._eventsInProgress)) || this.isZooming();
                              }),
                              (mr.prototype._blockedByActive = function (t, e, i) {
                                   for (var n in t) if (n !== i && (!e || e.indexOf(n) < 0)) return !0;
                                   return !1;
                              }),
                              (mr.prototype.handleWindowEvent = function (t) {
                                   this.handleEvent(t, t.type + "Window");
                              }),
                              (mr.prototype._getMapTouches = function (t) {
                                   for (var e = [], i = 0, n = t; i < n.length; i += 1) {
                                        var r = n[i];
                                        this._el.contains(r.target) && e.push(r);
                                   }
                                   return e;
                              }),
                              (mr.prototype.handleEvent = function (t, e) {
                                   if ("blur" !== t.type) {
                                        this._updatingCamera = !0;
                                        for (
                                             var n = "renderFrame" === t.type ? void 0 : t,
                                                  r = { needsRenderFrame: !1 },
                                                  o = {},
                                                  a = {},
                                                  s = t.touches ? this._getMapTouches(t.touches) : void 0,
                                                  l = s ? i.touchPos(this._el, s) : i.mousePos(this._el, t),
                                                  c = 0,
                                                  u = this._handlers;
                                             c < u.length;
                                             c += 1
                                        ) {
                                             var h = u[c],
                                                  d = h.handlerName,
                                                  p = h.handler,
                                                  f = h.allowed;
                                             if (p.isEnabled()) {
                                                  var m = void 0;
                                                  this._blockedByActive(a, f, d) ? p.reset() : p[e || t.type] && ((m = p[e || t.type](t, l, s)), this.mergeHandlerResult(r, o, m, d, n), m && m.needsRenderFrame && this._triggerRenderFrame()),
                                                       (m || p.isActive()) && (a[d] = p);
                                             }
                                        }
                                        var g = {};
                                        for (var v in this._previousActiveHandlers) a[v] || (g[v] = n);
                                        (this._previousActiveHandlers = a),
                                             (Object.keys(g).length || fr(r)) && (this._changes.push([r, o, g]), this._triggerRenderFrame()),
                                             (Object.keys(a).length || fr(r)) && this._map._stop(!0),
                                             (this._updatingCamera = !1);
                                        var y = r.cameraAnimation;
                                        y && (this._inertia.clear(), this._fireEvents({}, {}), (this._changes = []), y(this._map));
                                   } else this.stop();
                              }),
                              (mr.prototype.mergeHandlerResult = function (e, i, n, r, o) {
                                   if (n) {
                                        t.extend(e, n);
                                        var a = { handlerName: r, originalEvent: n.originalEvent || o };
                                        void 0 !== n.zoomDelta && (i.zoom = a), void 0 !== n.panDelta && (i.drag = a), void 0 !== n.pitchDelta && (i.pitch = a), void 0 !== n.bearingDelta && (i.rotate = a);
                                   }
                              }),
                              (mr.prototype._applyChanges = function () {
                                   for (var e = {}, i = {}, n = {}, r = 0, o = this._changes; r < o.length; r += 1) {
                                        var a = o[r],
                                             s = a[0],
                                             l = a[1],
                                             c = a[2];
                                        s.panDelta && (e.panDelta = (e.panDelta || new t.Point(0, 0))._add(s.panDelta)),
                                             s.zoomDelta && (e.zoomDelta = (e.zoomDelta || 0) + s.zoomDelta),
                                             s.bearingDelta && (e.bearingDelta = (e.bearingDelta || 0) + s.bearingDelta),
                                             s.pitchDelta && (e.pitchDelta = (e.pitchDelta || 0) + s.pitchDelta),
                                             void 0 !== s.around && (e.around = s.around),
                                             void 0 !== s.pinchAround && (e.pinchAround = s.pinchAround),
                                             s.noInertia && (e.noInertia = s.noInertia),
                                             t.extend(i, l),
                                             t.extend(n, c);
                                   }
                                   this._updateMapTransform(e, i, n), (this._changes = []);
                              }),
                              (mr.prototype._updateMapTransform = function (t, e, i) {
                                   var n = this._map,
                                        r = n.transform;
                                   if (!fr(t)) return this._fireEvents(e, i);
                                   var o = t.panDelta,
                                        a = t.zoomDelta,
                                        s = t.bearingDelta,
                                        l = t.pitchDelta,
                                        c = t.around,
                                        u = t.pinchAround;
                                   void 0 !== u && (c = u), n._stop(!0), (c = c || n.transform.centerPoint);
                                   var h = r.pointLocation(o ? c.sub(o) : c);
                                   s && (r.bearing += s), l && (r.pitch += l), a && (r.zoom += a), r.setLocationAtPoint(h, c), this._map._update(), t.noInertia || this._inertia.record(t), this._fireEvents(e, i);
                              }),
                              (mr.prototype._fireEvents = function (e, i) {
                                   var n = this,
                                        r = dr(this._eventsInProgress),
                                        o = dr(e),
                                        a = {};
                                   for (var s in e) this._eventsInProgress[s] || (a[s + "start"] = e[s].originalEvent), (this._eventsInProgress[s] = e[s]);
                                   for (var l in (!r && o && this._fireEvent("movestart", o.originalEvent), a)) this._fireEvent(l, a[l]);
                                   for (var c in (e.rotate && (this._bearingChanged = !0), o && this._fireEvent("move", o.originalEvent), e)) this._fireEvent(c, e[c].originalEvent);
                                   var u,
                                        h = {};
                                   for (var d in this._eventsInProgress) {
                                        var p = this._eventsInProgress[d],
                                             f = p.handlerName,
                                             m = p.originalEvent;
                                        this._handlersById[f].isActive() || (delete this._eventsInProgress[d], (h[d + "end"] = u = i[f] || m));
                                   }
                                   for (var g in h) this._fireEvent(g, h[g]);
                                   var v = dr(this._eventsInProgress);
                                   if ((r || o) && !v) {
                                        this._updatingCamera = !0;
                                        var y = this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),
                                             b = function (t) {
                                                  return 0 !== t && -n._bearingSnap < t && t < n._bearingSnap;
                                             };
                                        y
                                             ? (b(y.bearing || this._map.getBearing()) && (y.bearing = 0), this._map.easeTo(y, { originalEvent: u }))
                                             : (this._map.fire(new t.Event("moveend", { originalEvent: u })), b(this._map.getBearing()) && this._map.resetNorth()),
                                             (this._bearingChanged = !1),
                                             (this._updatingCamera = !1);
                                   }
                              }),
                              (mr.prototype._fireEvent = function (e, i) {
                                   this._map.fire(new t.Event(e, i ? { originalEvent: i } : {}));
                              }),
                              (mr.prototype._triggerRenderFrame = function () {
                                   var t = this;
                                   void 0 === this._frameId &&
                                        (this._frameId = this._map._requestRenderFrame(function (e) {
                                             delete t._frameId, t.handleEvent(new pr("renderFrame", { timeStamp: e })), t._applyChanges();
                                        }));
                              });
                         var gr = (function (e) {
                                   function i(i, n) {
                                        e.call(this), (this._moving = !1), (this._zooming = !1), (this.transform = i), (this._bearingSnap = n.bearingSnap), t.bindAll(["_renderFrameCallback"], this);
                                   }
                                   return (
                                        e && (i.__proto__ = e),
                                        ((i.prototype = Object.create(e && e.prototype)).constructor = i),
                                        (i.prototype.getCenter = function () {
                                             return new t.LngLat(this.transform.center.lng, this.transform.center.lat);
                                        }),
                                        (i.prototype.setCenter = function (t, e) {
                                             return this.jumpTo({ center: t }, e);
                                        }),
                                        (i.prototype.panBy = function (e, i, n) {
                                             return (e = t.Point.convert(e).mult(-1)), this.panTo(this.transform.center, t.extend({ offset: e }, i), n);
                                        }),
                                        (i.prototype.panTo = function (e, i, n) {
                                             return this.easeTo(t.extend({ center: e }, i), n);
                                        }),
                                        (i.prototype.getZoom = function () {
                                             return this.transform.zoom;
                                        }),
                                        (i.prototype.setZoom = function (t, e) {
                                             return this.jumpTo({ zoom: t }, e), this;
                                        }),
                                        (i.prototype.zoomTo = function (e, i, n) {
                                             return this.easeTo(t.extend({ zoom: e }, i), n);
                                        }),
                                        (i.prototype.zoomIn = function (t, e) {
                                             return this.zoomTo(this.getZoom() + 1, t, e), this;
                                        }),
                                        (i.prototype.zoomOut = function (t, e) {
                                             return this.zoomTo(this.getZoom() - 1, t, e), this;
                                        }),
                                        (i.prototype.getBearing = function () {
                                             return this.transform.bearing;
                                        }),
                                        (i.prototype.setBearing = function (t, e) {
                                             return this.jumpTo({ bearing: t }, e), this;
                                        }),
                                        (i.prototype.getPadding = function () {
                                             return this.transform.padding;
                                        }),
                                        (i.prototype.setPadding = function (t, e) {
                                             return this.jumpTo({ padding: t }, e), this;
                                        }),
                                        (i.prototype.rotateTo = function (e, i, n) {
                                             return this.easeTo(t.extend({ bearing: e }, i), n);
                                        }),
                                        (i.prototype.resetNorth = function (e, i) {
                                             return this.rotateTo(0, t.extend({ duration: 1e3 }, e), i), this;
                                        }),
                                        (i.prototype.resetNorthPitch = function (e, i) {
                                             return this.easeTo(t.extend({ bearing: 0, pitch: 0, duration: 1e3 }, e), i), this;
                                        }),
                                        (i.prototype.snapToNorth = function (t, e) {
                                             return Math.abs(this.getBearing()) < this._bearingSnap ? this.resetNorth(t, e) : this;
                                        }),
                                        (i.prototype.getPitch = function () {
                                             return this.transform.pitch;
                                        }),
                                        (i.prototype.setPitch = function (t, e) {
                                             return this.jumpTo({ pitch: t }, e), this;
                                        }),
                                        (i.prototype.cameraForBounds = function (e, i) {
                                             return (e = t.LngLatBounds.convert(e)), this._cameraForBoxAndBearing(e.getNorthWest(), e.getSouthEast(), 0, i);
                                        }),
                                        (i.prototype._cameraForBoxAndBearing = function (e, i, n, r) {
                                             var o = { top: 0, bottom: 0, right: 0, left: 0 };
                                             if ("number" == typeof (r = t.extend({ padding: o, offset: [0, 0], maxZoom: this.transform.maxZoom }, r)).padding) {
                                                  var a = r.padding;
                                                  r.padding = { top: a, bottom: a, right: a, left: a };
                                             }
                                             r.padding = t.extend(o, r.padding);
                                             var s = this.transform,
                                                  l = s.padding,
                                                  c = s.project(t.LngLat.convert(e)),
                                                  u = s.project(t.LngLat.convert(i)),
                                                  h = c.rotate((-n * Math.PI) / 180),
                                                  d = u.rotate((-n * Math.PI) / 180),
                                                  p = new t.Point(Math.max(h.x, d.x), Math.max(h.y, d.y)),
                                                  f = new t.Point(Math.min(h.x, d.x), Math.min(h.y, d.y)),
                                                  m = p.sub(f),
                                                  g = (s.width - (l.left + l.right + r.padding.left + r.padding.right)) / m.x,
                                                  v = (s.height - (l.top + l.bottom + r.padding.top + r.padding.bottom)) / m.y;
                                             if (!(v < 0 || g < 0)) {
                                                  var y = Math.min(s.scaleZoom(s.scale * Math.min(g, v)), r.maxZoom),
                                                       b = t.Point.convert(r.offset),
                                                       _ = new t.Point(b.x + (r.padding.left - r.padding.right) / 2, b.y + (r.padding.top - r.padding.bottom) / 2).mult(s.scale / s.zoomScale(y));
                                                  return { center: s.unproject(c.add(u).div(2).sub(_)), zoom: y, bearing: n };
                                             }
                                             t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.");
                                        }),
                                        (i.prototype.fitBounds = function (t, e, i) {
                                             return this._fitInternal(this.cameraForBounds(t, e), e, i);
                                        }),
                                        (i.prototype.fitScreenCoordinates = function (e, i, n, r, o) {
                                             return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)), this.transform.pointLocation(t.Point.convert(i)), n, r), r, o);
                                        }),
                                        (i.prototype._fitInternal = function (e, i, n) {
                                             return e ? (delete (i = t.extend(e, i)).padding, i.linear ? this.easeTo(i, n) : this.flyTo(i, n)) : this;
                                        }),
                                        (i.prototype.jumpTo = function (e, i) {
                                             this.stop();
                                             var n = this.transform,
                                                  r = !1,
                                                  o = !1,
                                                  a = !1;
                                             return (
                                                  "zoom" in e && n.zoom !== +e.zoom && ((r = !0), (n.zoom = +e.zoom)),
                                                  void 0 !== e.center && (n.center = t.LngLat.convert(e.center)),
                                                  "bearing" in e && n.bearing !== +e.bearing && ((o = !0), (n.bearing = +e.bearing)),
                                                  "pitch" in e && n.pitch !== +e.pitch && ((a = !0), (n.pitch = +e.pitch)),
                                                  null == e.padding || n.isPaddingEqual(e.padding) || (n.padding = e.padding),
                                                  this.fire(new t.Event("movestart", i)).fire(new t.Event("move", i)),
                                                  r && this.fire(new t.Event("zoomstart", i)).fire(new t.Event("zoom", i)).fire(new t.Event("zoomend", i)),
                                                  o && this.fire(new t.Event("rotatestart", i)).fire(new t.Event("rotate", i)).fire(new t.Event("rotateend", i)),
                                                  a && this.fire(new t.Event("pitchstart", i)).fire(new t.Event("pitch", i)).fire(new t.Event("pitchend", i)),
                                                  this.fire(new t.Event("moveend", i))
                                             );
                                        }),
                                        (i.prototype.easeTo = function (e, i) {
                                             var n = this;
                                             this._stop(!1, e.easeId), (!1 === (e = t.extend({ offset: [0, 0], duration: 500, easing: t.ease }, e)).animate || (!e.essential && t.browser.prefersReducedMotion)) && (e.duration = 0);
                                             var r = this.transform,
                                                  o = this.getZoom(),
                                                  a = this.getBearing(),
                                                  s = this.getPitch(),
                                                  l = this.getPadding(),
                                                  c = "zoom" in e ? +e.zoom : o,
                                                  u = "bearing" in e ? this._normalizeBearing(e.bearing, a) : a,
                                                  h = "pitch" in e ? +e.pitch : s,
                                                  d = "padding" in e ? e.padding : r.padding,
                                                  p = t.Point.convert(e.offset),
                                                  f = r.centerPoint.add(p),
                                                  m = r.pointLocation(f),
                                                  g = t.LngLat.convert(e.center || m);
                                             this._normalizeCenter(g);
                                             var v,
                                                  y,
                                                  b = r.project(m),
                                                  _ = r.project(g).sub(b),
                                                  x = r.zoomScale(c - o);
                                             e.around && ((v = t.LngLat.convert(e.around)), (y = r.locationPoint(v)));
                                             var w = { moving: this._moving, zooming: this._zooming, rotating: this._rotating, pitching: this._pitching };
                                             return (
                                                  (this._zooming = this._zooming || c !== o),
                                                  (this._rotating = this._rotating || a !== u),
                                                  (this._pitching = this._pitching || h !== s),
                                                  (this._padding = !r.isPaddingEqual(d)),
                                                  (this._easeId = e.easeId),
                                                  this._prepareEase(i, e.noMoveStart, w),
                                                  clearTimeout(this._easeEndTimeoutID),
                                                  this._ease(
                                                       function (e) {
                                                            if (
                                                                 (n._zooming && (r.zoom = t.number(o, c, e)),
                                                                 n._rotating && (r.bearing = t.number(a, u, e)),
                                                                 n._pitching && (r.pitch = t.number(s, h, e)),
                                                                 n._padding && (r.interpolatePadding(l, d, e), (f = r.centerPoint.add(p))),
                                                                 v)
                                                            )
                                                                 r.setLocationAtPoint(v, y);
                                                            else {
                                                                 var m = r.zoomScale(r.zoom - o),
                                                                      g = c > o ? Math.min(2, x) : Math.max(0.5, x),
                                                                      w = Math.pow(g, 1 - e),
                                                                      k = r.unproject(b.add(_.mult(e * w)).mult(m));
                                                                 r.setLocationAtPoint(r.renderWorldCopies ? k.wrap() : k, f);
                                                            }
                                                            n._fireMoveEvents(i);
                                                       },
                                                       function (t) {
                                                            n._afterEase(i, t);
                                                       },
                                                       e
                                                  ),
                                                  this
                                             );
                                        }),
                                        (i.prototype._prepareEase = function (e, i, n) {
                                             void 0 === n && (n = {}),
                                                  (this._moving = !0),
                                                  i || n.moving || this.fire(new t.Event("movestart", e)),
                                                  this._zooming && !n.zooming && this.fire(new t.Event("zoomstart", e)),
                                                  this._rotating && !n.rotating && this.fire(new t.Event("rotatestart", e)),
                                                  this._pitching && !n.pitching && this.fire(new t.Event("pitchstart", e));
                                        }),
                                        (i.prototype._fireMoveEvents = function (e) {
                                             this.fire(new t.Event("move", e)), this._zooming && this.fire(new t.Event("zoom", e)), this._rotating && this.fire(new t.Event("rotate", e)), this._pitching && this.fire(new t.Event("pitch", e));
                                        }),
                                        (i.prototype._afterEase = function (e, i) {
                                             if (!this._easeId || !i || this._easeId !== i) {
                                                  delete this._easeId;
                                                  var n = this._zooming,
                                                       r = this._rotating,
                                                       o = this._pitching;
                                                  (this._moving = !1),
                                                       (this._zooming = !1),
                                                       (this._rotating = !1),
                                                       (this._pitching = !1),
                                                       (this._padding = !1),
                                                       n && this.fire(new t.Event("zoomend", e)),
                                                       r && this.fire(new t.Event("rotateend", e)),
                                                       o && this.fire(new t.Event("pitchend", e)),
                                                       this.fire(new t.Event("moveend", e));
                                             }
                                        }),
                                        (i.prototype.flyTo = function (e, i) {
                                             var n = this;
                                             if (!e.essential && t.browser.prefersReducedMotion) {
                                                  var r = t.pick(e, ["center", "zoom", "bearing", "pitch", "around"]);
                                                  return this.jumpTo(r, i);
                                             }
                                             this.stop(), (e = t.extend({ offset: [0, 0], speed: 1.2, curve: 1.42, easing: t.ease }, e));
                                             var o = this.transform,
                                                  a = this.getZoom(),
                                                  s = this.getBearing(),
                                                  l = this.getPitch(),
                                                  c = this.getPadding(),
                                                  u = "zoom" in e ? t.clamp(+e.zoom, o.minZoom, o.maxZoom) : a,
                                                  h = "bearing" in e ? this._normalizeBearing(e.bearing, s) : s,
                                                  d = "pitch" in e ? +e.pitch : l,
                                                  p = "padding" in e ? e.padding : o.padding,
                                                  f = o.zoomScale(u - a),
                                                  m = t.Point.convert(e.offset),
                                                  g = o.centerPoint.add(m),
                                                  v = o.pointLocation(g),
                                                  y = t.LngLat.convert(e.center || v);
                                             this._normalizeCenter(y);
                                             var b = o.project(v),
                                                  _ = o.project(y).sub(b),
                                                  x = e.curve,
                                                  w = Math.max(o.width, o.height),
                                                  k = w / f,
                                                  S = _.mag();
                                             if ("minZoom" in e) {
                                                  var M = t.clamp(Math.min(e.minZoom, a, u), o.minZoom, o.maxZoom),
                                                       T = w / o.zoomScale(M - a);
                                                  x = Math.sqrt((T / S) * 2);
                                             }
                                             var C = x * x;
                                             function D(t) {
                                                  var e = (k * k - w * w + (t ? -1 : 1) * C * C * S * S) / (2 * (t ? k : w) * C * S);
                                                  return Math.log(Math.sqrt(e * e + 1) - e);
                                             }
                                             function L(t) {
                                                  return (Math.exp(t) - Math.exp(-t)) / 2;
                                             }
                                             function E(t) {
                                                  return (Math.exp(t) + Math.exp(-t)) / 2;
                                             }
                                             var A = D(0),
                                                  P = function (t) {
                                                       return E(A) / E(A + x * t);
                                                  },
                                                  I = function (t) {
                                                       return (w * ((E(A) * (L((e = A + x * t)) / E(e)) - L(A)) / C)) / S;
                                                       var e;
                                                  },
                                                  O = (D(1) - A) / x;
                                             if (Math.abs(S) < 1e-6 || !isFinite(O)) {
                                                  if (Math.abs(w - k) < 1e-6) return this.easeTo(e, i);
                                                  var Y = k < w ? -1 : 1;
                                                  (O = Math.abs(Math.log(k / w)) / x),
                                                       (I = function () {
                                                            return 0;
                                                       }),
                                                       (P = function (t) {
                                                            return Math.exp(Y * x * t);
                                                       });
                                             }
                                             return (
                                                  (e.duration = "duration" in e ? +e.duration : (1e3 * O) / ("screenSpeed" in e ? +e.screenSpeed / x : +e.speed)),
                                                  e.maxDuration && e.duration > e.maxDuration && (e.duration = 0),
                                                  (this._zooming = !0),
                                                  (this._rotating = s !== h),
                                                  (this._pitching = d !== l),
                                                  (this._padding = !o.isPaddingEqual(p)),
                                                  this._prepareEase(i, !1),
                                                  this._ease(
                                                       function (e) {
                                                            var r = e * O,
                                                                 f = 1 / P(r);
                                                            (o.zoom = 1 === e ? u : a + o.scaleZoom(f)),
                                                                 n._rotating && (o.bearing = t.number(s, h, e)),
                                                                 n._pitching && (o.pitch = t.number(l, d, e)),
                                                                 n._padding && (o.interpolatePadding(c, p, e), (g = o.centerPoint.add(m)));
                                                            var v = 1 === e ? y : o.unproject(b.add(_.mult(I(r))).mult(f));
                                                            o.setLocationAtPoint(o.renderWorldCopies ? v.wrap() : v, g), n._fireMoveEvents(i);
                                                       },
                                                       function () {
                                                            return n._afterEase(i);
                                                       },
                                                       e
                                                  ),
                                                  this
                                             );
                                        }),
                                        (i.prototype.isEasing = function () {
                                             return !!this._easeFrameId;
                                        }),
                                        (i.prototype.stop = function () {
                                             return this._stop();
                                        }),
                                        (i.prototype._stop = function (t, e) {
                                             if ((this._easeFrameId && (this._cancelRenderFrame(this._easeFrameId), delete this._easeFrameId, delete this._onEaseFrame), this._onEaseEnd)) {
                                                  var i = this._onEaseEnd;
                                                  delete this._onEaseEnd, i.call(this, e);
                                             }
                                             if (!t) {
                                                  var n = this.handlers;
                                                  n && n.stop();
                                             }
                                             return this;
                                        }),
                                        (i.prototype._ease = function (e, i, n) {
                                             !1 === n.animate || 0 === n.duration
                                                  ? (e(1), i())
                                                  : ((this._easeStart = t.browser.now()), (this._easeOptions = n), (this._onEaseFrame = e), (this._onEaseEnd = i), (this._easeFrameId = this._requestRenderFrame(this._renderFrameCallback)));
                                        }),
                                        (i.prototype._renderFrameCallback = function () {
                                             var e = Math.min((t.browser.now() - this._easeStart) / this._easeOptions.duration, 1);
                                             this._onEaseFrame(this._easeOptions.easing(e)), e < 1 ? (this._easeFrameId = this._requestRenderFrame(this._renderFrameCallback)) : this.stop();
                                        }),
                                        (i.prototype._normalizeBearing = function (e, i) {
                                             e = t.wrap(e, -180, 180);
                                             var n = Math.abs(e - i);
                                             return Math.abs(e - 360 - i) < n && (e -= 360), Math.abs(e + 360 - i) < n && (e += 360), e;
                                        }),
                                        (i.prototype._normalizeCenter = function (t) {
                                             var e = this.transform;
                                             if (e.renderWorldCopies && !e.lngRange) {
                                                  var i = t.lng - e.center.lng;
                                                  t.lng += i > 180 ? -360 : i < -180 ? 360 : 0;
                                             }
                                        }),
                                        i
                                   );
                              })(t.Evented),
                              vr = function (e) {
                                   void 0 === e && (e = {}), (this.options = e), t.bindAll(["_updateEditLink", "_updateData", "_updateCompact"], this);
                              };
                         (vr.prototype.getDefaultPosition = function () {
                              return "bottom-right";
                         }),
                              (vr.prototype.onAdd = function (t) {
                                   var e = this.options && this.options.compact;
                                   return (
                                        (this._map = t),
                                        (this._container = i.create("div", "mapboxgl-ctrl mapboxgl-ctrl-attrib")),
                                        (this._innerContainer = i.create("div", "mapboxgl-ctrl-attrib-inner", this._container)),
                                        e && this._container.classList.add("mapboxgl-compact"),
                                        this._updateAttributions(),
                                        this._updateEditLink(),
                                        this._map.on("styledata", this._updateData),
                                        this._map.on("sourcedata", this._updateData),
                                        this._map.on("moveend", this._updateEditLink),
                                        void 0 === e && (this._map.on("resize", this._updateCompact), this._updateCompact()),
                                        this._container
                                   );
                              }),
                              (vr.prototype.onRemove = function () {
                                   i.remove(this._container),
                                        this._map.off("styledata", this._updateData),
                                        this._map.off("sourcedata", this._updateData),
                                        this._map.off("moveend", this._updateEditLink),
                                        this._map.off("resize", this._updateCompact),
                                        (this._map = void 0),
                                        (this._attribHTML = void 0);
                              }),
                              (vr.prototype._updateEditLink = function () {
                                   var e = this._editLink;
                                   e || (e = this._editLink = this._container.querySelector(".mapbox-improve-map"));
                                   var i = [
                                        { key: "owner", value: this.styleOwner },
                                        { key: "id", value: this.styleId },
                                        { key: "access_token", value: this._map._requestManager._customAccessToken || t.config.ACCESS_TOKEN },
                                   ];
                                   if (e) {
                                        var n = i.reduce(function (t, e, n) {
                                             return e.value && (t += e.key + "=" + e.value + (n < i.length - 1 ? "&" : "")), t;
                                        }, "?");
                                        (e.href = t.config.FEEDBACK_URL + "/" + n + (this._map._hash ? this._map._hash.getHashString(!0) : "")), (e.rel = "noopener nofollow");
                                   }
                              }),
                              (vr.prototype._updateData = function (t) {
                                   !t || ("metadata" !== t.sourceDataType && "style" !== t.dataType) || (this._updateAttributions(), this._updateEditLink());
                              }),
                              (vr.prototype._updateAttributions = function () {
                                   if (this._map.style) {
                                        var t = [];
                                        if (
                                             (this.options.customAttribution &&
                                                  (Array.isArray(this.options.customAttribution)
                                                       ? (t = t.concat(
                                                              this.options.customAttribution.map(function (t) {
                                                                   return "string" != typeof t ? "" : t;
                                                              })
                                                         ))
                                                       : "string" == typeof this.options.customAttribution && t.push(this.options.customAttribution)),
                                             this._map.style.stylesheet)
                                        ) {
                                             var e = this._map.style.stylesheet;
                                             (this.styleOwner = e.owner), (this.styleId = e.id);
                                        }
                                        var i = this._map.style.sourceCaches;
                                        for (var n in i) {
                                             var r = i[n];
                                             if (r.used) {
                                                  var o = r.getSource();
                                                  o.attribution && t.indexOf(o.attribution) < 0 && t.push(o.attribution);
                                             }
                                        }
                                        t.sort(function (t, e) {
                                             return t.length - e.length;
                                        });
                                        var a = (t = t.filter(function (e, i) {
                                             for (var n = i + 1; n < t.length; n++) if (t[n].indexOf(e) >= 0) return !1;
                                             return !0;
                                        })).join(" | ");
                                        a !== this._attribHTML &&
                                             ((this._attribHTML = a),
                                             t.length ? ((this._innerContainer.innerHTML = a), this._container.classList.remove("mapboxgl-attrib-empty")) : this._container.classList.add("mapboxgl-attrib-empty"),
                                             (this._editLink = null));
                                   }
                              }),
                              (vr.prototype._updateCompact = function () {
                                   this._map.getCanvasContainer().offsetWidth <= 640 ? this._container.classList.add("mapboxgl-compact") : this._container.classList.remove("mapboxgl-compact");
                              });
                         var yr = function () {
                              t.bindAll(["_updateLogo"], this), t.bindAll(["_updateCompact"], this);
                         };
                         (yr.prototype.onAdd = function (t) {
                              (this._map = t), (this._container = i.create("div", "mapboxgl-ctrl"));
                              var e = i.create("a", "mapboxgl-ctrl-logo");
                              return (
                                   (e.target = "_blank"),
                                   (e.rel = "noopener nofollow"),
                                   (e.href = "https://www.mapbox.com/"),
                                   e.setAttribute("aria-label", this._map._getUIString("LogoControl.Title")),
                                   e.setAttribute("rel", "noopener nofollow"),
                                   this._container.appendChild(e),
                                   (this._container.style.display = "none"),
                                   this._map.on("sourcedata", this._updateLogo),
                                   this._updateLogo(),
                                   this._map.on("resize", this._updateCompact),
                                   this._updateCompact(),
                                   this._container
                              );
                         }),
                              (yr.prototype.onRemove = function () {
                                   i.remove(this._container), this._map.off("sourcedata", this._updateLogo), this._map.off("resize", this._updateCompact);
                              }),
                              (yr.prototype.getDefaultPosition = function () {
                                   return "bottom-left";
                              }),
                              (yr.prototype._updateLogo = function (t) {
                                   (t && "metadata" !== t.sourceDataType) || (this._container.style.display = this._logoRequired() ? "block" : "none");
                              }),
                              (yr.prototype._logoRequired = function () {
                                   if (this._map.style) {
                                        var t = this._map.style.sourceCaches;
                                        for (var e in t) if (t[e].getSource().mapbox_logo) return !0;
                                        return !1;
                                   }
                              }),
                              (yr.prototype._updateCompact = function () {
                                   var t = this._container.children;
                                   if (t.length) {
                                        var e = t[0];
                                        this._map.getCanvasContainer().offsetWidth < 250 ? e.classList.add("mapboxgl-compact") : e.classList.remove("mapboxgl-compact");
                                   }
                              });
                         var br = function () {
                              (this._queue = []), (this._id = 0), (this._cleared = !1), (this._currentlyRunning = !1);
                         };
                         (br.prototype.add = function (t) {
                              var e = ++this._id;
                              return this._queue.push({ callback: t, id: e, cancelled: !1 }), e;
                         }),
                              (br.prototype.remove = function (t) {
                                   for (var e = this._currentlyRunning, i = 0, n = e ? this._queue.concat(e) : this._queue; i < n.length; i += 1) {
                                        var r = n[i];
                                        if (r.id === t) return void (r.cancelled = !0);
                                   }
                              }),
                              (br.prototype.run = function (t) {
                                   void 0 === t && (t = 0);
                                   var e = (this._currentlyRunning = this._queue);
                                   this._queue = [];
                                   for (var i = 0, n = e; i < n.length; i += 1) {
                                        var r = n[i];
                                        if (!r.cancelled && (r.callback(t), this._cleared)) break;
                                   }
                                   (this._cleared = !1), (this._currentlyRunning = !1);
                              }),
                              (br.prototype.clear = function () {
                                   this._currentlyRunning && (this._cleared = !0), (this._queue = []);
                              });
                         var _r = {
                                   "FullscreenControl.Enter": "Enter fullscreen",
                                   "FullscreenControl.Exit": "Exit fullscreen",
                                   "GeolocateControl.FindMyLocation": "Find my location",
                                   "GeolocateControl.LocationNotAvailable": "Location not available",
                                   "LogoControl.Title": "Mapbox logo",
                                   "NavigationControl.ResetBearing": "Reset bearing to north",
                                   "NavigationControl.ZoomIn": "Zoom in",
                                   "NavigationControl.ZoomOut": "Zoom out",
                                   "ScaleControl.Feet": "ft",
                                   "ScaleControl.Meters": "m",
                                   "ScaleControl.Kilometers": "km",
                                   "ScaleControl.Miles": "mi",
                                   "ScaleControl.NauticalMiles": "nm",
                              },
                              xr = t.window.HTMLImageElement,
                              wr = t.window.HTMLElement,
                              kr = t.window.ImageBitmap,
                              Sr = {
                                   center: [0, 0],
                                   zoom: 0,
                                   bearing: 0,
                                   pitch: 0,
                                   minZoom: -2,
                                   maxZoom: 22,
                                   minPitch: 0,
                                   maxPitch: 60,
                                   interactive: !0,
                                   scrollZoom: !0,
                                   boxZoom: !0,
                                   dragRotate: !0,
                                   dragPan: !0,
                                   keyboard: !0,
                                   doubleClickZoom: !0,
                                   touchZoomRotate: !0,
                                   touchPitch: !0,
                                   bearingSnap: 7,
                                   clickTolerance: 3,
                                   pitchWithRotate: !0,
                                   hash: !1,
                                   attributionControl: !0,
                                   failIfMajorPerformanceCaveat: !1,
                                   preserveDrawingBuffer: !1,
                                   trackResize: !0,
                                   renderWorldCopies: !0,
                                   refreshExpiredTiles: !0,
                                   maxTileCacheSize: null,
                                   localIdeographFontFamily: "sans-serif",
                                   transformRequest: null,
                                   accessToken: null,
                                   fadeDuration: 300,
                                   crossSourceCollisions: !0,
                              },
                              Mr = (function (n) {
                                   function r(e) {
                                        var i = this;
                                        if (null != (e = t.extend({}, Sr, e)).minZoom && null != e.maxZoom && e.minZoom > e.maxZoom) throw new Error("maxZoom must be greater than or equal to minZoom");
                                        if (null != e.minPitch && null != e.maxPitch && e.minPitch > e.maxPitch) throw new Error("maxPitch must be greater than or equal to minPitch");
                                        if (null != e.minPitch && e.minPitch < 0) throw new Error("minPitch must be greater than or equal to 0");
                                        if (null != e.maxPitch && e.maxPitch > 60) throw new Error("maxPitch must be less than or equal to 60");
                                        var r = new wn(e.minZoom, e.maxZoom, e.minPitch, e.maxPitch, e.renderWorldCopies);
                                        if (
                                             (n.call(this, r, e),
                                             (this._interactive = e.interactive),
                                             (this._maxTileCacheSize = e.maxTileCacheSize),
                                             (this._failIfMajorPerformanceCaveat = e.failIfMajorPerformanceCaveat),
                                             (this._preserveDrawingBuffer = e.preserveDrawingBuffer),
                                             (this._antialias = e.antialias),
                                             (this._trackResize = e.trackResize),
                                             (this._bearingSnap = e.bearingSnap),
                                             (this._refreshExpiredTiles = e.refreshExpiredTiles),
                                             (this._fadeDuration = e.fadeDuration),
                                             (this._crossSourceCollisions = e.crossSourceCollisions),
                                             (this._crossFadingFactor = 1),
                                             (this._collectResourceTiming = e.collectResourceTiming),
                                             (this._renderTaskQueue = new br()),
                                             (this._controls = []),
                                             (this._mapId = t.uniqueId()),
                                             (this._locale = t.extend({}, _r, e.locale)),
                                             (this._requestManager = new t.RequestManager(e.transformRequest, e.accessToken)),
                                             "string" == typeof e.container)
                                        ) {
                                             if (((this._container = t.window.document.getElementById(e.container)), !this._container)) throw new Error("Container '" + e.container + "' not found.");
                                        } else {
                                             if (!(e.container instanceof wr)) throw new Error("Invalid type: 'container' must be a String or HTMLElement.");
                                             this._container = e.container;
                                        }
                                        if (
                                             (e.maxBounds && this.setMaxBounds(e.maxBounds),
                                             t.bindAll(["_onWindowOnline", "_onWindowResize", "_contextLost", "_contextRestored"], this),
                                             this._setupContainer(),
                                             this._setupPainter(),
                                             void 0 === this.painter)
                                        )
                                             throw new Error("Failed to initialize WebGL.");
                                        this.on("move", function () {
                                             return i._update(!1);
                                        }),
                                             this.on("moveend", function () {
                                                  return i._update(!1);
                                             }),
                                             this.on("zoom", function () {
                                                  return i._update(!0);
                                             }),
                                             void 0 !== t.window && (t.window.addEventListener("online", this._onWindowOnline, !1), t.window.addEventListener("resize", this._onWindowResize, !1)),
                                             (this.handlers = new mr(this, e)),
                                             (this._hash = e.hash && new Sn(("string" == typeof e.hash && e.hash) || void 0).addTo(this)),
                                             (this._hash && this._hash._onHashChange()) ||
                                                  (this.jumpTo({ center: e.center, zoom: e.zoom, bearing: e.bearing, pitch: e.pitch }),
                                                  e.bounds && (this.resize(), this.fitBounds(e.bounds, t.extend({}, e.fitBoundsOptions, { duration: 0 })))),
                                             this.resize(),
                                             (this._localIdeographFontFamily = e.localIdeographFontFamily),
                                             e.style && this.setStyle(e.style, { localIdeographFontFamily: e.localIdeographFontFamily }),
                                             e.attributionControl && this.addControl(new vr({ customAttribution: e.customAttribution })),
                                             this.addControl(new yr(), e.logoPosition),
                                             this.on("style.load", function () {
                                                  i.transform.unmodified && i.jumpTo(i.style.stylesheet);
                                             }),
                                             this.on("data", function (e) {
                                                  i._update("style" === e.dataType), i.fire(new t.Event(e.dataType + "data", e));
                                             }),
                                             this.on("dataloading", function (e) {
                                                  i.fire(new t.Event(e.dataType + "dataloading", e));
                                             });
                                   }
                                   n && (r.__proto__ = n), ((r.prototype = Object.create(n && n.prototype)).constructor = r);
                                   var o = {
                                        showTileBoundaries: { configurable: !0 },
                                        showPadding: { configurable: !0 },
                                        showCollisionBoxes: { configurable: !0 },
                                        showOverdrawInspector: { configurable: !0 },
                                        repaint: { configurable: !0 },
                                        vertices: { configurable: !0 },
                                        version: { configurable: !0 },
                                   };
                                   return (
                                        (r.prototype._getMapId = function () {
                                             return this._mapId;
                                        }),
                                        (r.prototype.addControl = function (e, i) {
                                             if ((void 0 === i && e.getDefaultPosition && (i = e.getDefaultPosition()), void 0 === i && (i = "top-right"), !e || !e.onAdd))
                                                  return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));
                                             var n = e.onAdd(this);
                                             this._controls.push(e);
                                             var r = this._controlPositions[i];
                                             return -1 !== i.indexOf("bottom") ? r.insertBefore(n, r.firstChild) : r.appendChild(n), this;
                                        }),
                                        (r.prototype.removeControl = function (e) {
                                             if (!e || !e.onRemove) return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));
                                             var i = this._controls.indexOf(e);
                                             return i > -1 && this._controls.splice(i, 1), e.onRemove(this), this;
                                        }),
                                        (r.prototype.resize = function (e) {
                                             var i = this._containerDimensions(),
                                                  n = i[0],
                                                  r = i[1];
                                             this._resizeCanvas(n, r), this.transform.resize(n, r), this.painter.resize(n, r);
                                             var o = !this._moving;
                                             return o && (this.stop(), this.fire(new t.Event("movestart", e)).fire(new t.Event("move", e))), this.fire(new t.Event("resize", e)), o && this.fire(new t.Event("moveend", e)), this;
                                        }),
                                        (r.prototype.getBounds = function () {
                                             return this.transform.getBounds();
                                        }),
                                        (r.prototype.getMaxBounds = function () {
                                             return this.transform.getMaxBounds();
                                        }),
                                        (r.prototype.setMaxBounds = function (e) {
                                             return this.transform.setMaxBounds(t.LngLatBounds.convert(e)), this._update();
                                        }),
                                        (r.prototype.setMinZoom = function (t) {
                                             if ((t = null == t ? -2 : t) >= -2 && t <= this.transform.maxZoom) return (this.transform.minZoom = t), this._update(), this.getZoom() < t && this.setZoom(t), this;
                                             throw new Error("minZoom must be between -2 and the current maxZoom, inclusive");
                                        }),
                                        (r.prototype.getMinZoom = function () {
                                             return this.transform.minZoom;
                                        }),
                                        (r.prototype.setMaxZoom = function (t) {
                                             if ((t = null == t ? 22 : t) >= this.transform.minZoom) return (this.transform.maxZoom = t), this._update(), this.getZoom() > t && this.setZoom(t), this;
                                             throw new Error("maxZoom must be greater than the current minZoom");
                                        }),
                                        (r.prototype.getMaxZoom = function () {
                                             return this.transform.maxZoom;
                                        }),
                                        (r.prototype.setMinPitch = function (t) {
                                             if ((t = null == t ? 0 : t) < 0) throw new Error("minPitch must be greater than or equal to 0");
                                             if (t >= 0 && t <= this.transform.maxPitch) return (this.transform.minPitch = t), this._update(), this.getPitch() < t && this.setPitch(t), this;
                                             throw new Error("minPitch must be between 0 and the current maxPitch, inclusive");
                                        }),
                                        (r.prototype.getMinPitch = function () {
                                             return this.transform.minPitch;
                                        }),
                                        (r.prototype.setMaxPitch = function (t) {
                                             if ((t = null == t ? 60 : t) > 60) throw new Error("maxPitch must be less than or equal to 60");
                                             if (t >= this.transform.minPitch) return (this.transform.maxPitch = t), this._update(), this.getPitch() > t && this.setPitch(t), this;
                                             throw new Error("maxPitch must be greater than the current minPitch");
                                        }),
                                        (r.prototype.getMaxPitch = function () {
                                             return this.transform.maxPitch;
                                        }),
                                        (r.prototype.getRenderWorldCopies = function () {
                                             return this.transform.renderWorldCopies;
                                        }),
                                        (r.prototype.setRenderWorldCopies = function (t) {
                                             return (this.transform.renderWorldCopies = t), this._update();
                                        }),
                                        (r.prototype.project = function (e) {
                                             return this.transform.locationPoint(t.LngLat.convert(e));
                                        }),
                                        (r.prototype.unproject = function (e) {
                                             return this.transform.pointLocation(t.Point.convert(e));
                                        }),
                                        (r.prototype.isMoving = function () {
                                             return this._moving || this.handlers.isMoving();
                                        }),
                                        (r.prototype.isZooming = function () {
                                             return this._zooming || this.handlers.isZooming();
                                        }),
                                        (r.prototype.isRotating = function () {
                                             return this._rotating || this.handlers.isRotating();
                                        }),
                                        (r.prototype._createDelegatedListener = function (t, e, i) {
                                             var n,
                                                  r = this;
                                             if ("mouseenter" === t || "mouseover" === t) {
                                                  var o = !1;
                                                  return {
                                                       layer: e,
                                                       listener: i,
                                                       delegates: {
                                                            mousemove: function (n) {
                                                                 var a = r.getLayer(e) ? r.queryRenderedFeatures(n.point, { layers: [e] }) : [];
                                                                 a.length ? o || ((o = !0), i.call(r, new In(t, r, n.originalEvent, { features: a }))) : (o = !1);
                                                            },
                                                            mouseout: function () {
                                                                 o = !1;
                                                            },
                                                       },
                                                  };
                                             }
                                             if ("mouseleave" === t || "mouseout" === t) {
                                                  var a = !1;
                                                  return {
                                                       layer: e,
                                                       listener: i,
                                                       delegates: {
                                                            mousemove: function (n) {
                                                                 (r.getLayer(e) ? r.queryRenderedFeatures(n.point, { layers: [e] }) : []).length ? (a = !0) : a && ((a = !1), i.call(r, new In(t, r, n.originalEvent)));
                                                            },
                                                            mouseout: function (e) {
                                                                 a && ((a = !1), i.call(r, new In(t, r, e.originalEvent)));
                                                            },
                                                       },
                                                  };
                                             }
                                             return {
                                                  layer: e,
                                                  listener: i,
                                                  delegates:
                                                       ((n = {}),
                                                       (n[t] = function (t) {
                                                            var n = r.getLayer(e) ? r.queryRenderedFeatures(t.point, { layers: [e] }) : [];
                                                            n.length && ((t.features = n), i.call(r, t), delete t.features);
                                                       }),
                                                       n),
                                             };
                                        }),
                                        (r.prototype.on = function (t, e, i) {
                                             if (void 0 === i) return n.prototype.on.call(this, t, e);
                                             var r = this._createDelegatedListener(t, e, i);
                                             for (var o in ((this._delegatedListeners = this._delegatedListeners || {}), (this._delegatedListeners[t] = this._delegatedListeners[t] || []), this._delegatedListeners[t].push(r), r.delegates))
                                                  this.on(o, r.delegates[o]);
                                             return this;
                                        }),
                                        (r.prototype.once = function (t, e, i) {
                                             if (void 0 === i) return n.prototype.once.call(this, t, e);
                                             var r = this._createDelegatedListener(t, e, i);
                                             for (var o in r.delegates) this.once(o, r.delegates[o]);
                                             return this;
                                        }),
                                        (r.prototype.off = function (t, e, i) {
                                             var r = this;
                                             return void 0 === i
                                                  ? n.prototype.off.call(this, t, e)
                                                  : (this._delegatedListeners &&
                                                         this._delegatedListeners[t] &&
                                                         (function (n) {
                                                              for (var o = n[t], a = 0; a < o.length; a++) {
                                                                   var s = o[a];
                                                                   if (s.layer === e && s.listener === i) {
                                                                        for (var l in s.delegates) r.off(l, s.delegates[l]);
                                                                        return o.splice(a, 1), r;
                                                                   }
                                                              }
                                                         })(this._delegatedListeners),
                                                    this);
                                        }),
                                        (r.prototype.queryRenderedFeatures = function (e, i) {
                                             if (!this.style) return [];
                                             var n;
                                             if (
                                                  (void 0 !== i || void 0 === e || e instanceof t.Point || Array.isArray(e) || ((i = e), (e = void 0)),
                                                  (i = i || {}),
                                                  (e = e || [
                                                       [0, 0],
                                                       [this.transform.width, this.transform.height],
                                                  ]) instanceof t.Point || "number" == typeof e[0])
                                             )
                                                  n = [t.Point.convert(e)];
                                             else {
                                                  var r = t.Point.convert(e[0]),
                                                       o = t.Point.convert(e[1]);
                                                  n = [r, new t.Point(o.x, r.y), o, new t.Point(r.x, o.y), r];
                                             }
                                             return this.style.queryRenderedFeatures(n, i, this.transform);
                                        }),
                                        (r.prototype.querySourceFeatures = function (t, e) {
                                             return this.style.querySourceFeatures(t, e);
                                        }),
                                        (r.prototype.setStyle = function (e, i) {
                                             return !1 !== (i = t.extend({}, { localIdeographFontFamily: this._localIdeographFontFamily }, i)).diff && i.localIdeographFontFamily === this._localIdeographFontFamily && this.style && e
                                                  ? (this._diffStyle(e, i), this)
                                                  : ((this._localIdeographFontFamily = i.localIdeographFontFamily), this._updateStyle(e, i));
                                        }),
                                        (r.prototype._getUIString = function (t) {
                                             var e = this._locale[t];
                                             if (null == e) throw new Error("Missing UI string '" + t + "'");
                                             return e;
                                        }),
                                        (r.prototype._updateStyle = function (t, e) {
                                             return (
                                                  this.style && (this.style.setEventedParent(null), this.style._remove()),
                                                  t
                                                       ? ((this.style = new We(this, e || {})), this.style.setEventedParent(this, { style: this.style }), "string" == typeof t ? this.style.loadURL(t) : this.style.loadJSON(t), this)
                                                       : (delete this.style, this)
                                             );
                                        }),
                                        (r.prototype._lazyInitEmptyStyle = function () {
                                             this.style || ((this.style = new We(this, {})), this.style.setEventedParent(this, { style: this.style }), this.style.loadEmpty());
                                        }),
                                        (r.prototype._diffStyle = function (e, i) {
                                             var n = this;
                                             if ("string" == typeof e) {
                                                  var r = this._requestManager.normalizeStyleURL(e),
                                                       o = this._requestManager.transformRequest(r, t.ResourceType.Style);
                                                  t.getJSON(o, function (e, r) {
                                                       e ? n.fire(new t.ErrorEvent(e)) : r && n._updateDiff(r, i);
                                                  });
                                             } else "object" == typeof e && this._updateDiff(e, i);
                                        }),
                                        (r.prototype._updateDiff = function (e, i) {
                                             try {
                                                  this.style.setState(e) && this._update(!0);
                                             } catch (n) {
                                                  t.warnOnce("Unable to perform style diff: " + (n.message || n.error || n) + ".  Rebuilding the style from scratch."), this._updateStyle(e, i);
                                             }
                                        }),
                                        (r.prototype.getStyle = function () {
                                             if (this.style) return this.style.serialize();
                                        }),
                                        (r.prototype.isStyleLoaded = function () {
                                             return this.style ? this.style.loaded() : t.warnOnce("There is no style added to the map.");
                                        }),
                                        (r.prototype.addSource = function (t, e) {
                                             return this._lazyInitEmptyStyle(), this.style.addSource(t, e), this._update(!0);
                                        }),
                                        (r.prototype.isSourceLoaded = function (e) {
                                             var i = this.style && this.style.sourceCaches[e];
                                             if (void 0 !== i) return i.loaded();
                                             this.fire(new t.ErrorEvent(new Error("There is no source with ID '" + e + "'")));
                                        }),
                                        (r.prototype.areTilesLoaded = function () {
                                             var t = this.style && this.style.sourceCaches;
                                             for (var e in t) {
                                                  var i = t[e]._tiles;
                                                  for (var n in i) {
                                                       var r = i[n];
                                                       if ("loaded" !== r.state && "errored" !== r.state) return !1;
                                                  }
                                             }
                                             return !0;
                                        }),
                                        (r.prototype.addSourceType = function (t, e, i) {
                                             return this._lazyInitEmptyStyle(), this.style.addSourceType(t, e, i);
                                        }),
                                        (r.prototype.removeSource = function (t) {
                                             return this.style.removeSource(t), this._update(!0);
                                        }),
                                        (r.prototype.getSource = function (t) {
                                             return this.style.getSource(t);
                                        }),
                                        (r.prototype.addImage = function (e, i, n) {
                                             void 0 === n && (n = {});
                                             var r = n.pixelRatio;
                                             void 0 === r && (r = 1);
                                             var o = n.sdf;
                                             void 0 === o && (o = !1);
                                             var a = n.stretchX,
                                                  s = n.stretchY,
                                                  l = n.content;
                                             if ((this._lazyInitEmptyStyle(), i instanceof xr || (kr && i instanceof kr))) {
                                                  var c = t.browser.getImageData(i);
                                                  this.style.addImage(e, { data: new t.RGBAImage({ width: c.width, height: c.height }, c.data), pixelRatio: r, stretchX: a, stretchY: s, content: l, sdf: o, version: 0 });
                                             } else {
                                                  if (void 0 === i.width || void 0 === i.height)
                                                       return this.fire(
                                                            new t.ErrorEvent(
                                                                 new Error(
                                                                      "Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`"
                                                                 )
                                                            )
                                                       );
                                                  var u = i;
                                                  this.style.addImage(e, {
                                                       data: new t.RGBAImage({ width: i.width, height: i.height }, new Uint8Array(i.data)),
                                                       pixelRatio: r,
                                                       stretchX: a,
                                                       stretchY: s,
                                                       content: l,
                                                       sdf: o,
                                                       version: 0,
                                                       userImage: u,
                                                  }),
                                                       u.onAdd && u.onAdd(this, e);
                                             }
                                        }),
                                        (r.prototype.updateImage = function (e, i) {
                                             var n = this.style.getImage(e);
                                             if (!n) return this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));
                                             var r = i instanceof xr || (kr && i instanceof kr) ? t.browser.getImageData(i) : i,
                                                  o = r.width,
                                                  a = r.height,
                                                  s = r.data;
                                             return void 0 === o || void 0 === a
                                                  ? this.fire(
                                                         new t.ErrorEvent(
                                                              new Error(
                                                                   "Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`"
                                                              )
                                                         )
                                                    )
                                                  : o !== n.data.width || a !== n.data.height
                                                  ? this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")))
                                                  : (n.data.replace(s, !(i instanceof xr || (kr && i instanceof kr))), void this.style.updateImage(e, n));
                                        }),
                                        (r.prototype.hasImage = function (e) {
                                             return e ? !!this.style.getImage(e) : (this.fire(new t.ErrorEvent(new Error("Missing required image id"))), !1);
                                        }),
                                        (r.prototype.removeImage = function (t) {
                                             this.style.removeImage(t);
                                        }),
                                        (r.prototype.loadImage = function (e, i) {
                                             t.getImage(this._requestManager.transformRequest(e, t.ResourceType.Image), i);
                                        }),
                                        (r.prototype.listImages = function () {
                                             return this.style.listImages();
                                        }),
                                        (r.prototype.addLayer = function (t, e) {
                                             return this._lazyInitEmptyStyle(), this.style.addLayer(t, e), this._update(!0);
                                        }),
                                        (r.prototype.moveLayer = function (t, e) {
                                             return this.style.moveLayer(t, e), this._update(!0);
                                        }),
                                        (r.prototype.removeLayer = function (t) {
                                             return this.style.removeLayer(t), this._update(!0);
                                        }),
                                        (r.prototype.getLayer = function (t) {
                                             return this.style.getLayer(t);
                                        }),
                                        (r.prototype.setLayerZoomRange = function (t, e, i) {
                                             return this.style.setLayerZoomRange(t, e, i), this._update(!0);
                                        }),
                                        (r.prototype.setFilter = function (t, e, i) {
                                             return void 0 === i && (i = {}), this.style.setFilter(t, e, i), this._update(!0);
                                        }),
                                        (r.prototype.getFilter = function (t) {
                                             return this.style.getFilter(t);
                                        }),
                                        (r.prototype.setPaintProperty = function (t, e, i, n) {
                                             return void 0 === n && (n = {}), this.style.setPaintProperty(t, e, i, n), this._update(!0);
                                        }),
                                        (r.prototype.getPaintProperty = function (t, e) {
                                             return this.style.getPaintProperty(t, e);
                                        }),
                                        (r.prototype.setLayoutProperty = function (t, e, i, n) {
                                             return void 0 === n && (n = {}), this.style.setLayoutProperty(t, e, i, n), this._update(!0);
                                        }),
                                        (r.prototype.getLayoutProperty = function (t, e) {
                                             return this.style.getLayoutProperty(t, e);
                                        }),
                                        (r.prototype.setLight = function (t, e) {
                                             return void 0 === e && (e = {}), this._lazyInitEmptyStyle(), this.style.setLight(t, e), this._update(!0);
                                        }),
                                        (r.prototype.getLight = function () {
                                             return this.style.getLight();
                                        }),
                                        (r.prototype.setFeatureState = function (t, e) {
                                             return this.style.setFeatureState(t, e), this._update();
                                        }),
                                        (r.prototype.removeFeatureState = function (t, e) {
                                             return this.style.removeFeatureState(t, e), this._update();
                                        }),
                                        (r.prototype.getFeatureState = function (t) {
                                             return this.style.getFeatureState(t);
                                        }),
                                        (r.prototype.getContainer = function () {
                                             return this._container;
                                        }),
                                        (r.prototype.getCanvasContainer = function () {
                                             return this._canvasContainer;
                                        }),
                                        (r.prototype.getCanvas = function () {
                                             return this._canvas;
                                        }),
                                        (r.prototype._containerDimensions = function () {
                                             var t = 0,
                                                  e = 0;
                                             return this._container && ((t = this._container.clientWidth || 400), (e = this._container.clientHeight || 300)), [t, e];
                                        }),
                                        (r.prototype._detectMissingCSS = function () {
                                             "rgb(250, 128, 114)" !== t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color") &&
                                                  t.warnOnce(
                                                       "This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/."
                                                  );
                                        }),
                                        (r.prototype._setupContainer = function () {
                                             var t = this._container;
                                             t.classList.add("mapboxgl-map"), ((this._missingCSSCanary = i.create("div", "mapboxgl-canary", t)).style.visibility = "hidden"), this._detectMissingCSS();
                                             var e = (this._canvasContainer = i.create("div", "mapboxgl-canvas-container", t));
                                             this._interactive && e.classList.add("mapboxgl-interactive"),
                                                  (this._canvas = i.create("canvas", "mapboxgl-canvas", e)),
                                                  this._canvas.addEventListener("webglcontextlost", this._contextLost, !1),
                                                  this._canvas.addEventListener("webglcontextrestored", this._contextRestored, !1),
                                                  this._canvas.setAttribute("tabindex", "0"),
                                                  this._canvas.setAttribute("aria-label", "Map");
                                             var n = this._containerDimensions();
                                             this._resizeCanvas(n[0], n[1]);
                                             var r = (this._controlContainer = i.create("div", "mapboxgl-control-container", t)),
                                                  o = (this._controlPositions = {});
                                             ["top-left", "top-right", "bottom-left", "bottom-right"].forEach(function (t) {
                                                  o[t] = i.create("div", "mapboxgl-ctrl-" + t, r);
                                             });
                                        }),
                                        (r.prototype._resizeCanvas = function (e, i) {
                                             var n = t.browser.devicePixelRatio || 1;
                                             (this._canvas.width = n * e), (this._canvas.height = n * i), (this._canvas.style.width = e + "px"), (this._canvas.style.height = i + "px");
                                        }),
                                        (r.prototype._setupPainter = function () {
                                             var i = t.extend({}, e.webGLContextAttributes, {
                                                       failIfMajorPerformanceCaveat: this._failIfMajorPerformanceCaveat,
                                                       preserveDrawingBuffer: this._preserveDrawingBuffer,
                                                       antialias: this._antialias || !1,
                                                  }),
                                                  n = this._canvas.getContext("webgl", i) || this._canvas.getContext("experimental-webgl", i);
                                             n ? ((this.painter = new yn(n, this.transform)), t.webpSupported.testSupport(n)) : this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")));
                                        }),
                                        (r.prototype._contextLost = function (e) {
                                             e.preventDefault(), this._frame && (this._frame.cancel(), (this._frame = null)), this.fire(new t.Event("webglcontextlost", { originalEvent: e }));
                                        }),
                                        (r.prototype._contextRestored = function (e) {
                                             this._setupPainter(), this.resize(), this._update(), this.fire(new t.Event("webglcontextrestored", { originalEvent: e }));
                                        }),
                                        (r.prototype.loaded = function () {
                                             return !this._styleDirty && !this._sourcesDirty && !!this.style && this.style.loaded();
                                        }),
                                        (r.prototype._update = function (t) {
                                             return this.style ? ((this._styleDirty = this._styleDirty || t), (this._sourcesDirty = !0), this.triggerRepaint(), this) : this;
                                        }),
                                        (r.prototype._requestRenderFrame = function (t) {
                                             return this._update(), this._renderTaskQueue.add(t);
                                        }),
                                        (r.prototype._cancelRenderFrame = function (t) {
                                             this._renderTaskQueue.remove(t);
                                        }),
                                        (r.prototype._render = function (e) {
                                             var i,
                                                  n = this,
                                                  r = 0,
                                                  o = this.painter.context.extTimerQuery;
                                             if (
                                                  (this.listens("gpu-timing-frame") && ((i = o.createQueryEXT()), o.beginQueryEXT(o.TIME_ELAPSED_EXT, i), (r = t.browser.now())),
                                                  this.painter.context.setDirty(),
                                                  this.painter.setBaseState(),
                                                  this._renderTaskQueue.run(e),
                                                  !this._removed)
                                             ) {
                                                  var a = !1;
                                                  if (this.style && this._styleDirty) {
                                                       this._styleDirty = !1;
                                                       var s = this.transform.zoom,
                                                            l = t.browser.now();
                                                       this.style.zoomHistory.update(s, l);
                                                       var c = new t.EvaluationParameters(s, { now: l, fadeDuration: this._fadeDuration, zoomHistory: this.style.zoomHistory, transition: this.style.getTransition() }),
                                                            u = c.crossFadingFactor();
                                                       (1 === u && u === this._crossFadingFactor) || ((a = !0), (this._crossFadingFactor = u)), this.style.update(c);
                                                  }
                                                  if (
                                                       (this.style && this._sourcesDirty && ((this._sourcesDirty = !1), this.style._updateSources(this.transform)),
                                                       (this._placementDirty = this.style && this.style._updatePlacement(this.painter.transform, this.showCollisionBoxes, this._fadeDuration, this._crossSourceCollisions)),
                                                       this.painter.render(this.style, {
                                                            showTileBoundaries: this.showTileBoundaries,
                                                            showOverdrawInspector: this._showOverdrawInspector,
                                                            rotating: this.isRotating(),
                                                            zooming: this.isZooming(),
                                                            moving: this.isMoving(),
                                                            fadeDuration: this._fadeDuration,
                                                            showPadding: this.showPadding,
                                                            gpuTiming: !!this.listens("gpu-timing-layer"),
                                                       }),
                                                       this.fire(new t.Event("render")),
                                                       this.loaded() && !this._loaded && ((this._loaded = !0), this.fire(new t.Event("load"))),
                                                       this.style && (this.style.hasTransitions() || a) && (this._styleDirty = !0),
                                                       this.style && !this._placementDirty && this.style._releaseSymbolFadeTiles(),
                                                       this.listens("gpu-timing-frame"))
                                                  ) {
                                                       var h = t.browser.now() - r;
                                                       o.endQueryEXT(o.TIME_ELAPSED_EXT, i),
                                                            setTimeout(function () {
                                                                 var e = o.getQueryObjectEXT(i, o.QUERY_RESULT_EXT) / 1e6;
                                                                 o.deleteQueryEXT(i), n.fire(new t.Event("gpu-timing-frame", { cpuTime: h, gpuTime: e }));
                                                            }, 50);
                                                  }
                                                  if (this.listens("gpu-timing-layer")) {
                                                       var d = this.painter.collectGpuTimers();
                                                       setTimeout(function () {
                                                            var e = n.painter.queryGpuTimers(d);
                                                            n.fire(new t.Event("gpu-timing-layer", { layerTimes: e }));
                                                       }, 50);
                                                  }
                                                  return (
                                                       this._sourcesDirty || this._styleDirty || this._placementDirty || this._repaint
                                                            ? this.triggerRepaint()
                                                            : !this.isMoving() && this.loaded() && (this._fullyLoaded || (this._fullyLoaded = !0), this.fire(new t.Event("idle"))),
                                                       this
                                                  );
                                             }
                                        }),
                                        (r.prototype.remove = function () {
                                             this._hash && this._hash.remove();
                                             for (var e = 0, i = this._controls; e < i.length; e += 1) i[e].onRemove(this);
                                             (this._controls = []),
                                                  this._frame && (this._frame.cancel(), (this._frame = null)),
                                                  this._renderTaskQueue.clear(),
                                                  this.painter.destroy(),
                                                  this.handlers.destroy(),
                                                  delete this.handlers,
                                                  this.setStyle(null),
                                                  void 0 !== t.window && (t.window.removeEventListener("resize", this._onWindowResize, !1), t.window.removeEventListener("online", this._onWindowOnline, !1));
                                             var n = this.painter.context.gl.getExtension("WEBGL_lose_context");
                                             n && n.loseContext(),
                                                  Tr(this._canvasContainer),
                                                  Tr(this._controlContainer),
                                                  Tr(this._missingCSSCanary),
                                                  this._container.classList.remove("mapboxgl-map"),
                                                  (this._removed = !0),
                                                  this.fire(new t.Event("remove"));
                                        }),
                                        (r.prototype.triggerRepaint = function () {
                                             var e = this;
                                             this.style &&
                                                  !this._frame &&
                                                  (this._frame = t.browser.frame(function (t) {
                                                       (e._frame = null), e._render(t);
                                                  }));
                                        }),
                                        (r.prototype._onWindowOnline = function () {
                                             this._update();
                                        }),
                                        (r.prototype._onWindowResize = function (t) {
                                             this._trackResize && this.resize({ originalEvent: t })._update();
                                        }),
                                        (o.showTileBoundaries.get = function () {
                                             return !!this._showTileBoundaries;
                                        }),
                                        (o.showTileBoundaries.set = function (t) {
                                             this._showTileBoundaries !== t && ((this._showTileBoundaries = t), this._update());
                                        }),
                                        (o.showPadding.get = function () {
                                             return !!this._showPadding;
                                        }),
                                        (o.showPadding.set = function (t) {
                                             this._showPadding !== t && ((this._showPadding = t), this._update());
                                        }),
                                        (o.showCollisionBoxes.get = function () {
                                             return !!this._showCollisionBoxes;
                                        }),
                                        (o.showCollisionBoxes.set = function (t) {
                                             this._showCollisionBoxes !== t && ((this._showCollisionBoxes = t), t ? this.style._generateCollisionBoxes() : this._update());
                                        }),
                                        (o.showOverdrawInspector.get = function () {
                                             return !!this._showOverdrawInspector;
                                        }),
                                        (o.showOverdrawInspector.set = function (t) {
                                             this._showOverdrawInspector !== t && ((this._showOverdrawInspector = t), this._update());
                                        }),
                                        (o.repaint.get = function () {
                                             return !!this._repaint;
                                        }),
                                        (o.repaint.set = function (t) {
                                             this._repaint !== t && ((this._repaint = t), this.triggerRepaint());
                                        }),
                                        (o.vertices.get = function () {
                                             return !!this._vertices;
                                        }),
                                        (o.vertices.set = function (t) {
                                             (this._vertices = t), this._update();
                                        }),
                                        (r.prototype._setCacheLimits = function (e, i) {
                                             t.setCacheLimits(e, i);
                                        }),
                                        (o.version.get = function () {
                                             return t.version;
                                        }),
                                        Object.defineProperties(r.prototype, o),
                                        r
                                   );
                              })(gr);
                         function Tr(t) {
                              t.parentNode && t.parentNode.removeChild(t);
                         }
                         var Cr = { showCompass: !0, showZoom: !0, visualizePitch: !1 },
                              Dr = function (e) {
                                   var n = this;
                                   (this.options = t.extend({}, Cr, e)),
                                        (this._container = i.create("div", "mapboxgl-ctrl mapboxgl-ctrl-group")),
                                        this._container.addEventListener("contextmenu", function (t) {
                                             return t.preventDefault();
                                        }),
                                        this.options.showZoom &&
                                             (t.bindAll(["_setButtonTitle", "_updateZoomButtons"], this),
                                             (this._zoomInButton = this._createButton("mapboxgl-ctrl-zoom-in", function (t) {
                                                  return n._map.zoomIn({}, { originalEvent: t });
                                             })),
                                             i.create("span", "mapboxgl-ctrl-icon", this._zoomInButton).setAttribute("aria-hidden", !0),
                                             (this._zoomOutButton = this._createButton("mapboxgl-ctrl-zoom-out", function (t) {
                                                  return n._map.zoomOut({}, { originalEvent: t });
                                             })),
                                             i.create("span", "mapboxgl-ctrl-icon", this._zoomOutButton).setAttribute("aria-hidden", !0)),
                                        this.options.showCompass &&
                                             (t.bindAll(["_rotateCompassArrow"], this),
                                             (this._compass = this._createButton("mapboxgl-ctrl-compass", function (t) {
                                                  n.options.visualizePitch ? n._map.resetNorthPitch({}, { originalEvent: t }) : n._map.resetNorth({}, { originalEvent: t });
                                             })),
                                             (this._compassIcon = i.create("span", "mapboxgl-ctrl-icon", this._compass)),
                                             this._compassIcon.setAttribute("aria-hidden", !0));
                              };
                         (Dr.prototype._updateZoomButtons = function () {
                              var t = this._map.getZoom();
                              (this._zoomInButton.disabled = t === this._map.getMaxZoom()), (this._zoomOutButton.disabled = t === this._map.getMinZoom());
                         }),
                              (Dr.prototype._rotateCompassArrow = function () {
                                   var t = this.options.visualizePitch
                                        ? "scale(" +
                                          1 / Math.pow(Math.cos(this._map.transform.pitch * (Math.PI / 180)), 0.5) +
                                          ") rotateX(" +
                                          this._map.transform.pitch +
                                          "deg) rotateZ(" +
                                          this._map.transform.angle * (180 / Math.PI) +
                                          "deg)"
                                        : "rotate(" + this._map.transform.angle * (180 / Math.PI) + "deg)";
                                   this._compassIcon.style.transform = t;
                              }),
                              (Dr.prototype.onAdd = function (t) {
                                   return (
                                        (this._map = t),
                                        this.options.showZoom &&
                                             (this._setButtonTitle(this._zoomInButton, "ZoomIn"), this._setButtonTitle(this._zoomOutButton, "ZoomOut"), this._map.on("zoom", this._updateZoomButtons), this._updateZoomButtons()),
                                        this.options.showCompass &&
                                             (this._setButtonTitle(this._compass, "ResetBearing"),
                                             this.options.visualizePitch && this._map.on("pitch", this._rotateCompassArrow),
                                             this._map.on("rotate", this._rotateCompassArrow),
                                             this._rotateCompassArrow(),
                                             (this._handler = new Lr(this._map, this._compass, this.options.visualizePitch))),
                                        this._container
                                   );
                              }),
                              (Dr.prototype.onRemove = function () {
                                   i.remove(this._container),
                                        this.options.showZoom && this._map.off("zoom", this._updateZoomButtons),
                                        this.options.showCompass &&
                                             (this.options.visualizePitch && this._map.off("pitch", this._rotateCompassArrow), this._map.off("rotate", this._rotateCompassArrow), this._handler.off(), delete this._handler),
                                        delete this._map;
                              }),
                              (Dr.prototype._createButton = function (t, e) {
                                   var n = i.create("button", t, this._container);
                                   return (n.type = "button"), n.addEventListener("click", e), n;
                              }),
                              (Dr.prototype._setButtonTitle = function (t, e) {
                                   var i = this._map._getUIString("NavigationControl." + e);
                                   (t.title = i), t.setAttribute("aria-label", i);
                              });
                         var Lr = function (e, n, r) {
                              void 0 === r && (r = !1),
                                   (this._clickTolerance = 10),
                                   (this.element = n),
                                   (this.mouseRotate = new Un({ clickTolerance: e.dragRotate._mouseRotate._clickTolerance })),
                                   (this.map = e),
                                   r && (this.mousePitch = new qn({ clickTolerance: e.dragRotate._mousePitch._clickTolerance })),
                                   t.bindAll(["mousedown", "mousemove", "mouseup", "touchstart", "touchmove", "touchend", "reset"], this),
                                   i.addEventListener(n, "mousedown", this.mousedown),
                                   i.addEventListener(n, "touchstart", this.touchstart, { passive: !1 }),
                                   i.addEventListener(n, "touchmove", this.touchmove),
                                   i.addEventListener(n, "touchend", this.touchend),
                                   i.addEventListener(n, "touchcancel", this.reset);
                         };
                         function Er(e, i, n) {
                              if (((e = new t.LngLat(e.lng, e.lat)), i)) {
                                   var r = new t.LngLat(e.lng - 360, e.lat),
                                        o = new t.LngLat(e.lng + 360, e.lat),
                                        a = n.locationPoint(e).distSqr(i);
                                   n.locationPoint(r).distSqr(i) < a ? (e = r) : n.locationPoint(o).distSqr(i) < a && (e = o);
                              }
                              for (; Math.abs(e.lng - n.center.lng) > 180; ) {
                                   var s = n.locationPoint(e);
                                   if (s.x >= 0 && s.y >= 0 && s.x <= n.width && s.y <= n.height) break;
                                   e.lng > n.center.lng ? (e.lng -= 360) : (e.lng += 360);
                              }
                              return e;
                         }
                         (Lr.prototype.down = function (t, e) {
                              this.mouseRotate.mousedown(t, e), this.mousePitch && this.mousePitch.mousedown(t, e), i.disableDrag();
                         }),
                              (Lr.prototype.move = function (t, e) {
                                   var i = this.map,
                                        n = this.mouseRotate.mousemoveWindow(t, e);
                                   if ((n && n.bearingDelta && i.setBearing(i.getBearing() + n.bearingDelta), this.mousePitch)) {
                                        var r = this.mousePitch.mousemoveWindow(t, e);
                                        r && r.pitchDelta && i.setPitch(i.getPitch() + r.pitchDelta);
                                   }
                              }),
                              (Lr.prototype.off = function () {
                                   var t = this.element;
                                   i.removeEventListener(t, "mousedown", this.mousedown),
                                        i.removeEventListener(t, "touchstart", this.touchstart, { passive: !1 }),
                                        i.removeEventListener(t, "touchmove", this.touchmove),
                                        i.removeEventListener(t, "touchend", this.touchend),
                                        i.removeEventListener(t, "touchcancel", this.reset),
                                        this.offTemp();
                              }),
                              (Lr.prototype.offTemp = function () {
                                   i.enableDrag(), i.removeEventListener(t.window, "mousemove", this.mousemove), i.removeEventListener(t.window, "mouseup", this.mouseup);
                              }),
                              (Lr.prototype.mousedown = function (e) {
                                   this.down(
                                        t.extend({}, e, {
                                             ctrlKey: !0,
                                             preventDefault: function () {
                                                  return e.preventDefault();
                                             },
                                        }),
                                        i.mousePos(this.element, e)
                                   ),
                                        i.addEventListener(t.window, "mousemove", this.mousemove),
                                        i.addEventListener(t.window, "mouseup", this.mouseup);
                              }),
                              (Lr.prototype.mousemove = function (t) {
                                   this.move(t, i.mousePos(this.element, t));
                              }),
                              (Lr.prototype.mouseup = function (t) {
                                   this.mouseRotate.mouseupWindow(t), this.mousePitch && this.mousePitch.mouseupWindow(t), this.offTemp();
                              }),
                              (Lr.prototype.touchstart = function (t) {
                                   1 !== t.targetTouches.length
                                        ? this.reset()
                                        : ((this._startPos = this._lastPos = i.touchPos(this.element, t.targetTouches)[0]),
                                          this.down(
                                               {
                                                    type: "mousedown",
                                                    button: 0,
                                                    ctrlKey: !0,
                                                    preventDefault: function () {
                                                         return t.preventDefault();
                                                    },
                                               },
                                               this._startPos
                                          ));
                              }),
                              (Lr.prototype.touchmove = function (t) {
                                   1 !== t.targetTouches.length
                                        ? this.reset()
                                        : ((this._lastPos = i.touchPos(this.element, t.targetTouches)[0]),
                                          this.move(
                                               {
                                                    preventDefault: function () {
                                                         return t.preventDefault();
                                                    },
                                               },
                                               this._lastPos
                                          ));
                              }),
                              (Lr.prototype.touchend = function (t) {
                                   0 === t.targetTouches.length && this._startPos && this._lastPos && this._startPos.dist(this._lastPos) < this._clickTolerance && this.element.click(), this.reset();
                              }),
                              (Lr.prototype.reset = function () {
                                   this.mouseRotate.reset(), this.mousePitch && this.mousePitch.reset(), delete this._startPos, delete this._lastPos, this.offTemp();
                              });
                         var Ar = {
                              center: "translate(-50%,-50%)",
                              top: "translate(-50%,0)",
                              "top-left": "translate(0,0)",
                              "top-right": "translate(-100%,0)",
                              bottom: "translate(-50%,-100%)",
                              "bottom-left": "translate(0,-100%)",
                              "bottom-right": "translate(-100%,-100%)",
                              left: "translate(0,-50%)",
                              right: "translate(-100%,-50%)",
                         };
                         function Pr(t, e, i) {
                              var n = t.classList;
                              for (var r in Ar) n.remove("mapboxgl-" + i + "-anchor-" + r);
                              n.add("mapboxgl-" + i + "-anchor-" + e);
                         }
                         var Ir,
                              Or = (function (e) {
                                   function n(n, r) {
                                        var o = this;
                                        if (
                                             (e.call(this),
                                             (n instanceof t.window.HTMLElement || r) && (n = t.extend({ element: n }, r)),
                                             t.bindAll(["_update", "_onMove", "_onUp", "_addDragHandler", "_onMapClick", "_onKeyPress"], this),
                                             (this._anchor = (n && n.anchor) || "center"),
                                             (this._color = (n && n.color) || "#3FB1CE"),
                                             (this._draggable = (n && n.draggable) || !1),
                                             (this._state = "inactive"),
                                             (this._rotation = (n && n.rotation) || 0),
                                             (this._rotationAlignment = (n && n.rotationAlignment) || "auto"),
                                             (this._pitchAlignment = n && n.pitchAlignment && "auto" !== n.pitchAlignment ? n.pitchAlignment : this._rotationAlignment),
                                             n && n.element)
                                        )
                                             (this._element = n.element), (this._offset = t.Point.convert((n && n.offset) || [0, 0]));
                                        else {
                                             (this._defaultMarker = !0), (this._element = i.create("div")), this._element.setAttribute("aria-label", "Map marker");
                                             var a = i.createNS("http://www.w3.org/2000/svg", "svg");
                                             a.setAttributeNS(null, "display", "block"), a.setAttributeNS(null, "height", "41px"), a.setAttributeNS(null, "width", "27px"), a.setAttributeNS(null, "viewBox", "0 0 27 41");
                                             var s = i.createNS("http://www.w3.org/2000/svg", "g");
                                             s.setAttributeNS(null, "stroke", "none"), s.setAttributeNS(null, "stroke-width", "1"), s.setAttributeNS(null, "fill", "none"), s.setAttributeNS(null, "fill-rule", "evenodd");
                                             var l = i.createNS("http://www.w3.org/2000/svg", "g");
                                             l.setAttributeNS(null, "fill-rule", "nonzero");
                                             var c = i.createNS("http://www.w3.org/2000/svg", "g");
                                             c.setAttributeNS(null, "transform", "translate(3.0, 29.0)"), c.setAttributeNS(null, "fill", "#000000");
                                             for (
                                                  var u = 0,
                                                       h = [
                                                            { rx: "10.5", ry: "5.25002273" },
                                                            { rx: "10.5", ry: "5.25002273" },
                                                            { rx: "9.5", ry: "4.77275007" },
                                                            { rx: "8.5", ry: "4.29549936" },
                                                            { rx: "7.5", ry: "3.81822308" },
                                                            { rx: "6.5", ry: "3.34094679" },
                                                            { rx: "5.5", ry: "2.86367051" },
                                                            { rx: "4.5", ry: "2.38636864" },
                                                       ];
                                                  u < h.length;
                                                  u += 1
                                             ) {
                                                  var d = h[u],
                                                       p = i.createNS("http://www.w3.org/2000/svg", "ellipse");
                                                  p.setAttributeNS(null, "opacity", "0.04"),
                                                       p.setAttributeNS(null, "cx", "10.5"),
                                                       p.setAttributeNS(null, "cy", "5.80029008"),
                                                       p.setAttributeNS(null, "rx", d.rx),
                                                       p.setAttributeNS(null, "ry", d.ry),
                                                       c.appendChild(p);
                                             }
                                             var f = i.createNS("http://www.w3.org/2000/svg", "g");
                                             f.setAttributeNS(null, "fill", this._color);
                                             var m = i.createNS("http://www.w3.org/2000/svg", "path");
                                             m.setAttributeNS(
                                                  null,
                                                  "d",
                                                  "M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"
                                             ),
                                                  f.appendChild(m);
                                             var g = i.createNS("http://www.w3.org/2000/svg", "g");
                                             g.setAttributeNS(null, "opacity", "0.25"), g.setAttributeNS(null, "fill", "#000000");
                                             var v = i.createNS("http://www.w3.org/2000/svg", "path");
                                             v.setAttributeNS(
                                                  null,
                                                  "d",
                                                  "M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"
                                             ),
                                                  g.appendChild(v);
                                             var y = i.createNS("http://www.w3.org/2000/svg", "g");
                                             y.setAttributeNS(null, "transform", "translate(6.0, 7.0)"), y.setAttributeNS(null, "fill", "#FFFFFF");
                                             var b = i.createNS("http://www.w3.org/2000/svg", "g");
                                             b.setAttributeNS(null, "transform", "translate(8.0, 8.0)");
                                             var _ = i.createNS("http://www.w3.org/2000/svg", "circle");
                                             _.setAttributeNS(null, "fill", "#000000"),
                                                  _.setAttributeNS(null, "opacity", "0.25"),
                                                  _.setAttributeNS(null, "cx", "5.5"),
                                                  _.setAttributeNS(null, "cy", "5.5"),
                                                  _.setAttributeNS(null, "r", "5.4999962");
                                             var x = i.createNS("http://www.w3.org/2000/svg", "circle");
                                             x.setAttributeNS(null, "fill", "#FFFFFF"),
                                                  x.setAttributeNS(null, "cx", "5.5"),
                                                  x.setAttributeNS(null, "cy", "5.5"),
                                                  x.setAttributeNS(null, "r", "5.4999962"),
                                                  b.appendChild(_),
                                                  b.appendChild(x),
                                                  l.appendChild(c),
                                                  l.appendChild(f),
                                                  l.appendChild(g),
                                                  l.appendChild(y),
                                                  l.appendChild(b),
                                                  a.appendChild(l),
                                                  this._element.appendChild(a),
                                                  (this._offset = t.Point.convert((n && n.offset) || [0, -14]));
                                        }
                                        this._element.classList.add("mapboxgl-marker"),
                                             this._element.addEventListener("dragstart", function (t) {
                                                  t.preventDefault();
                                             }),
                                             this._element.addEventListener("mousedown", function (t) {
                                                  t.preventDefault();
                                             }),
                                             this._element.addEventListener("focus", function () {
                                                  var t = o._map.getContainer();
                                                  (t.scrollTop = 0), (t.scrollLeft = 0);
                                             }),
                                             Pr(this._element, this._anchor, "marker"),
                                             (this._popup = null);
                                   }
                                   return (
                                        e && (n.__proto__ = e),
                                        ((n.prototype = Object.create(e && e.prototype)).constructor = n),
                                        (n.prototype.addTo = function (t) {
                                             return (
                                                  this.remove(),
                                                  (this._map = t),
                                                  t.getCanvasContainer().appendChild(this._element),
                                                  t.on("move", this._update),
                                                  t.on("moveend", this._update),
                                                  this.setDraggable(this._draggable),
                                                  this._update(),
                                                  this._map.on("click", this._onMapClick),
                                                  this
                                             );
                                        }),
                                        (n.prototype.remove = function () {
                                             return (
                                                  this._map &&
                                                       (this._map.off("click", this._onMapClick),
                                                       this._map.off("move", this._update),
                                                       this._map.off("moveend", this._update),
                                                       this._map.off("mousedown", this._addDragHandler),
                                                       this._map.off("touchstart", this._addDragHandler),
                                                       this._map.off("mouseup", this._onUp),
                                                       this._map.off("touchend", this._onUp),
                                                       this._map.off("mousemove", this._onMove),
                                                       this._map.off("touchmove", this._onMove),
                                                       delete this._map),
                                                  i.remove(this._element),
                                                  this._popup && this._popup.remove(),
                                                  this
                                             );
                                        }),
                                        (n.prototype.getLngLat = function () {
                                             return this._lngLat;
                                        }),
                                        (n.prototype.setLngLat = function (e) {
                                             return (this._lngLat = t.LngLat.convert(e)), (this._pos = null), this._popup && this._popup.setLngLat(this._lngLat), this._update(), this;
                                        }),
                                        (n.prototype.getElement = function () {
                                             return this._element;
                                        }),
                                        (n.prototype.setPopup = function (t) {
                                             if (
                                                  (this._popup &&
                                                       (this._popup.remove(), (this._popup = null), this._element.removeEventListener("keypress", this._onKeyPress), this._originalTabIndex || this._element.removeAttribute("tabindex")),
                                                  t)
                                             ) {
                                                  if (!("offset" in t.options)) {
                                                       var e = Math.sqrt(Math.pow(13.5, 2) / 2);
                                                       t.options.offset = this._defaultMarker
                                                            ? {
                                                                   top: [0, 0],
                                                                   "top-left": [0, 0],
                                                                   "top-right": [0, 0],
                                                                   bottom: [0, -38.1],
                                                                   "bottom-left": [e, -1 * (24.6 + e)],
                                                                   "bottom-right": [-e, -1 * (24.6 + e)],
                                                                   left: [13.5, -24.6],
                                                                   right: [-13.5, -24.6],
                                                              }
                                                            : this._offset;
                                                  }
                                                  (this._popup = t),
                                                       this._lngLat && this._popup.setLngLat(this._lngLat),
                                                       (this._originalTabIndex = this._element.getAttribute("tabindex")),
                                                       this._originalTabIndex || this._element.setAttribute("tabindex", "0"),
                                                       this._element.addEventListener("keypress", this._onKeyPress);
                                             }
                                             return this;
                                        }),
                                        (n.prototype._onKeyPress = function (t) {
                                             var e = t.code,
                                                  i = t.charCode || t.keyCode;
                                             ("Space" !== e && "Enter" !== e && 32 !== i && 13 !== i) || this.togglePopup();
                                        }),
                                        (n.prototype._onMapClick = function (t) {
                                             var e = t.originalEvent.target,
                                                  i = this._element;
                                             this._popup && (e === i || i.contains(e)) && this.togglePopup();
                                        }),
                                        (n.prototype.getPopup = function () {
                                             return this._popup;
                                        }),
                                        (n.prototype.togglePopup = function () {
                                             var t = this._popup;
                                             return t ? (t.isOpen() ? t.remove() : t.addTo(this._map), this) : this;
                                        }),
                                        (n.prototype._update = function (t) {
                                             if (this._map) {
                                                  this._map.transform.renderWorldCopies && (this._lngLat = Er(this._lngLat, this._pos, this._map.transform)), (this._pos = this._map.project(this._lngLat)._add(this._offset));
                                                  var e = "";
                                                  "viewport" === this._rotationAlignment || "auto" === this._rotationAlignment
                                                       ? (e = "rotateZ(" + this._rotation + "deg)")
                                                       : "map" === this._rotationAlignment && (e = "rotateZ(" + (this._rotation - this._map.getBearing()) + "deg)");
                                                  var n = "";
                                                  "viewport" === this._pitchAlignment || "auto" === this._pitchAlignment ? (n = "rotateX(0deg)") : "map" === this._pitchAlignment && (n = "rotateX(" + this._map.getPitch() + "deg)"),
                                                       (t && "moveend" !== t.type) || (this._pos = this._pos.round()),
                                                       i.setTransform(this._element, Ar[this._anchor] + " translate(" + this._pos.x + "px, " + this._pos.y + "px) " + n + " " + e);
                                             }
                                        }),
                                        (n.prototype.getOffset = function () {
                                             return this._offset;
                                        }),
                                        (n.prototype.setOffset = function (e) {
                                             return (this._offset = t.Point.convert(e)), this._update(), this;
                                        }),
                                        (n.prototype._onMove = function (e) {
                                             (this._pos = e.point.sub(this._positionDelta)),
                                                  (this._lngLat = this._map.unproject(this._pos)),
                                                  this.setLngLat(this._lngLat),
                                                  (this._element.style.pointerEvents = "none"),
                                                  "pending" === this._state && ((this._state = "active"), this.fire(new t.Event("dragstart"))),
                                                  this.fire(new t.Event("drag"));
                                        }),
                                        (n.prototype._onUp = function () {
                                             (this._element.style.pointerEvents = "auto"),
                                                  (this._positionDelta = null),
                                                  this._map.off("mousemove", this._onMove),
                                                  this._map.off("touchmove", this._onMove),
                                                  "active" === this._state && this.fire(new t.Event("dragend")),
                                                  (this._state = "inactive");
                                        }),
                                        (n.prototype._addDragHandler = function (t) {
                                             this._element.contains(t.originalEvent.target) &&
                                                  (t.preventDefault(),
                                                  (this._positionDelta = t.point.sub(this._pos).add(this._offset)),
                                                  (this._state = "pending"),
                                                  this._map.on("mousemove", this._onMove),
                                                  this._map.on("touchmove", this._onMove),
                                                  this._map.once("mouseup", this._onUp),
                                                  this._map.once("touchend", this._onUp));
                                        }),
                                        (n.prototype.setDraggable = function (t) {
                                             return (
                                                  (this._draggable = !!t),
                                                  this._map &&
                                                       (t
                                                            ? (this._map.on("mousedown", this._addDragHandler), this._map.on("touchstart", this._addDragHandler))
                                                            : (this._map.off("mousedown", this._addDragHandler), this._map.off("touchstart", this._addDragHandler))),
                                                  this
                                             );
                                        }),
                                        (n.prototype.isDraggable = function () {
                                             return this._draggable;
                                        }),
                                        (n.prototype.setRotation = function (t) {
                                             return (this._rotation = t || 0), this._update(), this;
                                        }),
                                        (n.prototype.getRotation = function () {
                                             return this._rotation;
                                        }),
                                        (n.prototype.setRotationAlignment = function (t) {
                                             return (this._rotationAlignment = t || "auto"), this._update(), this;
                                        }),
                                        (n.prototype.getRotationAlignment = function () {
                                             return this._rotationAlignment;
                                        }),
                                        (n.prototype.setPitchAlignment = function (t) {
                                             return (this._pitchAlignment = t && "auto" !== t ? t : this._rotationAlignment), this._update(), this;
                                        }),
                                        (n.prototype.getPitchAlignment = function () {
                                             return this._pitchAlignment;
                                        }),
                                        n
                                   );
                              })(t.Evented),
                              Yr = { positionOptions: { enableHighAccuracy: !1, maximumAge: 0, timeout: 6e3 }, fitBoundsOptions: { maxZoom: 15 }, trackUserLocation: !1, showAccuracyCircle: !0, showUserLocation: !0 },
                              zr = 0,
                              Rr = !1,
                              Fr = (function (e) {
                                   function n(i) {
                                        e.call(this), (this.options = t.extend({}, Yr, i)), t.bindAll(["_onSuccess", "_onError", "_onZoom", "_finish", "_setupUI", "_updateCamera", "_updateMarker"], this);
                                   }
                                   return (
                                        e && (n.__proto__ = e),
                                        ((n.prototype = Object.create(e && e.prototype)).constructor = n),
                                        (n.prototype.onAdd = function (e) {
                                             var n;
                                             return (
                                                  (this._map = e),
                                                  (this._container = i.create("div", "mapboxgl-ctrl mapboxgl-ctrl-group")),
                                                  (n = this._setupUI),
                                                  void 0 !== Ir
                                                       ? n(Ir)
                                                       : void 0 !== t.window.navigator.permissions
                                                       ? t.window.navigator.permissions.query({ name: "geolocation" }).then(function (t) {
                                                              n((Ir = "denied" !== t.state));
                                                         })
                                                       : n((Ir = !!t.window.navigator.geolocation)),
                                                  this._container
                                             );
                                        }),
                                        (n.prototype.onRemove = function () {
                                             void 0 !== this._geolocationWatchID && (t.window.navigator.geolocation.clearWatch(this._geolocationWatchID), (this._geolocationWatchID = void 0)),
                                                  this.options.showUserLocation && this._userLocationDotMarker && this._userLocationDotMarker.remove(),
                                                  this.options.showAccuracyCircle && this._accuracyCircleMarker && this._accuracyCircleMarker.remove(),
                                                  i.remove(this._container),
                                                  this._map.off("zoom", this._onZoom),
                                                  (this._map = void 0),
                                                  (zr = 0),
                                                  (Rr = !1);
                                        }),
                                        (n.prototype._isOutOfMapMaxBounds = function (t) {
                                             var e = this._map.getMaxBounds(),
                                                  i = t.coords;
                                             return e && (i.longitude < e.getWest() || i.longitude > e.getEast() || i.latitude < e.getSouth() || i.latitude > e.getNorth());
                                        }),
                                        (n.prototype._setErrorState = function () {
                                             switch (this._watchState) {
                                                  case "WAITING_ACTIVE":
                                                       (this._watchState = "ACTIVE_ERROR"),
                                                            this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),
                                                            this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");
                                                       break;
                                                  case "ACTIVE_LOCK":
                                                       (this._watchState = "ACTIVE_ERROR"),
                                                            this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),
                                                            this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),
                                                            this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");
                                                       break;
                                                  case "BACKGROUND":
                                                       (this._watchState = "BACKGROUND_ERROR"),
                                                            this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),
                                                            this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),
                                                            this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");
                                             }
                                        }),
                                        (n.prototype._onSuccess = function (e) {
                                             if (this._map) {
                                                  if (this._isOutOfMapMaxBounds(e)) return this._setErrorState(), this.fire(new t.Event("outofmaxbounds", e)), this._updateMarker(), void this._finish();
                                                  if (this.options.trackUserLocation)
                                                       switch (((this._lastKnownPosition = e), this._watchState)) {
                                                            case "WAITING_ACTIVE":
                                                            case "ACTIVE_LOCK":
                                                            case "ACTIVE_ERROR":
                                                                 (this._watchState = "ACTIVE_LOCK"),
                                                                      this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),
                                                                      this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),
                                                                      this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");
                                                                 break;
                                                            case "BACKGROUND":
                                                            case "BACKGROUND_ERROR":
                                                                 (this._watchState = "BACKGROUND"),
                                                                      this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),
                                                                      this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),
                                                                      this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");
                                                       }
                                                  this.options.showUserLocation && "OFF" !== this._watchState && this._updateMarker(e),
                                                       (this.options.trackUserLocation && "ACTIVE_LOCK" !== this._watchState) || this._updateCamera(e),
                                                       this.options.showUserLocation && this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),
                                                       this.fire(new t.Event("geolocate", e)),
                                                       this._finish();
                                             }
                                        }),
                                        (n.prototype._updateCamera = function (e) {
                                             var i = new t.LngLat(e.coords.longitude, e.coords.latitude),
                                                  n = e.coords.accuracy,
                                                  r = this._map.getBearing(),
                                                  o = t.extend({ bearing: r }, this.options.fitBoundsOptions);
                                             this._map.fitBounds(i.toBounds(n), o, { geolocateSource: !0 });
                                        }),
                                        (n.prototype._updateMarker = function (e) {
                                             if (e) {
                                                  var i = new t.LngLat(e.coords.longitude, e.coords.latitude);
                                                  this._accuracyCircleMarker.setLngLat(i).addTo(this._map),
                                                       this._userLocationDotMarker.setLngLat(i).addTo(this._map),
                                                       (this._accuracy = e.coords.accuracy),
                                                       this.options.showUserLocation && this.options.showAccuracyCircle && this._updateCircleRadius();
                                             } else this._userLocationDotMarker.remove(), this._accuracyCircleMarker.remove();
                                        }),
                                        (n.prototype._updateCircleRadius = function () {
                                             var t = this._map._container.clientHeight / 2,
                                                  e = this._map.unproject([0, t]),
                                                  i = this._map.unproject([1, t]),
                                                  n = e.distanceTo(i),
                                                  r = Math.ceil((2 * this._accuracy) / n);
                                             (this._circleElement.style.width = r + "px"), (this._circleElement.style.height = r + "px");
                                        }),
                                        (n.prototype._onZoom = function () {
                                             this.options.showUserLocation && this.options.showAccuracyCircle && this._updateCircleRadius();
                                        }),
                                        (n.prototype._onError = function (e) {
                                             if (this._map) {
                                                  if (this.options.trackUserLocation)
                                                       if (1 === e.code) {
                                                            (this._watchState = "OFF"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),
                                                                 (this._geolocateButton.disabled = !0);
                                                            var i = this._map._getUIString("GeolocateControl.LocationNotAvailable");
                                                            (this._geolocateButton.title = i), this._geolocateButton.setAttribute("aria-label", i), void 0 !== this._geolocationWatchID && this._clearWatch();
                                                       } else {
                                                            if (3 === e.code && Rr) return;
                                                            this._setErrorState();
                                                       }
                                                  "OFF" !== this._watchState && this.options.showUserLocation && this._dotElement.classList.add("mapboxgl-user-location-dot-stale"), this.fire(new t.Event("error", e)), this._finish();
                                             }
                                        }),
                                        (n.prototype._finish = function () {
                                             this._timeoutId && clearTimeout(this._timeoutId), (this._timeoutId = void 0);
                                        }),
                                        (n.prototype._setupUI = function (e) {
                                             var n = this;
                                             if (
                                                  (this._container.addEventListener("contextmenu", function (t) {
                                                       return t.preventDefault();
                                                  }),
                                                  (this._geolocateButton = i.create("button", "mapboxgl-ctrl-geolocate", this._container)),
                                                  i.create("span", "mapboxgl-ctrl-icon", this._geolocateButton).setAttribute("aria-hidden", !0),
                                                  (this._geolocateButton.type = "button"),
                                                  !1 === e)
                                             ) {
                                                  t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");
                                                  var r = this._map._getUIString("GeolocateControl.LocationNotAvailable");
                                                  (this._geolocateButton.disabled = !0), (this._geolocateButton.title = r), this._geolocateButton.setAttribute("aria-label", r);
                                             } else {
                                                  var o = this._map._getUIString("GeolocateControl.FindMyLocation");
                                                  (this._geolocateButton.title = o), this._geolocateButton.setAttribute("aria-label", o);
                                             }
                                             this.options.trackUserLocation && (this._geolocateButton.setAttribute("aria-pressed", "false"), (this._watchState = "OFF")),
                                                  this.options.showUserLocation &&
                                                       ((this._dotElement = i.create("div", "mapboxgl-user-location-dot")),
                                                       (this._userLocationDotMarker = new Or(this._dotElement)),
                                                       (this._circleElement = i.create("div", "mapboxgl-user-location-accuracy-circle")),
                                                       (this._accuracyCircleMarker = new Or({ element: this._circleElement, pitchAlignment: "map" })),
                                                       this.options.trackUserLocation && (this._watchState = "OFF"),
                                                       this._map.on("zoom", this._onZoom)),
                                                  this._geolocateButton.addEventListener("click", this.trigger.bind(this)),
                                                  (this._setup = !0),
                                                  this.options.trackUserLocation &&
                                                       this._map.on("movestart", function (e) {
                                                            e.geolocateSource ||
                                                                 "ACTIVE_LOCK" !== n._watchState ||
                                                                 (e.originalEvent && "resize" === e.originalEvent.type) ||
                                                                 ((n._watchState = "BACKGROUND"),
                                                                 n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),
                                                                 n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),
                                                                 n.fire(new t.Event("trackuserlocationend")));
                                                       });
                                        }),
                                        (n.prototype.trigger = function () {
                                             if (!this._setup) return t.warnOnce("Geolocate control triggered before added to a map"), !1;
                                             if (this.options.trackUserLocation) {
                                                  switch (this._watchState) {
                                                       case "OFF":
                                                            (this._watchState = "WAITING_ACTIVE"), this.fire(new t.Event("trackuserlocationstart"));
                                                            break;
                                                       case "WAITING_ACTIVE":
                                                       case "ACTIVE_LOCK":
                                                       case "ACTIVE_ERROR":
                                                       case "BACKGROUND_ERROR":
                                                            zr--,
                                                                 (Rr = !1),
                                                                 (this._watchState = "OFF"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),
                                                                 this.fire(new t.Event("trackuserlocationend"));
                                                            break;
                                                       case "BACKGROUND":
                                                            (this._watchState = "ACTIVE_LOCK"),
                                                                 this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),
                                                                 this._lastKnownPosition && this._updateCamera(this._lastKnownPosition),
                                                                 this.fire(new t.Event("trackuserlocationstart"));
                                                  }
                                                  switch (this._watchState) {
                                                       case "WAITING_ACTIVE":
                                                            this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"), this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");
                                                            break;
                                                       case "ACTIVE_LOCK":
                                                            this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");
                                                            break;
                                                       case "ACTIVE_ERROR":
                                                            this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"), this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");
                                                            break;
                                                       case "BACKGROUND":
                                                            this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");
                                                            break;
                                                       case "BACKGROUND_ERROR":
                                                            this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"), this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error");
                                                  }
                                                  if ("OFF" === this._watchState && void 0 !== this._geolocationWatchID) this._clearWatch();
                                                  else if (void 0 === this._geolocationWatchID) {
                                                       var e;
                                                       this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),
                                                            this._geolocateButton.setAttribute("aria-pressed", "true"),
                                                            ++zr > 1 ? ((e = { maximumAge: 6e5, timeout: 0 }), (Rr = !0)) : ((e = this.options.positionOptions), (Rr = !1)),
                                                            (this._geolocationWatchID = t.window.navigator.geolocation.watchPosition(this._onSuccess, this._onError, e));
                                                  }
                                             } else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess, this._onError, this.options.positionOptions), (this._timeoutId = setTimeout(this._finish, 1e4));
                                             return !0;
                                        }),
                                        (n.prototype._clearWatch = function () {
                                             t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),
                                                  (this._geolocationWatchID = void 0),
                                                  this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),
                                                  this._geolocateButton.setAttribute("aria-pressed", "false"),
                                                  this.options.showUserLocation && this._updateMarker(null);
                                        }),
                                        n
                                   );
                              })(t.Evented),
                              Hr = { maxWidth: 100, unit: "metric" },
                              jr = function (e) {
                                   (this.options = t.extend({}, Hr, e)), t.bindAll(["_onMove", "setUnit"], this);
                              };
                         function Nr(t, e, i) {
                              var n = (i && i.maxWidth) || 100,
                                   r = t._container.clientHeight / 2,
                                   o = t.unproject([0, r]),
                                   a = t.unproject([n, r]),
                                   s = o.distanceTo(a);
                              if (i && "imperial" === i.unit) {
                                   var l = 3.2808 * s;
                                   l > 5280 ? Br(e, n, l / 5280, t._getUIString("ScaleControl.Miles")) : Br(e, n, l, t._getUIString("ScaleControl.Feet"));
                              } else i && "nautical" === i.unit ? Br(e, n, s / 1852, t._getUIString("ScaleControl.NauticalMiles")) : s >= 1e3 ? Br(e, n, s / 1e3, t._getUIString("ScaleControl.Kilometers")) : Br(e, n, s, t._getUIString("ScaleControl.Meters"));
                         }
                         function Br(t, e, i, n) {
                              var r,
                                   o,
                                   a,
                                   s =
                                        ((r = i),
                                        (o = Math.pow(10, ("" + Math.floor(r)).length - 1)) *
                                             (a =
                                                  (a = r / o) >= 10
                                                       ? 10
                                                       : a >= 5
                                                       ? 5
                                                       : a >= 3
                                                       ? 3
                                                       : a >= 2
                                                       ? 2
                                                       : a >= 1
                                                       ? 1
                                                       : (function (t) {
                                                              var e = Math.pow(10, Math.ceil(-Math.log(t) / Math.LN10));
                                                              return Math.round(t * e) / e;
                                                         })(a)));
                              (t.style.width = e * (s / i) + "px"), (t.innerHTML = s + "&nbsp;" + n);
                         }
                         (jr.prototype.getDefaultPosition = function () {
                              return "bottom-left";
                         }),
                              (jr.prototype._onMove = function () {
                                   Nr(this._map, this._container, this.options);
                              }),
                              (jr.prototype.onAdd = function (t) {
                                   return (this._map = t), (this._container = i.create("div", "mapboxgl-ctrl mapboxgl-ctrl-scale", t.getContainer())), this._map.on("move", this._onMove), this._onMove(), this._container;
                              }),
                              (jr.prototype.onRemove = function () {
                                   i.remove(this._container), this._map.off("move", this._onMove), (this._map = void 0);
                              }),
                              (jr.prototype.setUnit = function (t) {
                                   (this.options.unit = t), Nr(this._map, this._container, this.options);
                              });
                         var Wr = function (e) {
                              (this._fullscreen = !1),
                                   e && e.container && (e.container instanceof t.window.HTMLElement ? (this._container = e.container) : t.warnOnce("Full screen control 'container' must be a DOM element.")),
                                   t.bindAll(["_onClickFullscreen", "_changeIcon"], this),
                                   "onfullscreenchange" in t.window.document
                                        ? (this._fullscreenchange = "fullscreenchange")
                                        : "onmozfullscreenchange" in t.window.document
                                        ? (this._fullscreenchange = "mozfullscreenchange")
                                        : "onwebkitfullscreenchange" in t.window.document
                                        ? (this._fullscreenchange = "webkitfullscreenchange")
                                        : "onmsfullscreenchange" in t.window.document && (this._fullscreenchange = "MSFullscreenChange");
                         };
                         (Wr.prototype.onAdd = function (e) {
                              return (
                                   (this._map = e),
                                   this._container || (this._container = this._map.getContainer()),
                                   (this._controlContainer = i.create("div", "mapboxgl-ctrl mapboxgl-ctrl-group")),
                                   this._checkFullscreenSupport() ? this._setupUI() : ((this._controlContainer.style.display = "none"), t.warnOnce("This device does not support fullscreen mode.")),
                                   this._controlContainer
                              );
                         }),
                              (Wr.prototype.onRemove = function () {
                                   i.remove(this._controlContainer), (this._map = null), t.window.document.removeEventListener(this._fullscreenchange, this._changeIcon);
                              }),
                              (Wr.prototype._checkFullscreenSupport = function () {
                                   return !!(t.window.document.fullscreenEnabled || t.window.document.mozFullScreenEnabled || t.window.document.msFullscreenEnabled || t.window.document.webkitFullscreenEnabled);
                              }),
                              (Wr.prototype._setupUI = function () {
                                   var e = (this._fullscreenButton = i.create("button", "mapboxgl-ctrl-fullscreen", this._controlContainer));
                                   i.create("span", "mapboxgl-ctrl-icon", e).setAttribute("aria-hidden", !0),
                                        (e.type = "button"),
                                        this._updateTitle(),
                                        this._fullscreenButton.addEventListener("click", this._onClickFullscreen),
                                        t.window.document.addEventListener(this._fullscreenchange, this._changeIcon);
                              }),
                              (Wr.prototype._updateTitle = function () {
                                   var t = this._getTitle();
                                   this._fullscreenButton.setAttribute("aria-label", t), (this._fullscreenButton.title = t);
                              }),
                              (Wr.prototype._getTitle = function () {
                                   return this._map._getUIString(this._isFullscreen() ? "FullscreenControl.Exit" : "FullscreenControl.Enter");
                              }),
                              (Wr.prototype._isFullscreen = function () {
                                   return this._fullscreen;
                              }),
                              (Wr.prototype._changeIcon = function () {
                                   ((t.window.document.fullscreenElement || t.window.document.mozFullScreenElement || t.window.document.webkitFullscreenElement || t.window.document.msFullscreenElement) === this._container) !==
                                        this._fullscreen &&
                                        ((this._fullscreen = !this._fullscreen), this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"), this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"), this._updateTitle());
                              }),
                              (Wr.prototype._onClickFullscreen = function () {
                                   this._isFullscreen()
                                        ? t.window.document.exitFullscreen
                                             ? t.window.document.exitFullscreen()
                                             : t.window.document.mozCancelFullScreen
                                             ? t.window.document.mozCancelFullScreen()
                                             : t.window.document.msExitFullscreen
                                             ? t.window.document.msExitFullscreen()
                                             : t.window.document.webkitCancelFullScreen && t.window.document.webkitCancelFullScreen()
                                        : this._container.requestFullscreen
                                        ? this._container.requestFullscreen()
                                        : this._container.mozRequestFullScreen
                                        ? this._container.mozRequestFullScreen()
                                        : this._container.msRequestFullscreen
                                        ? this._container.msRequestFullscreen()
                                        : this._container.webkitRequestFullscreen && this._container.webkitRequestFullscreen();
                              });
                         var Vr = { closeButton: !0, closeOnClick: !0, className: "", maxWidth: "240px" },
                              Ur = (function (e) {
                                   function n(i) {
                                        e.call(this), (this.options = t.extend(Object.create(Vr), i)), t.bindAll(["_update", "_onClose", "remove", "_onMouseMove", "_onMouseUp", "_onDrag"], this);
                                   }
                                   return (
                                        e && (n.__proto__ = e),
                                        ((n.prototype = Object.create(e && e.prototype)).constructor = n),
                                        (n.prototype.addTo = function (e) {
                                             return (
                                                  this._map && this.remove(),
                                                  (this._map = e),
                                                  this.options.closeOnClick && this._map.on("click", this._onClose),
                                                  this.options.closeOnMove && this._map.on("move", this._onClose),
                                                  this._map.on("remove", this.remove),
                                                  this._update(),
                                                  this._trackPointer
                                                       ? (this._map.on("mousemove", this._onMouseMove),
                                                         this._map.on("mouseup", this._onMouseUp),
                                                         this._container && this._container.classList.add("mapboxgl-popup-track-pointer"),
                                                         this._map._canvasContainer.classList.add("mapboxgl-track-pointer"))
                                                       : this._map.on("move", this._update),
                                                  this.fire(new t.Event("open")),
                                                  this
                                             );
                                        }),
                                        (n.prototype.isOpen = function () {
                                             return !!this._map;
                                        }),
                                        (n.prototype.remove = function () {
                                             return (
                                                  this._content && i.remove(this._content),
                                                  this._container && (i.remove(this._container), delete this._container),
                                                  this._map &&
                                                       (this._map.off("move", this._update),
                                                       this._map.off("move", this._onClose),
                                                       this._map.off("click", this._onClose),
                                                       this._map.off("remove", this.remove),
                                                       this._map.off("mousemove", this._onMouseMove),
                                                       this._map.off("mouseup", this._onMouseUp),
                                                       this._map.off("drag", this._onDrag),
                                                       delete this._map),
                                                  this.fire(new t.Event("close")),
                                                  this
                                             );
                                        }),
                                        (n.prototype.getLngLat = function () {
                                             return this._lngLat;
                                        }),
                                        (n.prototype.setLngLat = function (e) {
                                             return (
                                                  (this._lngLat = t.LngLat.convert(e)),
                                                  (this._pos = null),
                                                  (this._trackPointer = !1),
                                                  this._update(),
                                                  this._map &&
                                                       (this._map.on("move", this._update),
                                                       this._map.off("mousemove", this._onMouseMove),
                                                       this._container && this._container.classList.remove("mapboxgl-popup-track-pointer"),
                                                       this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),
                                                  this
                                             );
                                        }),
                                        (n.prototype.trackPointer = function () {
                                             return (
                                                  (this._trackPointer = !0),
                                                  (this._pos = null),
                                                  this._update(),
                                                  this._map &&
                                                       (this._map.off("move", this._update),
                                                       this._map.on("mousemove", this._onMouseMove),
                                                       this._map.on("drag", this._onDrag),
                                                       this._container && this._container.classList.add("mapboxgl-popup-track-pointer"),
                                                       this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),
                                                  this
                                             );
                                        }),
                                        (n.prototype.getElement = function () {
                                             return this._container;
                                        }),
                                        (n.prototype.setText = function (e) {
                                             return this.setDOMContent(t.window.document.createTextNode(e));
                                        }),
                                        (n.prototype.setHTML = function (e) {
                                             var i,
                                                  n = t.window.document.createDocumentFragment(),
                                                  r = t.window.document.createElement("body");
                                             for (r.innerHTML = e; (i = r.firstChild); ) n.appendChild(i);
                                             return this.setDOMContent(n);
                                        }),
                                        (n.prototype.getMaxWidth = function () {
                                             return this._container && this._container.style.maxWidth;
                                        }),
                                        (n.prototype.setMaxWidth = function (t) {
                                             return (this.options.maxWidth = t), this._update(), this;
                                        }),
                                        (n.prototype.setDOMContent = function (t) {
                                             return this._createContent(), this._content.appendChild(t), this._update(), this;
                                        }),
                                        (n.prototype.addClassName = function (t) {
                                             this._container && this._container.classList.add(t);
                                        }),
                                        (n.prototype.removeClassName = function (t) {
                                             this._container && this._container.classList.remove(t);
                                        }),
                                        (n.prototype.toggleClassName = function (t) {
                                             if (this._container) return this._container.classList.toggle(t);
                                        }),
                                        (n.prototype._createContent = function () {
                                             this._content && i.remove(this._content),
                                                  (this._content = i.create("div", "mapboxgl-popup-content", this._container)),
                                                  this.options.closeButton &&
                                                       ((this._closeButton = i.create("button", "mapboxgl-popup-close-button", this._content)),
                                                       (this._closeButton.type = "button"),
                                                       this._closeButton.setAttribute("aria-label", "Close popup"),
                                                       (this._closeButton.innerHTML = "&#215;"),
                                                       this._closeButton.addEventListener("click", this._onClose));
                                        }),
                                        (n.prototype._onMouseUp = function (t) {
                                             this._update(t.point);
                                        }),
                                        (n.prototype._onMouseMove = function (t) {
                                             this._update(t.point);
                                        }),
                                        (n.prototype._onDrag = function (t) {
                                             this._update(t.point);
                                        }),
                                        (n.prototype._update = function (e) {
                                             var n = this;
                                             if (
                                                  this._map &&
                                                  (this._lngLat || this._trackPointer) &&
                                                  this._content &&
                                                  (this._container ||
                                                       ((this._container = i.create("div", "mapboxgl-popup", this._map.getContainer())),
                                                       (this._tip = i.create("div", "mapboxgl-popup-tip", this._container)),
                                                       this._container.appendChild(this._content),
                                                       this.options.className &&
                                                            this.options.className.split(" ").forEach(function (t) {
                                                                 return n._container.classList.add(t);
                                                            }),
                                                       this._trackPointer && this._container.classList.add("mapboxgl-popup-track-pointer")),
                                                  this.options.maxWidth && this._container.style.maxWidth !== this.options.maxWidth && (this._container.style.maxWidth = this.options.maxWidth),
                                                  this._map.transform.renderWorldCopies && !this._trackPointer && (this._lngLat = Er(this._lngLat, this._pos, this._map.transform)),
                                                  !this._trackPointer || e)
                                             ) {
                                                  var r = (this._pos = this._trackPointer && e ? e : this._map.project(this._lngLat)),
                                                       o = this.options.anchor,
                                                       a = (function e(i) {
                                                            if (i) {
                                                                 if ("number" == typeof i) {
                                                                      var n = Math.round(Math.sqrt(0.5 * Math.pow(i, 2)));
                                                                      return {
                                                                           center: new t.Point(0, 0),
                                                                           top: new t.Point(0, i),
                                                                           "top-left": new t.Point(n, n),
                                                                           "top-right": new t.Point(-n, n),
                                                                           bottom: new t.Point(0, -i),
                                                                           "bottom-left": new t.Point(n, -n),
                                                                           "bottom-right": new t.Point(-n, -n),
                                                                           left: new t.Point(i, 0),
                                                                           right: new t.Point(-i, 0),
                                                                      };
                                                                 }
                                                                 if (i instanceof t.Point || Array.isArray(i)) {
                                                                      var r = t.Point.convert(i);
                                                                      return { center: r, top: r, "top-left": r, "top-right": r, bottom: r, "bottom-left": r, "bottom-right": r, left: r, right: r };
                                                                 }
                                                                 return {
                                                                      center: t.Point.convert(i.center || [0, 0]),
                                                                      top: t.Point.convert(i.top || [0, 0]),
                                                                      "top-left": t.Point.convert(i["top-left"] || [0, 0]),
                                                                      "top-right": t.Point.convert(i["top-right"] || [0, 0]),
                                                                      bottom: t.Point.convert(i.bottom || [0, 0]),
                                                                      "bottom-left": t.Point.convert(i["bottom-left"] || [0, 0]),
                                                                      "bottom-right": t.Point.convert(i["bottom-right"] || [0, 0]),
                                                                      left: t.Point.convert(i.left || [0, 0]),
                                                                      right: t.Point.convert(i.right || [0, 0]),
                                                                 };
                                                            }
                                                            return e(new t.Point(0, 0));
                                                       })(this.options.offset);
                                                  if (!o) {
                                                       var s,
                                                            l = this._container.offsetWidth,
                                                            c = this._container.offsetHeight;
                                                       (s = r.y + a.bottom.y < c ? ["top"] : r.y > this._map.transform.height - c ? ["bottom"] : []),
                                                            r.x < l / 2 ? s.push("left") : r.x > this._map.transform.width - l / 2 && s.push("right"),
                                                            (o = 0 === s.length ? "bottom" : s.join("-"));
                                                  }
                                                  var u = r.add(a[o]).round();
                                                  i.setTransform(this._container, Ar[o] + " translate(" + u.x + "px," + u.y + "px)"), Pr(this._container, o, "popup");
                                             }
                                        }),
                                        (n.prototype._onClose = function () {
                                             this.remove();
                                        }),
                                        n
                                   );
                              })(t.Evented),
                              qr = {
                                   version: t.version,
                                   supported: e,
                                   setRTLTextPlugin: t.setRTLTextPlugin,
                                   getRTLTextPluginStatus: t.getRTLTextPluginStatus,
                                   Map: Mr,
                                   NavigationControl: Dr,
                                   GeolocateControl: Fr,
                                   AttributionControl: vr,
                                   ScaleControl: jr,
                                   FullscreenControl: Wr,
                                   Popup: Ur,
                                   Marker: Or,
                                   Style: We,
                                   LngLat: t.LngLat,
                                   LngLatBounds: t.LngLatBounds,
                                   Point: t.Point,
                                   MercatorCoordinate: t.MercatorCoordinate,
                                   Evented: t.Evented,
                                   config: t.config,
                                   prewarm: function () {
                                        Ft().acquire(Ot);
                                   },
                                   clearPrewarmedResources: function () {
                                        var t = zt;
                                        t &&
                                             (t.isPreloaded() && 1 === t.numActive()
                                                  ? (t.release(Ot), (zt = null))
                                                  : console.warn(
                                                         "Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"
                                                    ));
                                   },
                                   get accessToken() {
                                        return t.config.ACCESS_TOKEN;
                                   },
                                   set accessToken(e) {
                                        t.config.ACCESS_TOKEN = e;
                                   },
                                   get baseApiUrl() {
                                        return t.config.API_URL;
                                   },
                                   set baseApiUrl(e) {
                                        t.config.API_URL = e;
                                   },
                                   get workerCount() {
                                        return Yt.workerCount;
                                   },
                                   set workerCount(t) {
                                        Yt.workerCount = t;
                                   },
                                   get maxParallelImageRequests() {
                                        return t.config.MAX_PARALLEL_IMAGE_REQUESTS;
                                   },
                                   set maxParallelImageRequests(e) {
                                        t.config.MAX_PARALLEL_IMAGE_REQUESTS = e;
                                   },
                                   clearStorage: function (e) {
                                        t.clearTileCache(e);
                                   },
                                   workerUrl: "",
                              };
                         return qr;
                    }),
                    i
               );
          })();
     },
     function (t, e, i) {
          var n, r, o;
          (r = []),
               void 0 ===
                    (o =
                         "function" ==
                         typeof (n = function () {
                              "use strict";
                              var t = ["decimals", "thousand", "mark", "prefix", "suffix", "encoder", "decoder", "negativeBefore", "negative", "edit", "undo"];
                              function e(t) {
                                   return t.split("").reverse().join("");
                              }
                              function i(t, e) {
                                   return t.substring(0, e.length) === e;
                              }
                              function n(t, e, i) {
                                   if ((t[e] || t[i]) && t[e] === t[i]) throw new Error(e);
                              }
                              function r(t) {
                                   return "number" == typeof t && isFinite(t);
                              }
                              function o(t, i, n, o, a, s, l, c, u, h, d, p) {
                                   var f,
                                        m,
                                        g,
                                        v,
                                        y,
                                        b = p,
                                        _ = "",
                                        x = "";
                                   return (
                                        s && (p = s(p)),
                                        !!r(p) &&
                                             (!1 !== t && 0 === parseFloat(p.toFixed(t)) && (p = 0),
                                             p < 0 && ((f = !0), (p = Math.abs(p))),
                                             !1 !== t &&
                                                  ((y = t), (v = (v = p).toString().split("e")), (p = (+((v = (v = Math.round(+(v[0] + "e" + (v[1] ? +v[1] + y : y)))).toString().split("e"))[0] + "e" + (v[1] ? +v[1] - y : -y))).toFixed(y))),
                                             -1 !== (p = p.toString()).indexOf(".") ? ((g = (m = p.split("."))[0]), n && (_ = n + m[1])) : (g = p),
                                             i && ((g = e(g).match(/.{1,3}/g)), (g = e(g.join(e(i))))),
                                             f && c && (x += c),
                                             o && (x += o),
                                             f && u && (x += u),
                                             (x += g),
                                             (x += _),
                                             a && (x += a),
                                             h && (x = h(x, b)),
                                             x)
                                   );
                              }
                              function a(t, e, n, o, a, s, l, c, u, h, d, p) {
                                   var f,
                                        m = "";
                                   return (
                                        d && (p = d(p)),
                                        !(!p || "string" != typeof p) &&
                                             (c && i(p, c) && ((p = p.replace(c, "")), (f = !0)),
                                             o && i(p, o) && (p = p.replace(o, "")),
                                             u && i(p, u) && ((p = p.replace(u, "")), (f = !0)),
                                             a &&
                                                  (function (t, e) {
                                                       return t.slice(-1 * e.length) === e;
                                                  })(p, a) &&
                                                  (p = p.slice(0, -1 * a.length)),
                                             e && (p = p.split(e).join("")),
                                             n && (p = p.replace(n, ".")),
                                             f && (m += "-"),
                                             "" !== (m = (m += p).replace(/[^0-9\.\-.]/g, "")) && ((m = Number(m)), l && (m = l(m)), !!r(m) && m))
                                   );
                              }
                              function s(e, i, n) {
                                   var r,
                                        o = [];
                                   for (r = 0; r < t.length; r += 1) o.push(e[t[r]]);
                                   return o.push(n), i.apply("", o);
                              }
                              return function e(i) {
                                   if (!(this instanceof e)) return new e(i);
                                   "object" == typeof i &&
                                        ((i = (function (e) {
                                             var i,
                                                  r,
                                                  o,
                                                  a = {};
                                             for (void 0 === e.suffix && (e.suffix = e.postfix), i = 0; i < t.length; i += 1)
                                                  if (void 0 === (o = e[(r = t[i])])) "negative" !== r || a.negativeBefore ? ("mark" === r && "." !== a.thousand ? (a[r] = ".") : (a[r] = !1)) : (a[r] = "-");
                                                  else if ("decimals" === r) {
                                                       if (!(o >= 0 && o < 8)) throw new Error(r);
                                                       a[r] = o;
                                                  } else if ("encoder" === r || "decoder" === r || "edit" === r || "undo" === r) {
                                                       if ("function" != typeof o) throw new Error(r);
                                                       a[r] = o;
                                                  } else {
                                                       if ("string" != typeof o) throw new Error(r);
                                                       a[r] = o;
                                                  }
                                             return n(a, "mark", "thousand"), n(a, "prefix", "negative"), n(a, "prefix", "negativeBefore"), a;
                                        })(i)),
                                        (this.to = function (t) {
                                             return s(i, o, t);
                                        }),
                                        (this.from = function (t) {
                                             return s(i, a, t);
                                        }));
                              };
                         })
                              ? n.apply(e, r)
                              : n) || (t.exports = o);
     },
     function (t, e) {
          var i;
          i = (function () {
               return this;
          })();
          try {
               i = i || new Function("return this")();
          } catch (t) {
               "object" == typeof window && (i = window);
          }
          t.exports = i;
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("af", {
                    months: "Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),
                    monthsShort: "Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),
                    weekdays: "Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),
                    weekdaysShort: "Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),
                    weekdaysMin: "So_Ma_Di_Wo_Do_Vr_Sa".split("_"),
                    meridiemParse: /vm|nm/i,
                    isPM: function (t) {
                         return /^nm$/i.test(t);
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? (i ? "vm" : "VM") : i ? "nm" : "NM";
                    },
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Vandag om] LT", nextDay: "[Môre om] LT", nextWeek: "dddd [om] LT", lastDay: "[Gister om] LT", lastWeek: "[Laas] dddd [om] LT", sameElse: "L" },
                    relativeTime: {
                         future: "oor %s",
                         past: "%s gelede",
                         s: "'n paar sekondes",
                         ss: "%d sekondes",
                         m: "'n minuut",
                         mm: "%d minute",
                         h: "'n uur",
                         hh: "%d ure",
                         d: "'n dag",
                         dd: "%d dae",
                         M: "'n maand",
                         MM: "%d maande",
                         y: "'n jaar",
                         yy: "%d jaar",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
                    ordinal: function (t) {
                         return t + (1 === t || 8 === t || t >= 20 ? "ste" : "de");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "١", 2: "٢", 3: "٣", 4: "٤", 5: "٥", 6: "٦", 7: "٧", 8: "٨", 9: "٩", 0: "٠" },
                    i = { "١": "1", "٢": "2", "٣": "3", "٤": "4", "٥": "5", "٦": "6", "٧": "7", "٨": "8", "٩": "9", "٠": "0" },
                    n = function (t) {
                         return 0 === t ? 0 : 1 === t ? 1 : 2 === t ? 2 : t % 100 >= 3 && t % 100 <= 10 ? 3 : t % 100 >= 11 ? 4 : 5;
                    },
                    r = {
                         s: ["أقل من ثانية", "ثانية واحدة", ["ثانيتان", "ثانيتين"], "%d ثوان", "%d ثانية", "%d ثانية"],
                         m: ["أقل من دقيقة", "دقيقة واحدة", ["دقيقتان", "دقيقتين"], "%d دقائق", "%d دقيقة", "%d دقيقة"],
                         h: ["أقل من ساعة", "ساعة واحدة", ["ساعتان", "ساعتين"], "%d ساعات", "%d ساعة", "%d ساعة"],
                         d: ["أقل من يوم", "يوم واحد", ["يومان", "يومين"], "%d أيام", "%d يومًا", "%d يوم"],
                         M: ["أقل من شهر", "شهر واحد", ["شهران", "شهرين"], "%d أشهر", "%d شهرا", "%d شهر"],
                         y: ["أقل من عام", "عام واحد", ["عامان", "عامين"], "%d أعوام", "%d عامًا", "%d عام"],
                    },
                    o = function (t) {
                         return function (e, i, o, a) {
                              var s = n(e),
                                   l = r[t][n(e)];
                              return 2 === s && (l = l[i ? 0 : 1]), l.replace(/%d/i, e);
                         };
                    },
                    a = ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"];
               t.defineLocale("ar", {
                    months: a,
                    monthsShort: a,
                    weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
                    weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
                    weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "D/‏M/‏YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    meridiemParse: /ص|م/,
                    isPM: function (t) {
                         return "م" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "ص" : "م";
                    },
                    calendar: { sameDay: "[اليوم عند الساعة] LT", nextDay: "[غدًا عند الساعة] LT", nextWeek: "dddd [عند الساعة] LT", lastDay: "[أمس عند الساعة] LT", lastWeek: "dddd [عند الساعة] LT", sameElse: "L" },
                    relativeTime: { future: "بعد %s", past: "منذ %s", s: o("s"), ss: o("s"), m: o("m"), mm: o("m"), h: o("h"), hh: o("h"), d: o("d"), dd: o("d"), M: o("M"), MM: o("M"), y: o("y"), yy: o("y") },
                    preparse: function (t) {
                         return t
                              .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (t) {
                                   return i[t];
                              })
                              .replace(/،/g, ",");
                    },
                    postformat: function (t) {
                         return t
                              .replace(/\d/g, function (t) {
                                   return e[t];
                              })
                              .replace(/,/g, "،");
                    },
                    week: { dow: 6, doy: 12 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = function (t) {
                         return 0 === t ? 0 : 1 === t ? 1 : 2 === t ? 2 : t % 100 >= 3 && t % 100 <= 10 ? 3 : t % 100 >= 11 ? 4 : 5;
                    },
                    i = {
                         s: ["أقل من ثانية", "ثانية واحدة", ["ثانيتان", "ثانيتين"], "%d ثوان", "%d ثانية", "%d ثانية"],
                         m: ["أقل من دقيقة", "دقيقة واحدة", ["دقيقتان", "دقيقتين"], "%d دقائق", "%d دقيقة", "%d دقيقة"],
                         h: ["أقل من ساعة", "ساعة واحدة", ["ساعتان", "ساعتين"], "%d ساعات", "%d ساعة", "%d ساعة"],
                         d: ["أقل من يوم", "يوم واحد", ["يومان", "يومين"], "%d أيام", "%d يومًا", "%d يوم"],
                         M: ["أقل من شهر", "شهر واحد", ["شهران", "شهرين"], "%d أشهر", "%d شهرا", "%d شهر"],
                         y: ["أقل من عام", "عام واحد", ["عامان", "عامين"], "%d أعوام", "%d عامًا", "%d عام"],
                    },
                    n = function (t) {
                         return function (n, r, o, a) {
                              var s = e(n),
                                   l = i[t][e(n)];
                              return 2 === s && (l = l[r ? 0 : 1]), l.replace(/%d/i, n);
                         };
                    },
                    r = ["جانفي", "فيفري", "مارس", "أفريل", "ماي", "جوان", "جويلية", "أوت", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"];
               t.defineLocale("ar-dz", {
                    months: r,
                    monthsShort: r,
                    weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
                    weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
                    weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "D/‏M/‏YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    meridiemParse: /ص|م/,
                    isPM: function (t) {
                         return "م" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "ص" : "م";
                    },
                    calendar: { sameDay: "[اليوم عند الساعة] LT", nextDay: "[غدًا عند الساعة] LT", nextWeek: "dddd [عند الساعة] LT", lastDay: "[أمس عند الساعة] LT", lastWeek: "dddd [عند الساعة] LT", sameElse: "L" },
                    relativeTime: { future: "بعد %s", past: "منذ %s", s: n("s"), ss: n("s"), m: n("m"), mm: n("m"), h: n("h"), hh: n("h"), d: n("d"), dd: n("d"), M: n("M"), MM: n("M"), y: n("y"), yy: n("y") },
                    postformat: function (t) {
                         return t.replace(/,/g, "،");
                    },
                    week: { dow: 0, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ar-kw", {
                    months: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
                    monthsShort: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
                    weekdays: "الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
                    weekdaysShort: "احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),
                    weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[اليوم على الساعة] LT", nextDay: "[غدا على الساعة] LT", nextWeek: "dddd [على الساعة] LT", lastDay: "[أمس على الساعة] LT", lastWeek: "dddd [على الساعة] LT", sameElse: "L" },
                    relativeTime: { future: "في %s", past: "منذ %s", s: "ثوان", ss: "%d ثانية", m: "دقيقة", mm: "%d دقائق", h: "ساعة", hh: "%d ساعات", d: "يوم", dd: "%d أيام", M: "شهر", MM: "%d أشهر", y: "سنة", yy: "%d سنوات" },
                    week: { dow: 0, doy: 12 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 0: "0" },
                    i = function (t) {
                         return 0 === t ? 0 : 1 === t ? 1 : 2 === t ? 2 : t % 100 >= 3 && t % 100 <= 10 ? 3 : t % 100 >= 11 ? 4 : 5;
                    },
                    n = {
                         s: ["أقل من ثانية", "ثانية واحدة", ["ثانيتان", "ثانيتين"], "%d ثوان", "%d ثانية", "%d ثانية"],
                         m: ["أقل من دقيقة", "دقيقة واحدة", ["دقيقتان", "دقيقتين"], "%d دقائق", "%d دقيقة", "%d دقيقة"],
                         h: ["أقل من ساعة", "ساعة واحدة", ["ساعتان", "ساعتين"], "%d ساعات", "%d ساعة", "%d ساعة"],
                         d: ["أقل من يوم", "يوم واحد", ["يومان", "يومين"], "%d أيام", "%d يومًا", "%d يوم"],
                         M: ["أقل من شهر", "شهر واحد", ["شهران", "شهرين"], "%d أشهر", "%d شهرا", "%d شهر"],
                         y: ["أقل من عام", "عام واحد", ["عامان", "عامين"], "%d أعوام", "%d عامًا", "%d عام"],
                    },
                    r = function (t) {
                         return function (e, r, o, a) {
                              var s = i(e),
                                   l = n[t][i(e)];
                              return 2 === s && (l = l[r ? 0 : 1]), l.replace(/%d/i, e);
                         };
                    },
                    o = ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"];
               t.defineLocale("ar-ly", {
                    months: o,
                    monthsShort: o,
                    weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
                    weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
                    weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "D/‏M/‏YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    meridiemParse: /ص|م/,
                    isPM: function (t) {
                         return "م" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "ص" : "م";
                    },
                    calendar: { sameDay: "[اليوم عند الساعة] LT", nextDay: "[غدًا عند الساعة] LT", nextWeek: "dddd [عند الساعة] LT", lastDay: "[أمس عند الساعة] LT", lastWeek: "dddd [عند الساعة] LT", sameElse: "L" },
                    relativeTime: { future: "بعد %s", past: "منذ %s", s: r("s"), ss: r("s"), m: r("m"), mm: r("m"), h: r("h"), hh: r("h"), d: r("d"), dd: r("d"), M: r("M"), MM: r("M"), y: r("y"), yy: r("y") },
                    preparse: function (t) {
                         return t.replace(/،/g, ",");
                    },
                    postformat: function (t) {
                         return t
                              .replace(/\d/g, function (t) {
                                   return e[t];
                              })
                              .replace(/,/g, "،");
                    },
                    week: { dow: 6, doy: 12 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ar-ma", {
                    months: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
                    monthsShort: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
                    weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
                    weekdaysShort: "احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),
                    weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[اليوم على الساعة] LT", nextDay: "[غدا على الساعة] LT", nextWeek: "dddd [على الساعة] LT", lastDay: "[أمس على الساعة] LT", lastWeek: "dddd [على الساعة] LT", sameElse: "L" },
                    relativeTime: { future: "في %s", past: "منذ %s", s: "ثوان", ss: "%d ثانية", m: "دقيقة", mm: "%d دقائق", h: "ساعة", hh: "%d ساعات", d: "يوم", dd: "%d أيام", M: "شهر", MM: "%d أشهر", y: "سنة", yy: "%d سنوات" },
                    week: { dow: 6, doy: 12 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "١", 2: "٢", 3: "٣", 4: "٤", 5: "٥", 6: "٦", 7: "٧", 8: "٨", 9: "٩", 0: "٠" },
                    i = { "١": "1", "٢": "2", "٣": "3", "٤": "4", "٥": "5", "٦": "6", "٧": "7", "٨": "8", "٩": "9", "٠": "0" };
               t.defineLocale("ar-sa", {
                    months: "يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
                    monthsShort: "يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
                    weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
                    weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
                    weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    meridiemParse: /ص|م/,
                    isPM: function (t) {
                         return "م" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "ص" : "م";
                    },
                    calendar: { sameDay: "[اليوم على الساعة] LT", nextDay: "[غدا على الساعة] LT", nextWeek: "dddd [على الساعة] LT", lastDay: "[أمس على الساعة] LT", lastWeek: "dddd [على الساعة] LT", sameElse: "L" },
                    relativeTime: { future: "في %s", past: "منذ %s", s: "ثوان", ss: "%d ثانية", m: "دقيقة", mm: "%d دقائق", h: "ساعة", hh: "%d ساعات", d: "يوم", dd: "%d أيام", M: "شهر", MM: "%d أشهر", y: "سنة", yy: "%d سنوات" },
                    preparse: function (t) {
                         return t
                              .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (t) {
                                   return i[t];
                              })
                              .replace(/،/g, ",");
                    },
                    postformat: function (t) {
                         return t
                              .replace(/\d/g, function (t) {
                                   return e[t];
                              })
                              .replace(/,/g, "،");
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ar-tn", {
                    months: "جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
                    monthsShort: "جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
                    weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
                    weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
                    weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[اليوم على الساعة] LT", nextDay: "[غدا على الساعة] LT", nextWeek: "dddd [على الساعة] LT", lastDay: "[أمس على الساعة] LT", lastWeek: "dddd [على الساعة] LT", sameElse: "L" },
                    relativeTime: { future: "في %s", past: "منذ %s", s: "ثوان", ss: "%d ثانية", m: "دقيقة", mm: "%d دقائق", h: "ساعة", hh: "%d ساعات", d: "يوم", dd: "%d أيام", M: "شهر", MM: "%d أشهر", y: "سنة", yy: "%d سنوات" },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = {
                    1: "-inci",
                    5: "-inci",
                    8: "-inci",
                    70: "-inci",
                    80: "-inci",
                    2: "-nci",
                    7: "-nci",
                    20: "-nci",
                    50: "-nci",
                    3: "-üncü",
                    4: "-üncü",
                    100: "-üncü",
                    6: "-ncı",
                    9: "-uncu",
                    10: "-uncu",
                    30: "-uncu",
                    60: "-ıncı",
                    90: "-ıncı",
               };
               t.defineLocale("az", {
                    months: "yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),
                    monthsShort: "yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),
                    weekdays: "Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),
                    weekdaysShort: "Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),
                    weekdaysMin: "Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[bugün saat] LT", nextDay: "[sabah saat] LT", nextWeek: "[gələn həftə] dddd [saat] LT", lastDay: "[dünən] LT", lastWeek: "[keçən həftə] dddd [saat] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s sonra",
                         past: "%s əvvəl",
                         s: "birneçə saniyə",
                         ss: "%d saniyə",
                         m: "bir dəqiqə",
                         mm: "%d dəqiqə",
                         h: "bir saat",
                         hh: "%d saat",
                         d: "bir gün",
                         dd: "%d gün",
                         M: "bir ay",
                         MM: "%d ay",
                         y: "bir il",
                         yy: "%d il",
                    },
                    meridiemParse: /gecə|səhər|gündüz|axşam/,
                    isPM: function (t) {
                         return /^(gündüz|axşam)$/.test(t);
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "gecə" : t < 12 ? "səhər" : t < 17 ? "gündüz" : "axşam";
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
                    ordinal: function (t) {
                         if (0 === t) return t + "-ıncı";
                         var i = t % 10;
                         return t + (e[i] || e[(t % 100) - i] || e[t >= 100 ? 100 : null]);
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i) {
                    var n, r;
                    return "m" === i
                         ? e
                              ? "хвіліна"
                              : "хвіліну"
                         : "h" === i
                         ? e
                              ? "гадзіна"
                              : "гадзіну"
                         : t +
                           " " +
                           ((n = +t),
                           (r = {
                                ss: e ? "секунда_секунды_секунд" : "секунду_секунды_секунд",
                                mm: e ? "хвіліна_хвіліны_хвілін" : "хвіліну_хвіліны_хвілін",
                                hh: e ? "гадзіна_гадзіны_гадзін" : "гадзіну_гадзіны_гадзін",
                                dd: "дзень_дні_дзён",
                                MM: "месяц_месяцы_месяцаў",
                                yy: "год_гады_гадоў",
                           }[i].split("_")),
                           n % 10 == 1 && n % 100 != 11 ? r[0] : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? r[1] : r[2]);
               }
               t.defineLocale("be", {
                    months: {
                         format: "студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),
                         standalone: "студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_"),
                    },
                    monthsShort: "студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),
                    weekdays: {
                         format: "нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),
                         standalone: "нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),
                         isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/,
                    },
                    weekdaysShort: "нд_пн_ат_ср_чц_пт_сб".split("_"),
                    weekdaysMin: "нд_пн_ат_ср_чц_пт_сб".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY г.", LLL: "D MMMM YYYY г., HH:mm", LLLL: "dddd, D MMMM YYYY г., HH:mm" },
                    calendar: {
                         sameDay: "[Сёння ў] LT",
                         nextDay: "[Заўтра ў] LT",
                         lastDay: "[Учора ў] LT",
                         nextWeek: function () {
                              return "[У] dddd [ў] LT";
                         },
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                   case 3:
                                   case 5:
                                   case 6:
                                        return "[У мінулую] dddd [ў] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                        return "[У мінулы] dddd [ў] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "праз %s", past: "%s таму", s: "некалькі секунд", m: e, mm: e, h: e, hh: e, d: "дзень", dd: e, M: "месяц", MM: e, y: "год", yy: e },
                    meridiemParse: /ночы|раніцы|дня|вечара/,
                    isPM: function (t) {
                         return /^(дня|вечара)$/.test(t);
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "ночы" : t < 12 ? "раніцы" : t < 17 ? "дня" : "вечара";
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "M":
                              case "d":
                              case "DDD":
                              case "w":
                              case "W":
                                   return (t % 10 != 2 && t % 10 != 3) || t % 100 == 12 || t % 100 == 13 ? t + "-ы" : t + "-і";
                              case "D":
                                   return t + "-га";
                              default:
                                   return t;
                         }
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("bg", {
                    months: "януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),
                    monthsShort: "яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),
                    weekdays: "неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),
                    weekdaysShort: "нед_пон_вто_сря_чет_пет_съб".split("_"),
                    weekdaysMin: "нд_пн_вт_ср_чт_пт_сб".split("_"),
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "D.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY H:mm", LLLL: "dddd, D MMMM YYYY H:mm" },
                    calendar: {
                         sameDay: "[Днес в] LT",
                         nextDay: "[Утре в] LT",
                         nextWeek: "dddd [в] LT",
                         lastDay: "[Вчера в] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                   case 3:
                                   case 6:
                                        return "[Миналата] dddd [в] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[Миналия] dddd [в] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "след %s",
                         past: "преди %s",
                         s: "няколко секунди",
                         ss: "%d секунди",
                         m: "минута",
                         mm: "%d минути",
                         h: "час",
                         hh: "%d часа",
                         d: "ден",
                         dd: "%d дена",
                         M: "месец",
                         MM: "%d месеца",
                         y: "година",
                         yy: "%d години",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
                    ordinal: function (t) {
                         var e = t % 10,
                              i = t % 100;
                         return 0 === t ? t + "-ев" : 0 === i ? t + "-ен" : i > 10 && i < 20 ? t + "-ти" : 1 === e ? t + "-ви" : 2 === e ? t + "-ри" : 7 === e || 8 === e ? t + "-ми" : t + "-ти";
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("bm", {
                    months: "Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),
                    monthsShort: "Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),
                    weekdays: "Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),
                    weekdaysShort: "Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),
                    weekdaysMin: "Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "MMMM [tile] D [san] YYYY", LLL: "MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm", LLLL: "dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm" },
                    calendar: { sameDay: "[Bi lɛrɛ] LT", nextDay: "[Sini lɛrɛ] LT", nextWeek: "dddd [don lɛrɛ] LT", lastDay: "[Kunu lɛrɛ] LT", lastWeek: "dddd [tɛmɛnen lɛrɛ] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s kɔnɔ",
                         past: "a bɛ %s bɔ",
                         s: "sanga dama dama",
                         ss: "sekondi %d",
                         m: "miniti kelen",
                         mm: "miniti %d",
                         h: "lɛrɛ kelen",
                         hh: "lɛrɛ %d",
                         d: "tile kelen",
                         dd: "tile %d",
                         M: "kalo kelen",
                         MM: "kalo %d",
                         y: "san kelen",
                         yy: "san %d",
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "১", 2: "২", 3: "৩", 4: "৪", 5: "৫", 6: "৬", 7: "৭", 8: "৮", 9: "৯", 0: "০" },
                    i = { "১": "1", "২": "2", "৩": "3", "৪": "4", "৫": "5", "৬": "6", "৭": "7", "৮": "8", "৯": "9", "০": "0" };
               t.defineLocale("bn", {
                    months: "জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),
                    monthsShort: "জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),
                    weekdays: "রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),
                    weekdaysShort: "রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),
                    weekdaysMin: "রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি".split("_"),
                    longDateFormat: { LT: "A h:mm সময়", LTS: "A h:mm:ss সময়", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, A h:mm সময়", LLLL: "dddd, D MMMM YYYY, A h:mm সময়" },
                    calendar: { sameDay: "[আজ] LT", nextDay: "[আগামীকাল] LT", nextWeek: "dddd, LT", lastDay: "[গতকাল] LT", lastWeek: "[গত] dddd, LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s পরে",
                         past: "%s আগে",
                         s: "কয়েক সেকেন্ড",
                         ss: "%d সেকেন্ড",
                         m: "এক মিনিট",
                         mm: "%d মিনিট",
                         h: "এক ঘন্টা",
                         hh: "%d ঘন্টা",
                         d: "এক দিন",
                         dd: "%d দিন",
                         M: "এক মাস",
                         MM: "%d মাস",
                         y: "এক বছর",
                         yy: "%d বছর",
                    },
                    preparse: function (t) {
                         return t.replace(/[১২৩৪৫৬৭৮৯০]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), ("রাত" === e && t >= 4) || ("দুপুর" === e && t < 5) || "বিকাল" === e ? t + 12 : t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "রাত" : t < 10 ? "সকাল" : t < 17 ? "দুপুর" : t < 20 ? "বিকাল" : "রাত";
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "༡", 2: "༢", 3: "༣", 4: "༤", 5: "༥", 6: "༦", 7: "༧", 8: "༨", 9: "༩", 0: "༠" },
                    i = { "༡": "1", "༢": "2", "༣": "3", "༤": "4", "༥": "5", "༦": "6", "༧": "7", "༨": "8", "༩": "9", "༠": "0" };
               t.defineLocale("bo", {
                    months: "ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),
                    monthsShort: "ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12".split("_"),
                    monthsShortRegex: /^(ཟླ་\d{1,2})/,
                    monthsParseExact: !0,
                    weekdays: "གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),
                    weekdaysShort: "ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),
                    weekdaysMin: "ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན".split("_"),
                    longDateFormat: { LT: "A h:mm", LTS: "A h:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, A h:mm", LLLL: "dddd, D MMMM YYYY, A h:mm" },
                    calendar: { sameDay: "[དི་རིང] LT", nextDay: "[སང་ཉིན] LT", nextWeek: "[བདུན་ཕྲག་རྗེས་མ], LT", lastDay: "[ཁ་སང] LT", lastWeek: "[བདུན་ཕྲག་མཐའ་མ] dddd, LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s ལ་",
                         past: "%s སྔན་ལ",
                         s: "ལམ་སང",
                         ss: "%d སྐར་ཆ།",
                         m: "སྐར་མ་གཅིག",
                         mm: "%d སྐར་མ",
                         h: "ཆུ་ཚོད་གཅིག",
                         hh: "%d ཆུ་ཚོད",
                         d: "ཉིན་གཅིག",
                         dd: "%d ཉིན་",
                         M: "ཟླ་བ་གཅིག",
                         MM: "%d ཟླ་བ",
                         y: "ལོ་གཅིག",
                         yy: "%d ལོ",
                    },
                    preparse: function (t) {
                         return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), ("མཚན་མོ" === e && t >= 4) || ("ཉིན་གུང" === e && t < 5) || "དགོང་དག" === e ? t + 12 : t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "མཚན་མོ" : t < 10 ? "ཞོགས་ཀས" : t < 17 ? "ཉིན་གུང" : t < 20 ? "དགོང་དག" : "མཚན་མོ";
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i) {
                    return (
                         t +
                         " " +
                         (function (t, e) {
                              return 2 === e
                                   ? (function (t) {
                                          var e = { m: "v", b: "v", d: "z" };
                                          return void 0 === e[t.charAt(0)] ? t : e[t.charAt(0)] + t.substring(1);
                                     })(t)
                                   : t;
                         })({ mm: "munutenn", MM: "miz", dd: "devezh" }[i], t)
                    );
               }
               var i = [/^gen/i, /^c[ʼ\']hwe/i, /^meu/i, /^ebr/i, /^mae/i, /^(mez|eve)/i, /^gou/i, /^eos/i, /^gwe/i, /^her/i, /^du/i, /^ker/i],
                    n = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
                    r = [/^Su/i, /^Lu/i, /^Me([^r]|$)/i, /^Mer/i, /^Ya/i, /^Gw/i, /^Sa/i];
               t.defineLocale("br", {
                    months: "Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),
                    monthsShort: "Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),
                    weekdays: "Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn".split("_"),
                    weekdaysShort: "Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),
                    weekdaysMin: "Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),
                    weekdaysParse: r,
                    fullWeekdaysParse: [/^sul/i, /^lun/i, /^meurzh/i, /^merc[ʼ\']her/i, /^yaou/i, /^gwener/i, /^sadorn/i],
                    shortWeekdaysParse: [/^Sul/i, /^Lun/i, /^Meu/i, /^Mer/i, /^Yao/i, /^Gwe/i, /^Sad/i],
                    minWeekdaysParse: r,
                    monthsRegex: n,
                    monthsShortRegex: n,
                    monthsStrictRegex: /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,
                    monthsShortStrictRegex: /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
                    monthsParse: i,
                    longMonthsParse: i,
                    shortMonthsParse: i,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D [a viz] MMMM YYYY", LLL: "D [a viz] MMMM YYYY HH:mm", LLLL: "dddd, D [a viz] MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Hiziv da] LT", nextDay: "[Warcʼhoazh da] LT", nextWeek: "dddd [da] LT", lastDay: "[Decʼh da] LT", lastWeek: "dddd [paset da] LT", sameElse: "L" },
                    relativeTime: {
                         future: "a-benn %s",
                         past: "%s ʼzo",
                         s: "un nebeud segondennoù",
                         ss: "%d eilenn",
                         m: "ur vunutenn",
                         mm: e,
                         h: "un eur",
                         hh: "%d eur",
                         d: "un devezh",
                         dd: e,
                         M: "ur miz",
                         MM: e,
                         y: "ur bloaz",
                         yy: function (t) {
                              switch (
                                   (function t(e) {
                                        return e > 9 ? t(e % 10) : e;
                                   })(t)
                              ) {
                                   case 1:
                                   case 3:
                                   case 4:
                                   case 5:
                                   case 9:
                                        return t + " bloaz";
                                   default:
                                        return t + " vloaz";
                              }
                         },
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
                    ordinal: function (t) {
                         return t + (1 === t ? "añ" : "vet");
                    },
                    week: { dow: 1, doy: 4 },
                    meridiemParse: /a.m.|g.m./,
                    isPM: function (t) {
                         return "g.m." === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "a.m." : "g.m.";
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i) {
                    var n = t + " ";
                    switch (i) {
                         case "ss":
                              return (n += 1 === t ? "sekunda" : 2 === t || 3 === t || 4 === t ? "sekunde" : "sekundi");
                         case "m":
                              return e ? "jedna minuta" : "jedne minute";
                         case "mm":
                              return (n += 1 === t ? "minuta" : 2 === t || 3 === t || 4 === t ? "minute" : "minuta");
                         case "h":
                              return e ? "jedan sat" : "jednog sata";
                         case "hh":
                              return (n += 1 === t ? "sat" : 2 === t || 3 === t || 4 === t ? "sata" : "sati");
                         case "dd":
                              return (n += 1 === t ? "dan" : "dana");
                         case "MM":
                              return (n += 1 === t ? "mjesec" : 2 === t || 3 === t || 4 === t ? "mjeseca" : "mjeseci");
                         case "yy":
                              return (n += 1 === t ? "godina" : 2 === t || 3 === t || 4 === t ? "godine" : "godina");
                    }
               }
               t.defineLocale("bs", {
                    months: "januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),
                    monthsShort: "jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),
                    weekdaysShort: "ned._pon._uto._sri._čet._pet._sub.".split("_"),
                    weekdaysMin: "ne_po_ut_sr_če_pe_su".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY H:mm", LLLL: "dddd, D. MMMM YYYY H:mm" },
                    calendar: {
                         sameDay: "[danas u] LT",
                         nextDay: "[sutra u] LT",
                         nextWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[u] [nedjelju] [u] LT";
                                   case 3:
                                        return "[u] [srijedu] [u] LT";
                                   case 6:
                                        return "[u] [subotu] [u] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[u] dddd [u] LT";
                              }
                         },
                         lastDay: "[jučer u] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                   case 3:
                                        return "[prošlu] dddd [u] LT";
                                   case 6:
                                        return "[prošle] [subote] [u] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[prošli] dddd [u] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "za %s", past: "prije %s", s: "par sekundi", ss: e, m: e, mm: e, h: e, hh: e, d: "dan", dd: e, M: "mjesec", MM: e, y: "godinu", yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ca", {
                    months: {
                         standalone: "gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),
                         format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),
                         isFormat: /D[oD]?(\s)+MMMM/,
                    },
                    monthsShort: "gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),
                    weekdaysShort: "dg._dl._dt._dc._dj._dv._ds.".split("_"),
                    weekdaysMin: "dg_dl_dt_dc_dj_dv_ds".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: {
                         LT: "H:mm",
                         LTS: "H:mm:ss",
                         L: "DD/MM/YYYY",
                         LL: "D MMMM [de] YYYY",
                         ll: "D MMM YYYY",
                         LLL: "D MMMM [de] YYYY [a les] H:mm",
                         lll: "D MMM YYYY, H:mm",
                         LLLL: "dddd D MMMM [de] YYYY [a les] H:mm",
                         llll: "ddd D MMM YYYY, H:mm",
                    },
                    calendar: {
                         sameDay: function () {
                              return "[avui a " + (1 !== this.hours() ? "les" : "la") + "] LT";
                         },
                         nextDay: function () {
                              return "[demà a " + (1 !== this.hours() ? "les" : "la") + "] LT";
                         },
                         nextWeek: function () {
                              return "dddd [a " + (1 !== this.hours() ? "les" : "la") + "] LT";
                         },
                         lastDay: function () {
                              return "[ahir a " + (1 !== this.hours() ? "les" : "la") + "] LT";
                         },
                         lastWeek: function () {
                              return "[el] dddd [passat a " + (1 !== this.hours() ? "les" : "la") + "] LT";
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "d'aquí %s",
                         past: "fa %s",
                         s: "uns segons",
                         ss: "%d segons",
                         m: "un minut",
                         mm: "%d minuts",
                         h: "una hora",
                         hh: "%d hores",
                         d: "un dia",
                         dd: "%d dies",
                         M: "un mes",
                         MM: "%d mesos",
                         y: "un any",
                         yy: "%d anys",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
                    ordinal: function (t, e) {
                         var i = 1 === t ? "r" : 2 === t ? "n" : 3 === t ? "r" : 4 === t ? "t" : "è";
                         return ("w" !== e && "W" !== e) || (i = "a"), t + i;
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),
                    i = "led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),
                    n = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i],
                    r = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
               function o(t) {
                    return t > 1 && t < 5 && 1 != ~~(t / 10);
               }
               function a(t, e, i, n) {
                    var r = t + " ";
                    switch (i) {
                         case "s":
                              return e || n ? "pár sekund" : "pár sekundami";
                         case "ss":
                              return e || n ? r + (o(t) ? "sekundy" : "sekund") : r + "sekundami";
                         case "m":
                              return e ? "minuta" : n ? "minutu" : "minutou";
                         case "mm":
                              return e || n ? r + (o(t) ? "minuty" : "minut") : r + "minutami";
                         case "h":
                              return e ? "hodina" : n ? "hodinu" : "hodinou";
                         case "hh":
                              return e || n ? r + (o(t) ? "hodiny" : "hodin") : r + "hodinami";
                         case "d":
                              return e || n ? "den" : "dnem";
                         case "dd":
                              return e || n ? r + (o(t) ? "dny" : "dní") : r + "dny";
                         case "M":
                              return e || n ? "měsíc" : "měsícem";
                         case "MM":
                              return e || n ? r + (o(t) ? "měsíce" : "měsíců") : r + "měsíci";
                         case "y":
                              return e || n ? "rok" : "rokem";
                         case "yy":
                              return e || n ? r + (o(t) ? "roky" : "let") : r + "lety";
                    }
               }
               t.defineLocale("cs", {
                    months: e,
                    monthsShort: i,
                    monthsRegex: r,
                    monthsShortRegex: r,
                    monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
                    monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
                    monthsParse: n,
                    longMonthsParse: n,
                    shortMonthsParse: n,
                    weekdays: "neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),
                    weekdaysShort: "ne_po_út_st_čt_pá_so".split("_"),
                    weekdaysMin: "ne_po_út_st_čt_pá_so".split("_"),
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY H:mm", LLLL: "dddd D. MMMM YYYY H:mm", l: "D. M. YYYY" },
                    calendar: {
                         sameDay: "[dnes v] LT",
                         nextDay: "[zítra v] LT",
                         nextWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[v neděli v] LT";
                                   case 1:
                                   case 2:
                                        return "[v] dddd [v] LT";
                                   case 3:
                                        return "[ve středu v] LT";
                                   case 4:
                                        return "[ve čtvrtek v] LT";
                                   case 5:
                                        return "[v pátek v] LT";
                                   case 6:
                                        return "[v sobotu v] LT";
                              }
                         },
                         lastDay: "[včera v] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[minulou neděli v] LT";
                                   case 1:
                                   case 2:
                                        return "[minulé] dddd [v] LT";
                                   case 3:
                                        return "[minulou středu v] LT";
                                   case 4:
                                   case 5:
                                        return "[minulý] dddd [v] LT";
                                   case 6:
                                        return "[minulou sobotu v] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "za %s", past: "před %s", s: a, ss: a, m: a, mm: a, h: a, hh: a, d: a, dd: a, M: a, MM: a, y: a, yy: a },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("cv", {
                    months: "кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),
                    monthsShort: "кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),
                    weekdays: "вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),
                    weekdaysShort: "выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),
                    weekdaysMin: "вр_тн_ыт_юн_кҫ_эр_шм".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD-MM-YYYY", LL: "YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]", LLL: "YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm", LLLL: "dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm" },
                    calendar: { sameDay: "[Паян] LT [сехетре]", nextDay: "[Ыран] LT [сехетре]", lastDay: "[Ӗнер] LT [сехетре]", nextWeek: "[Ҫитес] dddd LT [сехетре]", lastWeek: "[Иртнӗ] dddd LT [сехетре]", sameElse: "L" },
                    relativeTime: {
                         future: function (t) {
                              return t + (/сехет$/i.exec(t) ? "рен" : /ҫул$/i.exec(t) ? "тан" : "ран");
                         },
                         past: "%s каялла",
                         s: "пӗр-ик ҫеккунт",
                         ss: "%d ҫеккунт",
                         m: "пӗр минут",
                         mm: "%d минут",
                         h: "пӗр сехет",
                         hh: "%d сехет",
                         d: "пӗр кун",
                         dd: "%d кун",
                         M: "пӗр уйӑх",
                         MM: "%d уйӑх",
                         y: "пӗр ҫул",
                         yy: "%d ҫул",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
                    ordinal: "%d-мӗш",
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("cy", {
                    months: "Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),
                    monthsShort: "Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),
                    weekdays: "Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),
                    weekdaysShort: "Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),
                    weekdaysMin: "Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Heddiw am] LT", nextDay: "[Yfory am] LT", nextWeek: "dddd [am] LT", lastDay: "[Ddoe am] LT", lastWeek: "dddd [diwethaf am] LT", sameElse: "L" },
                    relativeTime: {
                         future: "mewn %s",
                         past: "%s yn ôl",
                         s: "ychydig eiliadau",
                         ss: "%d eiliad",
                         m: "munud",
                         mm: "%d munud",
                         h: "awr",
                         hh: "%d awr",
                         d: "diwrnod",
                         dd: "%d diwrnod",
                         M: "mis",
                         MM: "%d mis",
                         y: "blwyddyn",
                         yy: "%d flynedd",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
                    ordinal: function (t) {
                         var e = "";
                         return (
                              t > 20
                                   ? (e = 40 === t || 50 === t || 60 === t || 80 === t || 100 === t ? "fed" : "ain")
                                   : t > 0 && (e = ["", "af", "il", "ydd", "ydd", "ed", "ed", "ed", "fed", "fed", "fed", "eg", "fed", "eg", "eg", "fed", "eg", "eg", "fed", "eg", "fed"][t]),
                              t + e
                         );
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("da", {
                    months: "januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),
                    monthsShort: "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),
                    weekdays: "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),
                    weekdaysShort: "søn_man_tir_ons_tor_fre_lør".split("_"),
                    weekdaysMin: "sø_ma_ti_on_to_fr_lø".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY HH:mm", LLLL: "dddd [d.] D. MMMM YYYY [kl.] HH:mm" },
                    calendar: { sameDay: "[i dag kl.] LT", nextDay: "[i morgen kl.] LT", nextWeek: "på dddd [kl.] LT", lastDay: "[i går kl.] LT", lastWeek: "[i] dddd[s kl.] LT", sameElse: "L" },
                    relativeTime: {
                         future: "om %s",
                         past: "%s siden",
                         s: "få sekunder",
                         ss: "%d sekunder",
                         m: "et minut",
                         mm: "%d minutter",
                         h: "en time",
                         hh: "%d timer",
                         d: "en dag",
                         dd: "%d dage",
                         M: "en måned",
                         MM: "%d måneder",
                         y: "et år",
                         yy: "%d år",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i, n) {
                    var r = {
                         m: ["eine Minute", "einer Minute"],
                         h: ["eine Stunde", "einer Stunde"],
                         d: ["ein Tag", "einem Tag"],
                         dd: [t + " Tage", t + " Tagen"],
                         M: ["ein Monat", "einem Monat"],
                         MM: [t + " Monate", t + " Monaten"],
                         y: ["ein Jahr", "einem Jahr"],
                         yy: [t + " Jahre", t + " Jahren"],
                    };
                    return e ? r[i][0] : r[i][1];
               }
               t.defineLocale("de", {
                    months: "Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
                    monthsShort: "Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),
                    weekdaysShort: "So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),
                    weekdaysMin: "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY HH:mm", LLLL: "dddd, D. MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[heute um] LT [Uhr]", sameElse: "L", nextDay: "[morgen um] LT [Uhr]", nextWeek: "dddd [um] LT [Uhr]", lastDay: "[gestern um] LT [Uhr]", lastWeek: "[letzten] dddd [um] LT [Uhr]" },
                    relativeTime: { future: "in %s", past: "vor %s", s: "ein paar Sekunden", ss: "%d Sekunden", m: e, mm: "%d Minuten", h: e, hh: "%d Stunden", d: e, dd: e, M: e, MM: e, y: e, yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i, n) {
                    var r = {
                         m: ["eine Minute", "einer Minute"],
                         h: ["eine Stunde", "einer Stunde"],
                         d: ["ein Tag", "einem Tag"],
                         dd: [t + " Tage", t + " Tagen"],
                         M: ["ein Monat", "einem Monat"],
                         MM: [t + " Monate", t + " Monaten"],
                         y: ["ein Jahr", "einem Jahr"],
                         yy: [t + " Jahre", t + " Jahren"],
                    };
                    return e ? r[i][0] : r[i][1];
               }
               t.defineLocale("de-at", {
                    months: "Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
                    monthsShort: "Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),
                    weekdaysShort: "So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),
                    weekdaysMin: "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY HH:mm", LLLL: "dddd, D. MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[heute um] LT [Uhr]", sameElse: "L", nextDay: "[morgen um] LT [Uhr]", nextWeek: "dddd [um] LT [Uhr]", lastDay: "[gestern um] LT [Uhr]", lastWeek: "[letzten] dddd [um] LT [Uhr]" },
                    relativeTime: { future: "in %s", past: "vor %s", s: "ein paar Sekunden", ss: "%d Sekunden", m: e, mm: "%d Minuten", h: e, hh: "%d Stunden", d: e, dd: e, M: e, MM: e, y: e, yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i, n) {
                    var r = {
                         m: ["eine Minute", "einer Minute"],
                         h: ["eine Stunde", "einer Stunde"],
                         d: ["ein Tag", "einem Tag"],
                         dd: [t + " Tage", t + " Tagen"],
                         M: ["ein Monat", "einem Monat"],
                         MM: [t + " Monate", t + " Monaten"],
                         y: ["ein Jahr", "einem Jahr"],
                         yy: [t + " Jahre", t + " Jahren"],
                    };
                    return e ? r[i][0] : r[i][1];
               }
               t.defineLocale("de-ch", {
                    months: "Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
                    monthsShort: "Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),
                    weekdaysShort: "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
                    weekdaysMin: "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY HH:mm", LLLL: "dddd, D. MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[heute um] LT [Uhr]", sameElse: "L", nextDay: "[morgen um] LT [Uhr]", nextWeek: "dddd [um] LT [Uhr]", lastDay: "[gestern um] LT [Uhr]", lastWeek: "[letzten] dddd [um] LT [Uhr]" },
                    relativeTime: { future: "in %s", past: "vor %s", s: "ein paar Sekunden", ss: "%d Sekunden", m: e, mm: "%d Minuten", h: e, hh: "%d Stunden", d: e, dd: e, M: e, MM: e, y: e, yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = ["ޖެނުއަރީ", "ފެބްރުއަރީ", "މާރިޗު", "އޭޕްރީލު", "މޭ", "ޖޫން", "ޖުލައި", "އޯގަސްޓު", "ސެޕްޓެމްބަރު", "އޮކްޓޯބަރު", "ނޮވެމްބަރު", "ޑިސެމްބަރު"],
                    i = ["އާދިއްތަ", "ހޯމަ", "އަންގާރަ", "ބުދަ", "ބުރާސްފަތި", "ހުކުރު", "ހޮނިހިރު"];
               t.defineLocale("dv", {
                    months: e,
                    monthsShort: e,
                    weekdays: i,
                    weekdaysShort: i,
                    weekdaysMin: "އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "D/M/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    meridiemParse: /މކ|މފ/,
                    isPM: function (t) {
                         return "މފ" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "މކ" : "މފ";
                    },
                    calendar: { sameDay: "[މިއަދު] LT", nextDay: "[މާދަމާ] LT", nextWeek: "dddd LT", lastDay: "[އިއްޔެ] LT", lastWeek: "[ފާއިތުވި] dddd LT", sameElse: "L" },
                    relativeTime: {
                         future: "ތެރޭގައި %s",
                         past: "ކުރިން %s",
                         s: "ސިކުންތުކޮޅެއް",
                         ss: "d% ސިކުންތު",
                         m: "މިނިޓެއް",
                         mm: "މިނިޓު %d",
                         h: "ގަޑިއިރެއް",
                         hh: "ގަޑިއިރު %d",
                         d: "ދުވަހެއް",
                         dd: "ދުވަސް %d",
                         M: "މަހެއް",
                         MM: "މަސް %d",
                         y: "އަހަރެއް",
                         yy: "އަހަރު %d",
                    },
                    preparse: function (t) {
                         return t.replace(/،/g, ",");
                    },
                    postformat: function (t) {
                         return t.replace(/,/g, "،");
                    },
                    week: { dow: 7, doy: 12 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("el", {
                    monthsNominativeEl: "Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),
                    monthsGenitiveEl: "Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),
                    months: function (t, e) {
                         return t ? ("string" == typeof e && /D/.test(e.substring(0, e.indexOf("MMMM"))) ? this._monthsGenitiveEl[t.month()] : this._monthsNominativeEl[t.month()]) : this._monthsNominativeEl;
                    },
                    monthsShort: "Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),
                    weekdays: "Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),
                    weekdaysShort: "Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),
                    weekdaysMin: "Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),
                    meridiem: function (t, e, i) {
                         return t > 11 ? (i ? "μμ" : "ΜΜ") : i ? "πμ" : "ΠΜ";
                    },
                    isPM: function (t) {
                         return "μ" === (t + "").toLowerCase()[0];
                    },
                    meridiemParse: /[ΠΜ]\.?Μ?\.?/i,
                    longDateFormat: { LT: "h:mm A", LTS: "h:mm:ss A", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY h:mm A", LLLL: "dddd, D MMMM YYYY h:mm A" },
                    calendarEl: {
                         sameDay: "[Σήμερα {}] LT",
                         nextDay: "[Αύριο {}] LT",
                         nextWeek: "dddd [{}] LT",
                         lastDay: "[Χθες {}] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 6:
                                        return "[το προηγούμενο] dddd [{}] LT";
                                   default:
                                        return "[την προηγούμενη] dddd [{}] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    calendar: function (t, e) {
                         var i,
                              n = this._calendarEl[t],
                              r = e && e.hours();
                         return (i = n), (("undefined" != typeof Function && i instanceof Function) || "[object Function]" === Object.prototype.toString.call(i)) && (n = n.apply(e)), n.replace("{}", r % 12 == 1 ? "στη" : "στις");
                    },
                    relativeTime: {
                         future: "σε %s",
                         past: "%s πριν",
                         s: "λίγα δευτερόλεπτα",
                         ss: "%d δευτερόλεπτα",
                         m: "ένα λεπτό",
                         mm: "%d λεπτά",
                         h: "μία ώρα",
                         hh: "%d ώρες",
                         d: "μία μέρα",
                         dd: "%d μέρες",
                         M: "ένας μήνας",
                         MM: "%d μήνες",
                         y: "ένας χρόνος",
                         yy: "%d χρόνια",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}η/,
                    ordinal: "%dη",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("en-au", {
                    months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                    monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
                    weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                    weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
                    weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
                    longDateFormat: { LT: "h:mm A", LTS: "h:mm:ss A", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY h:mm A", LLLL: "dddd, D MMMM YYYY h:mm A" },
                    calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" },
                    relativeTime: {
                         future: "in %s",
                         past: "%s ago",
                         s: "a few seconds",
                         ss: "%d seconds",
                         m: "a minute",
                         mm: "%d minutes",
                         h: "an hour",
                         hh: "%d hours",
                         d: "a day",
                         dd: "%d days",
                         M: "a month",
                         MM: "%d months",
                         y: "a year",
                         yy: "%d years",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                    },
                    week: { dow: 0, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("en-ca", {
                    months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                    monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
                    weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                    weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
                    weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
                    longDateFormat: { LT: "h:mm A", LTS: "h:mm:ss A", L: "YYYY-MM-DD", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" },
                    calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" },
                    relativeTime: {
                         future: "in %s",
                         past: "%s ago",
                         s: "a few seconds",
                         ss: "%d seconds",
                         m: "a minute",
                         mm: "%d minutes",
                         h: "an hour",
                         hh: "%d hours",
                         d: "a day",
                         dd: "%d days",
                         M: "a month",
                         MM: "%d months",
                         y: "a year",
                         yy: "%d years",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("en-gb", {
                    months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                    monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
                    weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                    weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
                    weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" },
                    relativeTime: {
                         future: "in %s",
                         past: "%s ago",
                         s: "a few seconds",
                         ss: "%d seconds",
                         m: "a minute",
                         mm: "%d minutes",
                         h: "an hour",
                         hh: "%d hours",
                         d: "a day",
                         dd: "%d days",
                         M: "a month",
                         MM: "%d months",
                         y: "a year",
                         yy: "%d years",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("en-ie", {
                    months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                    monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
                    weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                    weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
                    weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" },
                    relativeTime: {
                         future: "in %s",
                         past: "%s ago",
                         s: "a few seconds",
                         ss: "%d seconds",
                         m: "a minute",
                         mm: "%d minutes",
                         h: "an hour",
                         hh: "%d hours",
                         d: "a day",
                         dd: "%d days",
                         M: "a month",
                         MM: "%d months",
                         y: "a year",
                         yy: "%d years",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("en-il", {
                    months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                    monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
                    weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                    weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
                    weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" },
                    relativeTime: {
                         future: "in %s",
                         past: "%s ago",
                         s: "a few seconds",
                         ss: "%d seconds",
                         m: "a minute",
                         mm: "%d minutes",
                         h: "an hour",
                         hh: "%d hours",
                         d: "a day",
                         dd: "%d days",
                         M: "a month",
                         MM: "%d months",
                         y: "a year",
                         yy: "%d years",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("en-in", {
                    months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                    monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
                    weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                    weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
                    weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
                    longDateFormat: { LT: "h:mm A", LTS: "h:mm:ss A", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY h:mm A", LLLL: "dddd, D MMMM YYYY h:mm A" },
                    calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" },
                    relativeTime: {
                         future: "in %s",
                         past: "%s ago",
                         s: "a few seconds",
                         ss: "%d seconds",
                         m: "a minute",
                         mm: "%d minutes",
                         h: "an hour",
                         hh: "%d hours",
                         d: "a day",
                         dd: "%d days",
                         M: "a month",
                         MM: "%d months",
                         y: "a year",
                         yy: "%d years",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("en-nz", {
                    months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                    monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
                    weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                    weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
                    weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
                    longDateFormat: { LT: "h:mm A", LTS: "h:mm:ss A", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY h:mm A", LLLL: "dddd, D MMMM YYYY h:mm A" },
                    calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" },
                    relativeTime: {
                         future: "in %s",
                         past: "%s ago",
                         s: "a few seconds",
                         ss: "%d seconds",
                         m: "a minute",
                         mm: "%d minutes",
                         h: "an hour",
                         hh: "%d hours",
                         d: "a day",
                         dd: "%d days",
                         M: "a month",
                         MM: "%d months",
                         y: "a year",
                         yy: "%d years",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("en-sg", {
                    months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                    monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
                    weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                    weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
                    weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" },
                    relativeTime: {
                         future: "in %s",
                         past: "%s ago",
                         s: "a few seconds",
                         ss: "%d seconds",
                         m: "a minute",
                         mm: "%d minutes",
                         h: "an hour",
                         hh: "%d hours",
                         d: "a day",
                         dd: "%d days",
                         M: "a month",
                         MM: "%d months",
                         y: "a year",
                         yy: "%d years",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("eo", {
                    months: "januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),
                    monthsShort: "jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec".split("_"),
                    weekdays: "dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),
                    weekdaysShort: "dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),
                    weekdaysMin: "di_lu_ma_me_ĵa_ve_sa".split("_"),
                    longDateFormat: {
                         LT: "HH:mm",
                         LTS: "HH:mm:ss",
                         L: "YYYY-MM-DD",
                         LL: "[la] D[-an de] MMMM, YYYY",
                         LLL: "[la] D[-an de] MMMM, YYYY HH:mm",
                         LLLL: "dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",
                         llll: "ddd, [la] D[-an de] MMM, YYYY HH:mm",
                    },
                    meridiemParse: /[ap]\.t\.m/i,
                    isPM: function (t) {
                         return "p" === t.charAt(0).toLowerCase();
                    },
                    meridiem: function (t, e, i) {
                         return t > 11 ? (i ? "p.t.m." : "P.T.M.") : i ? "a.t.m." : "A.T.M.";
                    },
                    calendar: { sameDay: "[Hodiaŭ je] LT", nextDay: "[Morgaŭ je] LT", nextWeek: "dddd[n je] LT", lastDay: "[Hieraŭ je] LT", lastWeek: "[pasintan] dddd[n je] LT", sameElse: "L" },
                    relativeTime: {
                         future: "post %s",
                         past: "antaŭ %s",
                         s: "kelkaj sekundoj",
                         ss: "%d sekundoj",
                         m: "unu minuto",
                         mm: "%d minutoj",
                         h: "unu horo",
                         hh: "%d horoj",
                         d: "unu tago",
                         dd: "%d tagoj",
                         M: "unu monato",
                         MM: "%d monatoj",
                         y: "unu jaro",
                         yy: "%d jaroj",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}a/,
                    ordinal: "%da",
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
                    i = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
                    n = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
                    r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
               t.defineLocale("es", {
                    months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
                    monthsShort: function (t, n) {
                         return t ? (/-MMM-/.test(n) ? i[t.month()] : e[t.month()]) : e;
                    },
                    monthsRegex: r,
                    monthsShortRegex: r,
                    monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
                    monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
                    monthsParse: n,
                    longMonthsParse: n,
                    shortMonthsParse: n,
                    weekdays: "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),
                    weekdaysShort: "dom._lun._mar._mié._jue._vie._sáb.".split("_"),
                    weekdaysMin: "do_lu_ma_mi_ju_vi_sá".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD/MM/YYYY", LL: "D [de] MMMM [de] YYYY", LLL: "D [de] MMMM [de] YYYY H:mm", LLLL: "dddd, D [de] MMMM [de] YYYY H:mm" },
                    calendar: {
                         sameDay: function () {
                              return "[hoy a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         nextDay: function () {
                              return "[mañana a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         nextWeek: function () {
                              return "dddd [a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         lastDay: function () {
                              return "[ayer a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         lastWeek: function () {
                              return "[el] dddd [pasado a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "en %s",
                         past: "hace %s",
                         s: "unos segundos",
                         ss: "%d segundos",
                         m: "un minuto",
                         mm: "%d minutos",
                         h: "una hora",
                         hh: "%d horas",
                         d: "un día",
                         dd: "%d días",
                         M: "un mes",
                         MM: "%d meses",
                         y: "un año",
                         yy: "%d años",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}º/,
                    ordinal: "%dº",
                    week: { dow: 1, doy: 4 },
                    invalidDate: "Fecha invalida",
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
                    i = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
                    n = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
                    r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
               t.defineLocale("es-do", {
                    months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
                    monthsShort: function (t, n) {
                         return t ? (/-MMM-/.test(n) ? i[t.month()] : e[t.month()]) : e;
                    },
                    monthsRegex: r,
                    monthsShortRegex: r,
                    monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
                    monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
                    monthsParse: n,
                    longMonthsParse: n,
                    shortMonthsParse: n,
                    weekdays: "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),
                    weekdaysShort: "dom._lun._mar._mié._jue._vie._sáb.".split("_"),
                    weekdaysMin: "do_lu_ma_mi_ju_vi_sá".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "h:mm A", LTS: "h:mm:ss A", L: "DD/MM/YYYY", LL: "D [de] MMMM [de] YYYY", LLL: "D [de] MMMM [de] YYYY h:mm A", LLLL: "dddd, D [de] MMMM [de] YYYY h:mm A" },
                    calendar: {
                         sameDay: function () {
                              return "[hoy a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         nextDay: function () {
                              return "[mañana a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         nextWeek: function () {
                              return "dddd [a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         lastDay: function () {
                              return "[ayer a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         lastWeek: function () {
                              return "[el] dddd [pasado a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "en %s",
                         past: "hace %s",
                         s: "unos segundos",
                         ss: "%d segundos",
                         m: "un minuto",
                         mm: "%d minutos",
                         h: "una hora",
                         hh: "%d horas",
                         d: "un día",
                         dd: "%d días",
                         M: "un mes",
                         MM: "%d meses",
                         y: "un año",
                         yy: "%d años",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}º/,
                    ordinal: "%dº",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
                    i = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
                    n = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
                    r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
               t.defineLocale("es-us", {
                    months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
                    monthsShort: function (t, n) {
                         return t ? (/-MMM-/.test(n) ? i[t.month()] : e[t.month()]) : e;
                    },
                    monthsRegex: r,
                    monthsShortRegex: r,
                    monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
                    monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
                    monthsParse: n,
                    longMonthsParse: n,
                    shortMonthsParse: n,
                    weekdays: "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),
                    weekdaysShort: "dom._lun._mar._mié._jue._vie._sáb.".split("_"),
                    weekdaysMin: "do_lu_ma_mi_ju_vi_sá".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "h:mm A", LTS: "h:mm:ss A", L: "MM/DD/YYYY", LL: "D [de] MMMM [de] YYYY", LLL: "D [de] MMMM [de] YYYY h:mm A", LLLL: "dddd, D [de] MMMM [de] YYYY h:mm A" },
                    calendar: {
                         sameDay: function () {
                              return "[hoy a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         nextDay: function () {
                              return "[mañana a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         nextWeek: function () {
                              return "dddd [a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         lastDay: function () {
                              return "[ayer a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         lastWeek: function () {
                              return "[el] dddd [pasado a la" + (1 !== this.hours() ? "s" : "") + "] LT";
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "en %s",
                         past: "hace %s",
                         s: "unos segundos",
                         ss: "%d segundos",
                         m: "un minuto",
                         mm: "%d minutos",
                         h: "una hora",
                         hh: "%d horas",
                         d: "un día",
                         dd: "%d días",
                         M: "un mes",
                         MM: "%d meses",
                         y: "un año",
                         yy: "%d años",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}º/,
                    ordinal: "%dº",
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i, n) {
                    var r = {
                         s: ["mõne sekundi", "mõni sekund", "paar sekundit"],
                         ss: [t + "sekundi", t + "sekundit"],
                         m: ["ühe minuti", "üks minut"],
                         mm: [t + " minuti", t + " minutit"],
                         h: ["ühe tunni", "tund aega", "üks tund"],
                         hh: [t + " tunni", t + " tundi"],
                         d: ["ühe päeva", "üks päev"],
                         M: ["kuu aja", "kuu aega", "üks kuu"],
                         MM: [t + " kuu", t + " kuud"],
                         y: ["ühe aasta", "aasta", "üks aasta"],
                         yy: [t + " aasta", t + " aastat"],
                    };
                    return e ? (r[i][2] ? r[i][2] : r[i][1]) : n ? r[i][0] : r[i][1];
               }
               t.defineLocale("et", {
                    months: "jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),
                    monthsShort: "jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),
                    weekdays: "pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),
                    weekdaysShort: "P_E_T_K_N_R_L".split("_"),
                    weekdaysMin: "P_E_T_K_N_R_L".split("_"),
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY H:mm", LLLL: "dddd, D. MMMM YYYY H:mm" },
                    calendar: { sameDay: "[Täna,] LT", nextDay: "[Homme,] LT", nextWeek: "[Järgmine] dddd LT", lastDay: "[Eile,] LT", lastWeek: "[Eelmine] dddd LT", sameElse: "L" },
                    relativeTime: { future: "%s pärast", past: "%s tagasi", s: e, ss: e, m: e, mm: e, h: e, hh: e, d: e, dd: "%d päeva", M: e, MM: e, y: e, yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("eu", {
                    months: "urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),
                    monthsShort: "urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),
                    weekdaysShort: "ig._al._ar._az._og._ol._lr.".split("_"),
                    weekdaysMin: "ig_al_ar_az_og_ol_lr".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: {
                         LT: "HH:mm",
                         LTS: "HH:mm:ss",
                         L: "YYYY-MM-DD",
                         LL: "YYYY[ko] MMMM[ren] D[a]",
                         LLL: "YYYY[ko] MMMM[ren] D[a] HH:mm",
                         LLLL: "dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",
                         l: "YYYY-M-D",
                         ll: "YYYY[ko] MMM D[a]",
                         lll: "YYYY[ko] MMM D[a] HH:mm",
                         llll: "ddd, YYYY[ko] MMM D[a] HH:mm",
                    },
                    calendar: { sameDay: "[gaur] LT[etan]", nextDay: "[bihar] LT[etan]", nextWeek: "dddd LT[etan]", lastDay: "[atzo] LT[etan]", lastWeek: "[aurreko] dddd LT[etan]", sameElse: "L" },
                    relativeTime: {
                         future: "%s barru",
                         past: "duela %s",
                         s: "segundo batzuk",
                         ss: "%d segundo",
                         m: "minutu bat",
                         mm: "%d minutu",
                         h: "ordu bat",
                         hh: "%d ordu",
                         d: "egun bat",
                         dd: "%d egun",
                         M: "hilabete bat",
                         MM: "%d hilabete",
                         y: "urte bat",
                         yy: "%d urte",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "۱", 2: "۲", 3: "۳", 4: "۴", 5: "۵", 6: "۶", 7: "۷", 8: "۸", 9: "۹", 0: "۰" },
                    i = { "۱": "1", "۲": "2", "۳": "3", "۴": "4", "۵": "5", "۶": "6", "۷": "7", "۸": "8", "۹": "9", "۰": "0" };
               t.defineLocale("fa", {
                    months: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),
                    monthsShort: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),
                    weekdays: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),
                    weekdaysShort: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),
                    weekdaysMin: "ی_د_س_چ_پ_ج_ش".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    meridiemParse: /قبل از ظهر|بعد از ظهر/,
                    isPM: function (t) {
                         return /بعد از ظهر/.test(t);
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "قبل از ظهر" : "بعد از ظهر";
                    },
                    calendar: { sameDay: "[امروز ساعت] LT", nextDay: "[فردا ساعت] LT", nextWeek: "dddd [ساعت] LT", lastDay: "[دیروز ساعت] LT", lastWeek: "dddd [پیش] [ساعت] LT", sameElse: "L" },
                    relativeTime: {
                         future: "در %s",
                         past: "%s پیش",
                         s: "چند ثانیه",
                         ss: "%d ثانیه",
                         m: "یک دقیقه",
                         mm: "%d دقیقه",
                         h: "یک ساعت",
                         hh: "%d ساعت",
                         d: "یک روز",
                         dd: "%d روز",
                         M: "یک ماه",
                         MM: "%d ماه",
                         y: "یک سال",
                         yy: "%d سال",
                    },
                    preparse: function (t) {
                         return t
                              .replace(/[۰-۹]/g, function (t) {
                                   return i[t];
                              })
                              .replace(/،/g, ",");
                    },
                    postformat: function (t) {
                         return t
                              .replace(/\d/g, function (t) {
                                   return e[t];
                              })
                              .replace(/,/g, "،");
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}م/,
                    ordinal: "%dم",
                    week: { dow: 6, doy: 12 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),
                    i = ["nolla", "yhden", "kahden", "kolmen", "neljän", "viiden", "kuuden", e[7], e[8], e[9]];
               function n(t, n, r, o) {
                    var a = "";
                    switch (r) {
                         case "s":
                              return o ? "muutaman sekunnin" : "muutama sekunti";
                         case "ss":
                              return o ? "sekunnin" : "sekuntia";
                         case "m":
                              return o ? "minuutin" : "minuutti";
                         case "mm":
                              a = o ? "minuutin" : "minuuttia";
                              break;
                         case "h":
                              return o ? "tunnin" : "tunti";
                         case "hh":
                              a = o ? "tunnin" : "tuntia";
                              break;
                         case "d":
                              return o ? "päivän" : "päivä";
                         case "dd":
                              a = o ? "päivän" : "päivää";
                              break;
                         case "M":
                              return o ? "kuukauden" : "kuukausi";
                         case "MM":
                              a = o ? "kuukauden" : "kuukautta";
                              break;
                         case "y":
                              return o ? "vuoden" : "vuosi";
                         case "yy":
                              a = o ? "vuoden" : "vuotta";
                    }
                    return (a =
                         (function (t, n) {
                              return t < 10 ? (n ? i[t] : e[t]) : t;
                         })(t, o) +
                         " " +
                         a);
               }
               t.defineLocale("fi", {
                    months: "tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),
                    monthsShort: "tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),
                    weekdays: "sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),
                    weekdaysShort: "su_ma_ti_ke_to_pe_la".split("_"),
                    weekdaysMin: "su_ma_ti_ke_to_pe_la".split("_"),
                    longDateFormat: {
                         LT: "HH.mm",
                         LTS: "HH.mm.ss",
                         L: "DD.MM.YYYY",
                         LL: "Do MMMM[ta] YYYY",
                         LLL: "Do MMMM[ta] YYYY, [klo] HH.mm",
                         LLLL: "dddd, Do MMMM[ta] YYYY, [klo] HH.mm",
                         l: "D.M.YYYY",
                         ll: "Do MMM YYYY",
                         lll: "Do MMM YYYY, [klo] HH.mm",
                         llll: "ddd, Do MMM YYYY, [klo] HH.mm",
                    },
                    calendar: { sameDay: "[tänään] [klo] LT", nextDay: "[huomenna] [klo] LT", nextWeek: "dddd [klo] LT", lastDay: "[eilen] [klo] LT", lastWeek: "[viime] dddd[na] [klo] LT", sameElse: "L" },
                    relativeTime: { future: "%s päästä", past: "%s sitten", s: n, ss: n, m: n, mm: n, h: n, hh: n, d: n, dd: n, M: n, MM: n, y: n, yy: n },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("fil", {
                    months: "Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),
                    monthsShort: "Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),
                    weekdays: "Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),
                    weekdaysShort: "Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),
                    weekdaysMin: "Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "MM/D/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY HH:mm", LLLL: "dddd, MMMM DD, YYYY HH:mm" },
                    calendar: { sameDay: "LT [ngayong araw]", nextDay: "[Bukas ng] LT", nextWeek: "LT [sa susunod na] dddd", lastDay: "LT [kahapon]", lastWeek: "LT [noong nakaraang] dddd", sameElse: "L" },
                    relativeTime: {
                         future: "sa loob ng %s",
                         past: "%s ang nakalipas",
                         s: "ilang segundo",
                         ss: "%d segundo",
                         m: "isang minuto",
                         mm: "%d minuto",
                         h: "isang oras",
                         hh: "%d oras",
                         d: "isang araw",
                         dd: "%d araw",
                         M: "isang buwan",
                         MM: "%d buwan",
                         y: "isang taon",
                         yy: "%d taon",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}/,
                    ordinal: function (t) {
                         return t;
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("fo", {
                    months: "januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),
                    monthsShort: "jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),
                    weekdays: "sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),
                    weekdaysShort: "sun_mán_týs_mik_hós_frí_ley".split("_"),
                    weekdaysMin: "su_má_tý_mi_hó_fr_le".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D. MMMM, YYYY HH:mm" },
                    calendar: { sameDay: "[Í dag kl.] LT", nextDay: "[Í morgin kl.] LT", nextWeek: "dddd [kl.] LT", lastDay: "[Í gjár kl.] LT", lastWeek: "[síðstu] dddd [kl] LT", sameElse: "L" },
                    relativeTime: {
                         future: "um %s",
                         past: "%s síðani",
                         s: "fá sekund",
                         ss: "%d sekundir",
                         m: "ein minuttur",
                         mm: "%d minuttir",
                         h: "ein tími",
                         hh: "%d tímar",
                         d: "ein dagur",
                         dd: "%d dagar",
                         M: "ein mánaður",
                         MM: "%d mánaðir",
                         y: "eitt ár",
                         yy: "%d ár",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("fr", {
                    months: "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),
                    monthsShort: "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),
                    weekdaysShort: "dim._lun._mar._mer._jeu._ven._sam.".split("_"),
                    weekdaysMin: "di_lu_ma_me_je_ve_sa".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Aujourd’hui à] LT", nextDay: "[Demain à] LT", nextWeek: "dddd [à] LT", lastDay: "[Hier à] LT", lastWeek: "dddd [dernier à] LT", sameElse: "L" },
                    relativeTime: {
                         future: "dans %s",
                         past: "il y a %s",
                         s: "quelques secondes",
                         ss: "%d secondes",
                         m: "une minute",
                         mm: "%d minutes",
                         h: "une heure",
                         hh: "%d heures",
                         d: "un jour",
                         dd: "%d jours",
                         M: "un mois",
                         MM: "%d mois",
                         y: "un an",
                         yy: "%d ans",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "D":
                                   return t + (1 === t ? "er" : "");
                              default:
                              case "M":
                              case "Q":
                              case "DDD":
                              case "d":
                                   return t + (1 === t ? "er" : "e");
                              case "w":
                              case "W":
                                   return t + (1 === t ? "re" : "e");
                         }
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("fr-ca", {
                    months: "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),
                    monthsShort: "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),
                    weekdaysShort: "dim._lun._mar._mer._jeu._ven._sam.".split("_"),
                    weekdaysMin: "di_lu_ma_me_je_ve_sa".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "YYYY-MM-DD", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Aujourd’hui à] LT", nextDay: "[Demain à] LT", nextWeek: "dddd [à] LT", lastDay: "[Hier à] LT", lastWeek: "dddd [dernier à] LT", sameElse: "L" },
                    relativeTime: {
                         future: "dans %s",
                         past: "il y a %s",
                         s: "quelques secondes",
                         ss: "%d secondes",
                         m: "une minute",
                         mm: "%d minutes",
                         h: "une heure",
                         hh: "%d heures",
                         d: "un jour",
                         dd: "%d jours",
                         M: "un mois",
                         MM: "%d mois",
                         y: "un an",
                         yy: "%d ans",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              default:
                              case "M":
                              case "Q":
                              case "D":
                              case "DDD":
                              case "d":
                                   return t + (1 === t ? "er" : "e");
                              case "w":
                              case "W":
                                   return t + (1 === t ? "re" : "e");
                         }
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("fr-ch", {
                    months: "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),
                    monthsShort: "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),
                    weekdaysShort: "dim._lun._mar._mer._jeu._ven._sam.".split("_"),
                    weekdaysMin: "di_lu_ma_me_je_ve_sa".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Aujourd’hui à] LT", nextDay: "[Demain à] LT", nextWeek: "dddd [à] LT", lastDay: "[Hier à] LT", lastWeek: "dddd [dernier à] LT", sameElse: "L" },
                    relativeTime: {
                         future: "dans %s",
                         past: "il y a %s",
                         s: "quelques secondes",
                         ss: "%d secondes",
                         m: "une minute",
                         mm: "%d minutes",
                         h: "une heure",
                         hh: "%d heures",
                         d: "un jour",
                         dd: "%d jours",
                         M: "un mois",
                         MM: "%d mois",
                         y: "un an",
                         yy: "%d ans",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              default:
                              case "M":
                              case "Q":
                              case "D":
                              case "DDD":
                              case "d":
                                   return t + (1 === t ? "er" : "e");
                              case "w":
                              case "W":
                                   return t + (1 === t ? "re" : "e");
                         }
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),
                    i = "jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");
               t.defineLocale("fy", {
                    months: "jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),
                    monthsShort: function (t, n) {
                         return t ? (/-MMM-/.test(n) ? i[t.month()] : e[t.month()]) : e;
                    },
                    monthsParseExact: !0,
                    weekdays: "snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),
                    weekdaysShort: "si._mo._ti._wo._to._fr._so.".split("_"),
                    weekdaysMin: "Si_Mo_Ti_Wo_To_Fr_So".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD-MM-YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[hjoed om] LT", nextDay: "[moarn om] LT", nextWeek: "dddd [om] LT", lastDay: "[juster om] LT", lastWeek: "[ôfrûne] dddd [om] LT", sameElse: "L" },
                    relativeTime: {
                         future: "oer %s",
                         past: "%s lyn",
                         s: "in pear sekonden",
                         ss: "%d sekonden",
                         m: "ien minút",
                         mm: "%d minuten",
                         h: "ien oere",
                         hh: "%d oeren",
                         d: "ien dei",
                         dd: "%d dagen",
                         M: "ien moanne",
                         MM: "%d moannen",
                         y: "ien jier",
                         yy: "%d jierren",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
                    ordinal: function (t) {
                         return t + (1 === t || 8 === t || t >= 20 ? "ste" : "de");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ga", {
                    months: ["Eanáir", "Feabhra", "Márta", "Aibreán", "Bealtaine", "Meitheamh", "Iúil", "Lúnasa", "Meán Fómhair", "Deireadh Fómhair", "Samhain", "Nollaig"],
                    monthsShort: ["Ean", "Feabh", "Márt", "Aib", "Beal", "Meith", "Iúil", "Lún", "M.F.", "D.F.", "Samh", "Noll"],
                    monthsParseExact: !0,
                    weekdays: ["Dé Domhnaigh", "Dé Luain", "Dé Máirt", "Dé Céadaoin", "Déardaoin", "Dé hAoine", "Dé Sathairn"],
                    weekdaysShort: ["Domh", "Luan", "Máirt", "Céad", "Déar", "Aoine", "Sath"],
                    weekdaysMin: ["Do", "Lu", "Má", "Cé", "Dé", "A", "Sa"],
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Inniu ag] LT", nextDay: "[Amárach ag] LT", nextWeek: "dddd [ag] LT", lastDay: "[Inné ag] LT", lastWeek: "dddd [seo caite] [ag] LT", sameElse: "L" },
                    relativeTime: {
                         future: "i %s",
                         past: "%s ó shin",
                         s: "cúpla soicind",
                         ss: "%d soicind",
                         m: "nóiméad",
                         mm: "%d nóiméad",
                         h: "uair an chloig",
                         hh: "%d uair an chloig",
                         d: "lá",
                         dd: "%d lá",
                         M: "mí",
                         MM: "%d míonna",
                         y: "bliain",
                         yy: "%d bliain",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
                    ordinal: function (t) {
                         return t + (1 === t ? "d" : t % 10 == 2 ? "na" : "mh");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("gd", {
                    months: ["Am Faoilleach", "An Gearran", "Am Màrt", "An Giblean", "An Cèitean", "An t-Ògmhios", "An t-Iuchar", "An Lùnastal", "An t-Sultain", "An Dàmhair", "An t-Samhain", "An Dùbhlachd"],
                    monthsShort: ["Faoi", "Gear", "Màrt", "Gibl", "Cèit", "Ògmh", "Iuch", "Lùn", "Sult", "Dàmh", "Samh", "Dùbh"],
                    monthsParseExact: !0,
                    weekdays: ["Didòmhnaich", "Diluain", "Dimàirt", "Diciadain", "Diardaoin", "Dihaoine", "Disathairne"],
                    weekdaysShort: ["Did", "Dil", "Dim", "Dic", "Dia", "Dih", "Dis"],
                    weekdaysMin: ["Dò", "Lu", "Mà", "Ci", "Ar", "Ha", "Sa"],
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[An-diugh aig] LT", nextDay: "[A-màireach aig] LT", nextWeek: "dddd [aig] LT", lastDay: "[An-dè aig] LT", lastWeek: "dddd [seo chaidh] [aig] LT", sameElse: "L" },
                    relativeTime: {
                         future: "ann an %s",
                         past: "bho chionn %s",
                         s: "beagan diogan",
                         ss: "%d diogan",
                         m: "mionaid",
                         mm: "%d mionaidean",
                         h: "uair",
                         hh: "%d uairean",
                         d: "latha",
                         dd: "%d latha",
                         M: "mìos",
                         MM: "%d mìosan",
                         y: "bliadhna",
                         yy: "%d bliadhna",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
                    ordinal: function (t) {
                         return t + (1 === t ? "d" : t % 10 == 2 ? "na" : "mh");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("gl", {
                    months: "xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),
                    monthsShort: "xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),
                    weekdaysShort: "dom._lun._mar._mér._xov._ven._sáb.".split("_"),
                    weekdaysMin: "do_lu_ma_mé_xo_ve_sá".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD/MM/YYYY", LL: "D [de] MMMM [de] YYYY", LLL: "D [de] MMMM [de] YYYY H:mm", LLLL: "dddd, D [de] MMMM [de] YYYY H:mm" },
                    calendar: {
                         sameDay: function () {
                              return "[hoxe " + (1 !== this.hours() ? "ás" : "á") + "] LT";
                         },
                         nextDay: function () {
                              return "[mañá " + (1 !== this.hours() ? "ás" : "á") + "] LT";
                         },
                         nextWeek: function () {
                              return "dddd [" + (1 !== this.hours() ? "ás" : "a") + "] LT";
                         },
                         lastDay: function () {
                              return "[onte " + (1 !== this.hours() ? "á" : "a") + "] LT";
                         },
                         lastWeek: function () {
                              return "[o] dddd [pasado " + (1 !== this.hours() ? "ás" : "a") + "] LT";
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: function (t) {
                              return 0 === t.indexOf("un") ? "n" + t : "en " + t;
                         },
                         past: "hai %s",
                         s: "uns segundos",
                         ss: "%d segundos",
                         m: "un minuto",
                         mm: "%d minutos",
                         h: "unha hora",
                         hh: "%d horas",
                         d: "un día",
                         dd: "%d días",
                         M: "un mes",
                         MM: "%d meses",
                         y: "un ano",
                         yy: "%d anos",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}º/,
                    ordinal: "%dº",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i, n) {
                    var r = {
                         s: ["थोडया सॅकंडांनी", "थोडे सॅकंड"],
                         ss: [t + " सॅकंडांनी", t + " सॅकंड"],
                         m: ["एका मिणटान", "एक मिनूट"],
                         mm: [t + " मिणटांनी", t + " मिणटां"],
                         h: ["एका वरान", "एक वर"],
                         hh: [t + " वरांनी", t + " वरां"],
                         d: ["एका दिसान", "एक दीस"],
                         dd: [t + " दिसांनी", t + " दीस"],
                         M: ["एका म्हयन्यान", "एक म्हयनो"],
                         MM: [t + " म्हयन्यानी", t + " म्हयने"],
                         y: ["एका वर्सान", "एक वर्स"],
                         yy: [t + " वर्सांनी", t + " वर्सां"],
                    };
                    return n ? r[i][0] : r[i][1];
               }
               t.defineLocale("gom-deva", {
                    months: {
                         standalone: "जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),
                         format: "जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या".split("_"),
                         isFormat: /MMMM(\s)+D[oD]?/,
                    },
                    monthsShort: "जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार".split("_"),
                    weekdaysShort: "आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.".split("_"),
                    weekdaysMin: "आ_सो_मं_बु_ब्रे_सु_शे".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: {
                         LT: "A h:mm [वाजतां]",
                         LTS: "A h:mm:ss [वाजतां]",
                         L: "DD-MM-YYYY",
                         LL: "D MMMM YYYY",
                         LLL: "D MMMM YYYY A h:mm [वाजतां]",
                         LLLL: "dddd, MMMM Do, YYYY, A h:mm [वाजतां]",
                         llll: "ddd, D MMM YYYY, A h:mm [वाजतां]",
                    },
                    calendar: { sameDay: "[आयज] LT", nextDay: "[फाल्यां] LT", nextWeek: "[फुडलो] dddd[,] LT", lastDay: "[काल] LT", lastWeek: "[फाटलो] dddd[,] LT", sameElse: "L" },
                    relativeTime: { future: "%s", past: "%s आदीं", s: e, ss: e, m: e, mm: e, h: e, hh: e, d: e, dd: e, M: e, MM: e, y: e, yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2}(वेर)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "D":
                                   return t + "वेर";
                              default:
                              case "M":
                              case "Q":
                              case "DDD":
                              case "d":
                              case "w":
                              case "W":
                                   return t;
                         }
                    },
                    week: { dow: 1, doy: 4 },
                    meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "राती" === e ? (t < 4 ? t : t + 12) : "सकाळीं" === e ? t : "दनपारां" === e ? (t > 12 ? t : t + 12) : "सांजे" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "राती" : t < 12 ? "सकाळीं" : t < 16 ? "दनपारां" : t < 20 ? "सांजे" : "राती";
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i, n) {
                    var r = {
                         s: ["thoddea sekondamni", "thodde sekond"],
                         ss: [t + " sekondamni", t + " sekond"],
                         m: ["eka mintan", "ek minut"],
                         mm: [t + " mintamni", t + " mintam"],
                         h: ["eka voran", "ek vor"],
                         hh: [t + " voramni", t + " voram"],
                         d: ["eka disan", "ek dis"],
                         dd: [t + " disamni", t + " dis"],
                         M: ["eka mhoinean", "ek mhoino"],
                         MM: [t + " mhoineamni", t + " mhoine"],
                         y: ["eka vorsan", "ek voros"],
                         yy: [t + " vorsamni", t + " vorsam"],
                    };
                    return n ? r[i][0] : r[i][1];
               }
               t.defineLocale("gom-latn", {
                    months: {
                         standalone: "Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),
                         format: "Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),
                         isFormat: /MMMM(\s)+D[oD]?/,
                    },
                    monthsShort: "Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),
                    weekdaysShort: "Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),
                    weekdaysMin: "Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: {
                         LT: "A h:mm [vazta]",
                         LTS: "A h:mm:ss [vazta]",
                         L: "DD-MM-YYYY",
                         LL: "D MMMM YYYY",
                         LLL: "D MMMM YYYY A h:mm [vazta]",
                         LLLL: "dddd, MMMM Do, YYYY, A h:mm [vazta]",
                         llll: "ddd, D MMM YYYY, A h:mm [vazta]",
                    },
                    calendar: { sameDay: "[Aiz] LT", nextDay: "[Faleam] LT", nextWeek: "[Fuddlo] dddd[,] LT", lastDay: "[Kal] LT", lastWeek: "[Fattlo] dddd[,] LT", sameElse: "L" },
                    relativeTime: { future: "%s", past: "%s adim", s: e, ss: e, m: e, mm: e, h: e, hh: e, d: e, dd: e, M: e, MM: e, y: e, yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2}(er)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "D":
                                   return t + "er";
                              default:
                              case "M":
                              case "Q":
                              case "DDD":
                              case "d":
                              case "w":
                              case "W":
                                   return t;
                         }
                    },
                    week: { dow: 1, doy: 4 },
                    meridiemParse: /rati|sokallim|donparam|sanje/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "rati" === e ? (t < 4 ? t : t + 12) : "sokallim" === e ? t : "donparam" === e ? (t > 12 ? t : t + 12) : "sanje" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "rati" : t < 12 ? "sokallim" : t < 16 ? "donparam" : t < 20 ? "sanje" : "rati";
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "૧", 2: "૨", 3: "૩", 4: "૪", 5: "૫", 6: "૬", 7: "૭", 8: "૮", 9: "૯", 0: "૦" },
                    i = { "૧": "1", "૨": "2", "૩": "3", "૪": "4", "૫": "5", "૬": "6", "૭": "7", "૮": "8", "૯": "9", "૦": "0" };
               t.defineLocale("gu", {
                    months: "જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),
                    monthsShort: "જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),
                    weekdaysShort: "રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),
                    weekdaysMin: "ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),
                    longDateFormat: { LT: "A h:mm વાગ્યે", LTS: "A h:mm:ss વાગ્યે", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, A h:mm વાગ્યે", LLLL: "dddd, D MMMM YYYY, A h:mm વાગ્યે" },
                    calendar: { sameDay: "[આજ] LT", nextDay: "[કાલે] LT", nextWeek: "dddd, LT", lastDay: "[ગઇકાલે] LT", lastWeek: "[પાછલા] dddd, LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s મા",
                         past: "%s પેહલા",
                         s: "અમુક પળો",
                         ss: "%d સેકંડ",
                         m: "એક મિનિટ",
                         mm: "%d મિનિટ",
                         h: "એક કલાક",
                         hh: "%d કલાક",
                         d: "એક દિવસ",
                         dd: "%d દિવસ",
                         M: "એક મહિનો",
                         MM: "%d મહિનો",
                         y: "એક વર્ષ",
                         yy: "%d વર્ષ",
                    },
                    preparse: function (t) {
                         return t.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "રાત" === e ? (t < 4 ? t : t + 12) : "સવાર" === e ? t : "બપોર" === e ? (t >= 10 ? t : t + 12) : "સાંજ" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "રાત" : t < 10 ? "સવાર" : t < 17 ? "બપોર" : t < 20 ? "સાંજ" : "રાત";
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("he", {
                    months: "ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),
                    monthsShort: "ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),
                    weekdays: "ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),
                    weekdaysShort: "א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),
                    weekdaysMin: "א_ב_ג_ד_ה_ו_ש".split("_"),
                    longDateFormat: {
                         LT: "HH:mm",
                         LTS: "HH:mm:ss",
                         L: "DD/MM/YYYY",
                         LL: "D [ב]MMMM YYYY",
                         LLL: "D [ב]MMMM YYYY HH:mm",
                         LLLL: "dddd, D [ב]MMMM YYYY HH:mm",
                         l: "D/M/YYYY",
                         ll: "D MMM YYYY",
                         lll: "D MMM YYYY HH:mm",
                         llll: "ddd, D MMM YYYY HH:mm",
                    },
                    calendar: { sameDay: "[היום ב־]LT", nextDay: "[מחר ב־]LT", nextWeek: "dddd [בשעה] LT", lastDay: "[אתמול ב־]LT", lastWeek: "[ביום] dddd [האחרון בשעה] LT", sameElse: "L" },
                    relativeTime: {
                         future: "בעוד %s",
                         past: "לפני %s",
                         s: "מספר שניות",
                         ss: "%d שניות",
                         m: "דקה",
                         mm: "%d דקות",
                         h: "שעה",
                         hh: function (t) {
                              return 2 === t ? "שעתיים" : t + " שעות";
                         },
                         d: "יום",
                         dd: function (t) {
                              return 2 === t ? "יומיים" : t + " ימים";
                         },
                         M: "חודש",
                         MM: function (t) {
                              return 2 === t ? "חודשיים" : t + " חודשים";
                         },
                         y: "שנה",
                         yy: function (t) {
                              return 2 === t ? "שנתיים" : t % 10 == 0 && 10 !== t ? t + " שנה" : t + " שנים";
                         },
                    },
                    meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
                    isPM: function (t) {
                         return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(t);
                    },
                    meridiem: function (t, e, i) {
                         return t < 5 ? "לפנות בוקר" : t < 10 ? "בבוקר" : t < 12 ? (i ? 'לפנה"צ' : "לפני הצהריים") : t < 18 ? (i ? 'אחה"צ' : "אחרי הצהריים") : "בערב";
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "१", 2: "२", 3: "३", 4: "४", 5: "५", 6: "६", 7: "७", 8: "८", 9: "९", 0: "०" },
                    i = { "१": "1", "२": "2", "३": "3", "४": "4", "५": "5", "६": "6", "७": "7", "८": "8", "९": "9", "०": "0" };
               t.defineLocale("hi", {
                    months: "जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),
                    monthsShort: "जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),
                    weekdaysShort: "रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),
                    weekdaysMin: "र_सो_मं_बु_गु_शु_श".split("_"),
                    longDateFormat: { LT: "A h:mm बजे", LTS: "A h:mm:ss बजे", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, A h:mm बजे", LLLL: "dddd, D MMMM YYYY, A h:mm बजे" },
                    calendar: { sameDay: "[आज] LT", nextDay: "[कल] LT", nextWeek: "dddd, LT", lastDay: "[कल] LT", lastWeek: "[पिछले] dddd, LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s में",
                         past: "%s पहले",
                         s: "कुछ ही क्षण",
                         ss: "%d सेकंड",
                         m: "एक मिनट",
                         mm: "%d मिनट",
                         h: "एक घंटा",
                         hh: "%d घंटे",
                         d: "एक दिन",
                         dd: "%d दिन",
                         M: "एक महीने",
                         MM: "%d महीने",
                         y: "एक वर्ष",
                         yy: "%d वर्ष",
                    },
                    preparse: function (t) {
                         return t.replace(/[१२३४५६७८९०]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    meridiemParse: /रात|सुबह|दोपहर|शाम/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "रात" === e ? (t < 4 ? t : t + 12) : "सुबह" === e ? t : "दोपहर" === e ? (t >= 10 ? t : t + 12) : "शाम" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "रात" : t < 10 ? "सुबह" : t < 17 ? "दोपहर" : t < 20 ? "शाम" : "रात";
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i) {
                    var n = t + " ";
                    switch (i) {
                         case "ss":
                              return (n += 1 === t ? "sekunda" : 2 === t || 3 === t || 4 === t ? "sekunde" : "sekundi");
                         case "m":
                              return e ? "jedna minuta" : "jedne minute";
                         case "mm":
                              return (n += 1 === t ? "minuta" : 2 === t || 3 === t || 4 === t ? "minute" : "minuta");
                         case "h":
                              return e ? "jedan sat" : "jednog sata";
                         case "hh":
                              return (n += 1 === t ? "sat" : 2 === t || 3 === t || 4 === t ? "sata" : "sati");
                         case "dd":
                              return (n += 1 === t ? "dan" : "dana");
                         case "MM":
                              return (n += 1 === t ? "mjesec" : 2 === t || 3 === t || 4 === t ? "mjeseca" : "mjeseci");
                         case "yy":
                              return (n += 1 === t ? "godina" : 2 === t || 3 === t || 4 === t ? "godine" : "godina");
                    }
               }
               t.defineLocale("hr", {
                    months: {
                         format: "siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),
                         standalone: "siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_"),
                    },
                    monthsShort: "sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),
                    weekdaysShort: "ned._pon._uto._sri._čet._pet._sub.".split("_"),
                    weekdaysMin: "ne_po_ut_sr_če_pe_su".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "Do MMMM YYYY", LLL: "Do MMMM YYYY H:mm", LLLL: "dddd, Do MMMM YYYY H:mm" },
                    calendar: {
                         sameDay: "[danas u] LT",
                         nextDay: "[sutra u] LT",
                         nextWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[u] [nedjelju] [u] LT";
                                   case 3:
                                        return "[u] [srijedu] [u] LT";
                                   case 6:
                                        return "[u] [subotu] [u] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[u] dddd [u] LT";
                              }
                         },
                         lastDay: "[jučer u] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[prošlu] [nedjelju] [u] LT";
                                   case 3:
                                        return "[prošlu] [srijedu] [u] LT";
                                   case 6:
                                        return "[prošle] [subote] [u] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[prošli] dddd [u] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "za %s", past: "prije %s", s: "par sekundi", ss: e, m: e, mm: e, h: e, hh: e, d: "dan", dd: e, M: "mjesec", MM: e, y: "godinu", yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");
               function i(t, e, i, n) {
                    var r = t;
                    switch (i) {
                         case "s":
                              return n || e ? "néhány másodperc" : "néhány másodperce";
                         case "ss":
                              return r + (n || e) ? " másodperc" : " másodperce";
                         case "m":
                              return "egy" + (n || e ? " perc" : " perce");
                         case "mm":
                              return r + (n || e ? " perc" : " perce");
                         case "h":
                              return "egy" + (n || e ? " óra" : " órája");
                         case "hh":
                              return r + (n || e ? " óra" : " órája");
                         case "d":
                              return "egy" + (n || e ? " nap" : " napja");
                         case "dd":
                              return r + (n || e ? " nap" : " napja");
                         case "M":
                              return "egy" + (n || e ? " hónap" : " hónapja");
                         case "MM":
                              return r + (n || e ? " hónap" : " hónapja");
                         case "y":
                              return "egy" + (n || e ? " év" : " éve");
                         case "yy":
                              return r + (n || e ? " év" : " éve");
                    }
                    return "";
               }
               function n(t) {
                    return (t ? "" : "[múlt] ") + "[" + e[this.day()] + "] LT[-kor]";
               }
               t.defineLocale("hu", {
                    months: "január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),
                    monthsShort: "jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),
                    weekdays: "vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),
                    weekdaysShort: "vas_hét_kedd_sze_csüt_pén_szo".split("_"),
                    weekdaysMin: "v_h_k_sze_cs_p_szo".split("_"),
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "YYYY.MM.DD.", LL: "YYYY. MMMM D.", LLL: "YYYY. MMMM D. H:mm", LLLL: "YYYY. MMMM D., dddd H:mm" },
                    meridiemParse: /de|du/i,
                    isPM: function (t) {
                         return "u" === t.charAt(1).toLowerCase();
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? (!0 === i ? "de" : "DE") : !0 === i ? "du" : "DU";
                    },
                    calendar: {
                         sameDay: "[ma] LT[-kor]",
                         nextDay: "[holnap] LT[-kor]",
                         nextWeek: function () {
                              return n.call(this, !0);
                         },
                         lastDay: "[tegnap] LT[-kor]",
                         lastWeek: function () {
                              return n.call(this, !1);
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "%s múlva", past: "%s", s: i, ss: i, m: i, mm: i, h: i, hh: i, d: i, dd: i, M: i, MM: i, y: i, yy: i },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("hy-am", {
                    months: {
                         format: "հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),
                         standalone: "հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_"),
                    },
                    monthsShort: "հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),
                    weekdays: "կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),
                    weekdaysShort: "կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),
                    weekdaysMin: "կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY թ.", LLL: "D MMMM YYYY թ., HH:mm", LLLL: "dddd, D MMMM YYYY թ., HH:mm" },
                    calendar: {
                         sameDay: "[այսօր] LT",
                         nextDay: "[վաղը] LT",
                         lastDay: "[երեկ] LT",
                         nextWeek: function () {
                              return "dddd [օրը ժամը] LT";
                         },
                         lastWeek: function () {
                              return "[անցած] dddd [օրը ժամը] LT";
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "%s հետո", past: "%s առաջ", s: "մի քանի վայրկյան", ss: "%d վայրկյան", m: "րոպե", mm: "%d րոպե", h: "ժամ", hh: "%d ժամ", d: "օր", dd: "%d օր", M: "ամիս", MM: "%d ամիս", y: "տարի", yy: "%d տարի" },
                    meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
                    isPM: function (t) {
                         return /^(ցերեկվա|երեկոյան)$/.test(t);
                    },
                    meridiem: function (t) {
                         return t < 4 ? "գիշերվա" : t < 12 ? "առավոտվա" : t < 17 ? "ցերեկվա" : "երեկոյան";
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "DDD":
                              case "w":
                              case "W":
                              case "DDDo":
                                   return 1 === t ? t + "-ին" : t + "-րդ";
                              default:
                                   return t;
                         }
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("id", {
                    months: "Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),
                    monthsShort: "Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),
                    weekdays: "Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),
                    weekdaysShort: "Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),
                    weekdaysMin: "Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),
                    longDateFormat: { LT: "HH.mm", LTS: "HH.mm.ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY [pukul] HH.mm", LLLL: "dddd, D MMMM YYYY [pukul] HH.mm" },
                    meridiemParse: /pagi|siang|sore|malam/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "pagi" === e ? t : "siang" === e ? (t >= 11 ? t : t + 12) : "sore" === e || "malam" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 11 ? "pagi" : t < 15 ? "siang" : t < 19 ? "sore" : "malam";
                    },
                    calendar: { sameDay: "[Hari ini pukul] LT", nextDay: "[Besok pukul] LT", nextWeek: "dddd [pukul] LT", lastDay: "[Kemarin pukul] LT", lastWeek: "dddd [lalu pukul] LT", sameElse: "L" },
                    relativeTime: {
                         future: "dalam %s",
                         past: "%s yang lalu",
                         s: "beberapa detik",
                         ss: "%d detik",
                         m: "semenit",
                         mm: "%d menit",
                         h: "sejam",
                         hh: "%d jam",
                         d: "sehari",
                         dd: "%d hari",
                         M: "sebulan",
                         MM: "%d bulan",
                         y: "setahun",
                         yy: "%d tahun",
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t) {
                    return t % 100 == 11 || t % 10 != 1;
               }
               function i(t, i, n, r) {
                    var o = t + " ";
                    switch (n) {
                         case "s":
                              return i || r ? "nokkrar sekúndur" : "nokkrum sekúndum";
                         case "ss":
                              return e(t) ? o + (i || r ? "sekúndur" : "sekúndum") : o + "sekúnda";
                         case "m":
                              return i ? "mínúta" : "mínútu";
                         case "mm":
                              return e(t) ? o + (i || r ? "mínútur" : "mínútum") : i ? o + "mínúta" : o + "mínútu";
                         case "hh":
                              return e(t) ? o + (i || r ? "klukkustundir" : "klukkustundum") : o + "klukkustund";
                         case "d":
                              return i ? "dagur" : r ? "dag" : "degi";
                         case "dd":
                              return e(t) ? (i ? o + "dagar" : o + (r ? "daga" : "dögum")) : i ? o + "dagur" : o + (r ? "dag" : "degi");
                         case "M":
                              return i ? "mánuður" : r ? "mánuð" : "mánuði";
                         case "MM":
                              return e(t) ? (i ? o + "mánuðir" : o + (r ? "mánuði" : "mánuðum")) : i ? o + "mánuður" : o + (r ? "mánuð" : "mánuði");
                         case "y":
                              return i || r ? "ár" : "ári";
                         case "yy":
                              return e(t) ? o + (i || r ? "ár" : "árum") : o + (i || r ? "ár" : "ári");
                    }
               }
               t.defineLocale("is", {
                    months: "janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),
                    monthsShort: "jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),
                    weekdays: "sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),
                    weekdaysShort: "sun_mán_þri_mið_fim_fös_lau".split("_"),
                    weekdaysMin: "Su_Má_Þr_Mi_Fi_Fö_La".split("_"),
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY [kl.] H:mm", LLLL: "dddd, D. MMMM YYYY [kl.] H:mm" },
                    calendar: { sameDay: "[í dag kl.] LT", nextDay: "[á morgun kl.] LT", nextWeek: "dddd [kl.] LT", lastDay: "[í gær kl.] LT", lastWeek: "[síðasta] dddd [kl.] LT", sameElse: "L" },
                    relativeTime: { future: "eftir %s", past: "fyrir %s síðan", s: i, ss: i, m: i, mm: i, h: "klukkustund", hh: i, d: i, dd: i, M: i, MM: i, y: i, yy: i },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("it", {
                    months: "gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),
                    monthsShort: "gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),
                    weekdays: "domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),
                    weekdaysShort: "dom_lun_mar_mer_gio_ven_sab".split("_"),
                    weekdaysMin: "do_lu_ma_me_gi_ve_sa".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: {
                         sameDay: function () {
                              return "[Oggi a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "ll'") + "]LT";
                         },
                         nextDay: function () {
                              return "[Domani a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "ll'") + "]LT";
                         },
                         nextWeek: function () {
                              return "dddd [a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "ll'") + "]LT";
                         },
                         lastDay: function () {
                              return "[Ieri a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "ll'") + "]LT";
                         },
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[La scorsa] dddd [a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "ll'") + "]LT";
                                   default:
                                        return "[Lo scorso] dddd [a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "ll'") + "]LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: function (t) {
                              return (/^[0-9].+$/.test(t) ? "tra" : "in") + " " + t;
                         },
                         past: "%s fa",
                         s: "alcuni secondi",
                         ss: "%d secondi",
                         m: "un minuto",
                         mm: "%d minuti",
                         h: "un'ora",
                         hh: "%d ore",
                         d: "un giorno",
                         dd: "%d giorni",
                         M: "un mese",
                         MM: "%d mesi",
                         y: "un anno",
                         yy: "%d anni",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}º/,
                    ordinal: "%dº",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("it-ch", {
                    months: "gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),
                    monthsShort: "gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),
                    weekdays: "domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),
                    weekdaysShort: "dom_lun_mar_mer_gio_ven_sab".split("_"),
                    weekdaysMin: "do_lu_ma_me_gi_ve_sa".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: {
                         sameDay: "[Oggi alle] LT",
                         nextDay: "[Domani alle] LT",
                         nextWeek: "dddd [alle] LT",
                         lastDay: "[Ieri alle] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[la scorsa] dddd [alle] LT";
                                   default:
                                        return "[lo scorso] dddd [alle] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: function (t) {
                              return (/^[0-9].+$/.test(t) ? "tra" : "in") + " " + t;
                         },
                         past: "%s fa",
                         s: "alcuni secondi",
                         ss: "%d secondi",
                         m: "un minuto",
                         mm: "%d minuti",
                         h: "un'ora",
                         hh: "%d ore",
                         d: "un giorno",
                         dd: "%d giorni",
                         M: "un mese",
                         MM: "%d mesi",
                         y: "un anno",
                         yy: "%d anni",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}º/,
                    ordinal: "%dº",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ja", {
                    eras: [
                         { since: "2019-05-01", offset: 1, name: "令和", narrow: "㋿", abbr: "R" },
                         { since: "1989-01-08", until: "2019-04-30", offset: 1, name: "平成", narrow: "㍻", abbr: "H" },
                         { since: "1926-12-25", until: "1989-01-07", offset: 1, name: "昭和", narrow: "㍼", abbr: "S" },
                         { since: "1912-07-30", until: "1926-12-24", offset: 1, name: "大正", narrow: "㍽", abbr: "T" },
                         { since: "1873-01-01", until: "1912-07-29", offset: 6, name: "明治", narrow: "㍾", abbr: "M" },
                         { since: "0001-01-01", until: "1873-12-31", offset: 1, name: "西暦", narrow: "AD", abbr: "AD" },
                         { since: "0000-12-31", until: -1 / 0, offset: 1, name: "紀元前", narrow: "BC", abbr: "BC" },
                    ],
                    eraYearOrdinalRegex: /(元|\d+)年/,
                    eraYearOrdinalParse: function (t, e) {
                         return "元" === e[1] ? 1 : parseInt(e[1] || t, 10);
                    },
                    months: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
                    monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
                    weekdays: "日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),
                    weekdaysShort: "日_月_火_水_木_金_土".split("_"),
                    weekdaysMin: "日_月_火_水_木_金_土".split("_"),
                    longDateFormat: {
                         LT: "HH:mm",
                         LTS: "HH:mm:ss",
                         L: "YYYY/MM/DD",
                         LL: "YYYY年M月D日",
                         LLL: "YYYY年M月D日 HH:mm",
                         LLLL: "YYYY年M月D日 dddd HH:mm",
                         l: "YYYY/MM/DD",
                         ll: "YYYY年M月D日",
                         lll: "YYYY年M月D日 HH:mm",
                         llll: "YYYY年M月D日(ddd) HH:mm",
                    },
                    meridiemParse: /午前|午後/i,
                    isPM: function (t) {
                         return "午後" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "午前" : "午後";
                    },
                    calendar: {
                         sameDay: "[今日] LT",
                         nextDay: "[明日] LT",
                         nextWeek: function (t) {
                              return t.week() !== this.week() ? "[来週]dddd LT" : "dddd LT";
                         },
                         lastDay: "[昨日] LT",
                         lastWeek: function (t) {
                              return this.week() !== t.week() ? "[先週]dddd LT" : "dddd LT";
                         },
                         sameElse: "L",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}日/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "y":
                                   return 1 === t ? "元年" : t + "年";
                              case "d":
                              case "D":
                              case "DDD":
                                   return t + "日";
                              default:
                                   return t;
                         }
                    },
                    relativeTime: { future: "%s後", past: "%s前", s: "数秒", ss: "%d秒", m: "1分", mm: "%d分", h: "1時間", hh: "%d時間", d: "1日", dd: "%d日", M: "1ヶ月", MM: "%dヶ月", y: "1年", yy: "%d年" },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("jv", {
                    months: "Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),
                    monthsShort: "Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),
                    weekdays: "Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),
                    weekdaysShort: "Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),
                    weekdaysMin: "Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),
                    longDateFormat: { LT: "HH.mm", LTS: "HH.mm.ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY [pukul] HH.mm", LLLL: "dddd, D MMMM YYYY [pukul] HH.mm" },
                    meridiemParse: /enjing|siyang|sonten|ndalu/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "enjing" === e ? t : "siyang" === e ? (t >= 11 ? t : t + 12) : "sonten" === e || "ndalu" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 11 ? "enjing" : t < 15 ? "siyang" : t < 19 ? "sonten" : "ndalu";
                    },
                    calendar: { sameDay: "[Dinten puniko pukul] LT", nextDay: "[Mbenjang pukul] LT", nextWeek: "dddd [pukul] LT", lastDay: "[Kala wingi pukul] LT", lastWeek: "dddd [kepengker pukul] LT", sameElse: "L" },
                    relativeTime: {
                         future: "wonten ing %s",
                         past: "%s ingkang kepengker",
                         s: "sawetawis detik",
                         ss: "%d detik",
                         m: "setunggal menit",
                         mm: "%d menit",
                         h: "setunggal jam",
                         hh: "%d jam",
                         d: "sedinten",
                         dd: "%d dinten",
                         M: "sewulan",
                         MM: "%d wulan",
                         y: "setaun",
                         yy: "%d taun",
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ka", {
                    months: "იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),
                    monthsShort: "იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),
                    weekdays: { standalone: "კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"), format: "კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"), isFormat: /(წინა|შემდეგ)/ },
                    weekdaysShort: "კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),
                    weekdaysMin: "კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[დღეს] LT[-ზე]", nextDay: "[ხვალ] LT[-ზე]", lastDay: "[გუშინ] LT[-ზე]", nextWeek: "[შემდეგ] dddd LT[-ზე]", lastWeek: "[წინა] dddd LT-ზე", sameElse: "L" },
                    relativeTime: {
                         future: function (t) {
                              return t.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (t, e, i) {
                                   return "ი" === i ? e + "ში" : e + i + "ში";
                              });
                         },
                         past: function (t) {
                              return /(წამი|წუთი|საათი|დღე|თვე)/.test(t) ? t.replace(/(ი|ე)$/, "ის წინ") : /წელი/.test(t) ? t.replace(/წელი$/, "წლის წინ") : t;
                         },
                         s: "რამდენიმე წამი",
                         ss: "%d წამი",
                         m: "წუთი",
                         mm: "%d წუთი",
                         h: "საათი",
                         hh: "%d საათი",
                         d: "დღე",
                         dd: "%d დღე",
                         M: "თვე",
                         MM: "%d თვე",
                         y: "წელი",
                         yy: "%d წელი",
                    },
                    dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
                    ordinal: function (t) {
                         return 0 === t ? t : 1 === t ? t + "-ლი" : t < 20 || (t <= 100 && t % 20 == 0) || t % 100 == 0 ? "მე-" + t : t + "-ე";
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 0: "-ші", 1: "-ші", 2: "-ші", 3: "-ші", 4: "-ші", 5: "-ші", 6: "-шы", 7: "-ші", 8: "-ші", 9: "-шы", 10: "-шы", 20: "-шы", 30: "-шы", 40: "-шы", 50: "-ші", 60: "-шы", 70: "-ші", 80: "-ші", 90: "-шы", 100: "-ші" };
               t.defineLocale("kk", {
                    months: "қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),
                    monthsShort: "қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),
                    weekdays: "жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),
                    weekdaysShort: "жек_дүй_сей_сәр_бей_жұм_сен".split("_"),
                    weekdaysMin: "жк_дй_сй_ср_бй_жм_сн".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Бүгін сағат] LT", nextDay: "[Ертең сағат] LT", nextWeek: "dddd [сағат] LT", lastDay: "[Кеше сағат] LT", lastWeek: "[Өткен аптаның] dddd [сағат] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s ішінде",
                         past: "%s бұрын",
                         s: "бірнеше секунд",
                         ss: "%d секунд",
                         m: "бір минут",
                         mm: "%d минут",
                         h: "бір сағат",
                         hh: "%d сағат",
                         d: "бір күн",
                         dd: "%d күн",
                         M: "бір ай",
                         MM: "%d ай",
                         y: "бір жыл",
                         yy: "%d жыл",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
                    ordinal: function (t) {
                         return t + (e[t] || e[t % 10] || e[t >= 100 ? 100 : null]);
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "១", 2: "២", 3: "៣", 4: "៤", 5: "៥", 6: "៦", 7: "៧", 8: "៨", 9: "៩", 0: "០" },
                    i = { "១": "1", "២": "2", "៣": "3", "៤": "4", "៥": "5", "៦": "6", "៧": "7", "៨": "8", "៩": "9", "០": "0" };
               t.defineLocale("km", {
                    months: "មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),
                    monthsShort: "មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),
                    weekdays: "អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),
                    weekdaysShort: "អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),
                    weekdaysMin: "អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    meridiemParse: /ព្រឹក|ល្ងាច/,
                    isPM: function (t) {
                         return "ល្ងាច" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "ព្រឹក" : "ល្ងាច";
                    },
                    calendar: { sameDay: "[ថ្ងៃនេះ ម៉ោង] LT", nextDay: "[ស្អែក ម៉ោង] LT", nextWeek: "dddd [ម៉ោង] LT", lastDay: "[ម្សិលមិញ ម៉ោង] LT", lastWeek: "dddd [សប្តាហ៍មុន] [ម៉ោង] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%sទៀត",
                         past: "%sមុន",
                         s: "ប៉ុន្មានវិនាទី",
                         ss: "%d វិនាទី",
                         m: "មួយនាទី",
                         mm: "%d នាទី",
                         h: "មួយម៉ោង",
                         hh: "%d ម៉ោង",
                         d: "មួយថ្ងៃ",
                         dd: "%d ថ្ងៃ",
                         M: "មួយខែ",
                         MM: "%d ខែ",
                         y: "មួយឆ្នាំ",
                         yy: "%d ឆ្នាំ",
                    },
                    dayOfMonthOrdinalParse: /ទី\d{1,2}/,
                    ordinal: "ទី%d",
                    preparse: function (t) {
                         return t.replace(/[១២៣៤៥៦៧៨៩០]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "೧", 2: "೨", 3: "೩", 4: "೪", 5: "೫", 6: "೬", 7: "೭", 8: "೮", 9: "೯", 0: "೦" },
                    i = { "೧": "1", "೨": "2", "೩": "3", "೪": "4", "೫": "5", "೬": "6", "೭": "7", "೮": "8", "೯": "9", "೦": "0" };
               t.defineLocale("kn", {
                    months: "ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),
                    monthsShort: "ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),
                    monthsParseExact: !0,
                    weekdays: "ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),
                    weekdaysShort: "ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),
                    weekdaysMin: "ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),
                    longDateFormat: { LT: "A h:mm", LTS: "A h:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, A h:mm", LLLL: "dddd, D MMMM YYYY, A h:mm" },
                    calendar: { sameDay: "[ಇಂದು] LT", nextDay: "[ನಾಳೆ] LT", nextWeek: "dddd, LT", lastDay: "[ನಿನ್ನೆ] LT", lastWeek: "[ಕೊನೆಯ] dddd, LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s ನಂತರ",
                         past: "%s ಹಿಂದೆ",
                         s: "ಕೆಲವು ಕ್ಷಣಗಳು",
                         ss: "%d ಸೆಕೆಂಡುಗಳು",
                         m: "ಒಂದು ನಿಮಿಷ",
                         mm: "%d ನಿಮಿಷ",
                         h: "ಒಂದು ಗಂಟೆ",
                         hh: "%d ಗಂಟೆ",
                         d: "ಒಂದು ದಿನ",
                         dd: "%d ದಿನ",
                         M: "ಒಂದು ತಿಂಗಳು",
                         MM: "%d ತಿಂಗಳು",
                         y: "ಒಂದು ವರ್ಷ",
                         yy: "%d ವರ್ಷ",
                    },
                    preparse: function (t) {
                         return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "ರಾತ್ರಿ" === e ? (t < 4 ? t : t + 12) : "ಬೆಳಿಗ್ಗೆ" === e ? t : "ಮಧ್ಯಾಹ್ನ" === e ? (t >= 10 ? t : t + 12) : "ಸಂಜೆ" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "ರಾತ್ರಿ" : t < 10 ? "ಬೆಳಿಗ್ಗೆ" : t < 17 ? "ಮಧ್ಯಾಹ್ನ" : t < 20 ? "ಸಂಜೆ" : "ರಾತ್ರಿ";
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
                    ordinal: function (t) {
                         return t + "ನೇ";
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ko", {
                    months: "1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),
                    monthsShort: "1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),
                    weekdays: "일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),
                    weekdaysShort: "일_월_화_수_목_금_토".split("_"),
                    weekdaysMin: "일_월_화_수_목_금_토".split("_"),
                    longDateFormat: {
                         LT: "A h:mm",
                         LTS: "A h:mm:ss",
                         L: "YYYY.MM.DD.",
                         LL: "YYYY년 MMMM D일",
                         LLL: "YYYY년 MMMM D일 A h:mm",
                         LLLL: "YYYY년 MMMM D일 dddd A h:mm",
                         l: "YYYY.MM.DD.",
                         ll: "YYYY년 MMMM D일",
                         lll: "YYYY년 MMMM D일 A h:mm",
                         llll: "YYYY년 MMMM D일 dddd A h:mm",
                    },
                    calendar: { sameDay: "오늘 LT", nextDay: "내일 LT", nextWeek: "dddd LT", lastDay: "어제 LT", lastWeek: "지난주 dddd LT", sameElse: "L" },
                    relativeTime: { future: "%s 후", past: "%s 전", s: "몇 초", ss: "%d초", m: "1분", mm: "%d분", h: "한 시간", hh: "%d시간", d: "하루", dd: "%d일", M: "한 달", MM: "%d달", y: "일 년", yy: "%d년" },
                    dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "d":
                              case "D":
                              case "DDD":
                                   return t + "일";
                              case "M":
                                   return t + "월";
                              case "w":
                              case "W":
                                   return t + "주";
                              default:
                                   return t;
                         }
                    },
                    meridiemParse: /오전|오후/,
                    isPM: function (t) {
                         return "오후" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "오전" : "오후";
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "١", 2: "٢", 3: "٣", 4: "٤", 5: "٥", 6: "٦", 7: "٧", 8: "٨", 9: "٩", 0: "٠" },
                    i = { "١": "1", "٢": "2", "٣": "3", "٤": "4", "٥": "5", "٦": "6", "٧": "7", "٨": "8", "٩": "9", "٠": "0" },
                    n = ["کانونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمموز", "ئاب", "ئەیلوول", "تشرینی یەكەم", "تشرینی دووەم", "كانونی یەکەم"];
               t.defineLocale("ku", {
                    months: n,
                    monthsShort: n,
                    weekdays: "یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌".split("_"),
                    weekdaysShort: "یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌".split("_"),
                    weekdaysMin: "ی_د_س_چ_پ_ه_ش".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    meridiemParse: /ئێواره‌|به‌یانی/,
                    isPM: function (t) {
                         return /ئێواره‌/.test(t);
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "به‌یانی" : "ئێواره‌";
                    },
                    calendar: { sameDay: "[ئه‌مرۆ كاتژمێر] LT", nextDay: "[به‌یانی كاتژمێر] LT", nextWeek: "dddd [كاتژمێر] LT", lastDay: "[دوێنێ كاتژمێر] LT", lastWeek: "dddd [كاتژمێر] LT", sameElse: "L" },
                    relativeTime: {
                         future: "له‌ %s",
                         past: "%s",
                         s: "چه‌ند چركه‌یه‌ك",
                         ss: "چركه‌ %d",
                         m: "یه‌ك خوله‌ك",
                         mm: "%d خوله‌ك",
                         h: "یه‌ك كاتژمێر",
                         hh: "%d كاتژمێر",
                         d: "یه‌ك ڕۆژ",
                         dd: "%d ڕۆژ",
                         M: "یه‌ك مانگ",
                         MM: "%d مانگ",
                         y: "یه‌ك ساڵ",
                         yy: "%d ساڵ",
                    },
                    preparse: function (t) {
                         return t
                              .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (t) {
                                   return i[t];
                              })
                              .replace(/،/g, ",");
                    },
                    postformat: function (t) {
                         return t
                              .replace(/\d/g, function (t) {
                                   return e[t];
                              })
                              .replace(/,/g, "،");
                    },
                    week: { dow: 6, doy: 12 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 0: "-чү", 1: "-чи", 2: "-чи", 3: "-чү", 4: "-чү", 5: "-чи", 6: "-чы", 7: "-чи", 8: "-чи", 9: "-чу", 10: "-чу", 20: "-чы", 30: "-чу", 40: "-чы", 50: "-чү", 60: "-чы", 70: "-чи", 80: "-чи", 90: "-чу", 100: "-чү" };
               t.defineLocale("ky", {
                    months: "январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),
                    monthsShort: "янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),
                    weekdays: "Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),
                    weekdaysShort: "Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),
                    weekdaysMin: "Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Бүгүн саат] LT", nextDay: "[Эртең саат] LT", nextWeek: "dddd [саат] LT", lastDay: "[Кечээ саат] LT", lastWeek: "[Өткөн аптанын] dddd [күнү] [саат] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s ичинде",
                         past: "%s мурун",
                         s: "бирнече секунд",
                         ss: "%d секунд",
                         m: "бир мүнөт",
                         mm: "%d мүнөт",
                         h: "бир саат",
                         hh: "%d саат",
                         d: "бир күн",
                         dd: "%d күн",
                         M: "бир ай",
                         MM: "%d ай",
                         y: "бир жыл",
                         yy: "%d жыл",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
                    ordinal: function (t) {
                         return t + (e[t] || e[t % 10] || e[t >= 100 ? 100 : null]);
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i, n) {
                    var r = { m: ["eng Minutt", "enger Minutt"], h: ["eng Stonn", "enger Stonn"], d: ["een Dag", "engem Dag"], M: ["ee Mount", "engem Mount"], y: ["ee Joer", "engem Joer"] };
                    return e ? r[i][0] : r[i][1];
               }
               function i(t) {
                    if (((t = parseInt(t, 10)), isNaN(t))) return !1;
                    if (t < 0) return !0;
                    if (t < 10) return 4 <= t && t <= 7;
                    if (t < 100) {
                         var e = t % 10;
                         return i(0 === e ? t / 10 : e);
                    }
                    if (t < 1e4) {
                         for (; t >= 10; ) t /= 10;
                         return i(t);
                    }
                    return i((t /= 1e3));
               }
               t.defineLocale("lb", {
                    months: "Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
                    monthsShort: "Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),
                    weekdaysShort: "So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),
                    weekdaysMin: "So_Mé_Dë_Më_Do_Fr_Sa".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "H:mm [Auer]", LTS: "H:mm:ss [Auer]", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY H:mm [Auer]", LLLL: "dddd, D. MMMM YYYY H:mm [Auer]" },
                    calendar: {
                         sameDay: "[Haut um] LT",
                         sameElse: "L",
                         nextDay: "[Muer um] LT",
                         nextWeek: "dddd [um] LT",
                         lastDay: "[Gëschter um] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 2:
                                   case 4:
                                        return "[Leschten] dddd [um] LT";
                                   default:
                                        return "[Leschte] dddd [um] LT";
                              }
                         },
                    },
                    relativeTime: {
                         future: function (t) {
                              return i(t.substr(0, t.indexOf(" "))) ? "a " + t : "an " + t;
                         },
                         past: function (t) {
                              return i(t.substr(0, t.indexOf(" "))) ? "viru " + t : "virun " + t;
                         },
                         s: "e puer Sekonnen",
                         ss: "%d Sekonnen",
                         m: e,
                         mm: "%d Minutten",
                         h: e,
                         hh: "%d Stonnen",
                         d: e,
                         dd: "%d Deeg",
                         M: e,
                         MM: "%d Méint",
                         y: e,
                         yy: "%d Joer",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("lo", {
                    months: "ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),
                    monthsShort: "ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),
                    weekdays: "ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),
                    weekdaysShort: "ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),
                    weekdaysMin: "ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "ວັນdddd D MMMM YYYY HH:mm" },
                    meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
                    isPM: function (t) {
                         return "ຕອນແລງ" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "ຕອນເຊົ້າ" : "ຕອນແລງ";
                    },
                    calendar: { sameDay: "[ມື້ນີ້ເວລາ] LT", nextDay: "[ມື້ອື່ນເວລາ] LT", nextWeek: "[ວັນ]dddd[ໜ້າເວລາ] LT", lastDay: "[ມື້ວານນີ້ເວລາ] LT", lastWeek: "[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT", sameElse: "L" },
                    relativeTime: {
                         future: "ອີກ %s",
                         past: "%sຜ່ານມາ",
                         s: "ບໍ່ເທົ່າໃດວິນາທີ",
                         ss: "%d ວິນາທີ",
                         m: "1 ນາທີ",
                         mm: "%d ນາທີ",
                         h: "1 ຊົ່ວໂມງ",
                         hh: "%d ຊົ່ວໂມງ",
                         d: "1 ມື້",
                         dd: "%d ມື້",
                         M: "1 ເດືອນ",
                         MM: "%d ເດືອນ",
                         y: "1 ປີ",
                         yy: "%d ປີ",
                    },
                    dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
                    ordinal: function (t) {
                         return "ທີ່" + t;
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = {
                    ss: "sekundė_sekundžių_sekundes",
                    m: "minutė_minutės_minutę",
                    mm: "minutės_minučių_minutes",
                    h: "valanda_valandos_valandą",
                    hh: "valandos_valandų_valandas",
                    d: "diena_dienos_dieną",
                    dd: "dienos_dienų_dienas",
                    M: "mėnuo_mėnesio_mėnesį",
                    MM: "mėnesiai_mėnesių_mėnesius",
                    y: "metai_metų_metus",
                    yy: "metai_metų_metus",
               };
               function i(t, e, i, n) {
                    return e ? r(i)[0] : n ? r(i)[1] : r(i)[2];
               }
               function n(t) {
                    return t % 10 == 0 || (t > 10 && t < 20);
               }
               function r(t) {
                    return e[t].split("_");
               }
               function o(t, e, o, a) {
                    var s = t + " ";
                    return 1 === t ? s + i(0, e, o[0], a) : e ? s + (n(t) ? r(o)[1] : r(o)[0]) : a ? s + r(o)[1] : s + (n(t) ? r(o)[1] : r(o)[2]);
               }
               t.defineLocale("lt", {
                    months: {
                         format: "sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),
                         standalone: "sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),
                         isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/,
                    },
                    monthsShort: "sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),
                    weekdays: {
                         format: "sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),
                         standalone: "sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),
                         isFormat: /dddd HH:mm/,
                    },
                    weekdaysShort: "Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),
                    weekdaysMin: "S_P_A_T_K_Pn_Š".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: {
                         LT: "HH:mm",
                         LTS: "HH:mm:ss",
                         L: "YYYY-MM-DD",
                         LL: "YYYY [m.] MMMM D [d.]",
                         LLL: "YYYY [m.] MMMM D [d.], HH:mm [val.]",
                         LLLL: "YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",
                         l: "YYYY-MM-DD",
                         ll: "YYYY [m.] MMMM D [d.]",
                         lll: "YYYY [m.] MMMM D [d.], HH:mm [val.]",
                         llll: "YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]",
                    },
                    calendar: { sameDay: "[Šiandien] LT", nextDay: "[Rytoj] LT", nextWeek: "dddd LT", lastDay: "[Vakar] LT", lastWeek: "[Praėjusį] dddd LT", sameElse: "L" },
                    relativeTime: {
                         future: "po %s",
                         past: "prieš %s",
                         s: function (t, e, i, n) {
                              return e ? "kelios sekundės" : n ? "kelių sekundžių" : "kelias sekundes";
                         },
                         ss: o,
                         m: i,
                         mm: o,
                         h: i,
                         hh: o,
                         d: i,
                         dd: o,
                         M: i,
                         MM: o,
                         y: i,
                         yy: o,
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-oji/,
                    ordinal: function (t) {
                         return t + "-oji";
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = {
                    ss: "sekundes_sekundēm_sekunde_sekundes".split("_"),
                    m: "minūtes_minūtēm_minūte_minūtes".split("_"),
                    mm: "minūtes_minūtēm_minūte_minūtes".split("_"),
                    h: "stundas_stundām_stunda_stundas".split("_"),
                    hh: "stundas_stundām_stunda_stundas".split("_"),
                    d: "dienas_dienām_diena_dienas".split("_"),
                    dd: "dienas_dienām_diena_dienas".split("_"),
                    M: "mēneša_mēnešiem_mēnesis_mēneši".split("_"),
                    MM: "mēneša_mēnešiem_mēnesis_mēneši".split("_"),
                    y: "gada_gadiem_gads_gadi".split("_"),
                    yy: "gada_gadiem_gads_gadi".split("_"),
               };
               function i(t, e, i) {
                    return i ? (e % 10 == 1 && e % 100 != 11 ? t[2] : t[3]) : e % 10 == 1 && e % 100 != 11 ? t[0] : t[1];
               }
               function n(t, n, r) {
                    return t + " " + i(e[r], t, n);
               }
               function r(t, n, r) {
                    return i(e[r], t, n);
               }
               t.defineLocale("lv", {
                    months: "janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),
                    monthsShort: "jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),
                    weekdays: "svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),
                    weekdaysShort: "Sv_P_O_T_C_Pk_S".split("_"),
                    weekdaysMin: "Sv_P_O_T_C_Pk_S".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY.", LL: "YYYY. [gada] D. MMMM", LLL: "YYYY. [gada] D. MMMM, HH:mm", LLLL: "YYYY. [gada] D. MMMM, dddd, HH:mm" },
                    calendar: { sameDay: "[Šodien pulksten] LT", nextDay: "[Rīt pulksten] LT", nextWeek: "dddd [pulksten] LT", lastDay: "[Vakar pulksten] LT", lastWeek: "[Pagājušā] dddd [pulksten] LT", sameElse: "L" },
                    relativeTime: {
                         future: "pēc %s",
                         past: "pirms %s",
                         s: function (t, e) {
                              return e ? "dažas sekundes" : "dažām sekundēm";
                         },
                         ss: n,
                         m: r,
                         mm: n,
                         h: r,
                         hh: n,
                         d: r,
                         dd: n,
                         M: r,
                         MM: n,
                         y: r,
                         yy: n,
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = {
                    words: {
                         ss: ["sekund", "sekunda", "sekundi"],
                         m: ["jedan minut", "jednog minuta"],
                         mm: ["minut", "minuta", "minuta"],
                         h: ["jedan sat", "jednog sata"],
                         hh: ["sat", "sata", "sati"],
                         dd: ["dan", "dana", "dana"],
                         MM: ["mjesec", "mjeseca", "mjeseci"],
                         yy: ["godina", "godine", "godina"],
                    },
                    correctGrammaticalCase: function (t, e) {
                         return 1 === t ? e[0] : t >= 2 && t <= 4 ? e[1] : e[2];
                    },
                    translate: function (t, i, n) {
                         var r = e.words[n];
                         return 1 === n.length ? (i ? r[0] : r[1]) : t + " " + e.correctGrammaticalCase(t, r);
                    },
               };
               t.defineLocale("me", {
                    months: "januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),
                    monthsShort: "jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),
                    weekdaysShort: "ned._pon._uto._sri._čet._pet._sub.".split("_"),
                    weekdaysMin: "ne_po_ut_sr_če_pe_su".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY H:mm", LLLL: "dddd, D. MMMM YYYY H:mm" },
                    calendar: {
                         sameDay: "[danas u] LT",
                         nextDay: "[sjutra u] LT",
                         nextWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[u] [nedjelju] [u] LT";
                                   case 3:
                                        return "[u] [srijedu] [u] LT";
                                   case 6:
                                        return "[u] [subotu] [u] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[u] dddd [u] LT";
                              }
                         },
                         lastDay: "[juče u] LT",
                         lastWeek: function () {
                              return [
                                   "[prošle] [nedjelje] [u] LT",
                                   "[prošlog] [ponedjeljka] [u] LT",
                                   "[prošlog] [utorka] [u] LT",
                                   "[prošle] [srijede] [u] LT",
                                   "[prošlog] [četvrtka] [u] LT",
                                   "[prošlog] [petka] [u] LT",
                                   "[prošle] [subote] [u] LT",
                              ][this.day()];
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "za %s",
                         past: "prije %s",
                         s: "nekoliko sekundi",
                         ss: e.translate,
                         m: e.translate,
                         mm: e.translate,
                         h: e.translate,
                         hh: e.translate,
                         d: "dan",
                         dd: e.translate,
                         M: "mjesec",
                         MM: e.translate,
                         y: "godinu",
                         yy: e.translate,
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("mi", {
                    months: "Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),
                    monthsShort: "Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),
                    monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
                    monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
                    monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
                    monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
                    weekdays: "Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),
                    weekdaysShort: "Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),
                    weekdaysMin: "Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY [i] HH:mm", LLLL: "dddd, D MMMM YYYY [i] HH:mm" },
                    calendar: { sameDay: "[i teie mahana, i] LT", nextDay: "[apopo i] LT", nextWeek: "dddd [i] LT", lastDay: "[inanahi i] LT", lastWeek: "dddd [whakamutunga i] LT", sameElse: "L" },
                    relativeTime: {
                         future: "i roto i %s",
                         past: "%s i mua",
                         s: "te hēkona ruarua",
                         ss: "%d hēkona",
                         m: "he meneti",
                         mm: "%d meneti",
                         h: "te haora",
                         hh: "%d haora",
                         d: "he ra",
                         dd: "%d ra",
                         M: "he marama",
                         MM: "%d marama",
                         y: "he tau",
                         yy: "%d tau",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}º/,
                    ordinal: "%dº",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("mk", {
                    months: "јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),
                    monthsShort: "јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),
                    weekdays: "недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),
                    weekdaysShort: "нед_пон_вто_сре_чет_пет_саб".split("_"),
                    weekdaysMin: "нe_пo_вт_ср_че_пе_сa".split("_"),
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "D.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY H:mm", LLLL: "dddd, D MMMM YYYY H:mm" },
                    calendar: {
                         sameDay: "[Денес во] LT",
                         nextDay: "[Утре во] LT",
                         nextWeek: "[Во] dddd [во] LT",
                         lastDay: "[Вчера во] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                   case 3:
                                   case 6:
                                        return "[Изминатата] dddd [во] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[Изминатиот] dddd [во] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "за %s",
                         past: "пред %s",
                         s: "неколку секунди",
                         ss: "%d секунди",
                         m: "една минута",
                         mm: "%d минути",
                         h: "еден час",
                         hh: "%d часа",
                         d: "еден ден",
                         dd: "%d дена",
                         M: "еден месец",
                         MM: "%d месеци",
                         y: "една година",
                         yy: "%d години",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
                    ordinal: function (t) {
                         var e = t % 10,
                              i = t % 100;
                         return 0 === t ? t + "-ев" : 0 === i ? t + "-ен" : i > 10 && i < 20 ? t + "-ти" : 1 === e ? t + "-ви" : 2 === e ? t + "-ри" : 7 === e || 8 === e ? t + "-ми" : t + "-ти";
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ml", {
                    months: "ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),
                    monthsShort: "ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),
                    weekdaysShort: "ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),
                    weekdaysMin: "ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),
                    longDateFormat: { LT: "A h:mm -നു", LTS: "A h:mm:ss -നു", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, A h:mm -നു", LLLL: "dddd, D MMMM YYYY, A h:mm -നു" },
                    calendar: { sameDay: "[ഇന്ന്] LT", nextDay: "[നാളെ] LT", nextWeek: "dddd, LT", lastDay: "[ഇന്നലെ] LT", lastWeek: "[കഴിഞ്ഞ] dddd, LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s കഴിഞ്ഞ്",
                         past: "%s മുൻപ്",
                         s: "അൽപ നിമിഷങ്ങൾ",
                         ss: "%d സെക്കൻഡ്",
                         m: "ഒരു മിനിറ്റ്",
                         mm: "%d മിനിറ്റ്",
                         h: "ഒരു മണിക്കൂർ",
                         hh: "%d മണിക്കൂർ",
                         d: "ഒരു ദിവസം",
                         dd: "%d ദിവസം",
                         M: "ഒരു മാസം",
                         MM: "%d മാസം",
                         y: "ഒരു വർഷം",
                         yy: "%d വർഷം",
                    },
                    meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), ("രാത്രി" === e && t >= 4) || "ഉച്ച കഴിഞ്ഞ്" === e || "വൈകുന്നേരം" === e ? t + 12 : t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "രാത്രി" : t < 12 ? "രാവിലെ" : t < 17 ? "ഉച്ച കഴിഞ്ഞ്" : t < 20 ? "വൈകുന്നേരം" : "രാത്രി";
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i, n) {
                    switch (i) {
                         case "s":
                              return e ? "хэдхэн секунд" : "хэдхэн секундын";
                         case "ss":
                              return t + (e ? " секунд" : " секундын");
                         case "m":
                         case "mm":
                              return t + (e ? " минут" : " минутын");
                         case "h":
                         case "hh":
                              return t + (e ? " цаг" : " цагийн");
                         case "d":
                         case "dd":
                              return t + (e ? " өдөр" : " өдрийн");
                         case "M":
                         case "MM":
                              return t + (e ? " сар" : " сарын");
                         case "y":
                         case "yy":
                              return t + (e ? " жил" : " жилийн");
                         default:
                              return t;
                    }
               }
               t.defineLocale("mn", {
                    months: "Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),
                    monthsShort: "1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),
                    monthsParseExact: !0,
                    weekdays: "Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),
                    weekdaysShort: "Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),
                    weekdaysMin: "Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "YYYY-MM-DD", LL: "YYYY оны MMMMын D", LLL: "YYYY оны MMMMын D HH:mm", LLLL: "dddd, YYYY оны MMMMын D HH:mm" },
                    meridiemParse: /ҮӨ|ҮХ/i,
                    isPM: function (t) {
                         return "ҮХ" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "ҮӨ" : "ҮХ";
                    },
                    calendar: { sameDay: "[Өнөөдөр] LT", nextDay: "[Маргааш] LT", nextWeek: "[Ирэх] dddd LT", lastDay: "[Өчигдөр] LT", lastWeek: "[Өнгөрсөн] dddd LT", sameElse: "L" },
                    relativeTime: { future: "%s дараа", past: "%s өмнө", s: e, ss: e, m: e, mm: e, h: e, hh: e, d: e, dd: e, M: e, MM: e, y: e, yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "d":
                              case "D":
                              case "DDD":
                                   return t + " өдөр";
                              default:
                                   return t;
                         }
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "१", 2: "२", 3: "३", 4: "४", 5: "५", 6: "६", 7: "७", 8: "८", 9: "९", 0: "०" },
                    i = { "१": "1", "२": "2", "३": "3", "४": "4", "५": "5", "६": "6", "७": "7", "८": "8", "९": "9", "०": "0" };
               function n(t, e, i, n) {
                    var r = "";
                    if (e)
                         switch (i) {
                              case "s":
                                   r = "काही सेकंद";
                                   break;
                              case "ss":
                                   r = "%d सेकंद";
                                   break;
                              case "m":
                                   r = "एक मिनिट";
                                   break;
                              case "mm":
                                   r = "%d मिनिटे";
                                   break;
                              case "h":
                                   r = "एक तास";
                                   break;
                              case "hh":
                                   r = "%d तास";
                                   break;
                              case "d":
                                   r = "एक दिवस";
                                   break;
                              case "dd":
                                   r = "%d दिवस";
                                   break;
                              case "M":
                                   r = "एक महिना";
                                   break;
                              case "MM":
                                   r = "%d महिने";
                                   break;
                              case "y":
                                   r = "एक वर्ष";
                                   break;
                              case "yy":
                                   r = "%d वर्षे";
                         }
                    else
                         switch (i) {
                              case "s":
                                   r = "काही सेकंदां";
                                   break;
                              case "ss":
                                   r = "%d सेकंदां";
                                   break;
                              case "m":
                                   r = "एका मिनिटा";
                                   break;
                              case "mm":
                                   r = "%d मिनिटां";
                                   break;
                              case "h":
                                   r = "एका तासा";
                                   break;
                              case "hh":
                                   r = "%d तासां";
                                   break;
                              case "d":
                                   r = "एका दिवसा";
                                   break;
                              case "dd":
                                   r = "%d दिवसां";
                                   break;
                              case "M":
                                   r = "एका महिन्या";
                                   break;
                              case "MM":
                                   r = "%d महिन्यां";
                                   break;
                              case "y":
                                   r = "एका वर्षा";
                                   break;
                              case "yy":
                                   r = "%d वर्षां";
                         }
                    return r.replace(/%d/i, t);
               }
               t.defineLocale("mr", {
                    months: "जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),
                    monthsShort: "जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),
                    weekdaysShort: "रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),
                    weekdaysMin: "र_सो_मं_बु_गु_शु_श".split("_"),
                    longDateFormat: { LT: "A h:mm वाजता", LTS: "A h:mm:ss वाजता", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, A h:mm वाजता", LLLL: "dddd, D MMMM YYYY, A h:mm वाजता" },
                    calendar: { sameDay: "[आज] LT", nextDay: "[उद्या] LT", nextWeek: "dddd, LT", lastDay: "[काल] LT", lastWeek: "[मागील] dddd, LT", sameElse: "L" },
                    relativeTime: { future: "%sमध्ये", past: "%sपूर्वी", s: n, ss: n, m: n, mm: n, h: n, hh: n, d: n, dd: n, M: n, MM: n, y: n, yy: n },
                    preparse: function (t) {
                         return t.replace(/[१२३४५६७८९०]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "पहाटे" === e || "सकाळी" === e ? t : "दुपारी" === e || "सायंकाळी" === e || "रात्री" === e ? (t >= 12 ? t : t + 12) : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t >= 0 && t < 6 ? "पहाटे" : t < 12 ? "सकाळी" : t < 17 ? "दुपारी" : t < 20 ? "सायंकाळी" : "रात्री";
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ms", {
                    months: "Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),
                    monthsShort: "Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),
                    weekdays: "Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),
                    weekdaysShort: "Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),
                    weekdaysMin: "Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),
                    longDateFormat: { LT: "HH.mm", LTS: "HH.mm.ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY [pukul] HH.mm", LLLL: "dddd, D MMMM YYYY [pukul] HH.mm" },
                    meridiemParse: /pagi|tengahari|petang|malam/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "pagi" === e ? t : "tengahari" === e ? (t >= 11 ? t : t + 12) : "petang" === e || "malam" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 11 ? "pagi" : t < 15 ? "tengahari" : t < 19 ? "petang" : "malam";
                    },
                    calendar: { sameDay: "[Hari ini pukul] LT", nextDay: "[Esok pukul] LT", nextWeek: "dddd [pukul] LT", lastDay: "[Kelmarin pukul] LT", lastWeek: "dddd [lepas pukul] LT", sameElse: "L" },
                    relativeTime: {
                         future: "dalam %s",
                         past: "%s yang lepas",
                         s: "beberapa saat",
                         ss: "%d saat",
                         m: "seminit",
                         mm: "%d minit",
                         h: "sejam",
                         hh: "%d jam",
                         d: "sehari",
                         dd: "%d hari",
                         M: "sebulan",
                         MM: "%d bulan",
                         y: "setahun",
                         yy: "%d tahun",
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ms-my", {
                    months: "Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),
                    monthsShort: "Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),
                    weekdays: "Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),
                    weekdaysShort: "Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),
                    weekdaysMin: "Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),
                    longDateFormat: { LT: "HH.mm", LTS: "HH.mm.ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY [pukul] HH.mm", LLLL: "dddd, D MMMM YYYY [pukul] HH.mm" },
                    meridiemParse: /pagi|tengahari|petang|malam/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "pagi" === e ? t : "tengahari" === e ? (t >= 11 ? t : t + 12) : "petang" === e || "malam" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 11 ? "pagi" : t < 15 ? "tengahari" : t < 19 ? "petang" : "malam";
                    },
                    calendar: { sameDay: "[Hari ini pukul] LT", nextDay: "[Esok pukul] LT", nextWeek: "dddd [pukul] LT", lastDay: "[Kelmarin pukul] LT", lastWeek: "dddd [lepas pukul] LT", sameElse: "L" },
                    relativeTime: {
                         future: "dalam %s",
                         past: "%s yang lepas",
                         s: "beberapa saat",
                         ss: "%d saat",
                         m: "seminit",
                         mm: "%d minit",
                         h: "sejam",
                         hh: "%d jam",
                         d: "sehari",
                         dd: "%d hari",
                         M: "sebulan",
                         MM: "%d bulan",
                         y: "setahun",
                         yy: "%d tahun",
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("mt", {
                    months: "Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),
                    monthsShort: "Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),
                    weekdays: "Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),
                    weekdaysShort: "Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),
                    weekdaysMin: "Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Illum fil-]LT", nextDay: "[Għada fil-]LT", nextWeek: "dddd [fil-]LT", lastDay: "[Il-bieraħ fil-]LT", lastWeek: "dddd [li għadda] [fil-]LT", sameElse: "L" },
                    relativeTime: {
                         future: "f’ %s",
                         past: "%s ilu",
                         s: "ftit sekondi",
                         ss: "%d sekondi",
                         m: "minuta",
                         mm: "%d minuti",
                         h: "siegħa",
                         hh: "%d siegħat",
                         d: "ġurnata",
                         dd: "%d ġranet",
                         M: "xahar",
                         MM: "%d xhur",
                         y: "sena",
                         yy: "%d sni",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}º/,
                    ordinal: "%dº",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "၁", 2: "၂", 3: "၃", 4: "၄", 5: "၅", 6: "၆", 7: "၇", 8: "၈", 9: "၉", 0: "၀" },
                    i = { "၁": "1", "၂": "2", "၃": "3", "၄": "4", "၅": "5", "၆": "6", "၇": "7", "၈": "8", "၉": "9", "၀": "0" };
               t.defineLocale("my", {
                    months: "ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),
                    monthsShort: "ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),
                    weekdays: "တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),
                    weekdaysShort: "နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),
                    weekdaysMin: "နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[ယနေ.] LT [မှာ]", nextDay: "[မနက်ဖြန်] LT [မှာ]", nextWeek: "dddd LT [မှာ]", lastDay: "[မနေ.က] LT [မှာ]", lastWeek: "[ပြီးခဲ့သော] dddd LT [မှာ]", sameElse: "L" },
                    relativeTime: {
                         future: "လာမည့် %s မှာ",
                         past: "လွန်ခဲ့သော %s က",
                         s: "စက္ကန်.အနည်းငယ်",
                         ss: "%d စက္ကန့်",
                         m: "တစ်မိနစ်",
                         mm: "%d မိနစ်",
                         h: "တစ်နာရီ",
                         hh: "%d နာရီ",
                         d: "တစ်ရက်",
                         dd: "%d ရက်",
                         M: "တစ်လ",
                         MM: "%d လ",
                         y: "တစ်နှစ်",
                         yy: "%d နှစ်",
                    },
                    preparse: function (t) {
                         return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("nb", {
                    months: "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),
                    monthsShort: "jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),
                    weekdaysShort: "sø._ma._ti._on._to._fr._lø.".split("_"),
                    weekdaysMin: "sø_ma_ti_on_to_fr_lø".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY [kl.] HH:mm", LLLL: "dddd D. MMMM YYYY [kl.] HH:mm" },
                    calendar: { sameDay: "[i dag kl.] LT", nextDay: "[i morgen kl.] LT", nextWeek: "dddd [kl.] LT", lastDay: "[i går kl.] LT", lastWeek: "[forrige] dddd [kl.] LT", sameElse: "L" },
                    relativeTime: {
                         future: "om %s",
                         past: "%s siden",
                         s: "noen sekunder",
                         ss: "%d sekunder",
                         m: "ett minutt",
                         mm: "%d minutter",
                         h: "en time",
                         hh: "%d timer",
                         d: "en dag",
                         dd: "%d dager",
                         M: "en måned",
                         MM: "%d måneder",
                         y: "ett år",
                         yy: "%d år",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "१", 2: "२", 3: "३", 4: "४", 5: "५", 6: "६", 7: "७", 8: "८", 9: "९", 0: "०" },
                    i = { "१": "1", "२": "2", "३": "3", "४": "4", "५": "5", "६": "6", "७": "7", "८": "8", "९": "9", "०": "0" };
               t.defineLocale("ne", {
                    months: "जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),
                    monthsShort: "जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),
                    weekdaysShort: "आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),
                    weekdaysMin: "आ._सो._मं._बु._बि._शु._श.".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "Aको h:mm बजे", LTS: "Aको h:mm:ss बजे", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, Aको h:mm बजे", LLLL: "dddd, D MMMM YYYY, Aको h:mm बजे" },
                    preparse: function (t) {
                         return t.replace(/[१२३४५६७८९०]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "राति" === e ? (t < 4 ? t : t + 12) : "बिहान" === e ? t : "दिउँसो" === e ? (t >= 10 ? t : t + 12) : "साँझ" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 3 ? "राति" : t < 12 ? "बिहान" : t < 16 ? "दिउँसो" : t < 20 ? "साँझ" : "राति";
                    },
                    calendar: { sameDay: "[आज] LT", nextDay: "[भोलि] LT", nextWeek: "[आउँदो] dddd[,] LT", lastDay: "[हिजो] LT", lastWeek: "[गएको] dddd[,] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%sमा",
                         past: "%s अगाडि",
                         s: "केही क्षण",
                         ss: "%d सेकेण्ड",
                         m: "एक मिनेट",
                         mm: "%d मिनेट",
                         h: "एक घण्टा",
                         hh: "%d घण्टा",
                         d: "एक दिन",
                         dd: "%d दिन",
                         M: "एक महिना",
                         MM: "%d महिना",
                         y: "एक बर्ष",
                         yy: "%d बर्ष",
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),
                    i = "jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),
                    n = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],
                    r = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
               t.defineLocale("nl", {
                    months: "januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),
                    monthsShort: function (t, n) {
                         return t ? (/-MMM-/.test(n) ? i[t.month()] : e[t.month()]) : e;
                    },
                    monthsRegex: r,
                    monthsShortRegex: r,
                    monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
                    monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
                    monthsParse: n,
                    longMonthsParse: n,
                    shortMonthsParse: n,
                    weekdays: "zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),
                    weekdaysShort: "zo._ma._di._wo._do._vr._za.".split("_"),
                    weekdaysMin: "zo_ma_di_wo_do_vr_za".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD-MM-YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[vandaag om] LT", nextDay: "[morgen om] LT", nextWeek: "dddd [om] LT", lastDay: "[gisteren om] LT", lastWeek: "[afgelopen] dddd [om] LT", sameElse: "L" },
                    relativeTime: {
                         future: "over %s",
                         past: "%s geleden",
                         s: "een paar seconden",
                         ss: "%d seconden",
                         m: "één minuut",
                         mm: "%d minuten",
                         h: "één uur",
                         hh: "%d uur",
                         d: "één dag",
                         dd: "%d dagen",
                         M: "één maand",
                         MM: "%d maanden",
                         y: "één jaar",
                         yy: "%d jaar",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
                    ordinal: function (t) {
                         return t + (1 === t || 8 === t || t >= 20 ? "ste" : "de");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),
                    i = "jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),
                    n = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],
                    r = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
               t.defineLocale("nl-be", {
                    months: "januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),
                    monthsShort: function (t, n) {
                         return t ? (/-MMM-/.test(n) ? i[t.month()] : e[t.month()]) : e;
                    },
                    monthsRegex: r,
                    monthsShortRegex: r,
                    monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
                    monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
                    monthsParse: n,
                    longMonthsParse: n,
                    shortMonthsParse: n,
                    weekdays: "zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),
                    weekdaysShort: "zo._ma._di._wo._do._vr._za.".split("_"),
                    weekdaysMin: "zo_ma_di_wo_do_vr_za".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[vandaag om] LT", nextDay: "[morgen om] LT", nextWeek: "dddd [om] LT", lastDay: "[gisteren om] LT", lastWeek: "[afgelopen] dddd [om] LT", sameElse: "L" },
                    relativeTime: {
                         future: "over %s",
                         past: "%s geleden",
                         s: "een paar seconden",
                         ss: "%d seconden",
                         m: "één minuut",
                         mm: "%d minuten",
                         h: "één uur",
                         hh: "%d uur",
                         d: "één dag",
                         dd: "%d dagen",
                         M: "één maand",
                         MM: "%d maanden",
                         y: "één jaar",
                         yy: "%d jaar",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
                    ordinal: function (t) {
                         return t + (1 === t || 8 === t || t >= 20 ? "ste" : "de");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("nn", {
                    months: "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),
                    monthsShort: "jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),
                    weekdaysShort: "su._må._ty._on._to._fr._lau.".split("_"),
                    weekdaysMin: "su_må_ty_on_to_fr_la".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY [kl.] H:mm", LLLL: "dddd D. MMMM YYYY [kl.] HH:mm" },
                    calendar: { sameDay: "[I dag klokka] LT", nextDay: "[I morgon klokka] LT", nextWeek: "dddd [klokka] LT", lastDay: "[I går klokka] LT", lastWeek: "[Føregåande] dddd [klokka] LT", sameElse: "L" },
                    relativeTime: {
                         future: "om %s",
                         past: "%s sidan",
                         s: "nokre sekund",
                         ss: "%d sekund",
                         m: "eit minutt",
                         mm: "%d minutt",
                         h: "ein time",
                         hh: "%d timar",
                         d: "ein dag",
                         dd: "%d dagar",
                         M: "ein månad",
                         MM: "%d månader",
                         y: "eit år",
                         yy: "%d år",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("oc-lnc", {
                    months: {
                         standalone: "genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre".split("_"),
                         format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split("_"),
                         isFormat: /D[oD]?(\s)+MMMM/,
                    },
                    monthsShort: "gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte".split("_"),
                    weekdaysShort: "dg._dl._dm._dc._dj._dv._ds.".split("_"),
                    weekdaysMin: "dg_dl_dm_dc_dj_dv_ds".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: {
                         LT: "H:mm",
                         LTS: "H:mm:ss",
                         L: "DD/MM/YYYY",
                         LL: "D MMMM [de] YYYY",
                         ll: "D MMM YYYY",
                         LLL: "D MMMM [de] YYYY [a] H:mm",
                         lll: "D MMM YYYY, H:mm",
                         LLLL: "dddd D MMMM [de] YYYY [a] H:mm",
                         llll: "ddd D MMM YYYY, H:mm",
                    },
                    calendar: { sameDay: "[uèi a] LT", nextDay: "[deman a] LT", nextWeek: "dddd [a] LT", lastDay: "[ièr a] LT", lastWeek: "dddd [passat a] LT", sameElse: "L" },
                    relativeTime: {
                         future: "d'aquí %s",
                         past: "fa %s",
                         s: "unas segondas",
                         ss: "%d segondas",
                         m: "una minuta",
                         mm: "%d minutas",
                         h: "una ora",
                         hh: "%d oras",
                         d: "un jorn",
                         dd: "%d jorns",
                         M: "un mes",
                         MM: "%d meses",
                         y: "un an",
                         yy: "%d ans",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
                    ordinal: function (t, e) {
                         var i = 1 === t ? "r" : 2 === t ? "n" : 3 === t ? "r" : 4 === t ? "t" : "è";
                         return ("w" !== e && "W" !== e) || (i = "a"), t + i;
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "੧", 2: "੨", 3: "੩", 4: "੪", 5: "੫", 6: "੬", 7: "੭", 8: "੮", 9: "੯", 0: "੦" },
                    i = { "੧": "1", "੨": "2", "੩": "3", "੪": "4", "੫": "5", "੬": "6", "੭": "7", "੮": "8", "੯": "9", "੦": "0" };
               t.defineLocale("pa-in", {
                    months: "ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),
                    monthsShort: "ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),
                    weekdays: "ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),
                    weekdaysShort: "ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),
                    weekdaysMin: "ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),
                    longDateFormat: { LT: "A h:mm ਵਜੇ", LTS: "A h:mm:ss ਵਜੇ", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, A h:mm ਵਜੇ", LLLL: "dddd, D MMMM YYYY, A h:mm ਵਜੇ" },
                    calendar: { sameDay: "[ਅਜ] LT", nextDay: "[ਕਲ] LT", nextWeek: "[ਅਗਲਾ] dddd, LT", lastDay: "[ਕਲ] LT", lastWeek: "[ਪਿਛਲੇ] dddd, LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s ਵਿੱਚ",
                         past: "%s ਪਿਛਲੇ",
                         s: "ਕੁਝ ਸਕਿੰਟ",
                         ss: "%d ਸਕਿੰਟ",
                         m: "ਇਕ ਮਿੰਟ",
                         mm: "%d ਮਿੰਟ",
                         h: "ਇੱਕ ਘੰਟਾ",
                         hh: "%d ਘੰਟੇ",
                         d: "ਇੱਕ ਦਿਨ",
                         dd: "%d ਦਿਨ",
                         M: "ਇੱਕ ਮਹੀਨਾ",
                         MM: "%d ਮਹੀਨੇ",
                         y: "ਇੱਕ ਸਾਲ",
                         yy: "%d ਸਾਲ",
                    },
                    preparse: function (t) {
                         return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "ਰਾਤ" === e ? (t < 4 ? t : t + 12) : "ਸਵੇਰ" === e ? t : "ਦੁਪਹਿਰ" === e ? (t >= 10 ? t : t + 12) : "ਸ਼ਾਮ" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "ਰਾਤ" : t < 10 ? "ਸਵੇਰ" : t < 17 ? "ਦੁਪਹਿਰ" : t < 20 ? "ਸ਼ਾਮ" : "ਰਾਤ";
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),
                    i = "stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");
               function n(t) {
                    return t % 10 < 5 && t % 10 > 1 && ~~(t / 10) % 10 != 1;
               }
               function r(t, e, i) {
                    var r = t + " ";
                    switch (i) {
                         case "ss":
                              return r + (n(t) ? "sekundy" : "sekund");
                         case "m":
                              return e ? "minuta" : "minutę";
                         case "mm":
                              return r + (n(t) ? "minuty" : "minut");
                         case "h":
                              return e ? "godzina" : "godzinę";
                         case "hh":
                              return r + (n(t) ? "godziny" : "godzin");
                         case "MM":
                              return r + (n(t) ? "miesiące" : "miesięcy");
                         case "yy":
                              return r + (n(t) ? "lata" : "lat");
                    }
               }
               t.defineLocale("pl", {
                    months: function (t, n) {
                         return t ? ("" === n ? "(" + i[t.month()] + "|" + e[t.month()] + ")" : /D MMMM/.test(n) ? i[t.month()] : e[t.month()]) : e;
                    },
                    monthsShort: "sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),
                    weekdays: "niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),
                    weekdaysShort: "ndz_pon_wt_śr_czw_pt_sob".split("_"),
                    weekdaysMin: "Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: {
                         sameDay: "[Dziś o] LT",
                         nextDay: "[Jutro o] LT",
                         nextWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[W niedzielę o] LT";
                                   case 2:
                                        return "[We wtorek o] LT";
                                   case 3:
                                        return "[W środę o] LT";
                                   case 6:
                                        return "[W sobotę o] LT";
                                   default:
                                        return "[W] dddd [o] LT";
                              }
                         },
                         lastDay: "[Wczoraj o] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[W zeszłą niedzielę o] LT";
                                   case 3:
                                        return "[W zeszłą środę o] LT";
                                   case 6:
                                        return "[W zeszłą sobotę o] LT";
                                   default:
                                        return "[W zeszły] dddd [o] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "za %s", past: "%s temu", s: "kilka sekund", ss: r, m: r, mm: r, h: r, hh: r, d: "1 dzień", dd: "%d dni", M: "miesiąc", MM: r, y: "rok", yy: r },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("pt", {
                    months: "janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),
                    monthsShort: "jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),
                    weekdays: "Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),
                    weekdaysShort: "Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),
                    weekdaysMin: "Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D [de] MMMM [de] YYYY", LLL: "D [de] MMMM [de] YYYY HH:mm", LLLL: "dddd, D [de] MMMM [de] YYYY HH:mm" },
                    calendar: {
                         sameDay: "[Hoje às] LT",
                         nextDay: "[Amanhã às] LT",
                         nextWeek: "dddd [às] LT",
                         lastDay: "[Ontem às] LT",
                         lastWeek: function () {
                              return 0 === this.day() || 6 === this.day() ? "[Último] dddd [às] LT" : "[Última] dddd [às] LT";
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "em %s",
                         past: "há %s",
                         s: "segundos",
                         ss: "%d segundos",
                         m: "um minuto",
                         mm: "%d minutos",
                         h: "uma hora",
                         hh: "%d horas",
                         d: "um dia",
                         dd: "%d dias",
                         M: "um mês",
                         MM: "%d meses",
                         y: "um ano",
                         yy: "%d anos",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}º/,
                    ordinal: "%dº",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("pt-br", {
                    months: "janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),
                    monthsShort: "jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),
                    weekdays: "domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),
                    weekdaysShort: "dom_seg_ter_qua_qui_sex_sáb".split("_"),
                    weekdaysMin: "do_2ª_3ª_4ª_5ª_6ª_sá".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D [de] MMMM [de] YYYY", LLL: "D [de] MMMM [de] YYYY [às] HH:mm", LLLL: "dddd, D [de] MMMM [de] YYYY [às] HH:mm" },
                    calendar: {
                         sameDay: "[Hoje às] LT",
                         nextDay: "[Amanhã às] LT",
                         nextWeek: "dddd [às] LT",
                         lastDay: "[Ontem às] LT",
                         lastWeek: function () {
                              return 0 === this.day() || 6 === this.day() ? "[Último] dddd [às] LT" : "[Última] dddd [às] LT";
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "em %s",
                         past: "há %s",
                         s: "poucos segundos",
                         ss: "%d segundos",
                         m: "um minuto",
                         mm: "%d minutos",
                         h: "uma hora",
                         hh: "%d horas",
                         d: "um dia",
                         dd: "%d dias",
                         M: "um mês",
                         MM: "%d meses",
                         y: "um ano",
                         yy: "%d anos",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}º/,
                    ordinal: "%dº",
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i) {
                    var n = " ";
                    return (t % 100 >= 20 || (t >= 100 && t % 100 == 0)) && (n = " de "), t + n + { ss: "secunde", mm: "minute", hh: "ore", dd: "zile", MM: "luni", yy: "ani" }[i];
               }
               t.defineLocale("ro", {
                    months: "ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),
                    monthsShort: "ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),
                    weekdaysShort: "Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),
                    weekdaysMin: "Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY H:mm", LLLL: "dddd, D MMMM YYYY H:mm" },
                    calendar: { sameDay: "[azi la] LT", nextDay: "[mâine la] LT", nextWeek: "dddd [la] LT", lastDay: "[ieri la] LT", lastWeek: "[fosta] dddd [la] LT", sameElse: "L" },
                    relativeTime: { future: "peste %s", past: "%s în urmă", s: "câteva secunde", ss: e, m: "un minut", mm: e, h: "o oră", hh: e, d: "o zi", dd: e, M: "o lună", MM: e, y: "un an", yy: e },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i) {
                    var n, r;
                    return "m" === i
                         ? e
                              ? "минута"
                              : "минуту"
                         : t +
                                " " +
                                ((n = +t),
                                (r = {
                                     ss: e ? "секунда_секунды_секунд" : "секунду_секунды_секунд",
                                     mm: e ? "минута_минуты_минут" : "минуту_минуты_минут",
                                     hh: "час_часа_часов",
                                     dd: "день_дня_дней",
                                     MM: "месяц_месяца_месяцев",
                                     yy: "год_года_лет",
                                }[i].split("_")),
                                n % 10 == 1 && n % 100 != 11 ? r[0] : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? r[1] : r[2]);
               }
               var i = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
               t.defineLocale("ru", {
                    months: {
                         format: "января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),
                         standalone: "январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),
                    },
                    monthsShort: { format: "янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"), standalone: "янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_") },
                    weekdays: {
                         standalone: "воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),
                         format: "воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),
                         isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,
                    },
                    weekdaysShort: "вс_пн_вт_ср_чт_пт_сб".split("_"),
                    weekdaysMin: "вс_пн_вт_ср_чт_пт_сб".split("_"),
                    monthsParse: i,
                    longMonthsParse: i,
                    shortMonthsParse: i,
                    monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
                    monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
                    monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
                    monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY г.", LLL: "D MMMM YYYY г., H:mm", LLLL: "dddd, D MMMM YYYY г., H:mm" },
                    calendar: {
                         sameDay: "[Сегодня, в] LT",
                         nextDay: "[Завтра, в] LT",
                         lastDay: "[Вчера, в] LT",
                         nextWeek: function (t) {
                              if (t.week() === this.week()) return 2 === this.day() ? "[Во] dddd, [в] LT" : "[В] dddd, [в] LT";
                              switch (this.day()) {
                                   case 0:
                                        return "[В следующее] dddd, [в] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                        return "[В следующий] dddd, [в] LT";
                                   case 3:
                                   case 5:
                                   case 6:
                                        return "[В следующую] dddd, [в] LT";
                              }
                         },
                         lastWeek: function (t) {
                              if (t.week() === this.week()) return 2 === this.day() ? "[Во] dddd, [в] LT" : "[В] dddd, [в] LT";
                              switch (this.day()) {
                                   case 0:
                                        return "[В прошлое] dddd, [в] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                        return "[В прошлый] dddd, [в] LT";
                                   case 3:
                                   case 5:
                                   case 6:
                                        return "[В прошлую] dddd, [в] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "через %s", past: "%s назад", s: "несколько секунд", ss: e, m: e, mm: e, h: "час", hh: e, d: "день", dd: e, M: "месяц", MM: e, y: "год", yy: e },
                    meridiemParse: /ночи|утра|дня|вечера/i,
                    isPM: function (t) {
                         return /^(дня|вечера)$/.test(t);
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "ночи" : t < 12 ? "утра" : t < 17 ? "дня" : "вечера";
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "M":
                              case "d":
                              case "DDD":
                                   return t + "-й";
                              case "D":
                                   return t + "-го";
                              case "w":
                              case "W":
                                   return t + "-я";
                              default:
                                   return t;
                         }
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = ["جنوري", "فيبروري", "مارچ", "اپريل", "مئي", "جون", "جولاءِ", "آگسٽ", "سيپٽمبر", "آڪٽوبر", "نومبر", "ڊسمبر"],
                    i = ["آچر", "سومر", "اڱارو", "اربع", "خميس", "جمع", "ڇنڇر"];
               t.defineLocale("sd", {
                    months: e,
                    monthsShort: e,
                    weekdays: i,
                    weekdaysShort: i,
                    weekdaysMin: i,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd، D MMMM YYYY HH:mm" },
                    meridiemParse: /صبح|شام/,
                    isPM: function (t) {
                         return "شام" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "صبح" : "شام";
                    },
                    calendar: { sameDay: "[اڄ] LT", nextDay: "[سڀاڻي] LT", nextWeek: "dddd [اڳين هفتي تي] LT", lastDay: "[ڪالهه] LT", lastWeek: "[گزريل هفتي] dddd [تي] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s پوء",
                         past: "%s اڳ",
                         s: "چند سيڪنڊ",
                         ss: "%d سيڪنڊ",
                         m: "هڪ منٽ",
                         mm: "%d منٽ",
                         h: "هڪ ڪلاڪ",
                         hh: "%d ڪلاڪ",
                         d: "هڪ ڏينهن",
                         dd: "%d ڏينهن",
                         M: "هڪ مهينو",
                         MM: "%d مهينا",
                         y: "هڪ سال",
                         yy: "%d سال",
                    },
                    preparse: function (t) {
                         return t.replace(/،/g, ",");
                    },
                    postformat: function (t) {
                         return t.replace(/,/g, "،");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("se", {
                    months: "ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),
                    monthsShort: "ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),
                    weekdays: "sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),
                    weekdaysShort: "sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),
                    weekdaysMin: "s_v_m_g_d_b_L".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "MMMM D. [b.] YYYY", LLL: "MMMM D. [b.] YYYY [ti.] HH:mm", LLLL: "dddd, MMMM D. [b.] YYYY [ti.] HH:mm" },
                    calendar: { sameDay: "[otne ti] LT", nextDay: "[ihttin ti] LT", nextWeek: "dddd [ti] LT", lastDay: "[ikte ti] LT", lastWeek: "[ovddit] dddd [ti] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s geažes",
                         past: "maŋit %s",
                         s: "moadde sekunddat",
                         ss: "%d sekunddat",
                         m: "okta minuhta",
                         mm: "%d minuhtat",
                         h: "okta diimmu",
                         hh: "%d diimmut",
                         d: "okta beaivi",
                         dd: "%d beaivvit",
                         M: "okta mánnu",
                         MM: "%d mánut",
                         y: "okta jahki",
                         yy: "%d jagit",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("si", {
                    months: "ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),
                    monthsShort: "ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),
                    weekdays: "ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),
                    weekdaysShort: "ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),
                    weekdaysMin: "ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "a h:mm", LTS: "a h:mm:ss", L: "YYYY/MM/DD", LL: "YYYY MMMM D", LLL: "YYYY MMMM D, a h:mm", LLLL: "YYYY MMMM D [වැනි] dddd, a h:mm:ss" },
                    calendar: { sameDay: "[අද] LT[ට]", nextDay: "[හෙට] LT[ට]", nextWeek: "dddd LT[ට]", lastDay: "[ඊයේ] LT[ට]", lastWeek: "[පසුගිය] dddd LT[ට]", sameElse: "L" },
                    relativeTime: {
                         future: "%sකින්",
                         past: "%sකට පෙර",
                         s: "තත්පර කිහිපය",
                         ss: "තත්පර %d",
                         m: "මිනිත්තුව",
                         mm: "මිනිත්තු %d",
                         h: "පැය",
                         hh: "පැය %d",
                         d: "දිනය",
                         dd: "දින %d",
                         M: "මාසය",
                         MM: "මාස %d",
                         y: "වසර",
                         yy: "වසර %d",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
                    ordinal: function (t) {
                         return t + " වැනි";
                    },
                    meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
                    isPM: function (t) {
                         return "ප.ව." === t || "පස් වරු" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t > 11 ? (i ? "ප.ව." : "පස් වරු") : i ? "පෙ.ව." : "පෙර වරු";
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),
                    i = "jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");
               function n(t) {
                    return t > 1 && t < 5;
               }
               function r(t, e, i, r) {
                    var o = t + " ";
                    switch (i) {
                         case "s":
                              return e || r ? "pár sekúnd" : "pár sekundami";
                         case "ss":
                              return e || r ? o + (n(t) ? "sekundy" : "sekúnd") : o + "sekundami";
                         case "m":
                              return e ? "minúta" : r ? "minútu" : "minútou";
                         case "mm":
                              return e || r ? o + (n(t) ? "minúty" : "minút") : o + "minútami";
                         case "h":
                              return e ? "hodina" : r ? "hodinu" : "hodinou";
                         case "hh":
                              return e || r ? o + (n(t) ? "hodiny" : "hodín") : o + "hodinami";
                         case "d":
                              return e || r ? "deň" : "dňom";
                         case "dd":
                              return e || r ? o + (n(t) ? "dni" : "dní") : o + "dňami";
                         case "M":
                              return e || r ? "mesiac" : "mesiacom";
                         case "MM":
                              return e || r ? o + (n(t) ? "mesiace" : "mesiacov") : o + "mesiacmi";
                         case "y":
                              return e || r ? "rok" : "rokom";
                         case "yy":
                              return e || r ? o + (n(t) ? "roky" : "rokov") : o + "rokmi";
                    }
               }
               t.defineLocale("sk", {
                    months: e,
                    monthsShort: i,
                    weekdays: "nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),
                    weekdaysShort: "ne_po_ut_st_št_pi_so".split("_"),
                    weekdaysMin: "ne_po_ut_st_št_pi_so".split("_"),
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY H:mm", LLLL: "dddd D. MMMM YYYY H:mm" },
                    calendar: {
                         sameDay: "[dnes o] LT",
                         nextDay: "[zajtra o] LT",
                         nextWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[v nedeľu o] LT";
                                   case 1:
                                   case 2:
                                        return "[v] dddd [o] LT";
                                   case 3:
                                        return "[v stredu o] LT";
                                   case 4:
                                        return "[vo štvrtok o] LT";
                                   case 5:
                                        return "[v piatok o] LT";
                                   case 6:
                                        return "[v sobotu o] LT";
                              }
                         },
                         lastDay: "[včera o] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[minulú nedeľu o] LT";
                                   case 1:
                                   case 2:
                                        return "[minulý] dddd [o] LT";
                                   case 3:
                                        return "[minulú stredu o] LT";
                                   case 4:
                                   case 5:
                                        return "[minulý] dddd [o] LT";
                                   case 6:
                                        return "[minulú sobotu o] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "za %s", past: "pred %s", s: r, ss: r, m: r, mm: r, h: r, hh: r, d: r, dd: r, M: r, MM: r, y: r, yy: r },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i, n) {
                    var r = t + " ";
                    switch (i) {
                         case "s":
                              return e || n ? "nekaj sekund" : "nekaj sekundami";
                         case "ss":
                              return (r += 1 === t ? (e ? "sekundo" : "sekundi") : 2 === t ? (e || n ? "sekundi" : "sekundah") : t < 5 ? (e || n ? "sekunde" : "sekundah") : "sekund");
                         case "m":
                              return e ? "ena minuta" : "eno minuto";
                         case "mm":
                              return (r += 1 === t ? (e ? "minuta" : "minuto") : 2 === t ? (e || n ? "minuti" : "minutama") : t < 5 ? (e || n ? "minute" : "minutami") : e || n ? "minut" : "minutami");
                         case "h":
                              return e ? "ena ura" : "eno uro";
                         case "hh":
                              return (r += 1 === t ? (e ? "ura" : "uro") : 2 === t ? (e || n ? "uri" : "urama") : t < 5 ? (e || n ? "ure" : "urami") : e || n ? "ur" : "urami");
                         case "d":
                              return e || n ? "en dan" : "enim dnem";
                         case "dd":
                              return (r += 1 === t ? (e || n ? "dan" : "dnem") : 2 === t ? (e || n ? "dni" : "dnevoma") : e || n ? "dni" : "dnevi");
                         case "M":
                              return e || n ? "en mesec" : "enim mesecem";
                         case "MM":
                              return (r += 1 === t ? (e || n ? "mesec" : "mesecem") : 2 === t ? (e || n ? "meseca" : "mesecema") : t < 5 ? (e || n ? "mesece" : "meseci") : e || n ? "mesecev" : "meseci");
                         case "y":
                              return e || n ? "eno leto" : "enim letom";
                         case "yy":
                              return (r += 1 === t ? (e || n ? "leto" : "letom") : 2 === t ? (e || n ? "leti" : "letoma") : t < 5 ? (e || n ? "leta" : "leti") : e || n ? "let" : "leti");
                    }
               }
               t.defineLocale("sl", {
                    months: "januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),
                    monthsShort: "jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),
                    weekdaysShort: "ned._pon._tor._sre._čet._pet._sob.".split("_"),
                    weekdaysMin: "ne_po_to_sr_če_pe_so".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD. MM. YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY H:mm", LLLL: "dddd, D. MMMM YYYY H:mm" },
                    calendar: {
                         sameDay: "[danes ob] LT",
                         nextDay: "[jutri ob] LT",
                         nextWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[v] [nedeljo] [ob] LT";
                                   case 3:
                                        return "[v] [sredo] [ob] LT";
                                   case 6:
                                        return "[v] [soboto] [ob] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[v] dddd [ob] LT";
                              }
                         },
                         lastDay: "[včeraj ob] LT",
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[prejšnjo] [nedeljo] [ob] LT";
                                   case 3:
                                        return "[prejšnjo] [sredo] [ob] LT";
                                   case 6:
                                        return "[prejšnjo] [soboto] [ob] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[prejšnji] dddd [ob] LT";
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "čez %s", past: "pred %s", s: e, ss: e, m: e, mm: e, h: e, hh: e, d: e, dd: e, M: e, MM: e, y: e, yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("sq", {
                    months: "Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),
                    monthsShort: "Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),
                    weekdays: "E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),
                    weekdaysShort: "Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),
                    weekdaysMin: "D_H_Ma_Më_E_P_Sh".split("_"),
                    weekdaysParseExact: !0,
                    meridiemParse: /PD|MD/,
                    isPM: function (t) {
                         return "M" === t.charAt(0);
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "PD" : "MD";
                    },
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Sot në] LT", nextDay: "[Nesër në] LT", nextWeek: "dddd [në] LT", lastDay: "[Dje në] LT", lastWeek: "dddd [e kaluar në] LT", sameElse: "L" },
                    relativeTime: {
                         future: "në %s",
                         past: "%s më parë",
                         s: "disa sekonda",
                         ss: "%d sekonda",
                         m: "një minutë",
                         mm: "%d minuta",
                         h: "një orë",
                         hh: "%d orë",
                         d: "një ditë",
                         dd: "%d ditë",
                         M: "një muaj",
                         MM: "%d muaj",
                         y: "një vit",
                         yy: "%d vite",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = {
                    words: {
                         ss: ["sekunda", "sekunde", "sekundi"],
                         m: ["jedan minut", "jedne minute"],
                         mm: ["minut", "minute", "minuta"],
                         h: ["jedan sat", "jednog sata"],
                         hh: ["sat", "sata", "sati"],
                         dd: ["dan", "dana", "dana"],
                         MM: ["mesec", "meseca", "meseci"],
                         yy: ["godina", "godine", "godina"],
                    },
                    correctGrammaticalCase: function (t, e) {
                         return 1 === t ? e[0] : t >= 2 && t <= 4 ? e[1] : e[2];
                    },
                    translate: function (t, i, n) {
                         var r = e.words[n];
                         return 1 === n.length ? (i ? r[0] : r[1]) : t + " " + e.correctGrammaticalCase(t, r);
                    },
               };
               t.defineLocale("sr", {
                    months: "januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),
                    monthsShort: "jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),
                    weekdaysShort: "ned._pon._uto._sre._čet._pet._sub.".split("_"),
                    weekdaysMin: "ne_po_ut_sr_če_pe_su".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY H:mm", LLLL: "dddd, D. MMMM YYYY H:mm" },
                    calendar: {
                         sameDay: "[danas u] LT",
                         nextDay: "[sutra u] LT",
                         nextWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[u] [nedelju] [u] LT";
                                   case 3:
                                        return "[u] [sredu] [u] LT";
                                   case 6:
                                        return "[u] [subotu] [u] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[u] dddd [u] LT";
                              }
                         },
                         lastDay: "[juče u] LT",
                         lastWeek: function () {
                              return [
                                   "[prošle] [nedelje] [u] LT",
                                   "[prošlog] [ponedeljka] [u] LT",
                                   "[prošlog] [utorka] [u] LT",
                                   "[prošle] [srede] [u] LT",
                                   "[prošlog] [četvrtka] [u] LT",
                                   "[prošlog] [petka] [u] LT",
                                   "[prošle] [subote] [u] LT",
                              ][this.day()];
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "za %s",
                         past: "pre %s",
                         s: "nekoliko sekundi",
                         ss: e.translate,
                         m: e.translate,
                         mm: e.translate,
                         h: e.translate,
                         hh: e.translate,
                         d: "dan",
                         dd: e.translate,
                         M: "mesec",
                         MM: e.translate,
                         y: "godinu",
                         yy: e.translate,
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = {
                    words: {
                         ss: ["секунда", "секунде", "секунди"],
                         m: ["један минут", "једне минуте"],
                         mm: ["минут", "минуте", "минута"],
                         h: ["један сат", "једног сата"],
                         hh: ["сат", "сата", "сати"],
                         dd: ["дан", "дана", "дана"],
                         MM: ["месец", "месеца", "месеци"],
                         yy: ["година", "године", "година"],
                    },
                    correctGrammaticalCase: function (t, e) {
                         return 1 === t ? e[0] : t >= 2 && t <= 4 ? e[1] : e[2];
                    },
                    translate: function (t, i, n) {
                         var r = e.words[n];
                         return 1 === n.length ? (i ? r[0] : r[1]) : t + " " + e.correctGrammaticalCase(t, r);
                    },
               };
               t.defineLocale("sr-cyrl", {
                    months: "јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),
                    monthsShort: "јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),
                    weekdaysShort: "нед._пон._уто._сре._чет._пет._суб.".split("_"),
                    weekdaysMin: "не_по_ут_ср_че_пе_су".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY H:mm", LLLL: "dddd, D. MMMM YYYY H:mm" },
                    calendar: {
                         sameDay: "[данас у] LT",
                         nextDay: "[сутра у] LT",
                         nextWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                        return "[у] [недељу] [у] LT";
                                   case 3:
                                        return "[у] [среду] [у] LT";
                                   case 6:
                                        return "[у] [суботу] [у] LT";
                                   case 1:
                                   case 2:
                                   case 4:
                                   case 5:
                                        return "[у] dddd [у] LT";
                              }
                         },
                         lastDay: "[јуче у] LT",
                         lastWeek: function () {
                              return [
                                   "[прошле] [недеље] [у] LT",
                                   "[прошлог] [понедељка] [у] LT",
                                   "[прошлог] [уторка] [у] LT",
                                   "[прошле] [среде] [у] LT",
                                   "[прошлог] [четвртка] [у] LT",
                                   "[прошлог] [петка] [у] LT",
                                   "[прошле] [суботе] [у] LT",
                              ][this.day()];
                         },
                         sameElse: "L",
                    },
                    relativeTime: {
                         future: "за %s",
                         past: "пре %s",
                         s: "неколико секунди",
                         ss: e.translate,
                         m: e.translate,
                         mm: e.translate,
                         h: e.translate,
                         hh: e.translate,
                         d: "дан",
                         dd: e.translate,
                         M: "месец",
                         MM: e.translate,
                         y: "годину",
                         yy: e.translate,
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ss", {
                    months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),
                    monthsShort: "Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),
                    weekdays: "Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),
                    weekdaysShort: "Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),
                    weekdaysMin: "Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "h:mm A", LTS: "h:mm:ss A", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY h:mm A", LLLL: "dddd, D MMMM YYYY h:mm A" },
                    calendar: { sameDay: "[Namuhla nga] LT", nextDay: "[Kusasa nga] LT", nextWeek: "dddd [nga] LT", lastDay: "[Itolo nga] LT", lastWeek: "dddd [leliphelile] [nga] LT", sameElse: "L" },
                    relativeTime: {
                         future: "nga %s",
                         past: "wenteka nga %s",
                         s: "emizuzwana lomcane",
                         ss: "%d mzuzwana",
                         m: "umzuzu",
                         mm: "%d emizuzu",
                         h: "lihora",
                         hh: "%d emahora",
                         d: "lilanga",
                         dd: "%d emalanga",
                         M: "inyanga",
                         MM: "%d tinyanga",
                         y: "umnyaka",
                         yy: "%d iminyaka",
                    },
                    meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
                    meridiem: function (t, e, i) {
                         return t < 11 ? "ekuseni" : t < 15 ? "emini" : t < 19 ? "entsambama" : "ebusuku";
                    },
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "ekuseni" === e ? t : "emini" === e ? (t >= 11 ? t : t + 12) : "entsambama" === e || "ebusuku" === e ? (0 === t ? 0 : t + 12) : void 0;
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}/,
                    ordinal: "%d",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("sv", {
                    months: "januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),
                    monthsShort: "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),
                    weekdays: "söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),
                    weekdaysShort: "sön_mån_tis_ons_tor_fre_lör".split("_"),
                    weekdaysMin: "sö_må_ti_on_to_fr_lö".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "YYYY-MM-DD", LL: "D MMMM YYYY", LLL: "D MMMM YYYY [kl.] HH:mm", LLLL: "dddd D MMMM YYYY [kl.] HH:mm", lll: "D MMM YYYY HH:mm", llll: "ddd D MMM YYYY HH:mm" },
                    calendar: { sameDay: "[Idag] LT", nextDay: "[Imorgon] LT", lastDay: "[Igår] LT", nextWeek: "[På] dddd LT", lastWeek: "[I] dddd[s] LT", sameElse: "L" },
                    relativeTime: {
                         future: "om %s",
                         past: "för %s sedan",
                         s: "några sekunder",
                         ss: "%d sekunder",
                         m: "en minut",
                         mm: "%d minuter",
                         h: "en timme",
                         hh: "%d timmar",
                         d: "en dag",
                         dd: "%d dagar",
                         M: "en månad",
                         MM: "%d månader",
                         y: "ett år",
                         yy: "%d år",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? ":e" : 1 === e || 2 === e ? ":a" : ":e");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("sw", {
                    months: "Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),
                    monthsShort: "Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),
                    weekdays: "Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),
                    weekdaysShort: "Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),
                    weekdaysMin: "J2_J3_J4_J5_Al_Ij_J1".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[leo saa] LT", nextDay: "[kesho saa] LT", nextWeek: "[wiki ijayo] dddd [saat] LT", lastDay: "[jana] LT", lastWeek: "[wiki iliyopita] dddd [saat] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s baadaye",
                         past: "tokea %s",
                         s: "hivi punde",
                         ss: "sekunde %d",
                         m: "dakika moja",
                         mm: "dakika %d",
                         h: "saa limoja",
                         hh: "masaa %d",
                         d: "siku moja",
                         dd: "siku %d",
                         M: "mwezi mmoja",
                         MM: "miezi %d",
                         y: "mwaka mmoja",
                         yy: "miaka %d",
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = { 1: "௧", 2: "௨", 3: "௩", 4: "௪", 5: "௫", 6: "௬", 7: "௭", 8: "௮", 9: "௯", 0: "௦" },
                    i = { "௧": "1", "௨": "2", "௩": "3", "௪": "4", "௫": "5", "௬": "6", "௭": "7", "௮": "8", "௯": "9", "௦": "0" };
               t.defineLocale("ta", {
                    months: "ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),
                    monthsShort: "ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),
                    weekdays: "ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),
                    weekdaysShort: "ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),
                    weekdaysMin: "ஞா_தி_செ_பு_வி_வெ_ச".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, HH:mm", LLLL: "dddd, D MMMM YYYY, HH:mm" },
                    calendar: { sameDay: "[இன்று] LT", nextDay: "[நாளை] LT", nextWeek: "dddd, LT", lastDay: "[நேற்று] LT", lastWeek: "[கடந்த வாரம்] dddd, LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s இல்",
                         past: "%s முன்",
                         s: "ஒரு சில விநாடிகள்",
                         ss: "%d விநாடிகள்",
                         m: "ஒரு நிமிடம்",
                         mm: "%d நிமிடங்கள்",
                         h: "ஒரு மணி நேரம்",
                         hh: "%d மணி நேரம்",
                         d: "ஒரு நாள்",
                         dd: "%d நாட்கள்",
                         M: "ஒரு மாதம்",
                         MM: "%d மாதங்கள்",
                         y: "ஒரு வருடம்",
                         yy: "%d ஆண்டுகள்",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}வது/,
                    ordinal: function (t) {
                         return t + "வது";
                    },
                    preparse: function (t) {
                         return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (t) {
                              return i[t];
                         });
                    },
                    postformat: function (t) {
                         return t.replace(/\d/g, function (t) {
                              return e[t];
                         });
                    },
                    meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
                    meridiem: function (t, e, i) {
                         return t < 2 ? " யாமம்" : t < 6 ? " வைகறை" : t < 10 ? " காலை" : t < 14 ? " நண்பகல்" : t < 18 ? " எற்பாடு" : t < 22 ? " மாலை" : " யாமம்";
                    },
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "யாமம்" === e ? (t < 2 ? t : t + 12) : "வைகறை" === e || "காலை" === e || ("நண்பகல்" === e && t >= 10) ? t : t + 12;
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("te", {
                    months: "జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),
                    monthsShort: "జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),
                    weekdaysShort: "ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),
                    weekdaysMin: "ఆ_సో_మం_బు_గు_శు_శ".split("_"),
                    longDateFormat: { LT: "A h:mm", LTS: "A h:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY, A h:mm", LLLL: "dddd, D MMMM YYYY, A h:mm" },
                    calendar: { sameDay: "[నేడు] LT", nextDay: "[రేపు] LT", nextWeek: "dddd, LT", lastDay: "[నిన్న] LT", lastWeek: "[గత] dddd, LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s లో",
                         past: "%s క్రితం",
                         s: "కొన్ని క్షణాలు",
                         ss: "%d సెకన్లు",
                         m: "ఒక నిమిషం",
                         mm: "%d నిమిషాలు",
                         h: "ఒక గంట",
                         hh: "%d గంటలు",
                         d: "ఒక రోజు",
                         dd: "%d రోజులు",
                         M: "ఒక నెల",
                         MM: "%d నెలలు",
                         y: "ఒక సంవత్సరం",
                         yy: "%d సంవత్సరాలు",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}వ/,
                    ordinal: "%dవ",
                    meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "రాత్రి" === e ? (t < 4 ? t : t + 12) : "ఉదయం" === e ? t : "మధ్యాహ్నం" === e ? (t >= 10 ? t : t + 12) : "సాయంత్రం" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "రాత్రి" : t < 10 ? "ఉదయం" : t < 17 ? "మధ్యాహ్నం" : t < 20 ? "సాయంత్రం" : "రాత్రి";
                    },
                    week: { dow: 0, doy: 6 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("tet", {
                    months: "Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),
                    monthsShort: "Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),
                    weekdays: "Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),
                    weekdaysShort: "Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),
                    weekdaysMin: "Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Ohin iha] LT", nextDay: "[Aban iha] LT", nextWeek: "dddd [iha] LT", lastDay: "[Horiseik iha] LT", lastWeek: "dddd [semana kotuk] [iha] LT", sameElse: "L" },
                    relativeTime: {
                         future: "iha %s",
                         past: "%s liuba",
                         s: "segundu balun",
                         ss: "segundu %d",
                         m: "minutu ida",
                         mm: "minutu %d",
                         h: "oras ida",
                         hh: "oras %d",
                         d: "loron ida",
                         dd: "loron %d",
                         M: "fulan ida",
                         MM: "fulan %d",
                         y: "tinan ida",
                         yy: "tinan %d",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = {
                    0: "-ум",
                    1: "-ум",
                    2: "-юм",
                    3: "-юм",
                    4: "-ум",
                    5: "-ум",
                    6: "-ум",
                    7: "-ум",
                    8: "-ум",
                    9: "-ум",
                    10: "-ум",
                    12: "-ум",
                    13: "-ум",
                    20: "-ум",
                    30: "-юм",
                    40: "-ум",
                    50: "-ум",
                    60: "-ум",
                    70: "-ум",
                    80: "-ум",
                    90: "-ум",
                    100: "-ум",
               };
               t.defineLocale("tg", {
                    months: "январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),
                    monthsShort: "янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),
                    weekdays: "якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),
                    weekdaysShort: "яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),
                    weekdaysMin: "яш_дш_сш_чш_пш_ҷм_шб".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[Имрӯз соати] LT", nextDay: "[Пагоҳ соати] LT", lastDay: "[Дирӯз соати] LT", nextWeek: "dddd[и] [ҳафтаи оянда соати] LT", lastWeek: "dddd[и] [ҳафтаи гузашта соати] LT", sameElse: "L" },
                    relativeTime: { future: "баъди %s", past: "%s пеш", s: "якчанд сония", m: "як дақиқа", mm: "%d дақиқа", h: "як соат", hh: "%d соат", d: "як рӯз", dd: "%d рӯз", M: "як моҳ", MM: "%d моҳ", y: "як сол", yy: "%d сол" },
                    meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "шаб" === e ? (t < 4 ? t : t + 12) : "субҳ" === e ? t : "рӯз" === e ? (t >= 11 ? t : t + 12) : "бегоҳ" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "шаб" : t < 11 ? "субҳ" : t < 16 ? "рӯз" : t < 19 ? "бегоҳ" : "шаб";
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
                    ordinal: function (t) {
                         return t + (e[t] || e[t % 10] || e[t >= 100 ? 100 : null]);
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("th", {
                    months: "มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),
                    monthsShort: "ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),
                    monthsParseExact: !0,
                    weekdays: "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),
                    weekdaysShort: "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),
                    weekdaysMin: "อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "H:mm", LTS: "H:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY เวลา H:mm", LLLL: "วันddddที่ D MMMM YYYY เวลา H:mm" },
                    meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
                    isPM: function (t) {
                         return "หลังเที่ยง" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "ก่อนเที่ยง" : "หลังเที่ยง";
                    },
                    calendar: { sameDay: "[วันนี้ เวลา] LT", nextDay: "[พรุ่งนี้ เวลา] LT", nextWeek: "dddd[หน้า เวลา] LT", lastDay: "[เมื่อวานนี้ เวลา] LT", lastWeek: "[วัน]dddd[ที่แล้ว เวลา] LT", sameElse: "L" },
                    relativeTime: {
                         future: "อีก %s",
                         past: "%sที่แล้ว",
                         s: "ไม่กี่วินาที",
                         ss: "%d วินาที",
                         m: "1 นาที",
                         mm: "%d นาที",
                         h: "1 ชั่วโมง",
                         hh: "%d ชั่วโมง",
                         d: "1 วัน",
                         dd: "%d วัน",
                         M: "1 เดือน",
                         MM: "%d เดือน",
                         y: "1 ปี",
                         yy: "%d ปี",
                    },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("tl-ph", {
                    months: "Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),
                    monthsShort: "Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),
                    weekdays: "Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),
                    weekdaysShort: "Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),
                    weekdaysMin: "Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "MM/D/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY HH:mm", LLLL: "dddd, MMMM DD, YYYY HH:mm" },
                    calendar: { sameDay: "LT [ngayong araw]", nextDay: "[Bukas ng] LT", nextWeek: "LT [sa susunod na] dddd", lastDay: "LT [kahapon]", lastWeek: "LT [noong nakaraang] dddd", sameElse: "L" },
                    relativeTime: {
                         future: "sa loob ng %s",
                         past: "%s ang nakalipas",
                         s: "ilang segundo",
                         ss: "%d segundo",
                         m: "isang minuto",
                         mm: "%d minuto",
                         h: "isang oras",
                         hh: "%d oras",
                         d: "isang araw",
                         dd: "%d araw",
                         M: "isang buwan",
                         MM: "%d buwan",
                         y: "isang taon",
                         yy: "%d taon",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}/,
                    ordinal: function (t) {
                         return t;
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = "pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");
               function i(t, i, n, r) {
                    var o = (function (t) {
                         var i = Math.floor((t % 1e3) / 100),
                              n = Math.floor((t % 100) / 10),
                              r = t % 10,
                              o = "";
                         return i > 0 && (o += e[i] + "vatlh"), n > 0 && (o += ("" !== o ? " " : "") + e[n] + "maH"), r > 0 && (o += ("" !== o ? " " : "") + e[r]), "" === o ? "pagh" : o;
                    })(t);
                    switch (n) {
                         case "ss":
                              return o + " lup";
                         case "mm":
                              return o + " tup";
                         case "hh":
                              return o + " rep";
                         case "dd":
                              return o + " jaj";
                         case "MM":
                              return o + " jar";
                         case "yy":
                              return o + " DIS";
                    }
               }
               t.defineLocale("tlh", {
                    months: "tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),
                    monthsShort: "jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),
                    monthsParseExact: !0,
                    weekdays: "lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),
                    weekdaysShort: "lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),
                    weekdaysMin: "lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[DaHjaj] LT", nextDay: "[wa’leS] LT", nextWeek: "LLL", lastDay: "[wa’Hu’] LT", lastWeek: "LLL", sameElse: "L" },
                    relativeTime: {
                         future: function (t) {
                              var e = t;
                              return (e = -1 !== t.indexOf("jaj") ? e.slice(0, -3) + "leS" : -1 !== t.indexOf("jar") ? e.slice(0, -3) + "waQ" : -1 !== t.indexOf("DIS") ? e.slice(0, -3) + "nem" : e + " pIq");
                         },
                         past: function (t) {
                              var e = t;
                              return (e = -1 !== t.indexOf("jaj") ? e.slice(0, -3) + "Hu’" : -1 !== t.indexOf("jar") ? e.slice(0, -3) + "wen" : -1 !== t.indexOf("DIS") ? e.slice(0, -3) + "ben" : e + " ret");
                         },
                         s: "puS lup",
                         ss: i,
                         m: "wa’ tup",
                         mm: i,
                         h: "wa’ rep",
                         hh: i,
                         d: "wa’ jaj",
                         dd: i,
                         M: "wa’ jar",
                         MM: i,
                         y: "wa’ DIS",
                         yy: i,
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = {
                    1: "'inci",
                    5: "'inci",
                    8: "'inci",
                    70: "'inci",
                    80: "'inci",
                    2: "'nci",
                    7: "'nci",
                    20: "'nci",
                    50: "'nci",
                    3: "'üncü",
                    4: "'üncü",
                    100: "'üncü",
                    6: "'ncı",
                    9: "'uncu",
                    10: "'uncu",
                    30: "'uncu",
                    60: "'ıncı",
                    90: "'ıncı",
               };
               t.defineLocale("tr", {
                    months: "Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),
                    monthsShort: "Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),
                    weekdays: "Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),
                    weekdaysShort: "Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),
                    weekdaysMin: "Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),
                    meridiem: function (t, e, i) {
                         return t < 12 ? (i ? "öö" : "ÖÖ") : i ? "ös" : "ÖS";
                    },
                    meridiemParse: /öö|ÖÖ|ös|ÖS/,
                    isPM: function (t) {
                         return "ös" === t || "ÖS" === t;
                    },
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[bugün saat] LT", nextDay: "[yarın saat] LT", nextWeek: "[gelecek] dddd [saat] LT", lastDay: "[dün] LT", lastWeek: "[geçen] dddd [saat] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s sonra",
                         past: "%s önce",
                         s: "birkaç saniye",
                         ss: "%d saniye",
                         m: "bir dakika",
                         mm: "%d dakika",
                         h: "bir saat",
                         hh: "%d saat",
                         d: "bir gün",
                         dd: "%d gün",
                         M: "bir ay",
                         MM: "%d ay",
                         y: "bir yıl",
                         yy: "%d yıl",
                    },
                    ordinal: function (t, i) {
                         switch (i) {
                              case "d":
                              case "D":
                              case "Do":
                              case "DD":
                                   return t;
                              default:
                                   if (0 === t) return t + "'ıncı";
                                   var n = t % 10;
                                   return t + (e[n] || e[(t % 100) - n] || e[t >= 100 ? 100 : null]);
                         }
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i, n) {
                    var r = {
                         s: ["viensas secunds", "'iensas secunds"],
                         ss: [t + " secunds", t + " secunds"],
                         m: ["'n míut", "'iens míut"],
                         mm: [t + " míuts", t + " míuts"],
                         h: ["'n þora", "'iensa þora"],
                         hh: [t + " þoras", t + " þoras"],
                         d: ["'n ziua", "'iensa ziua"],
                         dd: [t + " ziuas", t + " ziuas"],
                         M: ["'n mes", "'iens mes"],
                         MM: [t + " mesen", t + " mesen"],
                         y: ["'n ar", "'iens ar"],
                         yy: [t + " ars", t + " ars"],
                    };
                    return n || e ? r[i][0] : r[i][1];
               }
               t.defineLocale("tzl", {
                    months: "Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),
                    monthsShort: "Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),
                    weekdays: "Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),
                    weekdaysShort: "Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),
                    weekdaysMin: "Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),
                    longDateFormat: { LT: "HH.mm", LTS: "HH.mm.ss", L: "DD.MM.YYYY", LL: "D. MMMM [dallas] YYYY", LLL: "D. MMMM [dallas] YYYY HH.mm", LLLL: "dddd, [li] D. MMMM [dallas] YYYY HH.mm" },
                    meridiemParse: /d\'o|d\'a/i,
                    isPM: function (t) {
                         return "d'o" === t.toLowerCase();
                    },
                    meridiem: function (t, e, i) {
                         return t > 11 ? (i ? "d'o" : "D'O") : i ? "d'a" : "D'A";
                    },
                    calendar: { sameDay: "[oxhi à] LT", nextDay: "[demà à] LT", nextWeek: "dddd [à] LT", lastDay: "[ieiri à] LT", lastWeek: "[sür el] dddd [lasteu à] LT", sameElse: "L" },
                    relativeTime: { future: "osprei %s", past: "ja%s", s: e, ss: e, m: e, mm: e, h: e, hh: e, d: e, dd: e, M: e, MM: e, y: e, yy: e },
                    dayOfMonthOrdinalParse: /\d{1,2}\./,
                    ordinal: "%d.",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("tzm", {
                    months: "ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),
                    monthsShort: "ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),
                    weekdays: "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),
                    weekdaysShort: "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),
                    weekdaysMin: "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[ⴰⵙⴷⵅ ⴴ] LT", nextDay: "[ⴰⵙⴽⴰ ⴴ] LT", nextWeek: "dddd [ⴴ] LT", lastDay: "[ⴰⵚⴰⵏⵜ ⴴ] LT", lastWeek: "dddd [ⴴ] LT", sameElse: "L" },
                    relativeTime: {
                         future: "ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",
                         past: "ⵢⴰⵏ %s",
                         s: "ⵉⵎⵉⴽ",
                         ss: "%d ⵉⵎⵉⴽ",
                         m: "ⵎⵉⵏⵓⴺ",
                         mm: "%d ⵎⵉⵏⵓⴺ",
                         h: "ⵙⴰⵄⴰ",
                         hh: "%d ⵜⴰⵙⵙⴰⵄⵉⵏ",
                         d: "ⴰⵙⵙ",
                         dd: "%d oⵙⵙⴰⵏ",
                         M: "ⴰⵢoⵓⵔ",
                         MM: "%d ⵉⵢⵢⵉⵔⵏ",
                         y: "ⴰⵙⴳⴰⵙ",
                         yy: "%d ⵉⵙⴳⴰⵙⵏ",
                    },
                    week: { dow: 6, doy: 12 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("tzm-latn", {
                    months: "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),
                    monthsShort: "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),
                    weekdays: "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),
                    weekdaysShort: "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),
                    weekdaysMin: "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[asdkh g] LT", nextDay: "[aska g] LT", nextWeek: "dddd [g] LT", lastDay: "[assant g] LT", lastWeek: "dddd [g] LT", sameElse: "L" },
                    relativeTime: {
                         future: "dadkh s yan %s",
                         past: "yan %s",
                         s: "imik",
                         ss: "%d imik",
                         m: "minuḍ",
                         mm: "%d minuḍ",
                         h: "saɛa",
                         hh: "%d tassaɛin",
                         d: "ass",
                         dd: "%d ossan",
                         M: "ayowr",
                         MM: "%d iyyirn",
                         y: "asgas",
                         yy: "%d isgasn",
                    },
                    week: { dow: 6, doy: 12 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("ug-cn", {
                    months: "يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),
                    monthsShort: "يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),
                    weekdays: "يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),
                    weekdaysShort: "يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),
                    weekdaysMin: "يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "YYYY-MM-DD", LL: "YYYY-يىلىM-ئاينىڭD-كۈنى", LLL: "YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm", LLLL: "dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm" },
                    meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "يېرىم كېچە" === e || "سەھەر" === e || "چۈشتىن بۇرۇن" === e ? t : "چۈشتىن كېيىن" === e || "كەچ" === e ? t + 12 : t >= 11 ? t : t + 12;
                    },
                    meridiem: function (t, e, i) {
                         var n = 100 * t + e;
                         return n < 600 ? "يېرىم كېچە" : n < 900 ? "سەھەر" : n < 1130 ? "چۈشتىن بۇرۇن" : n < 1230 ? "چۈش" : n < 1800 ? "چۈشتىن كېيىن" : "كەچ";
                    },
                    calendar: { sameDay: "[بۈگۈن سائەت] LT", nextDay: "[ئەتە سائەت] LT", nextWeek: "[كېلەركى] dddd [سائەت] LT", lastDay: "[تۆنۈگۈن] LT", lastWeek: "[ئالدىنقى] dddd [سائەت] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s كېيىن",
                         past: "%s بۇرۇن",
                         s: "نەچچە سېكونت",
                         ss: "%d سېكونت",
                         m: "بىر مىنۇت",
                         mm: "%d مىنۇت",
                         h: "بىر سائەت",
                         hh: "%d سائەت",
                         d: "بىر كۈن",
                         dd: "%d كۈن",
                         M: "بىر ئاي",
                         MM: "%d ئاي",
                         y: "بىر يىل",
                         yy: "%d يىل",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "d":
                              case "D":
                              case "DDD":
                                   return t + "-كۈنى";
                              case "w":
                              case "W":
                                   return t + "-ھەپتە";
                              default:
                                   return t;
                         }
                    },
                    preparse: function (t) {
                         return t.replace(/،/g, ",");
                    },
                    postformat: function (t) {
                         return t.replace(/,/g, "،");
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               function e(t, e, i) {
                    var n, r;
                    return "m" === i
                         ? e
                              ? "хвилина"
                              : "хвилину"
                         : "h" === i
                         ? e
                              ? "година"
                              : "годину"
                         : t +
                           " " +
                           ((n = +t),
                           (r = {
                                ss: e ? "секунда_секунди_секунд" : "секунду_секунди_секунд",
                                mm: e ? "хвилина_хвилини_хвилин" : "хвилину_хвилини_хвилин",
                                hh: e ? "година_години_годин" : "годину_години_годин",
                                dd: "день_дні_днів",
                                MM: "місяць_місяці_місяців",
                                yy: "рік_роки_років",
                           }[i].split("_")),
                           n % 10 == 1 && n % 100 != 11 ? r[0] : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? r[1] : r[2]);
               }
               function i(t) {
                    return function () {
                         return t + "о" + (11 === this.hours() ? "б" : "") + "] LT";
                    };
               }
               t.defineLocale("uk", {
                    months: {
                         format: "січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),
                         standalone: "січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_"),
                    },
                    monthsShort: "січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),
                    weekdays: function (t, e) {
                         var i = {
                              nominative: "неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),
                              accusative: "неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),
                              genitive: "неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_"),
                         };
                         return !0 === t
                              ? i.nominative.slice(1, 7).concat(i.nominative.slice(0, 1))
                              : t
                              ? i[/(\[[ВвУу]\]) ?dddd/.test(e) ? "accusative" : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(e) ? "genitive" : "nominative"][t.day()]
                              : i.nominative;
                    },
                    weekdaysShort: "нд_пн_вт_ср_чт_пт_сб".split("_"),
                    weekdaysMin: "нд_пн_вт_ср_чт_пт_сб".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY р.", LLL: "D MMMM YYYY р., HH:mm", LLLL: "dddd, D MMMM YYYY р., HH:mm" },
                    calendar: {
                         sameDay: i("[Сьогодні "),
                         nextDay: i("[Завтра "),
                         lastDay: i("[Вчора "),
                         nextWeek: i("[У] dddd ["),
                         lastWeek: function () {
                              switch (this.day()) {
                                   case 0:
                                   case 3:
                                   case 5:
                                   case 6:
                                        return i("[Минулої] dddd [").call(this);
                                   case 1:
                                   case 2:
                                   case 4:
                                        return i("[Минулого] dddd [").call(this);
                              }
                         },
                         sameElse: "L",
                    },
                    relativeTime: { future: "за %s", past: "%s тому", s: "декілька секунд", ss: e, m: e, mm: e, h: "годину", hh: e, d: "день", dd: e, M: "місяць", MM: e, y: "рік", yy: e },
                    meridiemParse: /ночі|ранку|дня|вечора/,
                    isPM: function (t) {
                         return /^(дня|вечора)$/.test(t);
                    },
                    meridiem: function (t, e, i) {
                         return t < 4 ? "ночі" : t < 12 ? "ранку" : t < 17 ? "дня" : "вечора";
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "M":
                              case "d":
                              case "DDD":
                              case "w":
                              case "W":
                                   return t + "-й";
                              case "D":
                                   return t + "-го";
                              default:
                                   return t;
                         }
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               var e = ["جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"],
                    i = ["اتوار", "پیر", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"];
               t.defineLocale("ur", {
                    months: e,
                    monthsShort: e,
                    weekdays: i,
                    weekdaysShort: i,
                    weekdaysMin: i,
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd، D MMMM YYYY HH:mm" },
                    meridiemParse: /صبح|شام/,
                    isPM: function (t) {
                         return "شام" === t;
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? "صبح" : "شام";
                    },
                    calendar: { sameDay: "[آج بوقت] LT", nextDay: "[کل بوقت] LT", nextWeek: "dddd [بوقت] LT", lastDay: "[گذشتہ روز بوقت] LT", lastWeek: "[گذشتہ] dddd [بوقت] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s بعد",
                         past: "%s قبل",
                         s: "چند سیکنڈ",
                         ss: "%d سیکنڈ",
                         m: "ایک منٹ",
                         mm: "%d منٹ",
                         h: "ایک گھنٹہ",
                         hh: "%d گھنٹے",
                         d: "ایک دن",
                         dd: "%d دن",
                         M: "ایک ماہ",
                         MM: "%d ماہ",
                         y: "ایک سال",
                         yy: "%d سال",
                    },
                    preparse: function (t) {
                         return t.replace(/،/g, ",");
                    },
                    postformat: function (t) {
                         return t.replace(/,/g, "،");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("uz", {
                    months: "январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),
                    monthsShort: "янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),
                    weekdays: "Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),
                    weekdaysShort: "Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),
                    weekdaysMin: "Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "D MMMM YYYY, dddd HH:mm" },
                    calendar: { sameDay: "[Бугун соат] LT [да]", nextDay: "[Эртага] LT [да]", nextWeek: "dddd [куни соат] LT [да]", lastDay: "[Кеча соат] LT [да]", lastWeek: "[Утган] dddd [куни соат] LT [да]", sameElse: "L" },
                    relativeTime: {
                         future: "Якин %s ичида",
                         past: "Бир неча %s олдин",
                         s: "фурсат",
                         ss: "%d фурсат",
                         m: "бир дакика",
                         mm: "%d дакика",
                         h: "бир соат",
                         hh: "%d соат",
                         d: "бир кун",
                         dd: "%d кун",
                         M: "бир ой",
                         MM: "%d ой",
                         y: "бир йил",
                         yy: "%d йил",
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("uz-latn", {
                    months: "Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),
                    monthsShort: "Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),
                    weekdays: "Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),
                    weekdaysShort: "Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),
                    weekdaysMin: "Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),
                    longDateFormat: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "D MMMM YYYY, dddd HH:mm" },
                    calendar: { sameDay: "[Bugun soat] LT [da]", nextDay: "[Ertaga] LT [da]", nextWeek: "dddd [kuni soat] LT [da]", lastDay: "[Kecha soat] LT [da]", lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", sameElse: "L" },
                    relativeTime: {
                         future: "Yaqin %s ichida",
                         past: "Bir necha %s oldin",
                         s: "soniya",
                         ss: "%d soniya",
                         m: "bir daqiqa",
                         mm: "%d daqiqa",
                         h: "bir soat",
                         hh: "%d soat",
                         d: "bir kun",
                         dd: "%d kun",
                         M: "bir oy",
                         MM: "%d oy",
                         y: "bir yil",
                         yy: "%d yil",
                    },
                    week: { dow: 1, doy: 7 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("vi", {
                    months: "tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),
                    monthsShort: "Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),
                    monthsParseExact: !0,
                    weekdays: "chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),
                    weekdaysShort: "CN_T2_T3_T4_T5_T6_T7".split("_"),
                    weekdaysMin: "CN_T2_T3_T4_T5_T6_T7".split("_"),
                    weekdaysParseExact: !0,
                    meridiemParse: /sa|ch/i,
                    isPM: function (t) {
                         return /^ch$/i.test(t);
                    },
                    meridiem: function (t, e, i) {
                         return t < 12 ? (i ? "sa" : "SA") : i ? "ch" : "CH";
                    },
                    longDateFormat: {
                         LT: "HH:mm",
                         LTS: "HH:mm:ss",
                         L: "DD/MM/YYYY",
                         LL: "D MMMM [năm] YYYY",
                         LLL: "D MMMM [năm] YYYY HH:mm",
                         LLLL: "dddd, D MMMM [năm] YYYY HH:mm",
                         l: "DD/M/YYYY",
                         ll: "D MMM YYYY",
                         lll: "D MMM YYYY HH:mm",
                         llll: "ddd, D MMM YYYY HH:mm",
                    },
                    calendar: { sameDay: "[Hôm nay lúc] LT", nextDay: "[Ngày mai lúc] LT", nextWeek: "dddd [tuần tới lúc] LT", lastDay: "[Hôm qua lúc] LT", lastWeek: "dddd [tuần trước lúc] LT", sameElse: "L" },
                    relativeTime: {
                         future: "%s tới",
                         past: "%s trước",
                         s: "vài giây",
                         ss: "%d giây",
                         m: "một phút",
                         mm: "%d phút",
                         h: "một giờ",
                         hh: "%d giờ",
                         d: "một ngày",
                         dd: "%d ngày",
                         M: "một tháng",
                         MM: "%d tháng",
                         y: "một năm",
                         yy: "%d năm",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}/,
                    ordinal: function (t) {
                         return t;
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("x-pseudo", {
                    months: "J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),
                    monthsShort: "J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),
                    monthsParseExact: !0,
                    weekdays: "S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),
                    weekdaysShort: "S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),
                    weekdaysMin: "S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),
                    weekdaysParseExact: !0,
                    longDateFormat: { LT: "HH:mm", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" },
                    calendar: { sameDay: "[T~ódá~ý át] LT", nextDay: "[T~ómó~rró~w át] LT", nextWeek: "dddd [át] LT", lastDay: "[Ý~ést~érdá~ý át] LT", lastWeek: "[L~ást] dddd [át] LT", sameElse: "L" },
                    relativeTime: {
                         future: "í~ñ %s",
                         past: "%s á~gó",
                         s: "á ~féw ~sécó~ñds",
                         ss: "%d s~écóñ~ds",
                         m: "á ~míñ~úté",
                         mm: "%d m~íñú~tés",
                         h: "á~ñ hó~úr",
                         hh: "%d h~óúrs",
                         d: "á ~dáý",
                         dd: "%d d~áýs",
                         M: "á ~móñ~th",
                         MM: "%d m~óñt~hs",
                         y: "á ~ýéár",
                         yy: "%d ý~éárs",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
                    ordinal: function (t) {
                         var e = t % 10;
                         return t + (1 == ~~((t % 100) / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th");
                    },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("yo", {
                    months: "Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),
                    monthsShort: "Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),
                    weekdays: "Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),
                    weekdaysShort: "Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),
                    weekdaysMin: "Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),
                    longDateFormat: { LT: "h:mm A", LTS: "h:mm:ss A", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY h:mm A", LLLL: "dddd, D MMMM YYYY h:mm A" },
                    calendar: { sameDay: "[Ònì ni] LT", nextDay: "[Ọ̀la ni] LT", nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT", lastDay: "[Àna ni] LT", lastWeek: "dddd [Ọsẹ̀ tólọ́] [ni] LT", sameElse: "L" },
                    relativeTime: {
                         future: "ní %s",
                         past: "%s kọjá",
                         s: "ìsẹjú aayá die",
                         ss: "aayá %d",
                         m: "ìsẹjú kan",
                         mm: "ìsẹjú %d",
                         h: "wákati kan",
                         hh: "wákati %d",
                         d: "ọjọ́ kan",
                         dd: "ọjọ́ %d",
                         M: "osù kan",
                         MM: "osù %d",
                         y: "ọdún kan",
                         yy: "ọdún %d",
                    },
                    dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/,
                    ordinal: "ọjọ́ %d",
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("zh-cn", {
                    months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
                    monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
                    weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
                    weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"),
                    weekdaysMin: "日_一_二_三_四_五_六".split("_"),
                    longDateFormat: {
                         LT: "HH:mm",
                         LTS: "HH:mm:ss",
                         L: "YYYY/MM/DD",
                         LL: "YYYY年M月D日",
                         LLL: "YYYY年M月D日Ah点mm分",
                         LLLL: "YYYY年M月D日ddddAh点mm分",
                         l: "YYYY/M/D",
                         ll: "YYYY年M月D日",
                         lll: "YYYY年M月D日 HH:mm",
                         llll: "YYYY年M月D日dddd HH:mm",
                    },
                    meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "凌晨" === e || "早上" === e || "上午" === e ? t : "下午" === e || "晚上" === e ? t + 12 : t >= 11 ? t : t + 12;
                    },
                    meridiem: function (t, e, i) {
                         var n = 100 * t + e;
                         return n < 600 ? "凌晨" : n < 900 ? "早上" : n < 1130 ? "上午" : n < 1230 ? "中午" : n < 1800 ? "下午" : "晚上";
                    },
                    calendar: {
                         sameDay: "[今天]LT",
                         nextDay: "[明天]LT",
                         nextWeek: function (t) {
                              return t.week() !== this.week() ? "[下]dddLT" : "[本]dddLT";
                         },
                         lastDay: "[昨天]LT",
                         lastWeek: function (t) {
                              return this.week() !== t.week() ? "[上]dddLT" : "[本]dddLT";
                         },
                         sameElse: "L",
                    },
                    dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "d":
                              case "D":
                              case "DDD":
                                   return t + "日";
                              case "M":
                                   return t + "月";
                              case "w":
                              case "W":
                                   return t + "周";
                              default:
                                   return t;
                         }
                    },
                    relativeTime: { future: "%s后", past: "%s前", s: "几秒", ss: "%d 秒", m: "1 分钟", mm: "%d 分钟", h: "1 小时", hh: "%d 小时", d: "1 天", dd: "%d 天", M: "1 个月", MM: "%d 个月", y: "1 年", yy: "%d 年" },
                    week: { dow: 1, doy: 4 },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("zh-hk", {
                    months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
                    monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
                    weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
                    weekdaysShort: "週日_週一_週二_週三_週四_週五_週六".split("_"),
                    weekdaysMin: "日_一_二_三_四_五_六".split("_"),
                    longDateFormat: {
                         LT: "HH:mm",
                         LTS: "HH:mm:ss",
                         L: "YYYY/MM/DD",
                         LL: "YYYY年M月D日",
                         LLL: "YYYY年M月D日 HH:mm",
                         LLLL: "YYYY年M月D日dddd HH:mm",
                         l: "YYYY/M/D",
                         ll: "YYYY年M月D日",
                         lll: "YYYY年M月D日 HH:mm",
                         llll: "YYYY年M月D日dddd HH:mm",
                    },
                    meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "凌晨" === e || "早上" === e || "上午" === e ? t : "中午" === e ? (t >= 11 ? t : t + 12) : "下午" === e || "晚上" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         var n = 100 * t + e;
                         return n < 600 ? "凌晨" : n < 900 ? "早上" : n < 1200 ? "上午" : 1200 === n ? "中午" : n < 1800 ? "下午" : "晚上";
                    },
                    calendar: { sameDay: "[今天]LT", nextDay: "[明天]LT", nextWeek: "[下]ddddLT", lastDay: "[昨天]LT", lastWeek: "[上]ddddLT", sameElse: "L" },
                    dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "d":
                              case "D":
                              case "DDD":
                                   return t + "日";
                              case "M":
                                   return t + "月";
                              case "w":
                              case "W":
                                   return t + "週";
                              default:
                                   return t;
                         }
                    },
                    relativeTime: { future: "%s後", past: "%s前", s: "幾秒", ss: "%d 秒", m: "1 分鐘", mm: "%d 分鐘", h: "1 小時", hh: "%d 小時", d: "1 天", dd: "%d 天", M: "1 個月", MM: "%d 個月", y: "1 年", yy: "%d 年" },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("zh-mo", {
                    months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
                    monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
                    weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
                    weekdaysShort: "週日_週一_週二_週三_週四_週五_週六".split("_"),
                    weekdaysMin: "日_一_二_三_四_五_六".split("_"),
                    longDateFormat: {
                         LT: "HH:mm",
                         LTS: "HH:mm:ss",
                         L: "DD/MM/YYYY",
                         LL: "YYYY年M月D日",
                         LLL: "YYYY年M月D日 HH:mm",
                         LLLL: "YYYY年M月D日dddd HH:mm",
                         l: "D/M/YYYY",
                         ll: "YYYY年M月D日",
                         lll: "YYYY年M月D日 HH:mm",
                         llll: "YYYY年M月D日dddd HH:mm",
                    },
                    meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "凌晨" === e || "早上" === e || "上午" === e ? t : "中午" === e ? (t >= 11 ? t : t + 12) : "下午" === e || "晚上" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         var n = 100 * t + e;
                         return n < 600 ? "凌晨" : n < 900 ? "早上" : n < 1130 ? "上午" : n < 1230 ? "中午" : n < 1800 ? "下午" : "晚上";
                    },
                    calendar: { sameDay: "[今天] LT", nextDay: "[明天] LT", nextWeek: "[下]dddd LT", lastDay: "[昨天] LT", lastWeek: "[上]dddd LT", sameElse: "L" },
                    dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "d":
                              case "D":
                              case "DDD":
                                   return t + "日";
                              case "M":
                                   return t + "月";
                              case "w":
                              case "W":
                                   return t + "週";
                              default:
                                   return t;
                         }
                    },
                    relativeTime: { future: "%s內", past: "%s前", s: "幾秒", ss: "%d 秒", m: "1 分鐘", mm: "%d 分鐘", h: "1 小時", hh: "%d 小時", d: "1 天", dd: "%d 天", M: "1 個月", MM: "%d 個月", y: "1 年", yy: "%d 年" },
               });
          })(i(0));
     },
     function (t, e, i) {
          !(function (t) {
               "use strict";
               t.defineLocale("zh-tw", {
                    months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
                    monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
                    weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
                    weekdaysShort: "週日_週一_週二_週三_週四_週五_週六".split("_"),
                    weekdaysMin: "日_一_二_三_四_五_六".split("_"),
                    longDateFormat: {
                         LT: "HH:mm",
                         LTS: "HH:mm:ss",
                         L: "YYYY/MM/DD",
                         LL: "YYYY年M月D日",
                         LLL: "YYYY年M月D日 HH:mm",
                         LLLL: "YYYY年M月D日dddd HH:mm",
                         l: "YYYY/M/D",
                         ll: "YYYY年M月D日",
                         lll: "YYYY年M月D日 HH:mm",
                         llll: "YYYY年M月D日dddd HH:mm",
                    },
                    meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
                    meridiemHour: function (t, e) {
                         return 12 === t && (t = 0), "凌晨" === e || "早上" === e || "上午" === e ? t : "中午" === e ? (t >= 11 ? t : t + 12) : "下午" === e || "晚上" === e ? t + 12 : void 0;
                    },
                    meridiem: function (t, e, i) {
                         var n = 100 * t + e;
                         return n < 600 ? "凌晨" : n < 900 ? "早上" : n < 1130 ? "上午" : n < 1230 ? "中午" : n < 1800 ? "下午" : "晚上";
                    },
                    calendar: { sameDay: "[今天] LT", nextDay: "[明天] LT", nextWeek: "[下]dddd LT", lastDay: "[昨天] LT", lastWeek: "[上]dddd LT", sameElse: "L" },
                    dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
                    ordinal: function (t, e) {
                         switch (e) {
                              case "d":
                              case "D":
                              case "DDD":
                                   return t + "日";
                              case "M":
                                   return t + "月";
                              case "w":
                              case "W":
                                   return t + "週";
                              default:
                                   return t;
                         }
                    },
                    relativeTime: { future: "%s後", past: "%s前", s: "幾秒", ss: "%d 秒", m: "1 分鐘", mm: "%d 分鐘", h: "1 小時", hh: "%d 小時", d: "1 天", dd: "%d 天", M: "1 個月", MM: "%d 個月", y: "1 年", yy: "%d 年" },
               });
          })(i(0));
     },
     function (t, e, i) {
          /*!
           * Cropper.js v1.5.7
           * https://fengyuanchen.github.io/cropperjs
           *
           * Copyright 2015-present Chen Fengyuan
           * Released under the MIT license
           *
           * Date: 2020-05-23T05:23:00.081Z
           */ t.exports = (function () {
               "use strict";
               function t(e) {
                    return (t =
                         "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                              ? function (t) {
                                     return typeof t;
                                }
                              : function (t) {
                                     return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                })(e);
               }
               function e(t, e) {
                    if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
               }
               function i(t, e) {
                    for (var i = 0; i < e.length; i++) {
                         var n = e[i];
                         (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                    }
               }
               function n(t, e, i) {
                    return e in t ? Object.defineProperty(t, e, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (t[e] = i), t;
               }
               function r(t, e) {
                    var i = Object.keys(t);
                    if (Object.getOwnPropertySymbols) {
                         var n = Object.getOwnPropertySymbols(t);
                         e &&
                              (n = n.filter(function (e) {
                                   return Object.getOwnPropertyDescriptor(t, e).enumerable;
                              })),
                              i.push.apply(i, n);
                    }
                    return i;
               }
               function o(t) {
                    for (var e = 1; e < arguments.length; e++) {
                         var i = null != arguments[e] ? arguments[e] : {};
                         e % 2
                              ? r(Object(i), !0).forEach(function (e) {
                                     n(t, e, i[e]);
                                })
                              : Object.getOwnPropertyDescriptors
                              ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(i))
                              : r(Object(i)).forEach(function (e) {
                                     Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(i, e));
                                });
                    }
                    return t;
               }
               function a(t) {
                    return (
                         (function (t) {
                              if (Array.isArray(t)) return s(t);
                         })(t) ||
                         (function (t) {
                              if ("undefined" != typeof Symbol && Symbol.iterator in Object(t)) return Array.from(t);
                         })(t) ||
                         (function (t, e) {
                              if (t) {
                                   if ("string" == typeof t) return s(t, e);
                                   var i = Object.prototype.toString.call(t).slice(8, -1);
                                   return "Object" === i && t.constructor && (i = t.constructor.name), "Map" === i || "Set" === i ? Array.from(t) : "Arguments" === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i) ? s(t, e) : void 0;
                              }
                         })(t) ||
                         (function () {
                              throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
                         })()
                    );
               }
               function s(t, e) {
                    (null == e || e > t.length) && (e = t.length);
                    for (var i = 0, n = new Array(e); i < e; i++) n[i] = t[i];
                    return n;
               }
               var l = "undefined" != typeof window && void 0 !== window.document,
                    c = l ? window : {},
                    u = !(!l || !c.document.documentElement) && "ontouchstart" in c.document.documentElement,
                    h = !!l && "PointerEvent" in c,
                    d = "".concat("cropper", "-crop"),
                    p = "".concat("cropper", "-disabled"),
                    f = "".concat("cropper", "-hidden"),
                    m = "".concat("cropper", "-hide"),
                    g = "".concat("cropper", "-invisible"),
                    v = "".concat("cropper", "-modal"),
                    y = "".concat("cropper", "-move"),
                    b = "".concat("cropper", "Action"),
                    _ = "".concat("cropper", "Preview"),
                    x = u ? "touchstart" : "mousedown",
                    w = u ? "touchmove" : "mousemove",
                    k = u ? "touchend touchcancel" : "mouseup",
                    S = h ? "pointerdown" : x,
                    M = h ? "pointermove" : w,
                    T = h ? "pointerup pointercancel" : k,
                    C = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,
                    D = /^data:/,
                    L = /^data:image\/jpeg;base64,/,
                    E = /^img|canvas$/i,
                    A = {
                         viewMode: 0,
                         dragMode: "crop",
                         initialAspectRatio: NaN,
                         aspectRatio: NaN,
                         data: null,
                         preview: "",
                         responsive: !0,
                         restore: !0,
                         checkCrossOrigin: !0,
                         checkOrientation: !0,
                         modal: !0,
                         guides: !0,
                         center: !0,
                         highlight: !0,
                         background: !0,
                         autoCrop: !0,
                         autoCropArea: 0.8,
                         movable: !0,
                         rotatable: !0,
                         scalable: !0,
                         zoomable: !0,
                         zoomOnTouch: !0,
                         zoomOnWheel: !0,
                         wheelZoomRatio: 0.1,
                         cropBoxMovable: !0,
                         cropBoxResizable: !0,
                         toggleDragModeOnDblclick: !0,
                         minCanvasWidth: 0,
                         minCanvasHeight: 0,
                         minCropBoxWidth: 0,
                         minCropBoxHeight: 0,
                         minContainerWidth: 200,
                         minContainerHeight: 100,
                         ready: null,
                         cropstart: null,
                         cropmove: null,
                         cropend: null,
                         crop: null,
                         zoom: null,
                    },
                    P = Number.isNaN || c.isNaN;
               function I(t) {
                    return "number" == typeof t && !P(t);
               }
               var O = function (t) {
                    return t > 0 && t < 1 / 0;
               };
               function Y(t) {
                    return void 0 === t;
               }
               function z(e) {
                    return "object" === t(e) && null !== e;
               }
               var R = Object.prototype.hasOwnProperty;
               function F(t) {
                    if (!z(t)) return !1;
                    try {
                         var e = t.constructor,
                              i = e.prototype;
                         return e && i && R.call(i, "isPrototypeOf");
                    } catch (t) {
                         return !1;
                    }
               }
               function H(t) {
                    return "function" == typeof t;
               }
               var j = Array.prototype.slice;
               function N(t) {
                    return Array.from ? Array.from(t) : j.call(t);
               }
               function B(t, e) {
                    return (
                         t &&
                              H(e) &&
                              (Array.isArray(t) || I(t.length)
                                   ? N(t).forEach(function (i, n) {
                                          e.call(t, i, n, t);
                                     })
                                   : z(t) &&
                                     Object.keys(t).forEach(function (i) {
                                          e.call(t, t[i], i, t);
                                     })),
                         t
                    );
               }
               var W =
                         Object.assign ||
                         function (t) {
                              for (var e = arguments.length, i = new Array(e > 1 ? e - 1 : 0), n = 1; n < e; n++) i[n - 1] = arguments[n];
                              return (
                                   z(t) &&
                                        i.length > 0 &&
                                        i.forEach(function (e) {
                                             z(e) &&
                                                  Object.keys(e).forEach(function (i) {
                                                       t[i] = e[i];
                                                  });
                                        }),
                                   t
                              );
                         },
                    V = /\.\d*(?:0|9){12}\d*$/;
               function U(t) {
                    var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1e11;
                    return V.test(t) ? Math.round(t * e) / e : t;
               }
               var q = /^width|height|left|top|marginLeft|marginTop$/;
               function $(t, e) {
                    var i = t.style;
                    B(e, function (t, e) {
                         q.test(e) && I(t) && (t = "".concat(t, "px")), (i[e] = t);
                    });
               }
               function X(t, e) {
                    if (e)
                         if (I(t.length))
                              B(t, function (t) {
                                   X(t, e);
                              });
                         else if (t.classList) t.classList.add(e);
                         else {
                              var i = t.className.trim();
                              i ? i.indexOf(e) < 0 && (t.className = "".concat(i, " ").concat(e)) : (t.className = e);
                         }
               }
               function G(t, e) {
                    e &&
                         (I(t.length)
                              ? B(t, function (t) {
                                     G(t, e);
                                })
                              : t.classList
                              ? t.classList.remove(e)
                              : t.className.indexOf(e) >= 0 && (t.className = t.className.replace(e, "")));
               }
               function Z(t, e, i) {
                    e &&
                         (I(t.length)
                              ? B(t, function (t) {
                                     Z(t, e, i);
                                })
                              : i
                              ? X(t, e)
                              : G(t, e));
               }
               var J = /([a-z\d])([A-Z])/g;
               function K(t) {
                    return t.replace(J, "$1-$2").toLowerCase();
               }
               function Q(t, e) {
                    return z(t[e]) ? t[e] : t.dataset ? t.dataset[e] : t.getAttribute("data-".concat(K(e)));
               }
               function tt(t, e, i) {
                    z(i) ? (t[e] = i) : t.dataset ? (t.dataset[e] = i) : t.setAttribute("data-".concat(K(e)), i);
               }
               var et = /\s\s*/,
                    it = (function () {
                         var t = !1;
                         if (l) {
                              var e = !1,
                                   i = function () {},
                                   n = Object.defineProperty({}, "once", {
                                        get: function () {
                                             return (t = !0), e;
                                        },
                                        set: function (t) {
                                             e = t;
                                        },
                                   });
                              c.addEventListener("test", i, n), c.removeEventListener("test", i, n);
                         }
                         return t;
                    })();
               function nt(t, e, i) {
                    var n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {},
                         r = i;
                    e.trim()
                         .split(et)
                         .forEach(function (e) {
                              if (!it) {
                                   var o = t.listeners;
                                   o && o[e] && o[e][i] && ((r = o[e][i]), delete o[e][i], 0 === Object.keys(o[e]).length && delete o[e], 0 === Object.keys(o).length && delete t.listeners);
                              }
                              t.removeEventListener(e, r, n);
                         });
               }
               function rt(t, e, i) {
                    var n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {},
                         r = i;
                    e.trim()
                         .split(et)
                         .forEach(function (e) {
                              if (n.once && !it) {
                                   var o = t.listeners,
                                        a = void 0 === o ? {} : o;
                                   (r = function () {
                                        delete a[e][i], t.removeEventListener(e, r, n);
                                        for (var o = arguments.length, s = new Array(o), l = 0; l < o; l++) s[l] = arguments[l];
                                        i.apply(t, s);
                                   }),
                                        a[e] || (a[e] = {}),
                                        a[e][i] && t.removeEventListener(e, a[e][i], n),
                                        (a[e][i] = r),
                                        (t.listeners = a);
                              }
                              t.addEventListener(e, r, n);
                         });
               }
               function ot(t, e, i) {
                    var n;
                    return H(Event) && H(CustomEvent) ? (n = new CustomEvent(e, { detail: i, bubbles: !0, cancelable: !0 })) : (n = document.createEvent("CustomEvent")).initCustomEvent(e, !0, !0, i), t.dispatchEvent(n);
               }
               function at(t) {
                    var e = t.getBoundingClientRect();
                    return { left: e.left + (window.pageXOffset - document.documentElement.clientLeft), top: e.top + (window.pageYOffset - document.documentElement.clientTop) };
               }
               var st = c.location,
                    lt = /^(\w+:)\/\/([^:/?#]*):?(\d*)/i;
               function ct(t) {
                    var e = t.match(lt);
                    return null !== e && (e[1] !== st.protocol || e[2] !== st.hostname || e[3] !== st.port);
               }
               function ut(t) {
                    var e = "timestamp=".concat(new Date().getTime());
                    return t + (-1 === t.indexOf("?") ? "?" : "&") + e;
               }
               function ht(t) {
                    var e = t.rotate,
                         i = t.scaleX,
                         n = t.scaleY,
                         r = t.translateX,
                         o = t.translateY,
                         a = [];
                    I(r) && 0 !== r && a.push("translateX(".concat(r, "px)")),
                         I(o) && 0 !== o && a.push("translateY(".concat(o, "px)")),
                         I(e) && 0 !== e && a.push("rotate(".concat(e, "deg)")),
                         I(i) && 1 !== i && a.push("scaleX(".concat(i, ")")),
                         I(n) && 1 !== n && a.push("scaleY(".concat(n, ")"));
                    var s = a.length ? a.join(" ") : "none";
                    return { WebkitTransform: s, msTransform: s, transform: s };
               }
               function dt(t, e) {
                    var i = t.pageX,
                         n = t.pageY,
                         r = { endX: i, endY: n };
                    return e ? r : o({ startX: i, startY: n }, r);
               }
               function pt(t) {
                    var e = t.aspectRatio,
                         i = t.height,
                         n = t.width,
                         r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "contain",
                         o = O(n),
                         a = O(i);
                    if (o && a) {
                         var s = i * e;
                         ("contain" === r && s > n) || ("cover" === r && s < n) ? (i = n / e) : (n = i * e);
                    } else o ? (i = n / e) : a && (n = i * e);
                    return { width: n, height: i };
               }
               function ft(t, e, i, n) {
                    var r = e.aspectRatio,
                         o = e.naturalWidth,
                         s = e.naturalHeight,
                         l = e.rotate,
                         c = void 0 === l ? 0 : l,
                         u = e.scaleX,
                         h = void 0 === u ? 1 : u,
                         d = e.scaleY,
                         p = void 0 === d ? 1 : d,
                         f = i.aspectRatio,
                         m = i.naturalWidth,
                         g = i.naturalHeight,
                         v = n.fillColor,
                         y = void 0 === v ? "transparent" : v,
                         b = n.imageSmoothingEnabled,
                         _ = void 0 === b || b,
                         x = n.imageSmoothingQuality,
                         w = void 0 === x ? "low" : x,
                         k = n.maxWidth,
                         S = void 0 === k ? 1 / 0 : k,
                         M = n.maxHeight,
                         T = void 0 === M ? 1 / 0 : M,
                         C = n.minWidth,
                         D = void 0 === C ? 0 : C,
                         L = n.minHeight,
                         E = void 0 === L ? 0 : L,
                         A = document.createElement("canvas"),
                         P = A.getContext("2d"),
                         I = pt({ aspectRatio: f, width: S, height: T }),
                         O = pt({ aspectRatio: f, width: D, height: E }, "cover"),
                         Y = Math.min(I.width, Math.max(O.width, m)),
                         z = Math.min(I.height, Math.max(O.height, g)),
                         R = pt({ aspectRatio: r, width: S, height: T }),
                         F = pt({ aspectRatio: r, width: D, height: E }, "cover"),
                         H = Math.min(R.width, Math.max(F.width, o)),
                         j = Math.min(R.height, Math.max(F.height, s)),
                         N = [-H / 2, -j / 2, H, j];
                    return (
                         (A.width = U(Y)),
                         (A.height = U(z)),
                         (P.fillStyle = y),
                         P.fillRect(0, 0, Y, z),
                         P.save(),
                         P.translate(Y / 2, z / 2),
                         P.rotate((c * Math.PI) / 180),
                         P.scale(h, p),
                         (P.imageSmoothingEnabled = _),
                         (P.imageSmoothingQuality = w),
                         P.drawImage.apply(
                              P,
                              [t].concat(
                                   a(
                                        N.map(function (t) {
                                             return Math.floor(U(t));
                                        })
                                   )
                              )
                         ),
                         P.restore(),
                         A
                    );
               }
               var mt = String.fromCharCode,
                    gt = /^data:.*,/;
               function vt(t) {
                    var e,
                         i = new DataView(t);
                    try {
                         var n, r, o;
                         if (255 === i.getUint8(0) && 216 === i.getUint8(1))
                              for (var a = i.byteLength, s = 2; s + 1 < a; ) {
                                   if (255 === i.getUint8(s) && 225 === i.getUint8(s + 1)) {
                                        r = s;
                                        break;
                                   }
                                   s += 1;
                              }
                         if (r) {
                              var l = r + 10;
                              if (
                                   "Exif" ===
                                   (function (t, e, i) {
                                        var n = "";
                                        i += e;
                                        for (var r = e; r < i; r += 1) n += mt(t.getUint8(r));
                                        return n;
                                   })(i, r + 4, 4)
                              ) {
                                   var c = i.getUint16(l);
                                   if (((n = 18761 === c) || 19789 === c) && 42 === i.getUint16(l + 2, n)) {
                                        var u = i.getUint32(l + 4, n);
                                        u >= 8 && (o = l + u);
                                   }
                              }
                         }
                         if (o) {
                              var h,
                                   d,
                                   p = i.getUint16(o, n);
                              for (d = 0; d < p; d += 1)
                                   if (((h = o + 12 * d + 2), 274 === i.getUint16(h, n))) {
                                        (h += 8), (e = i.getUint16(h, n)), i.setUint16(h, 1, n);
                                        break;
                                   }
                         }
                    } catch (t) {
                         e = 1;
                    }
                    return e;
               }
               var yt = {
                         render: function () {
                              this.initContainer(), this.initCanvas(), this.initCropBox(), this.renderCanvas(), this.cropped && this.renderCropBox();
                         },
                         initContainer: function () {
                              var t = this.element,
                                   e = this.options,
                                   i = this.container,
                                   n = this.cropper;
                              X(n, f), G(t, f);
                              var r = { width: Math.max(i.offsetWidth, Number(e.minContainerWidth) || 200), height: Math.max(i.offsetHeight, Number(e.minContainerHeight) || 100) };
                              (this.containerData = r), $(n, { width: r.width, height: r.height }), X(t, f), G(n, f);
                         },
                         initCanvas: function () {
                              var t = this.containerData,
                                   e = this.imageData,
                                   i = this.options.viewMode,
                                   n = Math.abs(e.rotate) % 180 == 90,
                                   r = n ? e.naturalHeight : e.naturalWidth,
                                   o = n ? e.naturalWidth : e.naturalHeight,
                                   a = r / o,
                                   s = t.width,
                                   l = t.height;
                              t.height * a > t.width ? (3 === i ? (s = t.height * a) : (l = t.width / a)) : 3 === i ? (l = t.width / a) : (s = t.height * a);
                              var c = { aspectRatio: a, naturalWidth: r, naturalHeight: o, width: s, height: l };
                              (c.left = (t.width - s) / 2),
                                   (c.top = (t.height - l) / 2),
                                   (c.oldLeft = c.left),
                                   (c.oldTop = c.top),
                                   (this.canvasData = c),
                                   (this.limited = 1 === i || 2 === i),
                                   this.limitCanvas(!0, !0),
                                   (this.initialImageData = W({}, e)),
                                   (this.initialCanvasData = W({}, c));
                         },
                         limitCanvas: function (t, e) {
                              var i = this.options,
                                   n = this.containerData,
                                   r = this.canvasData,
                                   o = this.cropBoxData,
                                   a = i.viewMode,
                                   s = r.aspectRatio,
                                   l = this.cropped && o;
                              if (t) {
                                   var c = Number(i.minCanvasWidth) || 0,
                                        u = Number(i.minCanvasHeight) || 0;
                                   a > 1
                                        ? ((c = Math.max(c, n.width)), (u = Math.max(u, n.height)), 3 === a && (u * s > c ? (c = u * s) : (u = c / s)))
                                        : a > 0 && (c ? (c = Math.max(c, l ? o.width : 0)) : u ? (u = Math.max(u, l ? o.height : 0)) : l && ((c = o.width), (u = o.height) * s > c ? (c = u * s) : (u = c / s)));
                                   var h = pt({ aspectRatio: s, width: c, height: u });
                                   (c = h.width), (u = h.height), (r.minWidth = c), (r.minHeight = u), (r.maxWidth = 1 / 0), (r.maxHeight = 1 / 0);
                              }
                              if (e)
                                   if (a > (l ? 0 : 1)) {
                                        var d = n.width - r.width,
                                             p = n.height - r.height;
                                        (r.minLeft = Math.min(0, d)),
                                             (r.minTop = Math.min(0, p)),
                                             (r.maxLeft = Math.max(0, d)),
                                             (r.maxTop = Math.max(0, p)),
                                             l &&
                                                  this.limited &&
                                                  ((r.minLeft = Math.min(o.left, o.left + (o.width - r.width))),
                                                  (r.minTop = Math.min(o.top, o.top + (o.height - r.height))),
                                                  (r.maxLeft = o.left),
                                                  (r.maxTop = o.top),
                                                  2 === a && (r.width >= n.width && ((r.minLeft = Math.min(0, d)), (r.maxLeft = Math.max(0, d))), r.height >= n.height && ((r.minTop = Math.min(0, p)), (r.maxTop = Math.max(0, p)))));
                                   } else (r.minLeft = -r.width), (r.minTop = -r.height), (r.maxLeft = n.width), (r.maxTop = n.height);
                         },
                         renderCanvas: function (t, e) {
                              var i = this.canvasData,
                                   n = this.imageData;
                              if (e) {
                                   var r = (function (t) {
                                             var e = t.width,
                                                  i = t.height,
                                                  n = t.degree;
                                             if (90 == (n = Math.abs(n) % 180)) return { width: i, height: e };
                                             var r = ((n % 90) * Math.PI) / 180,
                                                  o = Math.sin(r),
                                                  a = Math.cos(r),
                                                  s = e * a + i * o,
                                                  l = e * o + i * a;
                                             return n > 90 ? { width: l, height: s } : { width: s, height: l };
                                        })({ width: n.naturalWidth * Math.abs(n.scaleX || 1), height: n.naturalHeight * Math.abs(n.scaleY || 1), degree: n.rotate || 0 }),
                                        o = r.width,
                                        a = r.height,
                                        s = i.width * (o / i.naturalWidth),
                                        l = i.height * (a / i.naturalHeight);
                                   (i.left -= (s - i.width) / 2), (i.top -= (l - i.height) / 2), (i.width = s), (i.height = l), (i.aspectRatio = o / a), (i.naturalWidth = o), (i.naturalHeight = a), this.limitCanvas(!0, !1);
                              }
                              (i.width > i.maxWidth || i.width < i.minWidth) && (i.left = i.oldLeft),
                                   (i.height > i.maxHeight || i.height < i.minHeight) && (i.top = i.oldTop),
                                   (i.width = Math.min(Math.max(i.width, i.minWidth), i.maxWidth)),
                                   (i.height = Math.min(Math.max(i.height, i.minHeight), i.maxHeight)),
                                   this.limitCanvas(!1, !0),
                                   (i.left = Math.min(Math.max(i.left, i.minLeft), i.maxLeft)),
                                   (i.top = Math.min(Math.max(i.top, i.minTop), i.maxTop)),
                                   (i.oldLeft = i.left),
                                   (i.oldTop = i.top),
                                   $(this.canvas, W({ width: i.width, height: i.height }, ht({ translateX: i.left, translateY: i.top }))),
                                   this.renderImage(t),
                                   this.cropped && this.limited && this.limitCropBox(!0, !0);
                         },
                         renderImage: function (t) {
                              var e = this.canvasData,
                                   i = this.imageData,
                                   n = i.naturalWidth * (e.width / e.naturalWidth),
                                   r = i.naturalHeight * (e.height / e.naturalHeight);
                              W(i, { width: n, height: r, left: (e.width - n) / 2, top: (e.height - r) / 2 }), $(this.image, W({ width: i.width, height: i.height }, ht(W({ translateX: i.left, translateY: i.top }, i)))), t && this.output();
                         },
                         initCropBox: function () {
                              var t = this.options,
                                   e = this.canvasData,
                                   i = t.aspectRatio || t.initialAspectRatio,
                                   n = Number(t.autoCropArea) || 0.8,
                                   r = { width: e.width, height: e.height };
                              i && (e.height * i > e.width ? (r.height = r.width / i) : (r.width = r.height * i)),
                                   (this.cropBoxData = r),
                                   this.limitCropBox(!0, !0),
                                   (r.width = Math.min(Math.max(r.width, r.minWidth), r.maxWidth)),
                                   (r.height = Math.min(Math.max(r.height, r.minHeight), r.maxHeight)),
                                   (r.width = Math.max(r.minWidth, r.width * n)),
                                   (r.height = Math.max(r.minHeight, r.height * n)),
                                   (r.left = e.left + (e.width - r.width) / 2),
                                   (r.top = e.top + (e.height - r.height) / 2),
                                   (r.oldLeft = r.left),
                                   (r.oldTop = r.top),
                                   (this.initialCropBoxData = W({}, r));
                         },
                         limitCropBox: function (t, e) {
                              var i = this.options,
                                   n = this.containerData,
                                   r = this.canvasData,
                                   o = this.cropBoxData,
                                   a = this.limited,
                                   s = i.aspectRatio;
                              if (t) {
                                   var l = Number(i.minCropBoxWidth) || 0,
                                        c = Number(i.minCropBoxHeight) || 0,
                                        u = a ? Math.min(n.width, r.width, r.width + r.left, n.width - r.left) : n.width,
                                        h = a ? Math.min(n.height, r.height, r.height + r.top, n.height - r.top) : n.height;
                                   (l = Math.min(l, n.width)),
                                        (c = Math.min(c, n.height)),
                                        s && (l && c ? (c * s > l ? (c = l / s) : (l = c * s)) : l ? (c = l / s) : c && (l = c * s), h * s > u ? (h = u / s) : (u = h * s)),
                                        (o.minWidth = Math.min(l, u)),
                                        (o.minHeight = Math.min(c, h)),
                                        (o.maxWidth = u),
                                        (o.maxHeight = h);
                              }
                              e &&
                                   (a
                                        ? ((o.minLeft = Math.max(0, r.left)), (o.minTop = Math.max(0, r.top)), (o.maxLeft = Math.min(n.width, r.left + r.width) - o.width), (o.maxTop = Math.min(n.height, r.top + r.height) - o.height))
                                        : ((o.minLeft = 0), (o.minTop = 0), (o.maxLeft = n.width - o.width), (o.maxTop = n.height - o.height)));
                         },
                         renderCropBox: function () {
                              var t = this.options,
                                   e = this.containerData,
                                   i = this.cropBoxData;
                              (i.width > i.maxWidth || i.width < i.minWidth) && (i.left = i.oldLeft),
                                   (i.height > i.maxHeight || i.height < i.minHeight) && (i.top = i.oldTop),
                                   (i.width = Math.min(Math.max(i.width, i.minWidth), i.maxWidth)),
                                   (i.height = Math.min(Math.max(i.height, i.minHeight), i.maxHeight)),
                                   this.limitCropBox(!1, !0),
                                   (i.left = Math.min(Math.max(i.left, i.minLeft), i.maxLeft)),
                                   (i.top = Math.min(Math.max(i.top, i.minTop), i.maxTop)),
                                   (i.oldLeft = i.left),
                                   (i.oldTop = i.top),
                                   t.movable && t.cropBoxMovable && tt(this.face, b, i.width >= e.width && i.height >= e.height ? "move" : "all"),
                                   $(this.cropBox, W({ width: i.width, height: i.height }, ht({ translateX: i.left, translateY: i.top }))),
                                   this.cropped && this.limited && this.limitCanvas(!0, !0),
                                   this.disabled || this.output();
                         },
                         output: function () {
                              this.preview(), ot(this.element, "crop", this.getData());
                         },
                    },
                    bt = {
                         initPreview: function () {
                              var t = this.element,
                                   e = this.crossOrigin,
                                   i = this.options.preview,
                                   n = e ? this.crossOriginUrl : this.url,
                                   r = t.alt || "The image to preview",
                                   o = document.createElement("img");
                              if ((e && (o.crossOrigin = e), (o.src = n), (o.alt = r), this.viewBox.appendChild(o), (this.viewBoxImage = o), i)) {
                                   var a = i;
                                   "string" == typeof i ? (a = t.ownerDocument.querySelectorAll(i)) : i.querySelector && (a = [i]),
                                        (this.previews = a),
                                        B(a, function (t) {
                                             var i = document.createElement("img");
                                             tt(t, _, { width: t.offsetWidth, height: t.offsetHeight, html: t.innerHTML }),
                                                  e && (i.crossOrigin = e),
                                                  (i.src = n),
                                                  (i.alt = r),
                                                  (i.style.cssText = 'display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"'),
                                                  (t.innerHTML = ""),
                                                  t.appendChild(i);
                                        });
                              }
                         },
                         resetPreview: function () {
                              B(this.previews, function (t) {
                                   var e = Q(t, _);
                                   $(t, { width: e.width, height: e.height }),
                                        (t.innerHTML = e.html),
                                        (function (t, e) {
                                             if (z(t[e]))
                                                  try {
                                                       delete t[e];
                                                  } catch (i) {
                                                       t[e] = void 0;
                                                  }
                                             else if (t.dataset)
                                                  try {
                                                       delete t.dataset[e];
                                                  } catch (i) {
                                                       t.dataset[e] = void 0;
                                                  }
                                             else t.removeAttribute("data-".concat(K(e)));
                                        })(t, _);
                              });
                         },
                         preview: function () {
                              var t = this.imageData,
                                   e = this.canvasData,
                                   i = this.cropBoxData,
                                   n = i.width,
                                   r = i.height,
                                   o = t.width,
                                   a = t.height,
                                   s = i.left - e.left - t.left,
                                   l = i.top - e.top - t.top;
                              this.cropped &&
                                   !this.disabled &&
                                   ($(this.viewBoxImage, W({ width: o, height: a }, ht(W({ translateX: -s, translateY: -l }, t)))),
                                   B(this.previews, function (e) {
                                        var i = Q(e, _),
                                             c = i.width,
                                             u = i.height,
                                             h = c,
                                             d = u,
                                             p = 1;
                                        n && (d = r * (p = c / n)),
                                             r && d > u && ((h = n * (p = u / r)), (d = u)),
                                             $(e, { width: h, height: d }),
                                             $(e.getElementsByTagName("img")[0], W({ width: o * p, height: a * p }, ht(W({ translateX: -s * p, translateY: -l * p }, t))));
                                   }));
                         },
                    },
                    _t = {
                         bind: function () {
                              var t = this.element,
                                   e = this.options,
                                   i = this.cropper;
                              H(e.cropstart) && rt(t, "cropstart", e.cropstart),
                                   H(e.cropmove) && rt(t, "cropmove", e.cropmove),
                                   H(e.cropend) && rt(t, "cropend", e.cropend),
                                   H(e.crop) && rt(t, "crop", e.crop),
                                   H(e.zoom) && rt(t, "zoom", e.zoom),
                                   rt(i, S, (this.onCropStart = this.cropStart.bind(this))),
                                   e.zoomable && e.zoomOnWheel && rt(i, "wheel", (this.onWheel = this.wheel.bind(this)), { passive: !1, capture: !0 }),
                                   e.toggleDragModeOnDblclick && rt(i, "dblclick", (this.onDblclick = this.dblclick.bind(this))),
                                   rt(t.ownerDocument, M, (this.onCropMove = this.cropMove.bind(this))),
                                   rt(t.ownerDocument, T, (this.onCropEnd = this.cropEnd.bind(this))),
                                   e.responsive && rt(window, "resize", (this.onResize = this.resize.bind(this)));
                         },
                         unbind: function () {
                              var t = this.element,
                                   e = this.options,
                                   i = this.cropper;
                              H(e.cropstart) && nt(t, "cropstart", e.cropstart),
                                   H(e.cropmove) && nt(t, "cropmove", e.cropmove),
                                   H(e.cropend) && nt(t, "cropend", e.cropend),
                                   H(e.crop) && nt(t, "crop", e.crop),
                                   H(e.zoom) && nt(t, "zoom", e.zoom),
                                   nt(i, S, this.onCropStart),
                                   e.zoomable && e.zoomOnWheel && nt(i, "wheel", this.onWheel, { passive: !1, capture: !0 }),
                                   e.toggleDragModeOnDblclick && nt(i, "dblclick", this.onDblclick),
                                   nt(t.ownerDocument, M, this.onCropMove),
                                   nt(t.ownerDocument, T, this.onCropEnd),
                                   e.responsive && nt(window, "resize", this.onResize);
                         },
                    },
                    xt = {
                         resize: function () {
                              if (!this.disabled) {
                                   var t,
                                        e,
                                        i = this.options,
                                        n = this.container,
                                        r = this.containerData,
                                        o = n.offsetWidth / r.width;
                                   (1 === o && n.offsetHeight === r.height) ||
                                        (i.restore && ((t = this.getCanvasData()), (e = this.getCropBoxData())),
                                        this.render(),
                                        i.restore &&
                                             (this.setCanvasData(
                                                  B(t, function (e, i) {
                                                       t[i] = e * o;
                                                  })
                                             ),
                                             this.setCropBoxData(
                                                  B(e, function (t, i) {
                                                       e[i] = t * o;
                                                  })
                                             )));
                              }
                         },
                         dblclick: function () {
                              var t, e;
                              this.disabled || "none" === this.options.dragMode || this.setDragMode(((t = this.dragBox), (e = d), (t.classList ? t.classList.contains(e) : t.className.indexOf(e) > -1) ? "move" : "crop"));
                         },
                         wheel: function (t) {
                              var e = this,
                                   i = Number(this.options.wheelZoomRatio) || 0.1,
                                   n = 1;
                              this.disabled ||
                                   (t.preventDefault(),
                                   this.wheeling ||
                                        ((this.wheeling = !0),
                                        setTimeout(function () {
                                             e.wheeling = !1;
                                        }, 50),
                                        t.deltaY ? (n = t.deltaY > 0 ? 1 : -1) : t.wheelDelta ? (n = -t.wheelDelta / 120) : t.detail && (n = t.detail > 0 ? 1 : -1),
                                        this.zoom(-n * i, t)));
                         },
                         cropStart: function (t) {
                              var e = t.buttons,
                                   i = t.button;
                              if (!(this.disabled || (("mousedown" === t.type || ("pointerdown" === t.type && "mouse" === t.pointerType)) && ((I(e) && 1 !== e) || (I(i) && 0 !== i) || t.ctrlKey)))) {
                                   var n,
                                        r = this.options,
                                        o = this.pointers;
                                   t.changedTouches
                                        ? B(t.changedTouches, function (t) {
                                               o[t.identifier] = dt(t);
                                          })
                                        : (o[t.pointerId || 0] = dt(t)),
                                        (n = Object.keys(o).length > 1 && r.zoomable && r.zoomOnTouch ? "zoom" : Q(t.target, b)),
                                        C.test(n) &&
                                             !1 !== ot(this.element, "cropstart", { originalEvent: t, action: n }) &&
                                             (t.preventDefault(), (this.action = n), (this.cropping = !1), "crop" === n && ((this.cropping = !0), X(this.dragBox, v)));
                              }
                         },
                         cropMove: function (t) {
                              var e = this.action;
                              if (!this.disabled && e) {
                                   var i = this.pointers;
                                   t.preventDefault(),
                                        !1 !== ot(this.element, "cropmove", { originalEvent: t, action: e }) &&
                                             (t.changedTouches
                                                  ? B(t.changedTouches, function (t) {
                                                         W(i[t.identifier] || {}, dt(t, !0));
                                                    })
                                                  : W(i[t.pointerId || 0] || {}, dt(t, !0)),
                                             this.change(t));
                              }
                         },
                         cropEnd: function (t) {
                              if (!this.disabled) {
                                   var e = this.action,
                                        i = this.pointers;
                                   t.changedTouches
                                        ? B(t.changedTouches, function (t) {
                                               delete i[t.identifier];
                                          })
                                        : delete i[t.pointerId || 0],
                                        e &&
                                             (t.preventDefault(),
                                             Object.keys(i).length || (this.action = ""),
                                             this.cropping && ((this.cropping = !1), Z(this.dragBox, v, this.cropped && this.options.modal)),
                                             ot(this.element, "cropend", { originalEvent: t, action: e }));
                              }
                         },
                    },
                    wt = {
                         change: function (t) {
                              var e,
                                   i = this.options,
                                   n = this.canvasData,
                                   r = this.containerData,
                                   a = this.cropBoxData,
                                   s = this.pointers,
                                   l = this.action,
                                   c = i.aspectRatio,
                                   u = a.left,
                                   h = a.top,
                                   d = a.width,
                                   p = a.height,
                                   m = u + d,
                                   g = h + p,
                                   v = 0,
                                   y = 0,
                                   b = r.width,
                                   _ = r.height,
                                   x = !0;
                              !c && t.shiftKey && (c = d && p ? d / p : 1), this.limited && ((v = a.minLeft), (y = a.minTop), (b = v + Math.min(r.width, n.width, n.left + n.width)), (_ = y + Math.min(r.height, n.height, n.top + n.height)));
                              var w = s[Object.keys(s)[0]],
                                   k = { x: w.endX - w.startX, y: w.endY - w.startY },
                                   S = function (t) {
                                        switch (t) {
                                             case "e":
                                                  m + k.x > b && (k.x = b - m);
                                                  break;
                                             case "w":
                                                  u + k.x < v && (k.x = v - u);
                                                  break;
                                             case "n":
                                                  h + k.y < y && (k.y = y - h);
                                                  break;
                                             case "s":
                                                  g + k.y > _ && (k.y = _ - g);
                                        }
                                   };
                              switch (l) {
                                   case "all":
                                        (u += k.x), (h += k.y);
                                        break;
                                   case "e":
                                        if (k.x >= 0 && (m >= b || (c && (h <= y || g >= _)))) {
                                             x = !1;
                                             break;
                                        }
                                        S("e"), (d += k.x) < 0 && ((l = "w"), (u -= d = -d)), c && ((p = d / c), (h += (a.height - p) / 2));
                                        break;
                                   case "n":
                                        if (k.y <= 0 && (h <= y || (c && (u <= v || m >= b)))) {
                                             x = !1;
                                             break;
                                        }
                                        S("n"), (p -= k.y), (h += k.y), p < 0 && ((l = "s"), (h -= p = -p)), c && ((d = p * c), (u += (a.width - d) / 2));
                                        break;
                                   case "w":
                                        if (k.x <= 0 && (u <= v || (c && (h <= y || g >= _)))) {
                                             x = !1;
                                             break;
                                        }
                                        S("w"), (d -= k.x), (u += k.x), d < 0 && ((l = "e"), (u -= d = -d)), c && ((p = d / c), (h += (a.height - p) / 2));
                                        break;
                                   case "s":
                                        if (k.y >= 0 && (g >= _ || (c && (u <= v || m >= b)))) {
                                             x = !1;
                                             break;
                                        }
                                        S("s"), (p += k.y) < 0 && ((l = "n"), (h -= p = -p)), c && ((d = p * c), (u += (a.width - d) / 2));
                                        break;
                                   case "ne":
                                        if (c) {
                                             if (k.y <= 0 && (h <= y || m >= b)) {
                                                  x = !1;
                                                  break;
                                             }
                                             S("n"), (p -= k.y), (h += k.y), (d = p * c);
                                        } else S("n"), S("e"), k.x >= 0 ? (m < b ? (d += k.x) : k.y <= 0 && h <= y && (x = !1)) : (d += k.x), k.y <= 0 ? h > y && ((p -= k.y), (h += k.y)) : ((p -= k.y), (h += k.y));
                                        d < 0 && p < 0 ? ((l = "sw"), (h -= p = -p), (u -= d = -d)) : d < 0 ? ((l = "nw"), (u -= d = -d)) : p < 0 && ((l = "se"), (h -= p = -p));
                                        break;
                                   case "nw":
                                        if (c) {
                                             if (k.y <= 0 && (h <= y || u <= v)) {
                                                  x = !1;
                                                  break;
                                             }
                                             S("n"), (p -= k.y), (h += k.y), (d = p * c), (u += a.width - d);
                                        } else
                                             S("n"), S("w"), k.x <= 0 ? (u > v ? ((d -= k.x), (u += k.x)) : k.y <= 0 && h <= y && (x = !1)) : ((d -= k.x), (u += k.x)), k.y <= 0 ? h > y && ((p -= k.y), (h += k.y)) : ((p -= k.y), (h += k.y));
                                        d < 0 && p < 0 ? ((l = "se"), (h -= p = -p), (u -= d = -d)) : d < 0 ? ((l = "ne"), (u -= d = -d)) : p < 0 && ((l = "sw"), (h -= p = -p));
                                        break;
                                   case "sw":
                                        if (c) {
                                             if (k.x <= 0 && (u <= v || g >= _)) {
                                                  x = !1;
                                                  break;
                                             }
                                             S("w"), (d -= k.x), (u += k.x), (p = d / c);
                                        } else S("s"), S("w"), k.x <= 0 ? (u > v ? ((d -= k.x), (u += k.x)) : k.y >= 0 && g >= _ && (x = !1)) : ((d -= k.x), (u += k.x)), k.y >= 0 ? g < _ && (p += k.y) : (p += k.y);
                                        d < 0 && p < 0 ? ((l = "ne"), (h -= p = -p), (u -= d = -d)) : d < 0 ? ((l = "se"), (u -= d = -d)) : p < 0 && ((l = "nw"), (h -= p = -p));
                                        break;
                                   case "se":
                                        if (c) {
                                             if (k.x >= 0 && (m >= b || g >= _)) {
                                                  x = !1;
                                                  break;
                                             }
                                             S("e"), (p = (d += k.x) / c);
                                        } else S("s"), S("e"), k.x >= 0 ? (m < b ? (d += k.x) : k.y >= 0 && g >= _ && (x = !1)) : (d += k.x), k.y >= 0 ? g < _ && (p += k.y) : (p += k.y);
                                        d < 0 && p < 0 ? ((l = "nw"), (h -= p = -p), (u -= d = -d)) : d < 0 ? ((l = "sw"), (u -= d = -d)) : p < 0 && ((l = "ne"), (h -= p = -p));
                                        break;
                                   case "move":
                                        this.move(k.x, k.y), (x = !1);
                                        break;
                                   case "zoom":
                                        this.zoom(
                                             (function (t) {
                                                  var e = o({}, t),
                                                       i = [];
                                                  return (
                                                       B(t, function (t, n) {
                                                            delete e[n],
                                                                 B(e, function (e) {
                                                                      var n = Math.abs(t.startX - e.startX),
                                                                           r = Math.abs(t.startY - e.startY),
                                                                           o = Math.abs(t.endX - e.endX),
                                                                           a = Math.abs(t.endY - e.endY),
                                                                           s = Math.sqrt(n * n + r * r),
                                                                           l = (Math.sqrt(o * o + a * a) - s) / s;
                                                                      i.push(l);
                                                                 });
                                                       }),
                                                       i.sort(function (t, e) {
                                                            return Math.abs(t) < Math.abs(e);
                                                       }),
                                                       i[0]
                                                  );
                                             })(s),
                                             t
                                        ),
                                             (x = !1);
                                        break;
                                   case "crop":
                                        if (!k.x || !k.y) {
                                             x = !1;
                                             break;
                                        }
                                        (e = at(this.cropper)),
                                             (u = w.startX - e.left),
                                             (h = w.startY - e.top),
                                             (d = a.minWidth),
                                             (p = a.minHeight),
                                             k.x > 0 ? (l = k.y > 0 ? "se" : "ne") : k.x < 0 && ((u -= d), (l = k.y > 0 ? "sw" : "nw")),
                                             k.y < 0 && (h -= p),
                                             this.cropped || (G(this.cropBox, f), (this.cropped = !0), this.limited && this.limitCropBox(!0, !0));
                              }
                              x && ((a.width = d), (a.height = p), (a.left = u), (a.top = h), (this.action = l), this.renderCropBox()),
                                   B(s, function (t) {
                                        (t.startX = t.endX), (t.startY = t.endY);
                                   });
                         },
                    },
                    kt = {
                         crop: function () {
                              return (
                                   !this.ready || this.cropped || this.disabled || ((this.cropped = !0), this.limitCropBox(!0, !0), this.options.modal && X(this.dragBox, v), G(this.cropBox, f), this.setCropBoxData(this.initialCropBoxData)),
                                   this
                              );
                         },
                         reset: function () {
                              return (
                                   this.ready &&
                                        !this.disabled &&
                                        ((this.imageData = W({}, this.initialImageData)),
                                        (this.canvasData = W({}, this.initialCanvasData)),
                                        (this.cropBoxData = W({}, this.initialCropBoxData)),
                                        this.renderCanvas(),
                                        this.cropped && this.renderCropBox()),
                                   this
                              );
                         },
                         clear: function () {
                              return (
                                   this.cropped &&
                                        !this.disabled &&
                                        (W(this.cropBoxData, { left: 0, top: 0, width: 0, height: 0 }), (this.cropped = !1), this.renderCropBox(), this.limitCanvas(!0, !0), this.renderCanvas(), G(this.dragBox, v), X(this.cropBox, f)),
                                   this
                              );
                         },
                         replace: function (t) {
                              var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                              return (
                                   !this.disabled &&
                                        t &&
                                        (this.isImg && (this.element.src = t),
                                        e
                                             ? ((this.url = t),
                                               (this.image.src = t),
                                               this.ready &&
                                                    ((this.viewBoxImage.src = t),
                                                    B(this.previews, function (e) {
                                                         e.getElementsByTagName("img")[0].src = t;
                                                    })))
                                             : (this.isImg && (this.replaced = !0), (this.options.data = null), this.uncreate(), this.load(t))),
                                   this
                              );
                         },
                         enable: function () {
                              return this.ready && this.disabled && ((this.disabled = !1), G(this.cropper, p)), this;
                         },
                         disable: function () {
                              return this.ready && !this.disabled && ((this.disabled = !0), X(this.cropper, p)), this;
                         },
                         destroy: function () {
                              var t = this.element;
                              return t.cropper ? ((t.cropper = void 0), this.isImg && this.replaced && (t.src = this.originalUrl), this.uncreate(), this) : this;
                         },
                         move: function (t) {
                              var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : t,
                                   i = this.canvasData,
                                   n = i.left,
                                   r = i.top;
                              return this.moveTo(Y(t) ? t : n + Number(t), Y(e) ? e : r + Number(e));
                         },
                         moveTo: function (t) {
                              var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : t,
                                   i = this.canvasData,
                                   n = !1;
                              return (t = Number(t)), (e = Number(e)), this.ready && !this.disabled && this.options.movable && (I(t) && ((i.left = t), (n = !0)), I(e) && ((i.top = e), (n = !0)), n && this.renderCanvas(!0)), this;
                         },
                         zoom: function (t, e) {
                              var i = this.canvasData;
                              return (t = (t = Number(t)) < 0 ? 1 / (1 - t) : 1 + t), this.zoomTo((i.width * t) / i.naturalWidth, null, e);
                         },
                         zoomTo: function (t, e, i) {
                              var n = this.options,
                                   r = this.canvasData,
                                   o = r.width,
                                   a = r.height,
                                   s = r.naturalWidth,
                                   l = r.naturalHeight;
                              if ((t = Number(t)) >= 0 && this.ready && !this.disabled && n.zoomable) {
                                   var c = s * t,
                                        u = l * t;
                                   if (!1 === ot(this.element, "zoom", { ratio: t, oldRatio: o / s, originalEvent: i })) return this;
                                   if (i) {
                                        var h = this.pointers,
                                             d = at(this.cropper),
                                             p =
                                                  h && Object.keys(h).length
                                                       ? (function (t) {
                                                              var e = 0,
                                                                   i = 0,
                                                                   n = 0;
                                                              return (
                                                                   B(t, function (t) {
                                                                        var r = t.startX,
                                                                             o = t.startY;
                                                                        (e += r), (i += o), (n += 1);
                                                                   }),
                                                                   { pageX: (e /= n), pageY: (i /= n) }
                                                              );
                                                         })(h)
                                                       : { pageX: i.pageX, pageY: i.pageY };
                                        (r.left -= (c - o) * ((p.pageX - d.left - r.left) / o)), (r.top -= (u - a) * ((p.pageY - d.top - r.top) / a));
                                   } else F(e) && I(e.x) && I(e.y) ? ((r.left -= (c - o) * ((e.x - r.left) / o)), (r.top -= (u - a) * ((e.y - r.top) / a))) : ((r.left -= (c - o) / 2), (r.top -= (u - a) / 2));
                                   (r.width = c), (r.height = u), this.renderCanvas(!0);
                              }
                              return this;
                         },
                         rotate: function (t) {
                              return this.rotateTo((this.imageData.rotate || 0) + Number(t));
                         },
                         rotateTo: function (t) {
                              return I((t = Number(t))) && this.ready && !this.disabled && this.options.rotatable && ((this.imageData.rotate = t % 360), this.renderCanvas(!0, !0)), this;
                         },
                         scaleX: function (t) {
                              var e = this.imageData.scaleY;
                              return this.scale(t, I(e) ? e : 1);
                         },
                         scaleY: function (t) {
                              var e = this.imageData.scaleX;
                              return this.scale(I(e) ? e : 1, t);
                         },
                         scale: function (t) {
                              var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : t,
                                   i = this.imageData,
                                   n = !1;
                              return (t = Number(t)), (e = Number(e)), this.ready && !this.disabled && this.options.scalable && (I(t) && ((i.scaleX = t), (n = !0)), I(e) && ((i.scaleY = e), (n = !0)), n && this.renderCanvas(!0, !0)), this;
                         },
                         getData: function () {
                              var t,
                                   e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
                                   i = this.options,
                                   n = this.imageData,
                                   r = this.canvasData,
                                   o = this.cropBoxData;
                              if (this.ready && this.cropped) {
                                   t = { x: o.left - r.left, y: o.top - r.top, width: o.width, height: o.height };
                                   var a = n.width / n.naturalWidth;
                                   if (
                                        (B(t, function (e, i) {
                                             t[i] = e / a;
                                        }),
                                        e)
                                   ) {
                                        var s = Math.round(t.y + t.height),
                                             l = Math.round(t.x + t.width);
                                        (t.x = Math.round(t.x)), (t.y = Math.round(t.y)), (t.width = l - t.x), (t.height = s - t.y);
                                   }
                              } else t = { x: 0, y: 0, width: 0, height: 0 };
                              return i.rotatable && (t.rotate = n.rotate || 0), i.scalable && ((t.scaleX = n.scaleX || 1), (t.scaleY = n.scaleY || 1)), t;
                         },
                         setData: function (t) {
                              var e = this.options,
                                   i = this.imageData,
                                   n = this.canvasData,
                                   r = {};
                              if (this.ready && !this.disabled && F(t)) {
                                   var o = !1;
                                   e.rotatable && I(t.rotate) && t.rotate !== i.rotate && ((i.rotate = t.rotate), (o = !0)),
                                        e.scalable && (I(t.scaleX) && t.scaleX !== i.scaleX && ((i.scaleX = t.scaleX), (o = !0)), I(t.scaleY) && t.scaleY !== i.scaleY && ((i.scaleY = t.scaleY), (o = !0))),
                                        o && this.renderCanvas(!0, !0);
                                   var a = i.width / i.naturalWidth;
                                   I(t.x) && (r.left = t.x * a + n.left), I(t.y) && (r.top = t.y * a + n.top), I(t.width) && (r.width = t.width * a), I(t.height) && (r.height = t.height * a), this.setCropBoxData(r);
                              }
                              return this;
                         },
                         getContainerData: function () {
                              return this.ready ? W({}, this.containerData) : {};
                         },
                         getImageData: function () {
                              return this.sized ? W({}, this.imageData) : {};
                         },
                         getCanvasData: function () {
                              var t = this.canvasData,
                                   e = {};
                              return (
                                   this.ready &&
                                        B(["left", "top", "width", "height", "naturalWidth", "naturalHeight"], function (i) {
                                             e[i] = t[i];
                                        }),
                                   e
                              );
                         },
                         setCanvasData: function (t) {
                              var e = this.canvasData,
                                   i = e.aspectRatio;
                              return (
                                   this.ready &&
                                        !this.disabled &&
                                        F(t) &&
                                        (I(t.left) && (e.left = t.left),
                                        I(t.top) && (e.top = t.top),
                                        I(t.width) ? ((e.width = t.width), (e.height = t.width / i)) : I(t.height) && ((e.height = t.height), (e.width = t.height * i)),
                                        this.renderCanvas(!0)),
                                   this
                              );
                         },
                         getCropBoxData: function () {
                              var t,
                                   e = this.cropBoxData;
                              return this.ready && this.cropped && (t = { left: e.left, top: e.top, width: e.width, height: e.height }), t || {};
                         },
                         setCropBoxData: function (t) {
                              var e,
                                   i,
                                   n = this.cropBoxData,
                                   r = this.options.aspectRatio;
                              return (
                                   this.ready &&
                                        this.cropped &&
                                        !this.disabled &&
                                        F(t) &&
                                        (I(t.left) && (n.left = t.left),
                                        I(t.top) && (n.top = t.top),
                                        I(t.width) && t.width !== n.width && ((e = !0), (n.width = t.width)),
                                        I(t.height) && t.height !== n.height && ((i = !0), (n.height = t.height)),
                                        r && (e ? (n.height = n.width / r) : i && (n.width = n.height * r)),
                                        this.renderCropBox()),
                                   this
                              );
                         },
                         getCroppedCanvas: function () {
                              var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                              if (!this.ready || !window.HTMLCanvasElement) return null;
                              var e = this.canvasData,
                                   i = ft(this.image, this.imageData, e, t);
                              if (!this.cropped) return i;
                              var n = this.getData(),
                                   r = n.x,
                                   o = n.y,
                                   s = n.width,
                                   l = n.height,
                                   c = i.width / Math.floor(e.naturalWidth);
                              1 !== c && ((r *= c), (o *= c), (s *= c), (l *= c));
                              var u = s / l,
                                   h = pt({ aspectRatio: u, width: t.maxWidth || 1 / 0, height: t.maxHeight || 1 / 0 }),
                                   d = pt({ aspectRatio: u, width: t.minWidth || 0, height: t.minHeight || 0 }, "cover"),
                                   p = pt({ aspectRatio: u, width: t.width || (1 !== c ? i.width : s), height: t.height || (1 !== c ? i.height : l) }),
                                   f = p.width,
                                   m = p.height;
                              (f = Math.min(h.width, Math.max(d.width, f))), (m = Math.min(h.height, Math.max(d.height, m)));
                              var g = document.createElement("canvas"),
                                   v = g.getContext("2d");
                              (g.width = U(f)), (g.height = U(m)), (v.fillStyle = t.fillColor || "transparent"), v.fillRect(0, 0, f, m);
                              var y = t.imageSmoothingEnabled,
                                   b = void 0 === y || y,
                                   _ = t.imageSmoothingQuality;
                              (v.imageSmoothingEnabled = b), _ && (v.imageSmoothingQuality = _);
                              var x,
                                   w,
                                   k,
                                   S,
                                   M,
                                   T,
                                   C = i.width,
                                   D = i.height,
                                   L = r,
                                   E = o;
                              L <= -s || L > C ? ((L = 0), (x = 0), (k = 0), (M = 0)) : L <= 0 ? ((k = -L), (L = 0), (M = x = Math.min(C, s + L))) : L <= C && ((k = 0), (M = x = Math.min(s, C - L))),
                                   x <= 0 || E <= -l || E > D ? ((E = 0), (w = 0), (S = 0), (T = 0)) : E <= 0 ? ((S = -E), (E = 0), (T = w = Math.min(D, l + E))) : E <= D && ((S = 0), (T = w = Math.min(l, D - E)));
                              var A = [L, E, x, w];
                              if (M > 0 && T > 0) {
                                   var P = f / s;
                                   A.push(k * P, S * P, M * P, T * P);
                              }
                              return (
                                   v.drawImage.apply(
                                        v,
                                        [i].concat(
                                             a(
                                                  A.map(function (t) {
                                                       return Math.floor(U(t));
                                                  })
                                             )
                                        )
                                   ),
                                   g
                              );
                         },
                         setAspectRatio: function (t) {
                              var e = this.options;
                              return this.disabled || Y(t) || ((e.aspectRatio = Math.max(0, t) || NaN), this.ready && (this.initCropBox(), this.cropped && this.renderCropBox())), this;
                         },
                         setDragMode: function (t) {
                              var e = this.options,
                                   i = this.dragBox,
                                   n = this.face;
                              if (this.ready && !this.disabled) {
                                   var r = "crop" === t,
                                        o = e.movable && "move" === t;
                                   (t = r || o ? t : "none"), (e.dragMode = t), tt(i, b, t), Z(i, d, r), Z(i, y, o), e.cropBoxMovable || (tt(n, b, t), Z(n, d, r), Z(n, y, o));
                              }
                              return this;
                         },
                    },
                    St = c.Cropper,
                    Mt = (function () {
                         function t(i) {
                              var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                              if ((e(this, t), !i || !E.test(i.tagName))) throw new Error("The first argument is required and must be an <img> or <canvas> element.");
                              (this.element = i),
                                   (this.options = W({}, A, F(n) && n)),
                                   (this.cropped = !1),
                                   (this.disabled = !1),
                                   (this.pointers = {}),
                                   (this.ready = !1),
                                   (this.reloading = !1),
                                   (this.replaced = !1),
                                   (this.sized = !1),
                                   (this.sizing = !1),
                                   this.init();
                         }
                         var n, r, o;
                         return (
                              (n = t),
                              (o = [
                                   {
                                        key: "noConflict",
                                        value: function () {
                                             return (window.Cropper = St), t;
                                        },
                                   },
                                   {
                                        key: "setDefaults",
                                        value: function (t) {
                                             W(A, F(t) && t);
                                        },
                                   },
                              ]),
                              (r = [
                                   {
                                        key: "init",
                                        value: function () {
                                             var t,
                                                  e = this.element,
                                                  i = e.tagName.toLowerCase();
                                             if (!e.cropper) {
                                                  if (((e.cropper = this), "img" === i)) {
                                                       if (((this.isImg = !0), (t = e.getAttribute("src") || ""), (this.originalUrl = t), !t)) return;
                                                       t = e.src;
                                                  } else "canvas" === i && window.HTMLCanvasElement && (t = e.toDataURL());
                                                  this.load(t);
                                             }
                                        },
                                   },
                                   {
                                        key: "load",
                                        value: function (t) {
                                             var e = this;
                                             if (t) {
                                                  (this.url = t), (this.imageData = {});
                                                  var i = this.element,
                                                       n = this.options;
                                                  if ((n.rotatable || n.scalable || (n.checkOrientation = !1), n.checkOrientation && window.ArrayBuffer))
                                                       if (D.test(t))
                                                            L.test(t)
                                                                 ? this.read(
                                                                        ((r = t.replace(gt, "")),
                                                                        (o = atob(r)),
                                                                        (a = new ArrayBuffer(o.length)),
                                                                        B((s = new Uint8Array(a)), function (t, e) {
                                                                             s[e] = o.charCodeAt(e);
                                                                        }),
                                                                        a)
                                                                   )
                                                                 : this.clone();
                                                       else {
                                                            var r,
                                                                 o,
                                                                 a,
                                                                 s,
                                                                 l = new XMLHttpRequest(),
                                                                 c = this.clone.bind(this);
                                                            (this.reloading = !0),
                                                                 (this.xhr = l),
                                                                 (l.onabort = c),
                                                                 (l.onerror = c),
                                                                 (l.ontimeout = c),
                                                                 (l.onprogress = function () {
                                                                      "image/jpeg" !== l.getResponseHeader("content-type") && l.abort();
                                                                 }),
                                                                 (l.onload = function () {
                                                                      e.read(l.response);
                                                                 }),
                                                                 (l.onloadend = function () {
                                                                      (e.reloading = !1), (e.xhr = null);
                                                                 }),
                                                                 n.checkCrossOrigin && ct(t) && i.crossOrigin && (t = ut(t)),
                                                                 l.open("GET", t),
                                                                 (l.responseType = "arraybuffer"),
                                                                 (l.withCredentials = "use-credentials" === i.crossOrigin),
                                                                 l.send();
                                                       }
                                                  else this.clone();
                                             }
                                        },
                                   },
                                   {
                                        key: "read",
                                        value: function (t) {
                                             var e = this.options,
                                                  i = this.imageData,
                                                  n = vt(t),
                                                  r = 0,
                                                  o = 1,
                                                  a = 1;
                                             if (n > 1) {
                                                  this.url = (function (t, e) {
                                                       for (var i = [], n = new Uint8Array(t); n.length > 0; ) i.push(mt.apply(null, N(n.subarray(0, 8192)))), (n = n.subarray(8192));
                                                       return "data:".concat(e, ";base64,").concat(btoa(i.join("")));
                                                  })(t, "image/jpeg");
                                                  var s = (function (t) {
                                                       var e = 0,
                                                            i = 1,
                                                            n = 1;
                                                       switch (t) {
                                                            case 2:
                                                                 i = -1;
                                                                 break;
                                                            case 3:
                                                                 e = -180;
                                                                 break;
                                                            case 4:
                                                                 n = -1;
                                                                 break;
                                                            case 5:
                                                                 (e = 90), (n = -1);
                                                                 break;
                                                            case 6:
                                                                 e = 90;
                                                                 break;
                                                            case 7:
                                                                 (e = 90), (i = -1);
                                                                 break;
                                                            case 8:
                                                                 e = -90;
                                                       }
                                                       return { rotate: e, scaleX: i, scaleY: n };
                                                  })(n);
                                                  (r = s.rotate), (o = s.scaleX), (a = s.scaleY);
                                             }
                                             e.rotatable && (i.rotate = r), e.scalable && ((i.scaleX = o), (i.scaleY = a)), this.clone();
                                        },
                                   },
                                   {
                                        key: "clone",
                                        value: function () {
                                             var t = this.element,
                                                  e = this.url,
                                                  i = t.crossOrigin,
                                                  n = e;
                                             this.options.checkCrossOrigin && ct(e) && (i || (i = "anonymous"), (n = ut(e))), (this.crossOrigin = i), (this.crossOriginUrl = n);
                                             var r = document.createElement("img");
                                             i && (r.crossOrigin = i),
                                                  (r.src = n || e),
                                                  (r.alt = t.alt || "The image to crop"),
                                                  (this.image = r),
                                                  (r.onload = this.start.bind(this)),
                                                  (r.onerror = this.stop.bind(this)),
                                                  X(r, m),
                                                  t.parentNode.insertBefore(r, t.nextSibling);
                                        },
                                   },
                                   {
                                        key: "start",
                                        value: function () {
                                             var t = this,
                                                  e = this.image;
                                             (e.onload = null), (e.onerror = null), (this.sizing = !0);
                                             var i = c.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(c.navigator.userAgent),
                                                  n = function (e, i) {
                                                       W(t.imageData, { naturalWidth: e, naturalHeight: i, aspectRatio: e / i }), (t.sizing = !1), (t.sized = !0), t.build();
                                                  };
                                             if (!e.naturalWidth || i) {
                                                  var r = document.createElement("img"),
                                                       o = document.body || document.documentElement;
                                                  (this.sizingImage = r),
                                                       (r.onload = function () {
                                                            n(r.width, r.height), i || o.removeChild(r);
                                                       }),
                                                       (r.src = e.src),
                                                       i ||
                                                            ((r.style.cssText = "left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;"),
                                                            o.appendChild(r));
                                             } else n(e.naturalWidth, e.naturalHeight);
                                        },
                                   },
                                   {
                                        key: "stop",
                                        value: function () {
                                             var t = this.image;
                                             (t.onload = null), (t.onerror = null), t.parentNode.removeChild(t), (this.image = null);
                                        },
                                   },
                                   {
                                        key: "build",
                                        value: function () {
                                             if (this.sized && !this.ready) {
                                                  var t = this.element,
                                                       e = this.options,
                                                       i = this.image,
                                                       n = t.parentNode,
                                                       r = document.createElement("div");
                                                  r.innerHTML =
                                                       '<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';
                                                  var o = r.querySelector(".".concat("cropper", "-container")),
                                                       a = o.querySelector(".".concat("cropper", "-canvas")),
                                                       s = o.querySelector(".".concat("cropper", "-drag-box")),
                                                       l = o.querySelector(".".concat("cropper", "-crop-box")),
                                                       c = l.querySelector(".".concat("cropper", "-face"));
                                                  (this.container = n),
                                                       (this.cropper = o),
                                                       (this.canvas = a),
                                                       (this.dragBox = s),
                                                       (this.cropBox = l),
                                                       (this.viewBox = o.querySelector(".".concat("cropper", "-view-box"))),
                                                       (this.face = c),
                                                       a.appendChild(i),
                                                       X(t, f),
                                                       n.insertBefore(o, t.nextSibling),
                                                       this.isImg || G(i, m),
                                                       this.initPreview(),
                                                       this.bind(),
                                                       (e.initialAspectRatio = Math.max(0, e.initialAspectRatio) || NaN),
                                                       (e.aspectRatio = Math.max(0, e.aspectRatio) || NaN),
                                                       (e.viewMode = Math.max(0, Math.min(3, Math.round(e.viewMode))) || 0),
                                                       X(l, f),
                                                       e.guides || X(l.getElementsByClassName("".concat("cropper", "-dashed")), f),
                                                       e.center || X(l.getElementsByClassName("".concat("cropper", "-center")), f),
                                                       e.background && X(o, "".concat("cropper", "-bg")),
                                                       e.highlight || X(c, g),
                                                       e.cropBoxMovable && (X(c, y), tt(c, b, "all")),
                                                       e.cropBoxResizable || (X(l.getElementsByClassName("".concat("cropper", "-line")), f), X(l.getElementsByClassName("".concat("cropper", "-point")), f)),
                                                       this.render(),
                                                       (this.ready = !0),
                                                       this.setDragMode(e.dragMode),
                                                       e.autoCrop && this.crop(),
                                                       this.setData(e.data),
                                                       H(e.ready) && rt(t, "ready", e.ready, { once: !0 }),
                                                       ot(t, "ready");
                                             }
                                        },
                                   },
                                   {
                                        key: "unbuild",
                                        value: function () {
                                             this.ready && ((this.ready = !1), this.unbind(), this.resetPreview(), this.cropper.parentNode.removeChild(this.cropper), G(this.element, f));
                                        },
                                   },
                                   {
                                        key: "uncreate",
                                        value: function () {
                                             this.ready
                                                  ? (this.unbuild(), (this.ready = !1), (this.cropped = !1))
                                                  : this.sizing
                                                  ? ((this.sizingImage.onload = null), (this.sizing = !1), (this.sized = !1))
                                                  : this.reloading
                                                  ? ((this.xhr.onabort = null), this.xhr.abort())
                                                  : this.image && this.stop();
                                        },
                                   },
                              ]) && i(n.prototype, r),
                              o && i(n, o),
                              t
                         );
                    })();
               return W(Mt.prototype, yt, bt, _t, xt, wt, kt), Mt;
          })();
     },
     function (t, e, i) {
          var n, r;
          /*! DataTables Bootstrap 4 integration
           * ©2011-2017 SpryMedia Ltd - datatables.net/license
           */ (n = [i(1), i(8)]),
               void 0 ===
                    (r = function (t) {
                         return (function (t, e, i, n) {
                              "use strict";
                              var r = t.fn.dataTable;
                              return (
                                   t.extend(!0, r.defaults, { dom: "<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", renderer: "bootstrap" }),
                                   t.extend(r.ext.classes, {
                                        sWrapper: "dataTables_wrapper dt-bootstrap4",
                                        sFilterInput: "form-control form-control-sm",
                                        sLengthSelect: "custom-select custom-select-sm form-control form-control-sm",
                                        sProcessing: "dataTables_processing card",
                                        sPageButton: "paginate_button page-item",
                                   }),
                                   (r.ext.renderer.pageButton.bootstrap = function (e, o, a, s, l, c) {
                                        var u,
                                             h,
                                             d,
                                             p = new r.Api(e),
                                             f = e.oClasses,
                                             m = e.oLanguage.oPaginate,
                                             g = e.oLanguage.oAria.paginate || {},
                                             v = 0,
                                             y = function (i, n) {
                                                  var r,
                                                       o,
                                                       s,
                                                       d,
                                                       b = function (e) {
                                                            e.preventDefault(), t(e.currentTarget).hasClass("disabled") || p.page() == e.data.action || p.page(e.data.action).draw("page");
                                                       };
                                                  for (r = 0, o = n.length; r < o; r++)
                                                       if (((d = n[r]), t.isArray(d))) y(i, d);
                                                       else {
                                                            switch (((u = ""), (h = ""), d)) {
                                                                 case "ellipsis":
                                                                      (u = "&#x2026;"), (h = "disabled");
                                                                      break;
                                                                 case "first":
                                                                      (u = m.sFirst), (h = d + (l > 0 ? "" : " disabled"));
                                                                      break;
                                                                 case "previous":
                                                                      (u = m.sPrevious), (h = d + (l > 0 ? "" : " disabled"));
                                                                      break;
                                                                 case "next":
                                                                      (u = m.sNext), (h = d + (l < c - 1 ? "" : " disabled"));
                                                                      break;
                                                                 case "last":
                                                                      (u = m.sLast), (h = d + (l < c - 1 ? "" : " disabled"));
                                                                      break;
                                                                 default:
                                                                      (u = d + 1), (h = l === d ? "active" : "");
                                                            }
                                                            u &&
                                                                 ((s = t("<li>", { class: f.sPageButton + " " + h, id: 0 === a && "string" == typeof d ? e.sTableId + "_" + d : null })
                                                                      .append(t("<a>", { href: "#", "aria-controls": e.sTableId, "aria-label": g[d], "data-dt-idx": v, tabindex: e.iTabIndex, class: "page-link" }).html(u))
                                                                      .appendTo(i)),
                                                                 e.oApi._fnBindAction(s, { action: d }, b),
                                                                 v++);
                                                       }
                                             };
                                        try {
                                             d = t(o).find(i.activeElement).data("dt-idx");
                                        } catch (t) {}
                                        y(t(o).empty().html('<ul class="pagination"/>').children("ul"), s),
                                             d !== n &&
                                                  t(o)
                                                       .find("[data-dt-idx=" + d + "]")
                                                       .trigger("focus");
                                   }),
                                   r
                              );
                         })(t, window, document);
                    }.apply(e, n)) || (t.exports = r);
     },
     function (t, e, i) {
          var n, r;
          /*! Responsive 2.2.5
           * 2014-2020 SpryMedia Ltd - datatables.net/license
           */ (n = [i(1), i(8)]),
               void 0 ===
                    (r = function (t) {
                         return (function (t, e, i, n) {
                              "use strict";
                              var r = t.fn.dataTable,
                                   o = function (e, i) {
                                        if (!r.versionCheck || !r.versionCheck("1.10.10")) throw "DataTables Responsive requires DataTables 1.10.10 or newer";
                                        (this.s = { dt: new r.Api(e), columns: [], current: [] }),
                                             this.s.dt.settings()[0].responsive ||
                                                  (i && "string" == typeof i.details ? (i.details = { type: i.details }) : i && !1 === i.details ? (i.details = { type: !1 }) : i && !0 === i.details && (i.details = { type: "inline" }),
                                                  (this.c = t.extend(!0, {}, o.defaults, r.defaults.responsive, i)),
                                                  (e.responsive = this),
                                                  this._constructor());
                                   };
                              t.extend(o.prototype, {
                                   _constructor: function () {
                                        var i = this,
                                             n = this.s.dt,
                                             o = n.settings()[0],
                                             a = t(e).innerWidth();
                                        (n.settings()[0]._responsive = this),
                                             t(e).on(
                                                  "resize.dtr orientationchange.dtr",
                                                  r.util.throttle(function () {
                                                       var n = t(e).innerWidth();
                                                       n !== a && (i._resize(), (a = n));
                                                  })
                                             ),
                                             o.oApi._fnCallbackReg(o, "aoRowCreatedCallback", function (e, r, o) {
                                                  -1 !== t.inArray(!1, i.s.current) &&
                                                       t(">td, >th", e).each(function (e) {
                                                            var r = n.column.index("toData", e);
                                                            !1 === i.s.current[r] && t(this).css("display", "none");
                                                       });
                                             }),
                                             n.on("destroy.dtr", function () {
                                                  n.off(".dtr"),
                                                       t(n.table().body()).off(".dtr"),
                                                       t(e).off("resize.dtr orientationchange.dtr"),
                                                       n.cells(".dtr-control").nodes().to$().removeClass("dtr-control"),
                                                       t.each(i.s.current, function (t, e) {
                                                            !1 === e && i._setColumnVis(t, !0);
                                                       });
                                             }),
                                             this.c.breakpoints.sort(function (t, e) {
                                                  return t.width < e.width ? 1 : t.width > e.width ? -1 : 0;
                                             }),
                                             this._classLogic(),
                                             this._resizeAuto();
                                        var s = this.c.details;
                                        !1 !== s.type &&
                                             (i._detailsInit(),
                                             n.on("column-visibility.dtr", function () {
                                                  i._timer && clearTimeout(i._timer),
                                                       (i._timer = setTimeout(function () {
                                                            (i._timer = null), i._classLogic(), i._resizeAuto(), i._resize(), i._redrawChildren();
                                                       }, 100));
                                             }),
                                             n.on("draw.dtr", function () {
                                                  i._redrawChildren();
                                             }),
                                             t(n.table().node()).addClass("dtr-" + s.type)),
                                             n.on("column-reorder.dtr", function (t, e, n) {
                                                  i._classLogic(), i._resizeAuto(), i._resize(!0);
                                             }),
                                             n.on("column-sizing.dtr", function () {
                                                  i._resizeAuto(), i._resize();
                                             }),
                                             n.on("preXhr.dtr", function () {
                                                  var t = [];
                                                  n.rows().every(function () {
                                                       this.child.isShown() && t.push(this.id(!0));
                                                  }),
                                                       n.one("draw.dtr", function () {
                                                            i._resizeAuto(),
                                                                 i._resize(),
                                                                 n.rows(t).every(function () {
                                                                      i._detailsDisplay(this, !1);
                                                                 });
                                                       });
                                             }),
                                             n
                                                  .on("draw.dtr", function () {
                                                       i._controlClass();
                                                  })
                                                  .on("init.dtr", function (e, r, o) {
                                                       "dt" === e.namespace && (i._resizeAuto(), i._resize(), t.inArray(!1, i.s.current) && n.columns.adjust());
                                                  }),
                                             this._resize();
                                   },
                                   _columnsVisiblity: function (e) {
                                        var i,
                                             n,
                                             r = this.s.dt,
                                             o = this.s.columns,
                                             a = o
                                                  .map(function (t, e) {
                                                       return { columnIdx: e, priority: t.priority };
                                                  })
                                                  .sort(function (t, e) {
                                                       return t.priority !== e.priority ? t.priority - e.priority : t.columnIdx - e.columnIdx;
                                                  }),
                                             s = t.map(o, function (i, n) {
                                                  return !1 === r.column(n).visible() ? "not-visible" : (!i.auto || null !== i.minWidth) && (!0 === i.auto ? "-" : -1 !== t.inArray(e, i.includeIn));
                                             }),
                                             l = 0;
                                        for (i = 0, n = s.length; i < n; i++) !0 === s[i] && (l += o[i].minWidth);
                                        var c = r.settings()[0].oScroll,
                                             u = c.sY || c.sX ? c.iBarWidth : 0,
                                             h = r.table().container().offsetWidth - u - l;
                                        for (i = 0, n = s.length; i < n; i++) o[i].control && (h -= o[i].minWidth);
                                        var d = !1;
                                        for (i = 0, n = a.length; i < n; i++) {
                                             var p = a[i].columnIdx;
                                             "-" === s[p] && !o[p].control && o[p].minWidth && (d || h - o[p].minWidth < 0 ? ((d = !0), (s[p] = !1)) : (s[p] = !0), (h -= o[p].minWidth));
                                        }
                                        var f = !1;
                                        for (i = 0, n = o.length; i < n; i++)
                                             if (!o[i].control && !o[i].never && !1 === s[i]) {
                                                  f = !0;
                                                  break;
                                             }
                                        for (i = 0, n = o.length; i < n; i++) o[i].control && (s[i] = f), "not-visible" === s[i] && (s[i] = !1);
                                        return -1 === t.inArray(!0, s) && (s[0] = !0), s;
                                   },
                                   _classLogic: function () {
                                        var e = this,
                                             i = this.c.breakpoints,
                                             r = this.s.dt,
                                             o = r
                                                  .columns()
                                                  .eq(0)
                                                  .map(function (t) {
                                                       var e = this.column(t),
                                                            i = e.header().className,
                                                            o = r.settings()[0].aoColumns[t].responsivePriority,
                                                            a = e.header().getAttribute("data-priority");
                                                       return o === n && (o = a === n || null === a ? 1e4 : 1 * a), { className: i, includeIn: [], auto: !1, control: !1, never: !!i.match(/\bnever\b/), priority: o };
                                                  }),
                                             a = function (e, i) {
                                                  var n = o[e].includeIn;
                                                  -1 === t.inArray(i, n) && n.push(i);
                                             },
                                             s = function (t, n, r, s) {
                                                  var l, c, u;
                                                  if (r) {
                                                       if ("max-" === r) for (l = e._find(n).width, c = 0, u = i.length; c < u; c++) i[c].width <= l && a(t, i[c].name);
                                                       else if ("min-" === r) for (l = e._find(n).width, c = 0, u = i.length; c < u; c++) i[c].width >= l && a(t, i[c].name);
                                                       else if ("not-" === r) for (c = 0, u = i.length; c < u; c++) -1 === i[c].name.indexOf(s) && a(t, i[c].name);
                                                  } else o[t].includeIn.push(n);
                                             };
                                        o.each(function (e, n) {
                                             for (var r = e.className.split(" "), o = !1, a = 0, l = r.length; a < l; a++) {
                                                  var c = t.trim(r[a]);
                                                  if ("all" === c)
                                                       return (
                                                            (o = !0),
                                                            void (e.includeIn = t.map(i, function (t) {
                                                                 return t.name;
                                                            }))
                                                       );
                                                  if ("none" === c || e.never) return void (o = !0);
                                                  if ("control" === c) return (o = !0), void (e.control = !0);
                                                  t.each(i, function (t, e) {
                                                       var i = e.name.split("-"),
                                                            r = new RegExp("(min\\-|max\\-|not\\-)?(" + i[0] + ")(\\-[_a-zA-Z0-9])?"),
                                                            a = c.match(r);
                                                       a && ((o = !0), a[2] === i[0] && a[3] === "-" + i[1] ? s(n, e.name, a[1], a[2] + a[3]) : a[2] !== i[0] || a[3] || s(n, e.name, a[1], a[2]));
                                                  });
                                             }
                                             o || (e.auto = !0);
                                        }),
                                             (this.s.columns = o);
                                   },
                                   _controlClass: function () {
                                        if ("inline" === this.c.details.type) {
                                             var e = this.s.dt,
                                                  i = this.s.current,
                                                  n = t.inArray(!0, i);
                                             e
                                                  .cells(
                                                       null,
                                                       function (t) {
                                                            return t !== n;
                                                       },
                                                       { page: "current" }
                                                  )
                                                  .nodes()
                                                  .to$()
                                                  .filter(".dtr-control")
                                                  .removeClass("dtr-control"),
                                                  e.cells(null, n, { page: "current" }).nodes().to$().addClass("dtr-control");
                                        }
                                   },
                                   _detailsDisplay: function (e, i) {
                                        var n = this,
                                             r = this.s.dt,
                                             o = this.c.details;
                                        if (o && !1 !== o.type) {
                                             var a = o.display(e, i, function () {
                                                  return o.renderer(r, e[0], n._detailsObj(e[0]));
                                             });
                                             (!0 !== a && !1 !== a) || t(r.table().node()).triggerHandler("responsive-display.dt", [r, e, a, i]);
                                        }
                                   },
                                   _detailsInit: function () {
                                        var e = this,
                                             i = this.s.dt,
                                             r = this.c.details;
                                        "inline" === r.type && (r.target = "td.dtr-control, th.dtr-control"),
                                             i.on("draw.dtr", function () {
                                                  e._tabIndexes();
                                             }),
                                             e._tabIndexes(),
                                             t(i.table().body()).on("keyup.dtr", "td, th", function (e) {
                                                  13 === e.keyCode && t(this).data("dtr-keyboard") && t(this).click();
                                             });
                                        var o = r.target,
                                             a = "string" == typeof o ? o : "td, th";
                                        (o === n && null === o) ||
                                             t(i.table().body()).on("click.dtr mousedown.dtr mouseup.dtr", a, function (n) {
                                                  if (t(i.table().node()).hasClass("collapsed") && -1 !== t.inArray(t(this).closest("tr").get(0), i.rows().nodes().toArray())) {
                                                       if ("number" == typeof o) {
                                                            var r = o < 0 ? i.columns().eq(0).length + o : o;
                                                            if (i.cell(this).index().column !== r) return;
                                                       }
                                                       var a = i.row(t(this).closest("tr"));
                                                       "click" === n.type ? e._detailsDisplay(a, !1) : "mousedown" === n.type ? t(this).css("outline", "none") : "mouseup" === n.type && t(this).trigger("blur").css("outline", "");
                                                  }
                                             });
                                   },
                                   _detailsObj: function (e) {
                                        var i = this,
                                             n = this.s.dt;
                                        return t.map(this.s.columns, function (r, o) {
                                             if (!r.never && !r.control) {
                                                  var a = n.settings()[0].aoColumns[o];
                                                  return {
                                                       className: a.sClass,
                                                       columnIndex: o,
                                                       data: n.cell(e, o).render(i.c.orthogonal),
                                                       hidden: n.column(o).visible() && !i.s.current[o],
                                                       rowIndex: e,
                                                       title: null !== a.sTitle ? a.sTitle : t(n.column(o).header()).text(),
                                                  };
                                             }
                                        });
                                   },
                                   _find: function (t) {
                                        for (var e = this.c.breakpoints, i = 0, n = e.length; i < n; i++) if (e[i].name === t) return e[i];
                                   },
                                   _redrawChildren: function () {
                                        var t = this,
                                             e = this.s.dt;
                                        e.rows({ page: "current" }).iterator("row", function (i, n) {
                                             e.row(n), t._detailsDisplay(e.row(n), !0);
                                        });
                                   },
                                   _resize: function (i) {
                                        var n,
                                             r,
                                             o = this,
                                             a = this.s.dt,
                                             s = t(e).innerWidth(),
                                             l = this.c.breakpoints,
                                             c = l[0].name,
                                             u = this.s.columns,
                                             h = this.s.current.slice();
                                        for (n = l.length - 1; n >= 0; n--)
                                             if (s <= l[n].width) {
                                                  c = l[n].name;
                                                  break;
                                             }
                                        var d = this._columnsVisiblity(c);
                                        this.s.current = d;
                                        var p = !1;
                                        for (n = 0, r = u.length; n < r; n++)
                                             if (!1 === d[n] && !u[n].never && !u[n].control && 0 == !a.column(n).visible()) {
                                                  p = !0;
                                                  break;
                                             }
                                        t(a.table().node()).toggleClass("collapsed", p);
                                        var f = !1,
                                             m = 0;
                                        a
                                             .columns()
                                             .eq(0)
                                             .each(function (t, e) {
                                                  !0 === d[e] && m++, (i || d[e] !== h[e]) && ((f = !0), o._setColumnVis(t, d[e]));
                                             }),
                                             f && (this._redrawChildren(), t(a.table().node()).trigger("responsive-resize.dt", [a, this.s.current]), 0 === a.page.info().recordsDisplay && t("td", a.table().body()).eq(0).attr("colspan", m));
                                   },
                                   _resizeAuto: function () {
                                        var e = this.s.dt,
                                             i = this.s.columns;
                                        if (
                                             this.c.auto &&
                                             -1 !==
                                                  t.inArray(
                                                       !0,
                                                       t.map(i, function (t) {
                                                            return t.auto;
                                                       })
                                                  )
                                        ) {
                                             t.isEmptyObject(a) ||
                                                  t.each(a, function (t) {
                                                       var i = t.split("-");
                                                       s(e, 1 * i[0], 1 * i[1]);
                                                  }),
                                                  e.table().node().offsetWidth,
                                                  e.columns;
                                             var n = e.table().node().cloneNode(!1),
                                                  r = t(e.table().header().cloneNode(!1)).appendTo(n),
                                                  o = t(e.table().body()).clone(!1, !1).empty().appendTo(n);
                                             n.style.width = "auto";
                                             var l = e
                                                  .columns()
                                                  .header()
                                                  .filter(function (t) {
                                                       return e.column(t).visible();
                                                  })
                                                  .to$()
                                                  .clone(!1)
                                                  .css("display", "table-cell")
                                                  .css("width", "auto")
                                                  .css("min-width", 0);
                                             t(o)
                                                  .append(t(e.rows({ page: "current" }).nodes()).clone(!1))
                                                  .find("th, td")
                                                  .css("display", "");
                                             var c = e.table().footer();
                                             if (c) {
                                                  var u = t(c.cloneNode(!1)).appendTo(n),
                                                       h = e
                                                            .columns()
                                                            .footer()
                                                            .filter(function (t) {
                                                                 return e.column(t).visible();
                                                            })
                                                            .to$()
                                                            .clone(!1)
                                                            .css("display", "table-cell");
                                                  t("<tr/>").append(h).appendTo(u);
                                             }
                                             t("<tr/>").append(l).appendTo(r), "inline" === this.c.details.type && t(n).addClass("dtr-inline collapsed"), t(n).find("[name]").removeAttr("name"), t(n).css("position", "relative");
                                             var d = t("<div/>").css({ width: 1, height: 1, overflow: "hidden", clear: "both" }).append(n);
                                             d.insertBefore(e.table().node()),
                                                  l.each(function (t) {
                                                       var n = e.column.index("fromVisible", t);
                                                       i[n].minWidth = this.offsetWidth || 0;
                                                  }),
                                                  d.remove();
                                        }
                                   },
                                   _responsiveOnlyHidden: function () {
                                        var e = this.s.dt;
                                        return t.map(this.s.current, function (t, i) {
                                             return !1 === e.column(i).visible() || t;
                                        });
                                   },
                                   _setColumnVis: function (e, i) {
                                        var n = this.s.dt,
                                             r = i ? "" : "none";
                                        t(n.column(e).header()).css("display", r),
                                             t(n.column(e).footer()).css("display", r),
                                             n.column(e).nodes().to$().css("display", r),
                                             t.isEmptyObject(a) ||
                                                  n
                                                       .cells(null, e)
                                                       .indexes()
                                                       .each(function (t) {
                                                            s(n, t.row, t.column);
                                                       });
                                   },
                                   _tabIndexes: function () {
                                        var e = this.s.dt,
                                             i = e.cells({ page: "current" }).nodes().to$(),
                                             n = e.settings()[0],
                                             r = this.c.details.target;
                                        i.filter("[data-dtr-keyboard]").removeData("[data-dtr-keyboard]"),
                                             "number" == typeof r
                                                  ? e.cells(null, r, { page: "current" }).nodes().to$().attr("tabIndex", n.iTabIndex).data("dtr-keyboard", 1)
                                                  : ("td:first-child, th:first-child" === r && (r = ">td:first-child, >th:first-child"),
                                                    t(r, e.rows({ page: "current" }).nodes())
                                                         .attr("tabIndex", n.iTabIndex)
                                                         .data("dtr-keyboard", 1));
                                   },
                              }),
                                   (o.breakpoints = [
                                        { name: "desktop", width: 1 / 0 },
                                        { name: "tablet-l", width: 1024 },
                                        { name: "tablet-p", width: 768 },
                                        { name: "mobile-l", width: 480 },
                                        { name: "mobile-p", width: 320 },
                                   ]),
                                   (o.display = {
                                        childRow: function (e, i, n) {
                                             return i
                                                  ? t(e.node()).hasClass("parent")
                                                       ? (e.child(n(), "child").show(), !0)
                                                       : void 0
                                                  : e.child.isShown()
                                                  ? (e.child(!1), t(e.node()).removeClass("parent"), !1)
                                                  : (e.child(n(), "child").show(), t(e.node()).addClass("parent"), !0);
                                        },
                                        childRowImmediate: function (e, i, n) {
                                             return (!i && e.child.isShown()) || !e.responsive.hasHidden() ? (e.child(!1), t(e.node()).removeClass("parent"), !1) : (e.child(n(), "child").show(), t(e.node()).addClass("parent"), !0);
                                        },
                                        modal: function (e) {
                                             return function (n, r, o) {
                                                  if (r) t("div.dtr-modal-content").empty().append(o());
                                                  else {
                                                       var a = function () {
                                                                 s.remove(), t(i).off("keypress.dtr");
                                                            },
                                                            s = t('<div class="dtr-modal"/>')
                                                                 .append(
                                                                      t('<div class="dtr-modal-display"/>')
                                                                           .append(t('<div class="dtr-modal-content"/>').append(o()))
                                                                           .append(
                                                                                t('<div class="dtr-modal-close">&times;</div>').click(function () {
                                                                                     a();
                                                                                })
                                                                           )
                                                                 )
                                                                 .append(
                                                                      t('<div class="dtr-modal-background"/>').click(function () {
                                                                           a();
                                                                      })
                                                                 )
                                                                 .appendTo("body");
                                                       t(i).on("keyup.dtr", function (t) {
                                                            27 === t.keyCode && (t.stopPropagation(), a());
                                                       });
                                                  }
                                                  e && e.header && t("div.dtr-modal-content").prepend("<h2>" + e.header(n) + "</h2>");
                                             };
                                        },
                                   });
                              var a = {};
                              function s(t, e, i) {
                                   var r = e + "-" + i;
                                   if (a[r]) {
                                        for (var o = t.cell(e, i).node(), s = a[r][0].parentNode.childNodes, l = [], c = 0, u = s.length; c < u; c++) l.push(s[c]);
                                        for (var h = 0, d = l.length; h < d; h++) o.appendChild(l[h]);
                                        a[r] = n;
                                   }
                              }
                              (o.renderer = {
                                   listHiddenNodes: function () {
                                        return function (e, i, n) {
                                             var r = t('<ul data-dtr-index="' + i + '" class="dtr-details"/>'),
                                                  o = !1;
                                             return (
                                                  t.each(n, function (i, n) {
                                                       if (n.hidden) {
                                                            var s = n.className ? 'class="' + n.className + '"' : "";
                                                            t(
                                                                 "<li " +
                                                                      s +
                                                                      ' data-dtr-index="' +
                                                                      n.columnIndex +
                                                                      '" data-dt-row="' +
                                                                      n.rowIndex +
                                                                      '" data-dt-column="' +
                                                                      n.columnIndex +
                                                                      '"><span class="dtr-title">' +
                                                                      n.title +
                                                                      "</span> </li>"
                                                            )
                                                                 .append(
                                                                      t('<span class="dtr-data"/>').append(
                                                                           (function (t, e, i) {
                                                                                var n = e + "-" + i;
                                                                                if (a[n]) return a[n];
                                                                                for (var r = [], o = t.cell(e, i).node().childNodes, s = 0, l = o.length; s < l; s++) r.push(o[s]);
                                                                                return (a[n] = r), r;
                                                                           })(e, n.rowIndex, n.columnIndex)
                                                                      )
                                                                 )
                                                                 .appendTo(r),
                                                                 (o = !0);
                                                       }
                                                  }),
                                                  !!o && r
                                             );
                                        };
                                   },
                                   listHidden: function () {
                                        return function (e, i, n) {
                                             var r = t
                                                  .map(n, function (t) {
                                                       var e = t.className ? 'class="' + t.className + '"' : "";
                                                       return t.hidden
                                                            ? "<li " +
                                                                   e +
                                                                   ' data-dtr-index="' +
                                                                   t.columnIndex +
                                                                   '" data-dt-row="' +
                                                                   t.rowIndex +
                                                                   '" data-dt-column="' +
                                                                   t.columnIndex +
                                                                   '"><span class="dtr-title">' +
                                                                   t.title +
                                                                   '</span> <span class="dtr-data">' +
                                                                   t.data +
                                                                   "</span></li>"
                                                            : "";
                                                  })
                                                  .join("");
                                             return !!r && t('<ul data-dtr-index="' + i + '" class="dtr-details"/>').append(r);
                                        };
                                   },
                                   tableAll: function (e) {
                                        return (
                                             (e = t.extend({ tableClass: "" }, e)),
                                             function (i, n, r) {
                                                  var o = t
                                                       .map(r, function (t) {
                                                            return (
                                                                 "<tr " +
                                                                 (t.className ? 'class="' + t.className + '"' : "") +
                                                                 ' data-dt-row="' +
                                                                 t.rowIndex +
                                                                 '" data-dt-column="' +
                                                                 t.columnIndex +
                                                                 '"><td>' +
                                                                 t.title +
                                                                 ":</td> <td>" +
                                                                 t.data +
                                                                 "</td></tr>"
                                                            );
                                                       })
                                                       .join("");
                                                  return t('<table class="' + e.tableClass + ' dtr-details" width="100%"/>').append(o);
                                             }
                                        );
                                   },
                              }),
                                   (o.defaults = { breakpoints: o.breakpoints, auto: !0, details: { display: o.display.childRow, renderer: o.renderer.listHidden(), target: 0, type: "inline" }, orthogonal: "display" });
                              var l = t.fn.dataTable.Api;
                              return (
                                   l.register("responsive()", function () {
                                        return this;
                                   }),
                                   l.register("responsive.index()", function (e) {
                                        return { column: (e = t(e)).data("dtr-index"), row: e.parent().data("dtr-index") };
                                   }),
                                   l.register("responsive.rebuild()", function () {
                                        return this.iterator("table", function (t) {
                                             t._responsive && t._responsive._classLogic();
                                        });
                                   }),
                                   l.register("responsive.recalc()", function () {
                                        return this.iterator("table", function (t) {
                                             t._responsive && (t._responsive._resizeAuto(), t._responsive._resize());
                                        });
                                   }),
                                   l.register("responsive.hasHidden()", function () {
                                        var e = this.context[0];
                                        return !!e._responsive && -1 !== t.inArray(!1, e._responsive._responsiveOnlyHidden());
                                   }),
                                   l.registerPlural("columns().responsiveHidden()", "column().responsiveHidden()", function () {
                                        return this.iterator(
                                             "column",
                                             function (t, e) {
                                                  return !!t._responsive && t._responsive._responsiveOnlyHidden()[e];
                                             },
                                             1
                                        );
                                   }),
                                   (o.version = "2.2.5"),
                                   (t.fn.dataTable.Responsive = o),
                                   (t.fn.DataTable.Responsive = o),
                                   t(i).on("preInit.dt.dtr", function (e, i, n) {
                                        if ("dt" === e.namespace && (t(i.nTable).hasClass("responsive") || t(i.nTable).hasClass("dt-responsive") || i.oInit.responsive || r.defaults.responsive)) {
                                             var a = i.oInit.responsive;
                                             !1 !== a && new o(i, t.isPlainObject(a) ? a : {});
                                        }
                                   }),
                                   o
                              );
                         })(t, window, document);
                    }.apply(e, n)) || (t.exports = r);
     },
     function (t, i, n) {
          "use strict";
          (function (i) {
               var n, r, o, a, s, l, c, u, h, d, p;
               t.exports =
                    ((o = function (t, e) {
                         var i;
                         if (t === e) return t;
                         for (i in e) void 0 !== e[i] && (t[i] = e[i]);
                         return t;
                    }),
                    (a = function (t, e) {
                         var i,
                              n = Array.prototype.slice.call(arguments, 2),
                              r = [],
                              o = t.length;
                         if (Array.prototype.map && t.map === Array.prototype.map)
                              r = Array.prototype.map.call(t, function (t) {
                                   var i = n.slice(0);
                                   return i.splice(0, 0, t), e.apply(this, i);
                              });
                         else for (i = 0; i < o; i++) (callback_params = n), callback_params.splice(0, 0, t[i]), r.push(e.apply(this, callback_params));
                         return r;
                    }),
                    (s = function (t) {
                         var e,
                              i = [];
                         for (e = 0; e < t.length; e++) i = i.concat(t[e]);
                         return i;
                    }),
                    (l = function (t, e) {
                         var i = t[0],
                              n = t[1];
                         return e && ((i = t[1]), (n = t[0])), new google.maps.LatLng(i, n);
                    }),
                    (c = function (t, e) {
                         var i;
                         for (i = 0; i < t.length; i++) t[i] instanceof google.maps.LatLng || (t[i].length > 0 && "object" == typeof t[i][0] ? (t[i] = c(t[i], e)) : (t[i] = l(t[i], e)));
                         return t;
                    }),
                    (u = function (t, e) {
                         var n = t.replace(".", "");
                         return "jQuery" in this && e ? i("." + n, e)[0] : document.getElementsByClassName(n)[0];
                    }),
                    (h = function (t, e) {
                         return (t = t.replace("#", "")), "jQuery" in window && e ? i("#" + t, e)[0] : document.getElementById(t);
                    }),
                    (d = function (t) {
                         var e = 0,
                              i = 0;
                         if (t.getBoundingClientRect) {
                              var n = t.getBoundingClientRect(),
                                   r = -(window.scrollX ? window.scrollX : window.pageXOffset),
                                   o = -(window.scrollY ? window.scrollY : window.pageYOffset);
                              return [n.left - r, n.top - o];
                         }
                         if (t.offsetParent)
                              do {
                                   (e += t.offsetLeft), (i += t.offsetTop);
                              } while ((t = t.offsetParent));
                         return [e, i];
                    }),
                    ((p = (function (t) {
                         var e = document,
                              i = function (t) {
                                   if ("object" != typeof window.google || !window.google.maps)
                                        return (
                                             "object" == typeof window.console &&
                                                  window.console.error &&
                                                  console.error("Google Maps API is required. Please register the following JavaScript library https://maps.googleapis.com/maps/api/js."),
                                             function () {}
                                        );
                                   if (!this) return new i(t);
                                   (t.zoom = t.zoom || 15), (t.mapType = t.mapType || "roadmap");
                                   var n,
                                        r = function (t, e) {
                                             return void 0 === t ? e : t;
                                        },
                                        a = this,
                                        s = ["bounds_changed", "center_changed", "click", "dblclick", "drag", "dragend", "dragstart", "idle", "maptypeid_changed", "projection_changed", "resize", "tilesloaded", "zoom_changed"],
                                        l = ["mousemove", "mouseout", "mouseover"],
                                        c = ["el", "lat", "lng", "mapType", "width", "height", "markerClusterer", "enableNewStyle"],
                                        p = t.el || t.div,
                                        f = t.markerClusterer,
                                        m = google.maps.MapTypeId[t.mapType.toUpperCase()],
                                        g = new google.maps.LatLng(t.lat, t.lng),
                                        v = r(t.zoomControl, !0),
                                        y = t.zoomControlOpt || { style: "DEFAULT", position: "TOP_LEFT" },
                                        b = y.style || "DEFAULT",
                                        _ = y.position || "TOP_LEFT",
                                        x = r(t.panControl, !0),
                                        w = r(t.mapTypeControl, !0),
                                        k = r(t.scaleControl, !0),
                                        S = r(t.streetViewControl, !0),
                                        M = r(M, !0),
                                        T = {},
                                        C = { zoom: this.zoom, center: g, mapTypeId: m },
                                        D = {
                                             panControl: x,
                                             zoomControl: v,
                                             zoomControlOptions: { style: google.maps.ZoomControlStyle[b], position: google.maps.ControlPosition[_] },
                                             mapTypeControl: w,
                                             scaleControl: k,
                                             streetViewControl: S,
                                             overviewMapControl: M,
                                        };
                                   if (
                                        ("string" == typeof t.el || "string" == typeof t.div ? (p.indexOf("#") > -1 ? (this.el = h(p, t.context)) : (this.el = u.apply(this, [p, t.context]))) : (this.el = p),
                                        void 0 === this.el || null === this.el)
                                   )
                                        throw "No element defined.";
                                   for (
                                        window.context_menu = window.context_menu || {},
                                             window.context_menu[a.el.id] = {},
                                             this.controls = [],
                                             this.overlays = [],
                                             this.layers = [],
                                             this.singleLayers = {},
                                             this.markers = [],
                                             this.polylines = [],
                                             this.routes = [],
                                             this.polygons = [],
                                             this.infoWindow = null,
                                             this.overlay_el = null,
                                             this.zoom = t.zoom,
                                             this.registered_events = {},
                                             this.el.style.width = t.width || this.el.scrollWidth || this.el.offsetWidth,
                                             this.el.style.height = t.height || this.el.scrollHeight || this.el.offsetHeight,
                                             google.maps.visualRefresh = t.enableNewStyle,
                                             n = 0;
                                        n < c.length;
                                        n++
                                   )
                                        delete t[c[n]];
                                   for (1 != t.disableDefaultUI && (C = o(C, D)), T = o(C, t), n = 0; n < s.length; n++) delete T[s[n]];
                                   for (n = 0; n < l.length; n++) delete T[l[n]];
                                   (this.map = new google.maps.Map(this.el, T)), f && (this.markerClusterer = f.apply(this, [this.map]));
                                   var L = function (t, e) {
                                        var i = "",
                                             n = window.context_menu[a.el.id][t];
                                        for (var r in n)
                                             if (n.hasOwnProperty(r)) {
                                                  var o = n[r];
                                                  i += '<li><a id="' + t + "_" + r + '" href="#">' + o.title + "</a></li>";
                                             }
                                        if (h("gmaps_context_menu")) {
                                             var s = h("gmaps_context_menu");
                                             s.innerHTML = i;
                                             var l = s.getElementsByTagName("a"),
                                                  c = l.length;
                                             for (r = 0; r < c; r++) {
                                                  var u = l[r];
                                                  google.maps.event.clearListeners(u, "click"),
                                                       google.maps.event.addDomListenerOnce(
                                                            u,
                                                            "click",
                                                            function (i) {
                                                                 i.preventDefault(), n[this.id.replace(t + "_", "")].action.apply(a, [e]), a.hideContextMenu();
                                                            },
                                                            !1
                                                       );
                                             }
                                             var p = d.apply(this, [a.el]),
                                                  f = p[0] + e.pixel.x - 15,
                                                  m = p[1] + e.pixel.y - 15;
                                             (s.style.left = f + "px"), (s.style.top = m + "px");
                                        }
                                   };
                                   (this.buildContextMenu = function (t, e) {
                                        if ("marker" === t) {
                                             e.pixel = {};
                                             var i = new google.maps.OverlayView();
                                             i.setMap(a.map),
                                                  (i.draw = function () {
                                                       var n = i.getProjection(),
                                                            r = e.marker.getPosition();
                                                       (e.pixel = n.fromLatLngToContainerPixel(r)), L(t, e);
                                                  });
                                        } else L(t, e);
                                        var n = h("gmaps_context_menu");
                                        setTimeout(function () {
                                             n.style.display = "block";
                                        }, 0);
                                   }),
                                        (this.setContextMenu = function (t) {
                                             window.context_menu[a.el.id][t.control] = {};
                                             var i,
                                                  n = e.createElement("ul");
                                             for (i in t.options)
                                                  if (t.options.hasOwnProperty(i)) {
                                                       var r = t.options[i];
                                                       window.context_menu[a.el.id][t.control][r.name] = { title: r.title, action: r.action };
                                                  }
                                             (n.id = "gmaps_context_menu"),
                                                  (n.style.display = "none"),
                                                  (n.style.position = "absolute"),
                                                  (n.style.minWidth = "100px"),
                                                  (n.style.background = "white"),
                                                  (n.style.listStyle = "none"),
                                                  (n.style.padding = "8px"),
                                                  (n.style.boxShadow = "2px 2px 6px #ccc"),
                                                  h("gmaps_context_menu") || e.body.appendChild(n);
                                             var o = h("gmaps_context_menu");
                                             google.maps.event.addDomListener(
                                                  o,
                                                  "mouseout",
                                                  function (t) {
                                                       (t.relatedTarget && this.contains(t.relatedTarget)) ||
                                                            window.setTimeout(function () {
                                                                 o.style.display = "none";
                                                            }, 400);
                                                  },
                                                  !1
                                             );
                                        }),
                                        (this.hideContextMenu = function () {
                                             var t = h("gmaps_context_menu");
                                             t && (t.style.display = "none");
                                        });
                                   var E = function (e, i) {
                                        google.maps.event.addListener(e, i, function (e) {
                                             null == e && (e = this), t[i].apply(this, [e]), a.hideContextMenu();
                                        });
                                   };
                                   google.maps.event.addListener(this.map, "zoom_changed", this.hideContextMenu);
                                   for (var A = 0; A < s.length; A++) (P = s[A]) in t && E(this.map, P);
                                   for (A = 0; A < l.length; A++) {
                                        var P;
                                        (P = l[A]) in t && E(this.map, P);
                                   }
                                   google.maps.event.addListener(this.map, "rightclick", function (e) {
                                        t.rightclick && t.rightclick.apply(this, [e]), null != window.context_menu[a.el.id].map && a.buildContextMenu("map", e);
                                   }),
                                        (this.refresh = function () {
                                             google.maps.event.trigger(this.map, "resize");
                                        }),
                                        (this.fitZoom = function () {
                                             var t,
                                                  e = [],
                                                  i = this.markers.length;
                                             for (t = 0; t < i; t++) "boolean" == typeof this.markers[t].visible && this.markers[t].visible && e.push(this.markers[t].getPosition());
                                             this.fitLatLngBounds(e);
                                        }),
                                        (this.fitLatLngBounds = function (t) {
                                             var e,
                                                  i = t.length,
                                                  n = new google.maps.LatLngBounds();
                                             for (e = 0; e < i; e++) n.extend(t[e]);
                                             this.map.fitBounds(n);
                                        }),
                                        (this.setCenter = function (t, e, i) {
                                             this.map.panTo(new google.maps.LatLng(t, e)), i && i();
                                        }),
                                        (this.getElement = function () {
                                             return this.el;
                                        }),
                                        (this.zoomIn = function (t) {
                                             (t = t || 1), (this.zoom = this.map.getZoom() + t), this.map.setZoom(this.zoom);
                                        }),
                                        (this.zoomOut = function (t) {
                                             (t = t || 1), (this.zoom = this.map.getZoom() - t), this.map.setZoom(this.zoom);
                                        });
                                   var I,
                                        O = [];
                                   for (I in this.map) "function" != typeof this.map[I] || this[I] || O.push(I);
                                   for (n = 0; n < O.length; n++)
                                        !(function (t, e, i) {
                                             t[i] = function () {
                                                  return e[i].apply(e, arguments);
                                             };
                                        })(this, this.map, O[n]);
                              };
                         return i;
                    })()).prototype.createControl = function (t) {
                         var e = document.createElement("div");
                         for (var i in ((e.style.cursor = "pointer"),
                         !0 !== t.disableDefaultStyles && ((e.style.fontFamily = "Roboto, Arial, sans-serif"), (e.style.fontSize = "11px"), (e.style.boxShadow = "rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px")),
                         t.style))
                              e.style[i] = t.style[i];
                         for (var n in (t.id && (e.id = t.id),
                         t.title && (e.title = t.title),
                         t.classes && (e.className = t.classes),
                         t.content && ("string" == typeof t.content ? (e.innerHTML = t.content) : t.content instanceof HTMLElement && e.appendChild(t.content)),
                         t.position && (e.position = google.maps.ControlPosition[t.position.toUpperCase()]),
                         t.events))
                              !(function (e, i) {
                                   google.maps.event.addDomListener(e, i, function () {
                                        t.events[i].apply(this, [this]);
                                   });
                              })(e, n);
                         return (e.index = 1), e;
                    }),
                    (p.prototype.addControl = function (t) {
                         var e = this.createControl(t);
                         return this.controls.push(e), this.map.controls[e.position].push(e), e;
                    }),
                    (p.prototype.removeControl = function (t) {
                         var e,
                              i = null;
                         for (e = 0; e < this.controls.length; e++) this.controls[e] == t && ((i = this.controls[e].position), this.controls.splice(e, 1));
                         if (i)
                              for (e = 0; e < this.map.controls.length; e++) {
                                   var n = this.map.controls[t.position];
                                   if (n.getAt(e) == t) {
                                        n.removeAt(e);
                                        break;
                                   }
                              }
                         return t;
                    }),
                    (p.prototype.createMarker = function (t) {
                         if (null == t.lat && null == t.lng && null == t.position) throw "No latitude or longitude defined.";
                         var e = this,
                              i = t.details,
                              n = t.fences,
                              r = t.outside,
                              a = { position: new google.maps.LatLng(t.lat, t.lng), map: null },
                              s = o(a, t);
                         delete s.lat, delete s.lng, delete s.fences, delete s.outside;
                         var l = new google.maps.Marker(s);
                         if (((l.fences = n), t.infoWindow)) {
                              l.infoWindow = new google.maps.InfoWindow(t.infoWindow);
                              for (var c = ["closeclick", "content_changed", "domready", "position_changed", "zindex_changed"], u = 0; u < c.length; u++)
                                   !(function (e, i) {
                                        t.infoWindow[i] &&
                                             google.maps.event.addListener(e, i, function (e) {
                                                  t.infoWindow[i].apply(this, [e]);
                                             });
                                   })(l.infoWindow, c[u]);
                         }
                         var h = [
                                   "animation_changed",
                                   "clickable_changed",
                                   "cursor_changed",
                                   "draggable_changed",
                                   "flat_changed",
                                   "icon_changed",
                                   "position_changed",
                                   "shadow_changed",
                                   "shape_changed",
                                   "title_changed",
                                   "visible_changed",
                                   "zindex_changed",
                              ],
                              d = ["dblclick", "drag", "dragend", "dragstart", "mousedown", "mouseout", "mouseover", "mouseup"];
                         for (u = 0; u < h.length; u++)
                              !(function (e, i) {
                                   t[i] &&
                                        google.maps.event.addListener(e, i, function () {
                                             t[i].apply(this, [this]);
                                        });
                              })(l, h[u]);
                         for (u = 0; u < d.length; u++)
                              !(function (e, i, n) {
                                   t[n] &&
                                        google.maps.event.addListener(i, n, function (i) {
                                             i.pixel || (i.pixel = e.getProjection().fromLatLngToPoint(i.latLng)), t[n].apply(this, [i]);
                                        });
                              })(this.map, l, d[u]);
                         return (
                              google.maps.event.addListener(l, "click", function () {
                                   (this.details = i), t.click && t.click.apply(this, [this]), l.infoWindow && (e.hideInfoWindows(), l.infoWindow.open(e.map, l));
                              }),
                              google.maps.event.addListener(l, "rightclick", function (i) {
                                   (i.marker = this), t.rightclick && t.rightclick.apply(this, [i]), null != window.context_menu[e.el.id].marker && e.buildContextMenu("marker", i);
                              }),
                              l.fences &&
                                   google.maps.event.addListener(l, "dragend", function () {
                                        e.checkMarkerGeofence(l, function (t, e) {
                                             r(t, e);
                                        });
                                   }),
                              l
                         );
                    }),
                    (p.prototype.addMarker = function (t) {
                         var e;
                         if (t.hasOwnProperty("gm_accessors_")) e = t;
                         else {
                              if (!((t.hasOwnProperty("lat") && t.hasOwnProperty("lng")) || t.position)) throw "No latitude or longitude defined.";
                              e = this.createMarker(t);
                         }
                         return e.setMap(this.map), this.markerClusterer && this.markerClusterer.addMarker(e), this.markers.push(e), p.fire("marker_added", e, this), e;
                    }),
                    (p.prototype.addMarkers = function (t) {
                         for (var e, i = 0; (e = t[i]); i++) this.addMarker(e);
                         return this.markers;
                    }),
                    (p.prototype.hideInfoWindows = function () {
                         for (var t, e = 0; (t = this.markers[e]); e++) t.infoWindow && t.infoWindow.close();
                    }),
                    (p.prototype.removeMarker = function (t) {
                         for (var e = 0; e < this.markers.length; e++)
                              if (this.markers[e] === t) {
                                   this.markers[e].setMap(null), this.markers.splice(e, 1), this.markerClusterer && this.markerClusterer.removeMarker(t), p.fire("marker_removed", t, this);
                                   break;
                              }
                         return t;
                    }),
                    (p.prototype.removeMarkers = function (t) {
                         var e = [];
                         if (void 0 === t) {
                              for (var i = 0; i < this.markers.length; i++) (r = this.markers[i]).setMap(null), p.fire("marker_removed", r, this);
                              this.markerClusterer && this.markerClusterer.clearMarkers && this.markerClusterer.clearMarkers(), (this.markers = e);
                         } else {
                              for (i = 0; i < t.length; i++) {
                                   var n = this.markers.indexOf(t[i]);
                                   n > -1 && ((r = this.markers[n]).setMap(null), this.markerClusterer && this.markerClusterer.removeMarker(r), p.fire("marker_removed", r, this));
                              }
                              for (i = 0; i < this.markers.length; i++) {
                                   var r;
                                   null != (r = this.markers[i]).getMap() && e.push(r);
                              }
                              this.markers = e;
                         }
                    }),
                    (p.prototype.drawOverlay = function (t) {
                         var e = new google.maps.OverlayView(),
                              i = !0;
                         return (
                              e.setMap(this.map),
                              null != t.auto_show && (i = t.auto_show),
                              (e.onAdd = function () {
                                   var i = document.createElement("div");
                                   (i.style.borderStyle = "none"), (i.style.borderWidth = "0px"), (i.style.position = "absolute"), (i.style.zIndex = 100), (i.innerHTML = t.content), (e.el = i), t.layer || (t.layer = "overlayLayer");
                                   var n,
                                        r,
                                        o = this.getPanes(),
                                        a = ["contextmenu", "DOMMouseScroll", "dblclick", "mousedown"];
                                   o[t.layer].appendChild(i);
                                   for (var s = 0; s < a.length; s++)
                                        (n = i),
                                             (r = a[s]),
                                             google.maps.event.addDomListener(n, r, function (t) {
                                                  -1 != navigator.userAgent.toLowerCase().indexOf("msie") && document.all ? ((t.cancelBubble = !0), (t.returnValue = !1)) : t.stopPropagation();
                                             });
                                   t.click &&
                                        (o.overlayMouseTarget.appendChild(e.el),
                                        google.maps.event.addDomListener(e.el, "click", function () {
                                             t.click.apply(e, [e]);
                                        })),
                                        google.maps.event.trigger(this, "ready");
                              }),
                              (e.draw = function () {
                                   var n = this.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(t.lat, t.lng));
                                   (t.horizontalOffset = t.horizontalOffset || 0), (t.verticalOffset = t.verticalOffset || 0);
                                   var r = e.el,
                                        o = r.children[0],
                                        a = o.clientHeight,
                                        s = o.clientWidth;
                                   switch (t.verticalAlign) {
                                        case "top":
                                             r.style.top = n.y - a + t.verticalOffset + "px";
                                             break;
                                        default:
                                        case "middle":
                                             r.style.top = n.y - a / 2 + t.verticalOffset + "px";
                                             break;
                                        case "bottom":
                                             r.style.top = n.y + t.verticalOffset + "px";
                                   }
                                   switch (t.horizontalAlign) {
                                        case "left":
                                             r.style.left = n.x - s + t.horizontalOffset + "px";
                                             break;
                                        default:
                                        case "center":
                                             r.style.left = n.x - s / 2 + t.horizontalOffset + "px";
                                             break;
                                        case "right":
                                             r.style.left = n.x + t.horizontalOffset + "px";
                                   }
                                   (r.style.display = i ? "block" : "none"), i || t.show.apply(this, [r]);
                              }),
                              (e.onRemove = function () {
                                   var i = e.el;
                                   t.remove ? t.remove.apply(this, [i]) : (e.el.parentNode.removeChild(e.el), (e.el = null));
                              }),
                              this.overlays.push(e),
                              e
                         );
                    }),
                    (p.prototype.removeOverlay = function (t) {
                         for (var e = 0; e < this.overlays.length; e++)
                              if (this.overlays[e] === t) {
                                   this.overlays[e].setMap(null), this.overlays.splice(e, 1);
                                   break;
                              }
                    }),
                    (p.prototype.removeOverlays = function () {
                         for (var t, e = 0; (t = this.overlays[e]); e++) t.setMap(null);
                         this.overlays = [];
                    }),
                    (p.prototype.drawPolyline = function (t) {
                         var e = [],
                              i = t.path;
                         if (i.length)
                              if (void 0 === i[0][0]) e = i;
                              else for (var n, r = 0; (n = i[r]); r++) e.push(new google.maps.LatLng(n[0], n[1]));
                         var o = { map: this.map, path: e, strokeColor: t.strokeColor, strokeOpacity: t.strokeOpacity, strokeWeight: t.strokeWeight, geodesic: t.geodesic, clickable: !0, editable: !1, visible: !0 };
                         t.hasOwnProperty("clickable") && (o.clickable = t.clickable),
                              t.hasOwnProperty("editable") && (o.editable = t.editable),
                              t.hasOwnProperty("icons") && (o.icons = t.icons),
                              t.hasOwnProperty("zIndex") && (o.zIndex = t.zIndex);
                         for (var a = new google.maps.Polyline(o), s = ["click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick"], l = 0; l < s.length; l++)
                              !(function (e, i) {
                                   t[i] &&
                                        google.maps.event.addListener(e, i, function (e) {
                                             t[i].apply(this, [e]);
                                        });
                              })(a, s[l]);
                         return this.polylines.push(a), p.fire("polyline_added", a, this), a;
                    }),
                    (p.prototype.removePolyline = function (t) {
                         for (var e = 0; e < this.polylines.length; e++)
                              if (this.polylines[e] === t) {
                                   this.polylines[e].setMap(null), this.polylines.splice(e, 1), p.fire("polyline_removed", t, this);
                                   break;
                              }
                    }),
                    (p.prototype.removePolylines = function () {
                         for (var t, e = 0; (t = this.polylines[e]); e++) t.setMap(null);
                         this.polylines = [];
                    }),
                    (p.prototype.drawCircle = function (t) {
                         delete (t = o({ map: this.map, center: new google.maps.LatLng(t.lat, t.lng) }, t)).lat, delete t.lng;
                         for (var e = new google.maps.Circle(t), i = ["click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick"], n = 0; n < i.length; n++)
                              !(function (e, i) {
                                   t[i] &&
                                        google.maps.event.addListener(e, i, function (e) {
                                             t[i].apply(this, [e]);
                                        });
                              })(e, i[n]);
                         return this.polygons.push(e), e;
                    }),
                    (p.prototype.drawRectangle = function (t) {
                         t = o({ map: this.map }, t);
                         var e = new google.maps.LatLngBounds(new google.maps.LatLng(t.bounds[0][0], t.bounds[0][1]), new google.maps.LatLng(t.bounds[1][0], t.bounds[1][1]));
                         t.bounds = e;
                         for (var i = new google.maps.Rectangle(t), n = ["click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick"], r = 0; r < n.length; r++)
                              !(function (e, i) {
                                   t[i] &&
                                        google.maps.event.addListener(e, i, function (e) {
                                             t[i].apply(this, [e]);
                                        });
                              })(i, n[r]);
                         return this.polygons.push(i), i;
                    }),
                    (p.prototype.drawPolygon = function (t) {
                         var e = !1;
                         t.hasOwnProperty("useGeoJSON") && (e = t.useGeoJSON),
                              delete t.useGeoJSON,
                              (t = o({ map: this.map }, t)),
                              0 == e && (t.paths = [t.paths.slice(0)]),
                              t.paths.length > 0 && t.paths[0].length > 0 && (t.paths = s(a(t.paths, c, e)));
                         for (var i = new google.maps.Polygon(t), n = ["click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick"], r = 0; r < n.length; r++)
                              !(function (e, i) {
                                   t[i] &&
                                        google.maps.event.addListener(e, i, function (e) {
                                             t[i].apply(this, [e]);
                                        });
                              })(i, n[r]);
                         return this.polygons.push(i), p.fire("polygon_added", i, this), i;
                    }),
                    (p.prototype.removePolygon = function (t) {
                         for (var e = 0; e < this.polygons.length; e++)
                              if (this.polygons[e] === t) {
                                   this.polygons[e].setMap(null), this.polygons.splice(e, 1), p.fire("polygon_removed", t, this);
                                   break;
                              }
                    }),
                    (p.prototype.removePolygons = function () {
                         for (var t, e = 0; (t = this.polygons[e]); e++) t.setMap(null);
                         this.polygons = [];
                    }),
                    (p.prototype.getFromFusionTables = function (t) {
                         var e = t.events;
                         delete t.events;
                         var i = t,
                              n = new google.maps.FusionTablesLayer(i);
                         for (var r in e)
                              !(function (t, i) {
                                   google.maps.event.addListener(t, i, function (t) {
                                        e[i].apply(this, [t]);
                                   });
                              })(n, r);
                         return this.layers.push(n), n;
                    }),
                    (p.prototype.loadFromFusionTables = function (t) {
                         var e = this.getFromFusionTables(t);
                         return e.setMap(this.map), e;
                    }),
                    (p.prototype.getFromKML = function (t) {
                         var e = t.url,
                              i = t.events;
                         delete t.url, delete t.events;
                         var n = t,
                              r = new google.maps.KmlLayer(e, n);
                         for (var o in i)
                              !(function (t, e) {
                                   google.maps.event.addListener(t, e, function (t) {
                                        i[e].apply(this, [t]);
                                   });
                              })(r, o);
                         return this.layers.push(r), r;
                    }),
                    (p.prototype.loadFromKML = function (t) {
                         var e = this.getFromKML(t);
                         return e.setMap(this.map), e;
                    }),
                    (p.prototype.addLayer = function (t, e) {
                         var i;
                         switch (((e = e || {}), t)) {
                              case "weather":
                                   this.singleLayers.weather = i = new google.maps.weather.WeatherLayer();
                                   break;
                              case "clouds":
                                   this.singleLayers.clouds = i = new google.maps.weather.CloudLayer();
                                   break;
                              case "traffic":
                                   this.singleLayers.traffic = i = new google.maps.TrafficLayer();
                                   break;
                              case "transit":
                                   this.singleLayers.transit = i = new google.maps.TransitLayer();
                                   break;
                              case "bicycling":
                                   this.singleLayers.bicycling = i = new google.maps.BicyclingLayer();
                                   break;
                              case "panoramio":
                                   (this.singleLayers.panoramio = i = new google.maps.panoramio.PanoramioLayer()),
                                        i.setTag(e.filter),
                                        delete e.filter,
                                        e.click &&
                                             google.maps.event.addListener(i, "click", function (t) {
                                                  e.click(t), delete e.click;
                                             });
                                   break;
                              case "places":
                                   if (((this.singleLayers.places = i = new google.maps.places.PlacesService(this.map)), e.search || e.nearbySearch || e.radarSearch)) {
                                        var n = { bounds: e.bounds || null, keyword: e.keyword || null, location: e.location || null, name: e.name || null, radius: e.radius || null, rankBy: e.rankBy || null, types: e.types || null };
                                        e.radarSearch && i.radarSearch(n, e.radarSearch), e.search && i.search(n, e.search), e.nearbySearch && i.nearbySearch(n, e.nearbySearch);
                                   }
                                   if (e.textSearch) {
                                        var r = { bounds: e.bounds || null, location: e.location || null, query: e.query || null, radius: e.radius || null };
                                        i.textSearch(r, e.textSearch);
                                   }
                         }
                         if (void 0 !== i) return "function" == typeof i.setOptions && i.setOptions(e), "function" == typeof i.setMap && i.setMap(this.map), i;
                    }),
                    (p.prototype.removeLayer = function (t) {
                         if ("string" == typeof t && void 0 !== this.singleLayers[t]) this.singleLayers[t].setMap(null), delete this.singleLayers[t];
                         else
                              for (var e = 0; e < this.layers.length; e++)
                                   if (this.layers[e] === t) {
                                        this.layers[e].setMap(null), this.layers.splice(e, 1);
                                        break;
                                   }
                    }),
                    (p.prototype.getRoutes = function (t) {
                         switch (t.travelMode) {
                              case "bicycling":
                                   n = google.maps.TravelMode.BICYCLING;
                                   break;
                              case "transit":
                                   n = google.maps.TravelMode.TRANSIT;
                                   break;
                              case "driving":
                                   n = google.maps.TravelMode.DRIVING;
                                   break;
                              default:
                                   n = google.maps.TravelMode.WALKING;
                         }
                         r = "imperial" === t.unitSystem ? google.maps.UnitSystem.IMPERIAL : google.maps.UnitSystem.METRIC;
                         var e = o({ avoidHighways: !1, avoidTolls: !1, optimizeWaypoints: !1, waypoints: [] }, t);
                         (e.origin = /string/.test(typeof t.origin) ? t.origin : new google.maps.LatLng(t.origin[0], t.origin[1])),
                              (e.destination = /string/.test(typeof t.destination) ? t.destination : new google.maps.LatLng(t.destination[0], t.destination[1])),
                              (e.travelMode = n),
                              (e.unitSystem = r),
                              delete e.callback,
                              delete e.error;
                         var i = [];
                         new google.maps.DirectionsService().route(e, function (e, n) {
                              if (n === google.maps.DirectionsStatus.OK) {
                                   for (var r in e.routes) e.routes.hasOwnProperty(r) && i.push(e.routes[r]);
                                   t.callback && t.callback(i, e, n);
                              } else t.error && t.error(e, n);
                         });
                    }),
                    (p.prototype.removeRoutes = function () {
                         this.routes.length = 0;
                    }),
                    (p.prototype.getElevations = function (t) {
                         (t = o({ locations: [], path: !1, samples: 256 }, t)).locations.length > 0 && t.locations[0].length > 0 && (t.locations = s(a([t.locations], c, !1)));
                         var e = t.callback;
                         delete t.callback;
                         var i = new google.maps.ElevationService();
                         if (t.path) {
                              var n = { path: t.locations, samples: t.samples };
                              i.getElevationAlongPath(n, function (t, i) {
                                   e && "function" == typeof e && e(t, i);
                              });
                         } else
                              delete t.path,
                                   delete t.samples,
                                   i.getElevationForLocations(t, function (t, i) {
                                        e && "function" == typeof e && e(t, i);
                                   });
                    }),
                    (p.prototype.cleanRoute = p.prototype.removePolylines),
                    (p.prototype.renderRoute = function (t, e) {
                         var i,
                              n = "string" == typeof e.panel ? document.getElementById(e.panel.replace("#", "")) : e.panel;
                         (e.panel = n),
                              (e = o({ map: this.map }, e)),
                              (i = new google.maps.DirectionsRenderer(e)),
                              this.getRoutes({
                                   origin: t.origin,
                                   destination: t.destination,
                                   travelMode: t.travelMode,
                                   waypoints: t.waypoints,
                                   unitSystem: t.unitSystem,
                                   error: t.error,
                                   avoidHighways: t.avoidHighways,
                                   avoidTolls: t.avoidTolls,
                                   optimizeWaypoints: t.optimizeWaypoints,
                                   callback: function (t, e, n) {
                                        n === google.maps.DirectionsStatus.OK && i.setDirections(e);
                                   },
                              });
                    }),
                    (p.prototype.drawRoute = function (t) {
                         var e = this;
                         this.getRoutes({
                              origin: t.origin,
                              destination: t.destination,
                              travelMode: t.travelMode,
                              waypoints: t.waypoints,
                              unitSystem: t.unitSystem,
                              error: t.error,
                              avoidHighways: t.avoidHighways,
                              avoidTolls: t.avoidTolls,
                              optimizeWaypoints: t.optimizeWaypoints,
                              callback: function (i) {
                                   if (i.length > 0) {
                                        var n = { path: i[i.length - 1].overview_path, strokeColor: t.strokeColor, strokeOpacity: t.strokeOpacity, strokeWeight: t.strokeWeight };
                                        t.hasOwnProperty("icons") && (n.icons = t.icons), e.drawPolyline(n), t.callback && t.callback(i[i.length - 1]);
                                   }
                              },
                         });
                    }),
                    (p.prototype.travelRoute = function (t) {
                         if (t.origin && t.destination)
                              this.getRoutes({
                                   origin: t.origin,
                                   destination: t.destination,
                                   travelMode: t.travelMode,
                                   waypoints: t.waypoints,
                                   unitSystem: t.unitSystem,
                                   error: t.error,
                                   callback: function (e) {
                                        if ((e.length > 0 && t.start && t.start(e[e.length - 1]), e.length > 0 && t.step)) {
                                             var i = e[e.length - 1];
                                             if (i.legs.length > 0) for (var n, r = i.legs[0].steps, o = 0; (n = r[o]); o++) (n.step_number = o), t.step(n, i.legs[0].steps.length - 1);
                                        }
                                        e.length > 0 && t.end && t.end(e[e.length - 1]);
                                   },
                              });
                         else if (t.route && t.route.legs.length > 0) for (var e, i = t.route.legs[0].steps, n = 0; (e = i[n]); n++) (e.step_number = n), t.step(e);
                    }),
                    (p.prototype.drawSteppedRoute = function (t) {
                         var e = this;
                         if (t.origin && t.destination)
                              this.getRoutes({
                                   origin: t.origin,
                                   destination: t.destination,
                                   travelMode: t.travelMode,
                                   waypoints: t.waypoints,
                                   error: t.error,
                                   callback: function (i) {
                                        if ((i.length > 0 && t.start && t.start(i[i.length - 1]), i.length > 0 && t.step)) {
                                             var n = i[i.length - 1];
                                             if (n.legs.length > 0)
                                                  for (var r, o = n.legs[0].steps, a = 0; (r = o[a]); a++) {
                                                       r.step_number = a;
                                                       var s = { path: r.path, strokeColor: t.strokeColor, strokeOpacity: t.strokeOpacity, strokeWeight: t.strokeWeight };
                                                       t.hasOwnProperty("icons") && (s.icons = t.icons), e.drawPolyline(s), t.step(r, n.legs[0].steps.length - 1);
                                                  }
                                        }
                                        i.length > 0 && t.end && t.end(i[i.length - 1]);
                                   },
                              });
                         else if (t.route && t.route.legs.length > 0)
                              for (var i, n = t.route.legs[0].steps, r = 0; (i = n[r]); r++) {
                                   i.step_number = r;
                                   var o = { path: i.path, strokeColor: t.strokeColor, strokeOpacity: t.strokeOpacity, strokeWeight: t.strokeWeight };
                                   t.hasOwnProperty("icons") && (o.icons = t.icons), e.drawPolyline(o), t.step(i);
                              }
                    }),
                    (p.Route = function (t) {
                         (this.origin = t.origin),
                              (this.destination = t.destination),
                              (this.waypoints = t.waypoints),
                              (this.map = t.map),
                              (this.route = t.route),
                              (this.step_count = 0),
                              (this.steps = this.route.legs[0].steps),
                              (this.steps_length = this.steps.length);
                         var e = { path: new google.maps.MVCArray(), strokeColor: t.strokeColor, strokeOpacity: t.strokeOpacity, strokeWeight: t.strokeWeight };
                         t.hasOwnProperty("icons") && (e.icons = t.icons), (this.polyline = this.map.drawPolyline(e).getPath());
                    }),
                    (p.Route.prototype.getRoute = function (t) {
                         var i = this;
                         this.map.getRoutes({
                              origin: this.origin,
                              destination: this.destination,
                              travelMode: t.travelMode,
                              waypoints: this.waypoints || [],
                              error: t.error,
                              callback: function () {
                                   (i.route = e[0]), t.callback && t.callback.call(i);
                              },
                         });
                    }),
                    (p.Route.prototype.back = function () {
                         if (this.step_count > 0) {
                              this.step_count--;
                              var t = this.route.legs[0].steps[this.step_count].path;
                              for (var e in t) t.hasOwnProperty(e) && this.polyline.pop();
                         }
                    }),
                    (p.Route.prototype.forward = function () {
                         if (this.step_count < this.steps_length) {
                              var t = this.route.legs[0].steps[this.step_count].path;
                              for (var e in t) t.hasOwnProperty(e) && this.polyline.push(t[e]);
                              this.step_count++;
                         }
                    }),
                    (p.prototype.checkGeofence = function (t, e, i) {
                         return i.containsLatLng(new google.maps.LatLng(t, e));
                    }),
                    (p.prototype.checkMarkerGeofence = function (t, e) {
                         if (t.fences)
                              for (var i, n = 0; (i = t.fences[n]); n++) {
                                   var r = t.getPosition();
                                   this.checkGeofence(r.lat(), r.lng(), i) || e(t, i);
                              }
                    }),
                    (p.prototype.toImage = function (t) {
                         t = t || {};
                         var e = {};
                         if (((e.size = t.size || [this.el.clientWidth, this.el.clientHeight]), (e.lat = this.getCenter().lat()), (e.lng = this.getCenter().lng()), this.markers.length > 0)) {
                              e.markers = [];
                              for (var i = 0; i < this.markers.length; i++) e.markers.push({ lat: this.markers[i].getPosition().lat(), lng: this.markers[i].getPosition().lng() });
                         }
                         if (this.polylines.length > 0) {
                              var n = this.polylines[0];
                              (e.polyline = {}),
                                   (e.polyline.path = google.maps.geometry.encoding.encodePath(n.getPath())),
                                   (e.polyline.strokeColor = n.strokeColor),
                                   (e.polyline.strokeOpacity = n.strokeOpacity),
                                   (e.polyline.strokeWeight = n.strokeWeight);
                         }
                         return p.staticMapURL(e);
                    }),
                    (p.staticMapURL = function (t) {
                         var e,
                              i = [],
                              n = ("file:" === location.protocol ? "http:" : location.protocol) + "//maps.googleapis.com/maps/api/staticmap";
                         t.url && ((n = t.url), delete t.url), (n += "?");
                         var r = t.markers;
                         delete t.markers, !r && t.marker && ((r = [t.marker]), delete t.marker);
                         var o = t.styles;
                         delete t.styles;
                         var a = t.polyline;
                         if ((delete t.polyline, t.center)) i.push("center=" + t.center), delete t.center;
                         else if (t.address) i.push("center=" + t.address), delete t.address;
                         else if (t.lat) i.push(["center=", t.lat, ",", t.lng].join("")), delete t.lat, delete t.lng;
                         else if (t.visible) {
                              var s = encodeURI(t.visible.join("|"));
                              i.push("visible=" + s);
                         }
                         var l = t.size;
                         l ? (l.join && (l = l.join("x")), delete t.size) : (l = "630x300"), i.push("size=" + l), t.zoom || !1 === t.zoom || (t.zoom = 15);
                         var c = !t.hasOwnProperty("sensor") || !!t.sensor;
                         for (var u in (delete t.sensor, i.push("sensor=" + c), t)) t.hasOwnProperty(u) && i.push(u + "=" + t[u]);
                         if (r)
                              for (var h, d, p = 0; (e = r[p]); p++) {
                                   for (var u in ((h = []),
                                   e.size && "normal" !== e.size ? (h.push("size:" + e.size), delete e.size) : e.icon && (h.push("icon:" + encodeURI(e.icon)), delete e.icon),
                                   e.color && (h.push("color:" + e.color.replace("#", "0x")), delete e.color),
                                   e.label && (h.push("label:" + e.label[0].toUpperCase()), delete e.label),
                                   (d = e.address ? e.address : e.lat + "," + e.lng),
                                   delete e.address,
                                   delete e.lat,
                                   delete e.lng,
                                   e))
                                        e.hasOwnProperty(u) && h.push(u + ":" + e[u]);
                                   h.length || 0 === p ? (h.push(d), (h = h.join("|")), i.push("markers=" + encodeURI(h))) : ((h = i.pop() + encodeURI("|" + d)), i.push(h));
                              }
                         if (o)
                              for (p = 0; p < o.length; p++) {
                                   var f = [];
                                   o[p].featureType && f.push("feature:" + o[p].featureType.toLowerCase()), o[p].elementType && f.push("element:" + o[p].elementType.toLowerCase());
                                   for (var m = 0; m < o[p].stylers.length; m++)
                                        for (var g in o[p].stylers[m]) {
                                             var v = o[p].stylers[m][g];
                                             ("hue" != g && "color" != g) || (v = "0x" + v.substring(1)), f.push(g + ":" + v);
                                        }
                                   var y = f.join("|");
                                   "" != y && i.push("style=" + y);
                              }
                         function b(t, e) {
                              if ("#" === t[0] && ((t = t.replace("#", "0x")), e)) {
                                   if (((e = parseFloat(e)), 0 === (e = Math.min(1, Math.max(e, 0))))) return "0x00000000";
                                   1 === (e = (255 * e).toString(16)).length && (e += e), (t = t.slice(0, 8) + e);
                              }
                              return t;
                         }
                         if (a) {
                              if (((e = a), (a = []), e.strokeWeight && a.push("weight:" + parseInt(e.strokeWeight, 10)), e.strokeColor)) {
                                   var _ = b(e.strokeColor, e.strokeOpacity);
                                   a.push("color:" + _);
                              }
                              if (e.fillColor) {
                                   var x = b(e.fillColor, e.fillOpacity);
                                   a.push("fillcolor:" + x);
                              }
                              var w,
                                   k = e.path;
                              if (k.join) for (m = 0; (w = k[m]); m++) a.push(w.join(","));
                              else a.push("enc:" + k);
                              (a = a.join("|")), i.push("path=" + encodeURI(a));
                         }
                         var S = window.devicePixelRatio || 1;
                         return i.push("scale=" + S), n + (i = i.join("&"));
                    }),
                    (p.prototype.addMapType = function (t, e) {
                         if (!e.hasOwnProperty("getTileUrl") || "function" != typeof e.getTileUrl) throw "'getTileUrl' function required.";
                         e.tileSize = e.tileSize || new google.maps.Size(256, 256);
                         var i = new google.maps.ImageMapType(e);
                         this.map.mapTypes.set(t, i);
                    }),
                    (p.prototype.addOverlayMapType = function (t) {
                         if (!t.hasOwnProperty("getTile") || "function" != typeof t.getTile) throw "'getTile' function required.";
                         var e = t.index;
                         delete t.index, this.map.overlayMapTypes.insertAt(e, t);
                    }),
                    (p.prototype.removeOverlayMapType = function (t) {
                         this.map.overlayMapTypes.removeAt(t);
                    }),
                    (p.prototype.addStyle = function (t) {
                         var e = new google.maps.StyledMapType(t.styles, { name: t.styledMapName });
                         this.map.mapTypes.set(t.mapTypeId, e);
                    }),
                    (p.prototype.setStyle = function (t) {
                         this.map.setMapTypeId(t);
                    }),
                    (p.prototype.createPanorama = function (t) {
                         return (
                              (t.hasOwnProperty("lat") && t.hasOwnProperty("lng")) || ((t.lat = this.getCenter().lat()), (t.lng = this.getCenter().lng())),
                              (this.panorama = p.createPanorama(t)),
                              this.map.setStreetView(this.panorama),
                              this.panorama
                         );
                    }),
                    (p.createPanorama = function (t) {
                         var e = h(t.el, t.context);
                         (t.position = new google.maps.LatLng(t.lat, t.lng)), delete t.el, delete t.context, delete t.lat, delete t.lng;
                         for (var i = ["closeclick", "links_changed", "pano_changed", "position_changed", "pov_changed", "resize", "visible_changed"], n = o({ visible: !0 }, t), r = 0; r < i.length; r++) delete n[i[r]];
                         var a = new google.maps.StreetViewPanorama(e, n);
                         for (r = 0; r < i.length; r++)
                              !(function (e, i) {
                                   t[i] &&
                                        google.maps.event.addListener(e, i, function () {
                                             t[i].apply(this);
                                        });
                              })(a, i[r]);
                         return a;
                    }),
                    (p.prototype.on = function (t, e) {
                         return p.on(t, this, e);
                    }),
                    (p.prototype.off = function (t) {
                         p.off(t, this);
                    }),
                    (p.prototype.once = function (t, e) {
                         return p.once(t, this, e);
                    }),
                    (p.custom_events = ["marker_added", "marker_removed", "polyline_added", "polyline_removed", "polygon_added", "polygon_removed", "geolocated", "geolocation_failed"]),
                    (p.on = function (t, e, i) {
                         if (-1 == p.custom_events.indexOf(t)) return e instanceof p && (e = e.map), google.maps.event.addListener(e, t, i);
                         var n = { handler: i, eventName: t };
                         return (e.registered_events[t] = e.registered_events[t] || []), e.registered_events[t].push(n), n;
                    }),
                    (p.off = function (t, e) {
                         -1 == p.custom_events.indexOf(t) ? (e instanceof p && (e = e.map), google.maps.event.clearListeners(e, t)) : (e.registered_events[t] = []);
                    }),
                    (p.once = function (t, e, i) {
                         if (-1 == p.custom_events.indexOf(t)) return e instanceof p && (e = e.map), google.maps.event.addListenerOnce(e, t, i);
                    }),
                    (p.fire = function (t, e, i) {
                         if (-1 == p.custom_events.indexOf(t)) google.maps.event.trigger(e, t, Array.prototype.slice.apply(arguments).slice(2));
                         else if (t in i.registered_events)
                              for (var n = i.registered_events[t], r = 0; r < n.length; r++)
                                   !(function (t, e, i) {
                                        t.apply(e, [i]);
                                   })(n[r].handler, i, e);
                    }),
                    (p.geolocate = function (t) {
                         var e = t.always || t.complete;
                         navigator.geolocation
                              ? navigator.geolocation.getCurrentPosition(
                                     function (i) {
                                          t.success(i), e && e();
                                     },
                                     function (i) {
                                          t.error(i), e && e();
                                     },
                                     t.options
                                )
                              : (t.not_supported(), e && e());
                    }),
                    (p.geocode = function (t) {
                         this.geocoder = new google.maps.Geocoder();
                         var e = t.callback;
                         t.hasOwnProperty("lat") && t.hasOwnProperty("lng") && (t.latLng = new google.maps.LatLng(t.lat, t.lng)),
                              delete t.lat,
                              delete t.lng,
                              delete t.callback,
                              this.geocoder.geocode(t, function (t, i) {
                                   e(t, i);
                              });
                    }),
                    "object" == typeof window.google &&
                         window.google.maps &&
                         (google.maps.Polygon.prototype.getBounds ||
                              (google.maps.Polygon.prototype.getBounds = function (t) {
                                   for (var e, i = new google.maps.LatLngBounds(), n = this.getPaths(), r = 0; r < n.getLength(); r++) {
                                        e = n.getAt(r);
                                        for (var o = 0; o < e.getLength(); o++) i.extend(e.getAt(o));
                                   }
                                   return i;
                              }),
                         google.maps.Polygon.prototype.containsLatLng ||
                              (google.maps.Polygon.prototype.containsLatLng = function (t) {
                                   var e = this.getBounds();
                                   if (null !== e && !e.contains(t)) return !1;
                                   for (var i = !1, n = this.getPaths().getLength(), r = 0; r < n; r++)
                                        for (var o = this.getPaths().getAt(r), a = o.getLength(), s = a - 1, l = 0; l < a; l++) {
                                             var c = o.getAt(l),
                                                  u = o.getAt(s);
                                             ((c.lng() < t.lng() && u.lng() >= t.lng()) || (u.lng() < t.lng() && c.lng() >= t.lng())) && c.lat() + ((t.lng() - c.lng()) / (u.lng() - c.lng())) * (u.lat() - c.lat()) < t.lat() && (i = !i),
                                                  (s = l);
                                        }
                                   return i;
                              }),
                         google.maps.Circle.prototype.containsLatLng ||
                              (google.maps.Circle.prototype.containsLatLng = function (t) {
                                   return !google.maps.geometry || google.maps.geometry.spherical.computeDistanceBetween(this.getCenter(), t) <= this.getRadius();
                              }),
                         (google.maps.Rectangle.prototype.containsLatLng = function (t) {
                              return this.getBounds().contains(t);
                         }),
                         (google.maps.LatLngBounds.prototype.containsLatLng = function (t) {
                              return this.contains(t);
                         }),
                         (google.maps.Marker.prototype.setFences = function (t) {
                              this.fences = t;
                         }),
                         (google.maps.Marker.prototype.addFence = function (t) {
                              this.fences.push(t);
                         }),
                         (google.maps.Marker.prototype.getId = function () {
                              return this.__gm_id;
                         })),
                    Array.prototype.indexOf ||
                         (Array.prototype.indexOf = function (t) {
                              if (null == this) throw new TypeError();
                              var e = Object(this),
                                   i = e.length >>> 0;
                              if (0 === i) return -1;
                              var n = 0;
                              if ((arguments.length > 1 && ((n = Number(arguments[1])) != n ? (n = 0) : 0 != n && n != 1 / 0 && n != -1 / 0 && (n = (n > 0 || -1) * Math.floor(Math.abs(n)))), n >= i)) return -1;
                              for (var r = n >= 0 ? n : Math.max(i - Math.abs(n), 0); r < i; r++) if (r in e && e[r] === t) return r;
                              return -1;
                         }),
                    p);
          }.call(this, n(1)));
     },
     function (t, e, i) {
          (function (e) {
               var i;
               (i = function () {
                    function t(t) {
                         (this._targetElement = t),
                              (this._introItems = []),
                              (this._options = {
                                   nextLabel: "Next &rarr;",
                                   prevLabel: "&larr; Back",
                                   skipLabel: "Skip",
                                   doneLabel: "Done",
                                   hidePrev: !1,
                                   hideNext: !1,
                                   tooltipPosition: "bottom",
                                   tooltipClass: "",
                                   highlightClass: "",
                                   exitOnEsc: !0,
                                   exitOnOverlayClick: !0,
                                   showStepNumbers: !0,
                                   keyboardNavigation: !0,
                                   showButtons: !0,
                                   showBullets: !0,
                                   showProgress: !1,
                                   scrollToElement: !0,
                                   scrollTo: "element",
                                   scrollPadding: 30,
                                   overlayOpacity: 0.8,
                                   positionPrecedence: ["bottom", "top", "right", "left"],
                                   disableInteraction: !1,
                                   helperElementPadding: 10,
                                   hintPosition: "top-middle",
                                   hintButtonLabel: "Got it",
                                   hintAnimation: !0,
                                   buttonClass: "introjs-button",
                              });
                    }
                    function i(t, e) {
                         var i = t.querySelectorAll("*[data-intro]"),
                              a = [];
                         if (this._options.steps)
                              k(
                                   this._options.steps,
                                   function (t) {
                                        var e = o(t);
                                        if (((e.step = a.length + 1), "string" == typeof e.element && (e.element = document.querySelector(e.element)), void 0 === e.element || null === e.element)) {
                                             var i = document.querySelector(".introjsFloatingElement");
                                             null === i && (((i = document.createElement("div")).className = "introjsFloatingElement"), document.body.appendChild(i)), (e.element = i), (e.position = "floating");
                                        }
                                        (e.scrollTo = e.scrollTo || this._options.scrollTo), void 0 === e.disableInteraction && (e.disableInteraction = this._options.disableInteraction), null !== e.element && a.push(e);
                                   }.bind(this)
                              );
                         else {
                              var s;
                              if (i.length < 1) return !1;
                              k(
                                   i,
                                   function (t) {
                                        if ((!e || t.getAttribute("data-intro-group") === e) && "none" !== t.style.display) {
                                             var i = parseInt(t.getAttribute("data-step"), 10);
                                             (s = void 0 !== t.getAttribute("data-disable-interaction") ? !!t.getAttribute("data-disable-interaction") : this._options.disableInteraction),
                                                  i > 0 &&
                                                       (a[i - 1] = {
                                                            element: t,
                                                            intro: t.getAttribute("data-intro"),
                                                            step: parseInt(t.getAttribute("data-step"), 10),
                                                            tooltipClass: t.getAttribute("data-tooltipclass"),
                                                            highlightClass: t.getAttribute("data-highlightclass"),
                                                            position: t.getAttribute("data-position") || this._options.tooltipPosition,
                                                            scrollTo: t.getAttribute("data-scrollto") || this._options.scrollTo,
                                                            disableInteraction: s,
                                                       });
                                        }
                                   }.bind(this)
                              );
                              var c = 0;
                              k(
                                   i,
                                   function (t) {
                                        if ((!e || t.getAttribute("data-intro-group") === e) && null === t.getAttribute("data-step")) {
                                             for (; void 0 !== a[c]; ) c++;
                                             (s = void 0 !== t.getAttribute("data-disable-interaction") ? !!t.getAttribute("data-disable-interaction") : this._options.disableInteraction),
                                                  (a[c] = {
                                                       element: t,
                                                       intro: t.getAttribute("data-intro"),
                                                       step: c + 1,
                                                       tooltipClass: t.getAttribute("data-tooltipclass"),
                                                       highlightClass: t.getAttribute("data-highlightclass"),
                                                       position: t.getAttribute("data-position") || this._options.tooltipPosition,
                                                       scrollTo: t.getAttribute("data-scrollto") || this._options.scrollTo,
                                                       disableInteraction: s,
                                                  });
                                        }
                                   }.bind(this)
                              );
                         }
                         for (var u = [], h = 0; h < a.length; h++) a[h] && u.push(a[h]);
                         return (
                              (a = u).sort(function (t, e) {
                                   return t.step - e.step;
                              }),
                              (this._introItems = a),
                              P.call(this, t) && (l.call(this), this._options.keyboardNavigation && T.on(window, "keydown", r, this, !0), T.on(window, "resize", n, this, !0)),
                              !1
                         );
                    }
                    function n() {
                         this.refresh.call(this);
                    }
                    function r(t) {
                         var e = null === t.code ? t.which : t.code;
                         if ((null === e && (e = null === t.charCode ? t.keyCode : t.charCode), ("Escape" !== e && 27 !== e) || !0 !== this._options.exitOnEsc)) {
                              if ("ArrowLeft" === e || 37 === e) c.call(this);
                              else if ("ArrowRight" === e || 39 === e) l.call(this);
                              else if ("Enter" === e || 13 === e) {
                                   var i = t.target || t.srcElement;
                                   i && i.className.match("introjs-prevbutton")
                                        ? c.call(this)
                                        : i && i.className.match("introjs-skipbutton")
                                        ? (this._introItems.length - 1 === this._currentStep && "function" == typeof this._introCompleteCallback && this._introCompleteCallback.call(this), h.call(this, this._targetElement))
                                        : i && i.getAttribute("data-stepnumber")
                                        ? i.click()
                                        : l.call(this),
                                        t.preventDefault ? t.preventDefault() : (t.returnValue = !1);
                              }
                         } else h.call(this, this._targetElement);
                    }
                    function o(t) {
                         if (null === t || "object" != typeof t || void 0 !== t.nodeType) return t;
                         var i = {};
                         for (var n in t) void 0 !== e && t[n] instanceof e ? (i[n] = t[n]) : (i[n] = o(t[n]));
                         return i;
                    }
                    function a(t) {
                         (this._currentStep = t - 2), void 0 !== this._introItems && l.call(this);
                    }
                    function s(t) {
                         (this._currentStepNumber = t), void 0 !== this._introItems && l.call(this);
                    }
                    function l() {
                         (this._direction = "forward"),
                              void 0 !== this._currentStepNumber &&
                                   k(
                                        this._introItems,
                                        function (t, e) {
                                             t.step === this._currentStepNumber && ((this._currentStep = e - 1), (this._currentStepNumber = void 0));
                                        }.bind(this)
                                   ),
                              void 0 === this._currentStep ? (this._currentStep = 0) : ++this._currentStep;
                         var t = this._introItems[this._currentStep],
                              e = !0;
                         return (
                              void 0 !== this._introBeforeChangeCallback && (e = this._introBeforeChangeCallback.call(this, t.element)),
                              !1 === e
                                   ? (--this._currentStep, !1)
                                   : this._introItems.length <= this._currentStep
                                   ? ("function" == typeof this._introCompleteCallback && this._introCompleteCallback.call(this), void h.call(this, this._targetElement))
                                   : void _.call(this, t)
                         );
                    }
                    function c() {
                         if (((this._direction = "backward"), 0 === this._currentStep)) return !1;
                         --this._currentStep;
                         var t = this._introItems[this._currentStep],
                              e = !0;
                         if ((void 0 !== this._introBeforeChangeCallback && (e = this._introBeforeChangeCallback.call(this, t.element)), !1 === e)) return ++this._currentStep, !1;
                         _.call(this, t);
                    }
                    function u() {
                         if (
                              (v.call(this, document.querySelector(".introjs-helperLayer")),
                              v.call(this, document.querySelector(".introjs-tooltipReferenceLayer")),
                              v.call(this, document.querySelector(".introjs-disableInteraction")),
                              void 0 !== this._currentStep && null !== this._currentStep)
                         ) {
                              var t = document.querySelector(".introjs-helperNumberLayer"),
                                   e = document.querySelector(".introjs-arrow"),
                                   i = document.querySelector(".introjs-tooltip");
                              d.call(this, this._introItems[this._currentStep].element, i, e, t);
                         }
                         return Y.call(this), this;
                    }
                    function h(t, e) {
                         var i = !0;
                         if ((void 0 !== this._introBeforeExitCallback && (i = this._introBeforeExitCallback.call(this)), e || !1 !== i)) {
                              var o = t.querySelectorAll(".introjs-overlay");
                              o &&
                                   o.length &&
                                   k(
                                        o,
                                        function (t) {
                                             (t.style.opacity = 0),
                                                  window.setTimeout(
                                                       function () {
                                                            this.parentNode && this.parentNode.removeChild(this);
                                                       }.bind(t),
                                                       500
                                                  );
                                        }.bind(this)
                                   );
                              var a = t.querySelector(".introjs-helperLayer");
                              a && a.parentNode.removeChild(a);
                              var s = t.querySelector(".introjs-tooltipReferenceLayer");
                              s && s.parentNode.removeChild(s);
                              var l = t.querySelector(".introjs-disableInteraction");
                              l && l.parentNode.removeChild(l);
                              var c = document.querySelector(".introjsFloatingElement");
                              c && c.parentNode.removeChild(c),
                                   w(),
                                   k(document.querySelectorAll(".introjs-fixParent"), function (t) {
                                        D(t, /introjs-fixParent/g);
                                   }),
                                   T.off(window, "keydown", r, this, !0),
                                   T.off(window, "resize", n, this, !0),
                                   void 0 !== this._introExitCallback && this._introExitCallback.call(this),
                                   (this._currentStep = void 0);
                         }
                    }
                    function d(t, e, i, n, r) {
                         var o,
                              a,
                              s,
                              l,
                              c,
                              u = "";
                         if (
                              ((r = r || !1),
                              (e.style.top = null),
                              (e.style.right = null),
                              (e.style.bottom = null),
                              (e.style.left = null),
                              (e.style.marginLeft = null),
                              (e.style.marginTop = null),
                              (i.style.display = "inherit"),
                              null != n && ((n.style.top = null), (n.style.left = null)),
                              this._introItems[this._currentStep])
                         )
                              switch (
                                   ((u = "string" == typeof (o = this._introItems[this._currentStep]).tooltipClass ? o.tooltipClass : this._options.tooltipClass),
                                   (e.className = ("introjs-tooltip " + u).replace(/^\s+|\s+$/g, "")),
                                   e.setAttribute("role", "dialog"),
                                   "floating" !== (c = this._introItems[this._currentStep].position) && (c = m.call(this, t, e, c)),
                                   (s = q(t)),
                                   (a = q(e)),
                                   (l = A()),
                                   C(e, "introjs-" + c),
                                   c)
                              ) {
                                   case "top-right-aligned":
                                        i.className = "introjs-arrow bottom-right";
                                        var h = 0;
                                        f(s, h, a, e), (e.style.bottom = s.height + 20 + "px");
                                        break;
                                   case "top-middle-aligned":
                                        i.className = "introjs-arrow bottom-middle";
                                        var d = s.width / 2 - a.width / 2;
                                        r && (d += 5), f(s, d, a, e) && ((e.style.right = null), p(s, d, a, l, e)), (e.style.bottom = s.height + 20 + "px");
                                        break;
                                   case "top-left-aligned":
                                   case "top":
                                        (i.className = "introjs-arrow bottom"), p(s, r ? 0 : 15, a, l, e), (e.style.bottom = s.height + 20 + "px");
                                        break;
                                   case "right":
                                        (e.style.left = s.width + 20 + "px"),
                                             s.top + a.height > l.height ? ((i.className = "introjs-arrow left-bottom"), (e.style.top = "-" + (a.height - s.height - 20) + "px")) : (i.className = "introjs-arrow left");
                                        break;
                                   case "left":
                                        r || !0 !== this._options.showStepNumbers || (e.style.top = "15px"),
                                             s.top + a.height > l.height ? ((e.style.top = "-" + (a.height - s.height - 20) + "px"), (i.className = "introjs-arrow right-bottom")) : (i.className = "introjs-arrow right"),
                                             (e.style.right = s.width + 20 + "px");
                                        break;
                                   case "floating":
                                        (i.style.display = "none"),
                                             (e.style.left = "50%"),
                                             (e.style.top = "50%"),
                                             (e.style.marginLeft = "-" + a.width / 2 + "px"),
                                             (e.style.marginTop = "-" + a.height / 2 + "px"),
                                             null != n && ((n.style.left = "-" + (a.width / 2 + 18) + "px"), (n.style.top = "-" + (a.height / 2 + 18) + "px"));
                                        break;
                                   case "bottom-right-aligned":
                                        (i.className = "introjs-arrow top-right"), f(s, (h = 0), a, e), (e.style.top = s.height + 20 + "px");
                                        break;
                                   case "bottom-middle-aligned":
                                        (i.className = "introjs-arrow top-middle"), (d = s.width / 2 - a.width / 2), r && (d += 5), f(s, d, a, e) && ((e.style.right = null), p(s, d, a, l, e)), (e.style.top = s.height + 20 + "px");
                                        break;
                                   default:
                                        (i.className = "introjs-arrow top"), p(s, 0, a, l, e), (e.style.top = s.height + 20 + "px");
                              }
                    }
                    function p(t, e, i, n, r) {
                         return t.left + e + i.width > n.width ? ((r.style.left = n.width - i.width - t.left + "px"), !1) : ((r.style.left = e + "px"), !0);
                    }
                    function f(t, e, i, n) {
                         return t.left + t.width - e - i.width < 0 ? ((n.style.left = -t.left + "px"), !1) : ((n.style.right = e + "px"), !0);
                    }
                    function m(t, e, i) {
                         var n = this._options.positionPrecedence.slice(),
                              r = A(),
                              o = q(e).height + 10,
                              a = q(e).width + 20,
                              s = t.getBoundingClientRect(),
                              l = "floating";
                         s.bottom + o + o > r.height && g(n, "bottom"), s.top - o < 0 && g(n, "top"), s.right + a > r.width && g(n, "right"), s.left - a < 0 && g(n, "left");
                         var c,
                              u,
                              h = -1 !== (u = (c = i || "").indexOf("-")) ? c.substr(u) : "";
                         return (
                              i && (i = i.split("-")[0]),
                              n.length && (l = "auto" !== i && n.indexOf(i) > -1 ? i : n[0]),
                              -1 !== ["top", "bottom"].indexOf(l) &&
                                   (l += (function (t, e, i, n) {
                                        var r = e / 2,
                                             o = Math.min(i.width, window.screen.width),
                                             a = ["-left-aligned", "-middle-aligned", "-right-aligned"];
                                        return o - t < e && g(a, "-left-aligned"), (t < r || o - t < r) && g(a, "-middle-aligned"), t < e && g(a, "-right-aligned"), a.length ? (-1 !== a.indexOf(n) ? n : a[0]) : "-middle-aligned";
                                   })(s.left, a, r, h)),
                              l
                         );
                    }
                    function g(t, e) {
                         t.indexOf(e) > -1 && t.splice(t.indexOf(e), 1);
                    }
                    function v(t) {
                         if (t) {
                              if (!this._introItems[this._currentStep]) return;
                              var e = this._introItems[this._currentStep],
                                   i = q(e.element),
                                   n = this._options.helperElementPadding;
                              E(e.element) ? C(t, "introjs-fixedTooltip") : D(t, "introjs-fixedTooltip"),
                                   "floating" === e.position && (n = 0),
                                   (t.style.cssText = "width: " + (i.width + n) + "px; height:" + (i.height + n) + "px; top:" + (i.top - n / 2) + "px;left: " + (i.left - n / 2) + "px;");
                         }
                    }
                    function y() {
                         var t = document.querySelector(".introjs-disableInteraction");
                         null === t && (((t = document.createElement("div")).className = "introjs-disableInteraction"), this._targetElement.appendChild(t)), v.call(this, t);
                    }
                    function b(t) {
                         t.setAttribute("role", "button"), (t.tabIndex = 0);
                    }
                    function _(t) {
                         void 0 !== this._introChangeCallback && this._introChangeCallback.call(this, t.element);
                         var e,
                              i,
                              n,
                              r,
                              o = this,
                              a = document.querySelector(".introjs-helperLayer"),
                              s = document.querySelector(".introjs-tooltipReferenceLayer"),
                              u = "introjs-helperLayer";
                         if (("string" == typeof t.highlightClass && (u += " " + t.highlightClass), "string" == typeof this._options.highlightClass && (u += " " + this._options.highlightClass), null !== a)) {
                              var p = s.querySelector(".introjs-helperNumberLayer"),
                                   f = s.querySelector(".introjs-tooltiptext"),
                                   m = s.querySelector(".introjs-arrow"),
                                   g = s.querySelector(".introjs-tooltip");
                              if (
                                   ((n = s.querySelector(".introjs-skipbutton")),
                                   (i = s.querySelector(".introjs-prevbutton")),
                                   (e = s.querySelector(".introjs-nextbutton")),
                                   (a.className = u),
                                   (g.style.opacity = 0),
                                   (g.style.display = "none"),
                                   null !== p)
                              ) {
                                   var _ = this._introItems[t.step - 2 >= 0 ? t.step - 2 : 0];
                                   ((null !== _ && "forward" === this._direction && "floating" === _.position) || ("backward" === this._direction && "floating" === t.position)) && (p.style.opacity = 0);
                              }
                              (r = $(t.element)) !== document.body && X(r, t.element),
                                   v.call(o, a),
                                   v.call(o, s),
                                   k(document.querySelectorAll(".introjs-fixParent"), function (t) {
                                        D(t, /introjs-fixParent/g);
                                   }),
                                   w(),
                                   o._lastShowElementTimer && window.clearTimeout(o._lastShowElementTimer),
                                   (o._lastShowElementTimer = window.setTimeout(function () {
                                        null !== p && (p.innerHTML = t.step),
                                             (f.innerHTML = t.intro),
                                             (g.style.display = "block"),
                                             d.call(o, t.element, g, m, p),
                                             o._options.showBullets &&
                                                  ((s.querySelector(".introjs-bullets li > a.active").className = ""), (s.querySelector('.introjs-bullets li > a[data-stepnumber="' + t.step + '"]').className = "active")),
                                             (s.querySelector(".introjs-progress .introjs-progressbar").style.cssText = "width:" + G.call(o) + "%;"),
                                             s.querySelector(".introjs-progress .introjs-progressbar").setAttribute("aria-valuenow", G.call(o)),
                                             (g.style.opacity = 1),
                                             p && (p.style.opacity = 1),
                                             null != n && /introjs-donebutton/gi.test(n.className) ? n.focus() : null != e && e.focus(),
                                             x.call(o, t.scrollTo, t, f);
                                   }, 350));
                         } else {
                              var S = document.createElement("div"),
                                   M = document.createElement("div"),
                                   T = document.createElement("div"),
                                   E = document.createElement("div"),
                                   A = document.createElement("div"),
                                   P = document.createElement("div"),
                                   I = document.createElement("div"),
                                   O = document.createElement("div");
                              (S.className = u),
                                   (M.className = "introjs-tooltipReferenceLayer"),
                                   (r = $(t.element)) !== document.body && X(r, t.element),
                                   v.call(o, S),
                                   v.call(o, M),
                                   this._targetElement.appendChild(S),
                                   this._targetElement.appendChild(M),
                                   (T.className = "introjs-arrow"),
                                   (A.className = "introjs-tooltiptext"),
                                   (A.innerHTML = t.intro),
                                   (P.className = "introjs-bullets"),
                                   !1 === this._options.showBullets && (P.style.display = "none");
                              var Y = document.createElement("ul");
                              Y.setAttribute("role", "tablist");
                              var z = function () {
                                   o.goToStep(this.getAttribute("data-stepnumber"));
                              };
                              k(this._introItems, function (e, i) {
                                   var n = document.createElement("li"),
                                        r = document.createElement("a");
                                   n.setAttribute("role", "presentation"),
                                        r.setAttribute("role", "tab"),
                                        (r.onclick = z),
                                        i === t.step - 1 && (r.className = "active"),
                                        b(r),
                                        (r.innerHTML = "&nbsp;"),
                                        r.setAttribute("data-stepnumber", e.step),
                                        n.appendChild(r),
                                        Y.appendChild(n);
                              }),
                                   P.appendChild(Y),
                                   (I.className = "introjs-progress"),
                                   !1 === this._options.showProgress && (I.style.display = "none");
                              var R = document.createElement("div");
                              (R.className = "introjs-progressbar"),
                                   R.setAttribute("role", "progress"),
                                   R.setAttribute("aria-valuemin", 0),
                                   R.setAttribute("aria-valuemax", 100),
                                   R.setAttribute("aria-valuenow", G.call(this)),
                                   (R.style.cssText = "width:" + G.call(this) + "%;"),
                                   I.appendChild(R),
                                   (O.className = "introjs-tooltipbuttons"),
                                   !1 === this._options.showButtons && (O.style.display = "none"),
                                   (E.className = "introjs-tooltip"),
                                   E.appendChild(A),
                                   E.appendChild(P),
                                   E.appendChild(I);
                              var F = document.createElement("span");
                              !0 === this._options.showStepNumbers && ((F.className = "introjs-helperNumberLayer"), (F.innerHTML = t.step), M.appendChild(F)),
                                   E.appendChild(T),
                                   M.appendChild(E),
                                   ((e = document.createElement("a")).onclick = function () {
                                        o._introItems.length - 1 !== o._currentStep && l.call(o);
                                   }),
                                   b(e),
                                   (e.innerHTML = this._options.nextLabel),
                                   ((i = document.createElement("a")).onclick = function () {
                                        0 !== o._currentStep && c.call(o);
                                   }),
                                   b(i),
                                   (i.innerHTML = this._options.prevLabel),
                                   ((n = document.createElement("a")).className = this._options.buttonClass + " introjs-skipbutton "),
                                   b(n),
                                   (n.innerHTML = this._options.skipLabel),
                                   (n.onclick = function () {
                                        o._introItems.length - 1 === o._currentStep && "function" == typeof o._introCompleteCallback && o._introCompleteCallback.call(o),
                                             o._introItems.length - 1 !== o._currentStep && "function" == typeof o._introExitCallback && o._introExitCallback.call(o),
                                             "function" == typeof o._introSkipCallback && o._introSkipCallback.call(o),
                                             h.call(o, o._targetElement);
                                   }),
                                   O.appendChild(n),
                                   this._introItems.length > 1 && (O.appendChild(i), O.appendChild(e)),
                                   E.appendChild(O),
                                   d.call(o, t.element, E, T, F),
                                   x.call(this, t.scrollTo, t, E);
                         }
                         var H = o._targetElement.querySelector(".introjs-disableInteraction");
                         H && H.parentNode.removeChild(H),
                              t.disableInteraction && y.call(o),
                              0 === this._currentStep && this._introItems.length > 1
                                   ? (null != n && (n.className = this._options.buttonClass + " introjs-skipbutton"),
                                     null != e && (e.className = this._options.buttonClass + " introjs-nextbutton"),
                                     !0 === this._options.hidePrev
                                          ? (null != i && (i.className = this._options.buttonClass + " introjs-prevbutton introjs-hidden"), null != e && C(e, "introjs-fullbutton"))
                                          : null != i && (i.className = this._options.buttonClass + " introjs-prevbutton introjs-disabled"),
                                     null != n && (n.innerHTML = this._options.skipLabel))
                                   : this._introItems.length - 1 === this._currentStep || 1 === this._introItems.length
                                   ? (null != n && ((n.innerHTML = this._options.doneLabel), C(n, "introjs-donebutton")),
                                     null != i && (i.className = this._options.buttonClass + " introjs-prevbutton"),
                                     !0 === this._options.hideNext
                                          ? (null != e && (e.className = this._options.buttonClass + " introjs-nextbutton introjs-hidden"), null != i && C(i, "introjs-fullbutton"))
                                          : null != e && (e.className = this._options.buttonClass + " introjs-nextbutton introjs-disabled"))
                                   : (null != n && (n.className = this._options.buttonClass + " introjs-skipbutton"),
                                     null != i && (i.className = this._options.buttonClass + " introjs-prevbutton"),
                                     null != e && (e.className = this._options.buttonClass + " introjs-nextbutton"),
                                     null != n && (n.innerHTML = this._options.skipLabel)),
                              i.setAttribute("role", "button"),
                              e.setAttribute("role", "button"),
                              n.setAttribute("role", "button"),
                              null != e && e.focus(),
                              (function (t) {
                                   var e;
                                   if (t.element instanceof SVGElement)
                                        for (e = t.element.parentNode; null !== t.element.parentNode && e.tagName && "body" !== e.tagName.toLowerCase(); )
                                             "svg" === e.tagName.toLowerCase() && C(e, "introjs-showElement introjs-relativePosition"), (e = e.parentNode);
                                   C(t.element, "introjs-showElement");
                                   var i = L(t.element, "position");
                                   for ("absolute" !== i && "relative" !== i && "fixed" !== i && C(t.element, "introjs-relativePosition"), e = t.element.parentNode; null !== e && e.tagName && "body" !== e.tagName.toLowerCase(); ) {
                                        var n = L(e, "z-index"),
                                             r = parseFloat(L(e, "opacity")),
                                             o = L(e, "transform") || L(e, "-webkit-transform") || L(e, "-moz-transform") || L(e, "-ms-transform") || L(e, "-o-transform");
                                        (/[0-9]+/.test(n) || r < 1 || ("none" !== o && void 0 !== o)) && C(e, "introjs-fixParent"), (e = e.parentNode);
                                   }
                              })(t),
                              void 0 !== this._introAfterChangeCallback && this._introAfterChangeCallback.call(this, t.element);
                    }
                    function x(t, e, i) {
                         var n;
                         if (
                              "off" !== t &&
                              this._options.scrollToElement &&
                              ((n = "tooltip" === t ? i.getBoundingClientRect() : e.element.getBoundingClientRect()),
                              !(function (t) {
                                   var e = t.getBoundingClientRect();
                                   return e.top >= 0 && e.left >= 0 && e.bottom + 80 <= window.innerHeight && e.right <= window.innerWidth;
                              })(e.element))
                         ) {
                              var r = A().height;
                              n.bottom - (n.bottom - n.top) < 0 || e.element.clientHeight > r
                                   ? window.scrollBy(0, n.top - (r / 2 - n.height / 2) - this._options.scrollPadding)
                                   : window.scrollBy(0, n.top - (r / 2 - n.height / 2) + this._options.scrollPadding);
                         }
                    }
                    function w() {
                         k(document.querySelectorAll(".introjs-showElement"), function (t) {
                              D(t, /introjs-[a-zA-Z]+/g);
                         });
                    }
                    function k(t, e, i) {
                         if (t) for (var n = 0, r = t.length; n < r; n++) e(t[n], n);
                         "function" == typeof i && i();
                    }
                    var S,
                         M =
                              ((S = {}),
                              function (t, e) {
                                   return (S[(e = e || "introjs-stamp")] = S[e] || 0), void 0 === t[e] && (t[e] = S[e]++), t[e];
                              }),
                         T = new (function () {
                              var t = "introjs_event";
                              (this._id = function (t, e, i, n) {
                                   return e + M(i) + (n ? "_" + M(n) : "");
                              }),
                                   (this.on = function (e, i, n, r, o) {
                                        var a = this._id.apply(this, arguments),
                                             s = function (t) {
                                                  return n.call(r || e, t || window.event);
                                             };
                                        "addEventListener" in e ? e.addEventListener(i, s, o) : "attachEvent" in e && e.attachEvent("on" + i, s), (e[t] = e[t] || {}), (e[t][a] = s);
                                   }),
                                   (this.off = function (e, i, n, r, o) {
                                        var a = this._id.apply(this, arguments),
                                             s = e[t] && e[t][a];
                                        s && ("removeEventListener" in e ? e.removeEventListener(i, s, o) : "detachEvent" in e && e.detachEvent("on" + i, s), (e[t][a] = null));
                                   });
                         })();
                    function C(t, e) {
                         if (t instanceof SVGElement) {
                              var i = t.getAttribute("class") || "";
                              t.setAttribute("class", i + " " + e);
                         } else
                              void 0 !== t.classList
                                   ? k(e.split(" "), function (e) {
                                          t.classList.add(e);
                                     })
                                   : t.className.match(e) || (t.className += " " + e);
                    }
                    function D(t, e) {
                         if (t instanceof SVGElement) {
                              var i = t.getAttribute("class") || "";
                              t.setAttribute("class", i.replace(e, "").replace(/^\s+|\s+$/g, ""));
                         } else t.className = t.className.replace(e, "").replace(/^\s+|\s+$/g, "");
                    }
                    function L(t, e) {
                         var i = "";
                         return (
                              t.currentStyle ? (i = t.currentStyle[e]) : document.defaultView && document.defaultView.getComputedStyle && (i = document.defaultView.getComputedStyle(t, null).getPropertyValue(e)),
                              i && i.toLowerCase ? i.toLowerCase() : i
                         );
                    }
                    function E(t) {
                         var e = t.parentNode;
                         return !(!e || "HTML" === e.nodeName) && ("fixed" === L(t, "position") || E(e));
                    }
                    function A() {
                         if (void 0 !== window.innerWidth) return { width: window.innerWidth, height: window.innerHeight };
                         var t = document.documentElement;
                         return { width: t.clientWidth, height: t.clientHeight };
                    }
                    function P(t) {
                         var e = document.createElement("div"),
                              i = "",
                              n = this;
                         if (((e.className = "introjs-overlay"), t.tagName && "body" !== t.tagName.toLowerCase())) {
                              var r = q(t);
                              r && ((i += "width: " + r.width + "px; height:" + r.height + "px; top:" + r.top + "px;left: " + r.left + "px;"), (e.style.cssText = i));
                         } else (i += "top: 0;bottom: 0; left: 0;right: 0;position: fixed;"), (e.style.cssText = i);
                         return (
                              t.appendChild(e),
                              (e.onclick = function () {
                                   !0 === n._options.exitOnOverlayClick && h.call(n, t);
                              }),
                              window.setTimeout(function () {
                                   (i += "opacity: " + n._options.overlayOpacity.toString() + ";"), (e.style.cssText = i);
                              }, 10),
                              !0
                         );
                    }
                    function I() {
                         var t = document.querySelector(".introjs-hintReference");
                         if (t) {
                              var e = t.getAttribute("data-step");
                              return t.parentNode.removeChild(t), e;
                         }
                    }
                    function O(t) {
                         if (((this._introItems = []), this._options.hints))
                              k(
                                   this._options.hints,
                                   function (t) {
                                        var e = o(t);
                                        "string" == typeof e.element && (e.element = document.querySelector(e.element)),
                                             (e.hintPosition = e.hintPosition || this._options.hintPosition),
                                             (e.hintAnimation = e.hintAnimation || this._options.hintAnimation),
                                             null !== e.element && this._introItems.push(e);
                                   }.bind(this)
                              );
                         else {
                              var e = t.querySelectorAll("*[data-hint]");
                              if (!e || !e.length) return !1;
                              k(
                                   e,
                                   function (t) {
                                        var e = t.getAttribute("data-hintanimation");
                                        (e = e ? "true" === e : this._options.hintAnimation),
                                             this._introItems.push({
                                                  element: t,
                                                  hint: t.getAttribute("data-hint"),
                                                  hintPosition: t.getAttribute("data-hintposition") || this._options.hintPosition,
                                                  hintAnimation: e,
                                                  tooltipClass: t.getAttribute("data-tooltipclass"),
                                                  position: t.getAttribute("data-position") || this._options.tooltipPosition,
                                             });
                                   }.bind(this)
                              );
                         }
                         W.call(this), T.on(document, "click", I, this, !1), T.on(window, "resize", Y, this, !0);
                    }
                    function Y() {
                         k(
                              this._introItems,
                              function (t) {
                                   void 0 !== t.targetElement && V.call(this, t.hintPosition, t.element, t.targetElement);
                              }.bind(this)
                         );
                    }
                    function z(t) {
                         var e = document.querySelector(".introjs-hints");
                         return e ? e.querySelectorAll(t) : [];
                    }
                    function R(t) {
                         var e = z('.introjs-hint[data-step="' + t + '"]')[0];
                         I.call(this), e && C(e, "introjs-hidehint"), void 0 !== this._hintCloseCallback && this._hintCloseCallback.call(this, t);
                    }
                    function F() {
                         k(
                              z(".introjs-hint"),
                              function (t) {
                                   R.call(this, t.getAttribute("data-step"));
                              }.bind(this)
                         );
                    }
                    function H() {
                         var t = z(".introjs-hint");
                         t && t.length
                              ? k(
                                     t,
                                     function (t) {
                                          j.call(this, t.getAttribute("data-step"));
                                     }.bind(this)
                                )
                              : O.call(this, this._targetElement);
                    }
                    function j(t) {
                         var e = z('.introjs-hint[data-step="' + t + '"]')[0];
                         e && D(e, /introjs-hidehint/g);
                    }
                    function N() {
                         k(
                              z(".introjs-hint"),
                              function (t) {
                                   B.call(this, t.getAttribute("data-step"));
                              }.bind(this)
                         );
                    }
                    function B(t) {
                         var e = z('.introjs-hint[data-step="' + t + '"]')[0];
                         e && e.parentNode.removeChild(e);
                    }
                    function W() {
                         var t = this,
                              e = document.querySelector(".introjs-hints");
                         null === e && ((e = document.createElement("div")).className = "introjs-hints"),
                              k(
                                   this._introItems,
                                   function (i, n) {
                                        if (!document.querySelector('.introjs-hint[data-step="' + n + '"]')) {
                                             var r = document.createElement("a");
                                             b(r),
                                                  (r.onclick = (function (e) {
                                                       return function (i) {
                                                            var n = i || window.event;
                                                            n.stopPropagation && n.stopPropagation(), null !== n.cancelBubble && (n.cancelBubble = !0), U.call(t, e);
                                                       };
                                                  })(n)),
                                                  (r.className = "introjs-hint"),
                                                  i.hintAnimation || C(r, "introjs-hint-no-anim"),
                                                  E(i.element) && C(r, "introjs-fixedhint");
                                             var o = document.createElement("div");
                                             o.className = "introjs-hint-dot";
                                             var a = document.createElement("div");
                                             (a.className = "introjs-hint-pulse"),
                                                  r.appendChild(o),
                                                  r.appendChild(a),
                                                  r.setAttribute("data-step", n),
                                                  (i.targetElement = i.element),
                                                  (i.element = r),
                                                  V.call(this, i.hintPosition, r, i.targetElement),
                                                  e.appendChild(r);
                                        }
                                   }.bind(this)
                              ),
                              document.body.appendChild(e),
                              void 0 !== this._hintsAddedCallback && this._hintsAddedCallback.call(this);
                    }
                    function V(t, e, i) {
                         var n = q.call(this, i);
                         switch (t) {
                              default:
                              case "top-left":
                                   (e.style.left = n.left + "px"), (e.style.top = n.top + "px");
                                   break;
                              case "top-right":
                                   (e.style.left = n.left + n.width - 20 + "px"), (e.style.top = n.top + "px");
                                   break;
                              case "bottom-left":
                                   (e.style.left = n.left + "px"), (e.style.top = n.top + n.height - 20 + "px");
                                   break;
                              case "bottom-right":
                                   (e.style.left = n.left + n.width - 20 + "px"), (e.style.top = n.top + n.height - 20 + "px");
                                   break;
                              case "middle-left":
                                   (e.style.left = n.left + "px"), (e.style.top = n.top + (n.height - 20) / 2 + "px");
                                   break;
                              case "middle-right":
                                   (e.style.left = n.left + n.width - 20 + "px"), (e.style.top = n.top + (n.height - 20) / 2 + "px");
                                   break;
                              case "middle-middle":
                                   (e.style.left = n.left + (n.width - 20) / 2 + "px"), (e.style.top = n.top + (n.height - 20) / 2 + "px");
                                   break;
                              case "bottom-middle":
                                   (e.style.left = n.left + (n.width - 20) / 2 + "px"), (e.style.top = n.top + n.height - 20 + "px");
                                   break;
                              case "top-middle":
                                   (e.style.left = n.left + (n.width - 20) / 2 + "px"), (e.style.top = n.top + "px");
                         }
                    }
                    function U(t) {
                         var e = document.querySelector('.introjs-hint[data-step="' + t + '"]'),
                              i = this._introItems[t];
                         void 0 !== this._hintClickCallback && this._hintClickCallback.call(this, e, i, t);
                         var n = I.call(this);
                         if (parseInt(n, 10) !== t) {
                              var r = document.createElement("div"),
                                   o = document.createElement("div"),
                                   a = document.createElement("div"),
                                   s = document.createElement("div");
                              (r.className = "introjs-tooltip"),
                                   (r.onclick = function (t) {
                                        t.stopPropagation ? t.stopPropagation() : (t.cancelBubble = !0);
                                   }),
                                   (o.className = "introjs-tooltiptext");
                              var l = document.createElement("p");
                              l.innerHTML = i.hint;
                              var c = document.createElement("a");
                              (c.className = this._options.buttonClass),
                                   c.setAttribute("role", "button"),
                                   (c.innerHTML = this._options.hintButtonLabel),
                                   (c.onclick = R.bind(this, t)),
                                   o.appendChild(l),
                                   o.appendChild(c),
                                   (a.className = "introjs-arrow"),
                                   r.appendChild(a),
                                   r.appendChild(o),
                                   (this._currentStep = e.getAttribute("data-step")),
                                   (s.className = "introjs-tooltipReferenceLayer introjs-hintReference"),
                                   s.setAttribute("data-step", e.getAttribute("data-step")),
                                   v.call(this, s),
                                   s.appendChild(r),
                                   document.body.appendChild(s),
                                   d.call(this, e, r, a, null, !0);
                         }
                    }
                    function q(t) {
                         var e = document.body,
                              i = document.documentElement,
                              n = window.pageYOffset || i.scrollTop || e.scrollTop,
                              r = window.pageXOffset || i.scrollLeft || e.scrollLeft,
                              o = t.getBoundingClientRect();
                         return { top: o.top + n, width: o.width, height: o.height, left: o.left + r };
                    }
                    function $(t) {
                         var e = window.getComputedStyle(t),
                              i = "absolute" === e.position,
                              n = /(auto|scroll)/;
                         if ("fixed" === e.position) return document.body;
                         for (var r = t; (r = r.parentElement); ) if (((e = window.getComputedStyle(r)), (!i || "static" !== e.position) && n.test(e.overflow + e.overflowY + e.overflowX))) return r;
                         return document.body;
                    }
                    function X(t, e) {
                         t.scrollTop = e.offsetTop - t.offsetTop;
                    }
                    function G() {
                         return (parseInt(this._currentStep + 1, 10) / this._introItems.length) * 100;
                    }
                    var Z = function (e) {
                         var i;
                         if ("object" == typeof e) i = new t(e);
                         else if ("string" == typeof e) {
                              var n = document.querySelector(e);
                              if (!n) throw new Error("There is no element with given selector.");
                              i = new t(n);
                         } else i = new t(document.body);
                         return (Z.instances[M(i, "introjs-instance")] = i), i;
                    };
                    return (
                         (Z.version = "2.9.3"),
                         (Z.instances = {}),
                         (Z.fn = t.prototype = {
                              clone: function () {
                                   return new t(this);
                              },
                              setOption: function (t, e) {
                                   return (this._options[t] = e), this;
                              },
                              setOptions: function (t) {
                                   return (
                                        (this._options = (function (t, e) {
                                             var i,
                                                  n = {};
                                             for (i in t) n[i] = t[i];
                                             for (i in e) n[i] = e[i];
                                             return n;
                                        })(this._options, t)),
                                        this
                                   );
                              },
                              start: function (t) {
                                   return i.call(this, this._targetElement, t), this;
                              },
                              goToStep: function (t) {
                                   return a.call(this, t), this;
                              },
                              addStep: function (t) {
                                   return this._options.steps || (this._options.steps = []), this._options.steps.push(t), this;
                              },
                              addSteps: function (t) {
                                   if (t.length) {
                                        for (var e = 0; e < t.length; e++) this.addStep(t[e]);
                                        return this;
                                   }
                              },
                              goToStepNumber: function (t) {
                                   return s.call(this, t), this;
                              },
                              nextStep: function () {
                                   return l.call(this), this;
                              },
                              previousStep: function () {
                                   return c.call(this), this;
                              },
                              exit: function (t) {
                                   return h.call(this, this._targetElement, t), this;
                              },
                              refresh: function () {
                                   return u.call(this), this;
                              },
                              onbeforechange: function (t) {
                                   if ("function" != typeof t) throw new Error("Provided callback for onbeforechange was not a function");
                                   return (this._introBeforeChangeCallback = t), this;
                              },
                              onchange: function (t) {
                                   if ("function" != typeof t) throw new Error("Provided callback for onchange was not a function.");
                                   return (this._introChangeCallback = t), this;
                              },
                              onafterchange: function (t) {
                                   if ("function" != typeof t) throw new Error("Provided callback for onafterchange was not a function");
                                   return (this._introAfterChangeCallback = t), this;
                              },
                              oncomplete: function (t) {
                                   if ("function" != typeof t) throw new Error("Provided callback for oncomplete was not a function.");
                                   return (this._introCompleteCallback = t), this;
                              },
                              onhintsadded: function (t) {
                                   if ("function" != typeof t) throw new Error("Provided callback for onhintsadded was not a function.");
                                   return (this._hintsAddedCallback = t), this;
                              },
                              onhintclick: function (t) {
                                   if ("function" != typeof t) throw new Error("Provided callback for onhintclick was not a function.");
                                   return (this._hintClickCallback = t), this;
                              },
                              onhintclose: function (t) {
                                   if ("function" != typeof t) throw new Error("Provided callback for onhintclose was not a function.");
                                   return (this._hintCloseCallback = t), this;
                              },
                              onexit: function (t) {
                                   if ("function" != typeof t) throw new Error("Provided callback for onexit was not a function.");
                                   return (this._introExitCallback = t), this;
                              },
                              onskip: function (t) {
                                   if ("function" != typeof t) throw new Error("Provided callback for onskip was not a function.");
                                   return (this._introSkipCallback = t), this;
                              },
                              onbeforeexit: function (t) {
                                   if ("function" != typeof t) throw new Error("Provided callback for onbeforeexit was not a function.");
                                   return (this._introBeforeExitCallback = t), this;
                              },
                              addHints: function () {
                                   return O.call(this, this._targetElement), this;
                              },
                              hideHint: function (t) {
                                   return R.call(this, t), this;
                              },
                              hideHints: function () {
                                   return F.call(this), this;
                              },
                              showHint: function (t) {
                                   return j.call(this, t), this;
                              },
                              showHints: function () {
                                   return H.call(this), this;
                              },
                              removeHints: function () {
                                   return N.call(this), this;
                              },
                              removeHint: function (t) {
                                   return B.call(this, t), this;
                              },
                              showHintDialog: function (t) {
                                   return U.call(this, t), this;
                              },
                         }),
                         Z
                    );
               }),
                    (t.exports = i()),
                    (t.exports.introJs = function () {
                         return console.warn('Deprecated: please use require("intro.js") directly, instead of the introJs method of the function'), i().apply(this, arguments);
                    });
          }.call(this, i(1)));
     },
     function (t, e, i) {
          /*!
           * clipboard.js v2.0.6
           * https://clipboardjs.com/
           *
           * Licensed MIT © Zeno Rocha
           */ var n;
          (n = function () {
               return (function (t) {
                    var e = {};
                    function i(n) {
                         if (e[n]) return e[n].exports;
                         var r = (e[n] = { i: n, l: !1, exports: {} });
                         return t[n].call(r.exports, r, r.exports, i), (r.l = !0), r.exports;
                    }
                    return (
                         (i.m = t),
                         (i.c = e),
                         (i.d = function (t, e, n) {
                              i.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: n });
                         }),
                         (i.r = function (t) {
                              "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 });
                         }),
                         (i.t = function (t, e) {
                              if ((1 & e && (t = i(t)), 8 & e)) return t;
                              if (4 & e && "object" == typeof t && t && t.__esModule) return t;
                              var n = Object.create(null);
                              if ((i.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t))
                                   for (var r in t)
                                        i.d(
                                             n,
                                             r,
                                             function (e) {
                                                  return t[e];
                                             }.bind(null, r)
                                        );
                              return n;
                         }),
                         (i.n = function (t) {
                              var e =
                                   t && t.__esModule
                                        ? function () {
                                               return t.default;
                                          }
                                        : function () {
                                               return t;
                                          };
                              return i.d(e, "a", e), e;
                         }),
                         (i.o = function (t, e) {
                              return Object.prototype.hasOwnProperty.call(t, e);
                         }),
                         (i.p = ""),
                         i((i.s = 6))
                    );
               })([
                    function (t, e) {
                         t.exports = function (t) {
                              var e;
                              if ("SELECT" === t.nodeName) t.focus(), (e = t.value);
                              else if ("INPUT" === t.nodeName || "TEXTAREA" === t.nodeName) {
                                   var i = t.hasAttribute("readonly");
                                   i || t.setAttribute("readonly", ""), t.select(), t.setSelectionRange(0, t.value.length), i || t.removeAttribute("readonly"), (e = t.value);
                              } else {
                                   t.hasAttribute("contenteditable") && t.focus();
                                   var n = window.getSelection(),
                                        r = document.createRange();
                                   r.selectNodeContents(t), n.removeAllRanges(), n.addRange(r), (e = n.toString());
                              }
                              return e;
                         };
                    },
                    function (t, e) {
                         function i() {}
                         (i.prototype = {
                              on: function (t, e, i) {
                                   var n = this.e || (this.e = {});
                                   return (n[t] || (n[t] = [])).push({ fn: e, ctx: i }), this;
                              },
                              once: function (t, e, i) {
                                   var n = this;
                                   function r() {
                                        n.off(t, r), e.apply(i, arguments);
                                   }
                                   return (r._ = e), this.on(t, r, i);
                              },
                              emit: function (t) {
                                   for (var e = [].slice.call(arguments, 1), i = ((this.e || (this.e = {}))[t] || []).slice(), n = 0, r = i.length; n < r; n++) i[n].fn.apply(i[n].ctx, e);
                                   return this;
                              },
                              off: function (t, e) {
                                   var i = this.e || (this.e = {}),
                                        n = i[t],
                                        r = [];
                                   if (n && e) for (var o = 0, a = n.length; o < a; o++) n[o].fn !== e && n[o].fn._ !== e && r.push(n[o]);
                                   return r.length ? (i[t] = r) : delete i[t], this;
                              },
                         }),
                              (t.exports = i),
                              (t.exports.TinyEmitter = i);
                    },
                    function (t, e, i) {
                         var n = i(3),
                              r = i(4);
                         t.exports = function (t, e, i) {
                              if (!t && !e && !i) throw new Error("Missing required arguments");
                              if (!n.string(e)) throw new TypeError("Second argument must be a String");
                              if (!n.fn(i)) throw new TypeError("Third argument must be a Function");
                              if (n.node(t))
                                   return (function (t, e, i) {
                                        return (
                                             t.addEventListener(e, i),
                                             {
                                                  destroy: function () {
                                                       t.removeEventListener(e, i);
                                                  },
                                             }
                                        );
                                   })(t, e, i);
                              if (n.nodeList(t))
                                   return (function (t, e, i) {
                                        return (
                                             Array.prototype.forEach.call(t, function (t) {
                                                  t.addEventListener(e, i);
                                             }),
                                             {
                                                  destroy: function () {
                                                       Array.prototype.forEach.call(t, function (t) {
                                                            t.removeEventListener(e, i);
                                                       });
                                                  },
                                             }
                                        );
                                   })(t, e, i);
                              if (n.string(t))
                                   return (function (t, e, i) {
                                        return r(document.body, t, e, i);
                                   })(t, e, i);
                              throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");
                         };
                    },
                    function (t, e) {
                         (e.node = function (t) {
                              return void 0 !== t && t instanceof HTMLElement && 1 === t.nodeType;
                         }),
                              (e.nodeList = function (t) {
                                   var i = Object.prototype.toString.call(t);
                                   return void 0 !== t && ("[object NodeList]" === i || "[object HTMLCollection]" === i) && "length" in t && (0 === t.length || e.node(t[0]));
                              }),
                              (e.string = function (t) {
                                   return "string" == typeof t || t instanceof String;
                              }),
                              (e.fn = function (t) {
                                   return "[object Function]" === Object.prototype.toString.call(t);
                              });
                    },
                    function (t, e, i) {
                         var n = i(5);
                         function r(t, e, i, n, r) {
                              var a = o.apply(this, arguments);
                              return (
                                   t.addEventListener(i, a, r),
                                   {
                                        destroy: function () {
                                             t.removeEventListener(i, a, r);
                                        },
                                   }
                              );
                         }
                         function o(t, e, i, r) {
                              return function (i) {
                                   (i.delegateTarget = n(i.target, e)), i.delegateTarget && r.call(t, i);
                              };
                         }
                         t.exports = function (t, e, i, n, o) {
                              return "function" == typeof t.addEventListener
                                   ? r.apply(null, arguments)
                                   : "function" == typeof i
                                   ? r.bind(null, document).apply(null, arguments)
                                   : ("string" == typeof t && (t = document.querySelectorAll(t)),
                                     Array.prototype.map.call(t, function (t) {
                                          return r(t, e, i, n, o);
                                     }));
                         };
                    },
                    function (t, e) {
                         if ("undefined" != typeof Element && !Element.prototype.matches) {
                              var i = Element.prototype;
                              i.matches = i.matchesSelector || i.mozMatchesSelector || i.msMatchesSelector || i.oMatchesSelector || i.webkitMatchesSelector;
                         }
                         t.exports = function (t, e) {
                              for (; t && 9 !== t.nodeType; ) {
                                   if ("function" == typeof t.matches && t.matches(e)) return t;
                                   t = t.parentNode;
                              }
                         };
                    },
                    function (t, e, i) {
                         "use strict";
                         i.r(e);
                         var n = i(0),
                              r = i.n(n),
                              o =
                                   "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                        ? function (t) {
                                               return typeof t;
                                          }
                                        : function (t) {
                                               return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                          },
                              a = (function () {
                                   function t(t, e) {
                                        for (var i = 0; i < e.length; i++) {
                                             var n = e[i];
                                             (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                        }
                                   }
                                   return function (e, i, n) {
                                        return i && t(e.prototype, i), n && t(e, n), e;
                                   };
                              })(),
                              s = (function () {
                                   function t(e) {
                                        !(function (t, e) {
                                             if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                        })(this, t),
                                             this.resolveOptions(e),
                                             this.initSelection();
                                   }
                                   return (
                                        a(t, [
                                             {
                                                  key: "resolveOptions",
                                                  value: function () {
                                                       var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                                                       (this.action = t.action),
                                                            (this.container = t.container),
                                                            (this.emitter = t.emitter),
                                                            (this.target = t.target),
                                                            (this.text = t.text),
                                                            (this.trigger = t.trigger),
                                                            (this.selectedText = "");
                                                  },
                                             },
                                             {
                                                  key: "initSelection",
                                                  value: function () {
                                                       this.text ? this.selectFake() : this.target && this.selectTarget();
                                                  },
                                             },
                                             {
                                                  key: "selectFake",
                                                  value: function () {
                                                       var t = this,
                                                            e = "rtl" == document.documentElement.getAttribute("dir");
                                                       this.removeFake(),
                                                            (this.fakeHandlerCallback = function () {
                                                                 return t.removeFake();
                                                            }),
                                                            (this.fakeHandler = this.container.addEventListener("click", this.fakeHandlerCallback) || !0),
                                                            (this.fakeElem = document.createElement("textarea")),
                                                            (this.fakeElem.style.fontSize = "12pt"),
                                                            (this.fakeElem.style.border = "0"),
                                                            (this.fakeElem.style.padding = "0"),
                                                            (this.fakeElem.style.margin = "0"),
                                                            (this.fakeElem.style.position = "absolute"),
                                                            (this.fakeElem.style[e ? "right" : "left"] = "-9999px");
                                                       var i = window.pageYOffset || document.documentElement.scrollTop;
                                                       (this.fakeElem.style.top = i + "px"),
                                                            this.fakeElem.setAttribute("readonly", ""),
                                                            (this.fakeElem.value = this.text),
                                                            this.container.appendChild(this.fakeElem),
                                                            (this.selectedText = r()(this.fakeElem)),
                                                            this.copyText();
                                                  },
                                             },
                                             {
                                                  key: "removeFake",
                                                  value: function () {
                                                       this.fakeHandler && (this.container.removeEventListener("click", this.fakeHandlerCallback), (this.fakeHandler = null), (this.fakeHandlerCallback = null)),
                                                            this.fakeElem && (this.container.removeChild(this.fakeElem), (this.fakeElem = null));
                                                  },
                                             },
                                             {
                                                  key: "selectTarget",
                                                  value: function () {
                                                       (this.selectedText = r()(this.target)), this.copyText();
                                                  },
                                             },
                                             {
                                                  key: "copyText",
                                                  value: function () {
                                                       var t = void 0;
                                                       try {
                                                            t = document.execCommand(this.action);
                                                       } catch (e) {
                                                            t = !1;
                                                       }
                                                       this.handleResult(t);
                                                  },
                                             },
                                             {
                                                  key: "handleResult",
                                                  value: function (t) {
                                                       this.emitter.emit(t ? "success" : "error", { action: this.action, text: this.selectedText, trigger: this.trigger, clearSelection: this.clearSelection.bind(this) });
                                                  },
                                             },
                                             {
                                                  key: "clearSelection",
                                                  value: function () {
                                                       this.trigger && this.trigger.focus(), document.activeElement.blur(), window.getSelection().removeAllRanges();
                                                  },
                                             },
                                             {
                                                  key: "destroy",
                                                  value: function () {
                                                       this.removeFake();
                                                  },
                                             },
                                             {
                                                  key: "action",
                                                  set: function () {
                                                       var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "copy";
                                                       if (((this._action = t), "copy" !== this._action && "cut" !== this._action)) throw new Error('Invalid "action" value, use either "copy" or "cut"');
                                                  },
                                                  get: function () {
                                                       return this._action;
                                                  },
                                             },
                                             {
                                                  key: "target",
                                                  set: function (t) {
                                                       if (void 0 !== t) {
                                                            if (!t || "object" !== (void 0 === t ? "undefined" : o(t)) || 1 !== t.nodeType) throw new Error('Invalid "target" value, use a valid Element');
                                                            if ("copy" === this.action && t.hasAttribute("disabled")) throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');
                                                            if ("cut" === this.action && (t.hasAttribute("readonly") || t.hasAttribute("disabled")))
                                                                 throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');
                                                            this._target = t;
                                                       }
                                                  },
                                                  get: function () {
                                                       return this._target;
                                                  },
                                             },
                                        ]),
                                        t
                                   );
                              })(),
                              l = i(1),
                              c = i.n(l),
                              u = i(2),
                              h = i.n(u),
                              d =
                                   "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                        ? function (t) {
                                               return typeof t;
                                          }
                                        : function (t) {
                                               return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                          },
                              p = (function () {
                                   function t(t, e) {
                                        for (var i = 0; i < e.length; i++) {
                                             var n = e[i];
                                             (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                        }
                                   }
                                   return function (e, i, n) {
                                        return i && t(e.prototype, i), n && t(e, n), e;
                                   };
                              })(),
                              f = (function (t) {
                                   function e(t, i) {
                                        !(function (t, e) {
                                             if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                                        })(this, e);
                                        var n = (function (t, e) {
                                             if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                                             return !e || ("object" != typeof e && "function" != typeof e) ? t : e;
                                        })(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this));
                                        return n.resolveOptions(i), n.listenClick(t), n;
                                   }
                                   return (
                                        (function (t, e) {
                                             if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                                             (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })),
                                                  e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));
                                        })(e, t),
                                        p(
                                             e,
                                             [
                                                  {
                                                       key: "resolveOptions",
                                                       value: function () {
                                                            var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                                                            (this.action = "function" == typeof t.action ? t.action : this.defaultAction),
                                                                 (this.target = "function" == typeof t.target ? t.target : this.defaultTarget),
                                                                 (this.text = "function" == typeof t.text ? t.text : this.defaultText),
                                                                 (this.container = "object" === d(t.container) ? t.container : document.body);
                                                       },
                                                  },
                                                  {
                                                       key: "listenClick",
                                                       value: function (t) {
                                                            var e = this;
                                                            this.listener = h()(t, "click", function (t) {
                                                                 return e.onClick(t);
                                                            });
                                                       },
                                                  },
                                                  {
                                                       key: "onClick",
                                                       value: function (t) {
                                                            var e = t.delegateTarget || t.currentTarget;
                                                            this.clipboardAction && (this.clipboardAction = null),
                                                                 (this.clipboardAction = new s({ action: this.action(e), target: this.target(e), text: this.text(e), container: this.container, trigger: e, emitter: this }));
                                                       },
                                                  },
                                                  {
                                                       key: "defaultAction",
                                                       value: function (t) {
                                                            return m("action", t);
                                                       },
                                                  },
                                                  {
                                                       key: "defaultTarget",
                                                       value: function (t) {
                                                            var e = m("target", t);
                                                            if (e) return document.querySelector(e);
                                                       },
                                                  },
                                                  {
                                                       key: "defaultText",
                                                       value: function (t) {
                                                            return m("text", t);
                                                       },
                                                  },
                                                  {
                                                       key: "destroy",
                                                       value: function () {
                                                            this.listener.destroy(), this.clipboardAction && (this.clipboardAction.destroy(), (this.clipboardAction = null));
                                                       },
                                                  },
                                             ],
                                             [
                                                  {
                                                       key: "isSupported",
                                                       value: function () {
                                                            var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ["copy", "cut"],
                                                                 e = "string" == typeof t ? [t] : t,
                                                                 i = !!document.queryCommandSupported;
                                                            return (
                                                                 e.forEach(function (t) {
                                                                      i = i && !!document.queryCommandSupported(t);
                                                                 }),
                                                                 i
                                                            );
                                                       },
                                                  },
                                             ]
                                        ),
                                        e
                                   );
                              })(c.a);
                         function m(t, e) {
                              var i = "data-clipboard-" + t;
                              if (e.hasAttribute(i)) return e.getAttribute(i);
                         }
                         e.default = f;
                    },
               ]).default;
          }),
               (t.exports = n());
     },
     function (t, e, i) {
          "use strict";
          i.d(e, "a", function () {
               return d;
          });
          var n = function () {
                    return (n =
                         Object.assign ||
                         function (t) {
                              for (var e, i = 1, n = arguments.length; i < n; i++) for (var r in (e = arguments[i])) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);
                              return t;
                         }).apply(this, arguments);
               },
               r = {
                    lines: 12,
                    length: 7,
                    width: 5,
                    radius: 10,
                    scale: 1,
                    corners: 1,
                    color: "#000",
                    fadeColor: "transparent",
                    animation: "spinner-line-fade-default",
                    rotate: 0,
                    direction: 1,
                    speed: 1,
                    zIndex: 2e9,
                    className: "spinner",
                    top: "50%",
                    left: "50%",
                    shadow: "0 0 1px transparent",
                    position: "absolute",
               },
               o = (function () {
                    function t(t) {
                         void 0 === t && (t = {}), (this.opts = n(n({}, r), t));
                    }
                    return (
                         (t.prototype.spin = function (t) {
                              return (
                                   this.stop(),
                                   (this.el = document.createElement("div")),
                                   (this.el.className = this.opts.className),
                                   this.el.setAttribute("role", "progressbar"),
                                   a(this.el, { position: this.opts.position, width: 0, zIndex: this.opts.zIndex, left: this.opts.left, top: this.opts.top, transform: "scale(" + this.opts.scale + ")" }),
                                   t && t.insertBefore(this.el, t.firstChild || null),
                                   (function (t, e) {
                                        var i = Math.round(e.corners * e.width * 500) / 1e3 + "px",
                                             n = "none";
                                        !0 === e.shadow ? (n = "0 2px 4px #000") : "string" == typeof e.shadow && (n = e.shadow);
                                        for (
                                             var r = (function (t) {
                                                       for (var e = /^\s*([a-zA-Z]+\s+)?(-?\d+(\.\d+)?)([a-zA-Z]*)\s+(-?\d+(\.\d+)?)([a-zA-Z]*)(.*)$/, i = [], n = 0, r = t.split(","); n < r.length; n++) {
                                                            var o = r[n].match(e);
                                                            if (null !== o) {
                                                                 var a = +o[2],
                                                                      s = +o[5],
                                                                      l = o[4],
                                                                      c = o[7];
                                                                 0 !== a || l || (l = c), 0 !== s || c || (c = l), l === c && i.push({ prefix: o[1] || "", x: a, y: s, xUnits: l, yUnits: c, end: o[8] });
                                                            }
                                                       }
                                                       return i;
                                                  })(n),
                                                  o = 0;
                                             o < e.lines;
                                             o++
                                        ) {
                                             var c = ~~((360 / e.lines) * o + e.rotate),
                                                  u = a(document.createElement("div"), {
                                                       position: "absolute",
                                                       top: -e.width / 2 + "px",
                                                       width: e.length + e.width + "px",
                                                       height: e.width + "px",
                                                       background: s(e.fadeColor, o),
                                                       borderRadius: i,
                                                       transformOrigin: "left",
                                                       transform: "rotate(" + c + "deg) translateX(" + e.radius + "px)",
                                                  }),
                                                  h = (o * e.direction) / e.lines / e.speed;
                                             h -= 1 / e.speed;
                                             var d = a(document.createElement("div"), {
                                                  width: "100%",
                                                  height: "100%",
                                                  background: s(e.color, o),
                                                  borderRadius: i,
                                                  boxShadow: l(r, c),
                                                  animation: 1 / e.speed + "s linear " + h + "s infinite " + e.animation,
                                             });
                                             u.appendChild(d), t.appendChild(u);
                                        }
                                   })(this.el, this.opts),
                                   this
                              );
                         }),
                         (t.prototype.stop = function () {
                              return (
                                   this.el &&
                                        ("undefined" != typeof requestAnimationFrame ? cancelAnimationFrame(this.animateId) : clearTimeout(this.animateId), this.el.parentNode && this.el.parentNode.removeChild(this.el), (this.el = void 0)),
                                   this
                              );
                         }),
                         t
                    );
               })();
          function a(t, e) {
               for (var i in e) t.style[i] = e[i];
               return t;
          }
          function s(t, e) {
               return "string" == typeof t ? t : t[e % t.length];
          }
          function l(t, e) {
               for (var i = [], n = 0, r = t; n < r.length; n++) {
                    var o = r[n],
                         a = c(o.x, o.y, e);
                    i.push(o.prefix + a[0] + o.xUnits + " " + a[1] + o.yUnits + o.end);
               }
               return i.join(", ");
          }
          function c(t, e, i) {
               var n = (i * Math.PI) / 180,
                    r = Math.sin(n),
                    o = Math.cos(n);
               return [Math.round(1e3 * (t * o + e * r)) / 1e3, Math.round(1e3 * (-t * r + e * o)) / 1e3];
          }
          /*!
           * Ladda
           * http://lab.hakim.se/ladda
           * MIT licensed
           *
           * Copyright (C) 2018 Hakim El Hattab, http://hakim.se
           */
          var u = [];
          function h(t) {
               if (void 0 !== t) {
                    if ((t.classList.contains("ladda-button") || t.classList.add("ladda-button"), t.hasAttribute("data-style") || t.setAttribute("data-style", "expand-right"), !t.querySelector(".ladda-label"))) {
                         var e = document.createElement("span");
                         (e.className = "ladda-label"), (i = t), (n = e), (r = document.createRange()).selectNodeContents(i), r.surroundContents(n), i.appendChild(n);
                    }
                    var i,
                         n,
                         r,
                         a,
                         s,
                         l = t.querySelector(".ladda-spinner");
                    l || ((l = document.createElement("span")).className = "ladda-spinner"), t.appendChild(l);
                    var c = {
                         start: function () {
                              return (
                                   a ||
                                        (a = (function (t) {
                                             var e,
                                                  i,
                                                  n = t.offsetHeight;
                                             0 === n && (n = parseFloat(window.getComputedStyle(t).height));
                                             n > 32 && (n *= 0.8);
                                             t.hasAttribute("data-spinner-size") && (n = parseInt(t.getAttribute("data-spinner-size"), 10));
                                             t.hasAttribute("data-spinner-color") && (e = t.getAttribute("data-spinner-color"));
                                             t.hasAttribute("data-spinner-lines") && (i = parseInt(t.getAttribute("data-spinner-lines"), 10));
                                             var r = 0.2 * n;
                                             return new o({
                                                  color: e || "#fff",
                                                  lines: i || 12,
                                                  radius: r,
                                                  length: 0.6 * r,
                                                  width: r < 7 ? 2 : 3,
                                                  animation: "ladda-spinner-line-fade",
                                                  zIndex: "auto",
                                                  top: "auto",
                                                  left: "auto",
                                                  className: "",
                                             });
                                        })(t)),
                                   (t.disabled = !0),
                                   t.setAttribute("data-loading", ""),
                                   clearTimeout(s),
                                   a.spin(l),
                                   this.setProgress(0),
                                   this
                              );
                         },
                         startAfter: function (t) {
                              return (
                                   clearTimeout(s),
                                   (s = setTimeout(function () {
                                        c.start();
                                   }, t)),
                                   this
                              );
                         },
                         stop: function () {
                              return (
                                   c.isLoading() && ((t.disabled = !1), t.removeAttribute("data-loading")),
                                   clearTimeout(s),
                                   a &&
                                        (s = setTimeout(function () {
                                             a.stop();
                                        }, 1e3)),
                                   this
                              );
                         },
                         toggle: function () {
                              return this.isLoading() ? this.stop() : this.start();
                         },
                         setProgress: function (e) {
                              e = Math.max(Math.min(e, 1), 0);
                              var i = t.querySelector(".ladda-progress");
                              0 === e && i && i.parentNode ? i.parentNode.removeChild(i) : (i || (((i = document.createElement("div")).className = "ladda-progress"), t.appendChild(i)), (i.style.width = (e || 0) * t.offsetWidth + "px"));
                         },
                         isLoading: function () {
                              return t.hasAttribute("data-loading");
                         },
                         remove: function () {
                              clearTimeout(s), (t.disabled = !1), t.removeAttribute("data-loading"), a && (a.stop(), (a = null)), u.splice(u.indexOf(c), 1);
                         },
                    };
                    return u.push(c), c;
               }
               console.warn("Ladda button target must be defined.");
          }
          function d(t, e) {
               var i;
               if ("string" == typeof t) i = document.querySelectorAll(t);
               else {
                    if ("object" != typeof t) throw new Error("target must be string or object");
                    i = [t];
               }
               e = e || {};
               for (var n = 0; n < i.length; n++) p(i[n], e);
          }
          function p(t, e) {
               if ("function" == typeof t.addEventListener) {
                    var i = h(t),
                         n = -1;
                    t.addEventListener(
                         "click",
                         function () {
                              var r = !0,
                                   o = (function (t, e) {
                                        for (; t.parentNode && t.tagName !== e; ) t = t.parentNode;
                                        return e === t.tagName ? t : void 0;
                                   })(t, "FORM");
                              void 0 === o || o.hasAttribute("novalidate") || ("function" == typeof o.checkValidity && (r = o.checkValidity())),
                                   r && (i.startAfter(1), "number" == typeof e.timeout && (clearTimeout(n), (n = setTimeout(i.stop, e.timeout))), "function" == typeof e.callback && e.callback.apply(null, [i]));
                         },
                         !1
                    );
               }
          }
     },
     function (t, e, i) {
          i(153),
               i(157),
               i(158),
               i(159),
               i(161),
               i(163),
               i(164),
               i(166),
               i(167),
               i(168),
               i(169),
               i(171),
               i(175),
               i(178),
               i(179),
               i(181),
               i(183),
               i(184),
               i(187),
               i(189),
               i(191),
               i(192),
               i(195),
               i(197),
               i(200),
               i(201),
               i(203),
               i(205),
               i(207),
               (t.exports = i(208));
     },
     function (t, e, i) {
          "use strict";
          i.r(e);
          var n = i(1),
               r = i.n(n);
          i(154), i(156), i(210);
          r()(document).ready(function () {
               setTimeout(function () {
                    r()(".vertical-nav-menu").metisMenu();
               }, 100),
                    r()(".search-icon").click(function () {
                         r()(this).parent().parent().addClass("active");
                    }),
                    r()(".search-wrapper .close").click(function () {
                         r()(this).parent().removeClass("active");
                    }),
                    r()('[data-toggle="popover-custom-content"]').each(function (t, e) {
                         r()(this).popover({
                              html: !0,
                              placement: "auto",
                              template: '<div class="popover popover-custom" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
                              content: function () {
                                   var t = r()(this).attr("popover-id");
                                   return r()("#popover-content-" + t).html();
                              },
                         });
                    }),
                    r()(".dropdown-menu").on("click", function (t) {
                         var e = r.a._data(document, "events") || {};
                         e = e.click || [];
                         for (var i = 0; i < e.length; i++)
                              e[i].selector &&
                                   (r()(t.target).is(e[i].selector) && e[i].handler.call(t.target, t),
                                   r()(t.target)
                                        .parents(e[i].selector)
                                        .each(function () {
                                             e[i].handler.call(this, t);
                                        }));
                         t.stopPropagation();
                    }),
                    r()('[data-toggle="popover-custom-bg"]').each(function (t, e) {
                         var i = r()(this).attr("data-bg-class");
                         r()(this).popover({ trigger: "focus", placement: "top", template: '<div class="popover popover-bg ' + i + '" role="tooltip"><h3 class="popover-header"></h3><div class="popover-body"></div></div>' });
                    }),
                    r()(function () {
                         r()('[data-toggle="popover"]').popover();
                    }),
                    r()('[data-toggle="popover-custom"]').each(function (t, e) {
                         r()(this).popover({
                              html: !0,
                              container: r()(this).parent().find(".rm-max-width"),
                              content: function () {
                                   return r()(this).next(".rm-max-width").find(".popover-custom-content").html();
                              },
                         });
                    }),
                    r()("body").on("click", function (t) {
                         r()('[rel="popover-focus"]').each(function () {
                              r()(this).is(t.target) || 0 !== r()(this).has(t.target).length || 0 !== r()(".popover").has(t.target).length || r()(this).popover("hide");
                         });
                    }),
                    r()(".header-megamenu.nav > li > .nav-link").on("click", function (t) {
                         r()('[data-toggle="popover-custom"]').each(function () {
                              r()(this).is(t.target) || 0 !== r()(this).has(t.target).length || 0 !== r()(".popover").has(t.target).length || r()(this).popover("hide");
                         });
                    }),
                    r()(function () {
                         r()('[data-toggle="tooltip"]').tooltip();
                    }),
                    r()(function () {
                         r()('[data-toggle="tooltip-light"]').tooltip({ template: '<div class="tooltip tooltip-light"><div class="tooltip-inner"></div></div>' });
                    }),
                    r()(".open-right-drawer").click(function () {
                         r()(this).addClass("is-active"), r()(".app-drawer-wrapper").addClass("drawer-open"), r()(".app-drawer-overlay").removeClass("d-none");
                    }),
                    r()(".drawer-nav-btn").click(function () {
                         r()(".app-drawer-wrapper").removeClass("drawer-open"), r()(".app-drawer-overlay").addClass("d-none"), r()(".open-right-drawer").removeClass("is-active");
                    }),
                    r()(".app-drawer-overlay").click(function () {
                         r()(this).addClass("d-none"), r()(".app-drawer-wrapper").removeClass("drawer-open"), r()(".open-right-drawer").removeClass("is-active");
                    }),
                    r()(".mobile-toggle-nav").click(function () {
                         r()(this).toggleClass("is-active"), r()(".app-container").toggleClass("sidebar-mobile-open");
                    }),
                    r()(".mobile-toggle-header-nav").click(function () {
                         r()(this).toggleClass("active"), r()(".app-header__content").toggleClass("header-mobile-open");
                    }),
                    r()(".mobile-app-menu-btn").click(function () {
                         r()(".hamburger", this).toggleClass("is-active"), r()(".app-inner-layout").toggleClass("open-mobile-menu");
                    });
               var t = function () {
                    document.body.clientWidth < 1250 ? r()(".app-container").addClass("closed-sidebar-mobile closed-sidebar") : r()(".app-container").removeClass("closed-sidebar-mobile closed-sidebar");
               };
               r()(window).on("resize", function () {
                    t();
               }),
                    t();
          });
     },
     function (t, e, i) {
          /*!
           * Bootstrap v4.5.0 (https://getbootstrap.com/)
           * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
           * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
           */ !(function (t, e, i) {
               "use strict";
               function n(t, e) {
                    for (var i = 0; i < e.length; i++) {
                         var n = e[i];
                         (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                    }
               }
               function r(t, e, i) {
                    return e && n(t.prototype, e), i && n(t, i), t;
               }
               function o(t, e, i) {
                    return e in t ? Object.defineProperty(t, e, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (t[e] = i), t;
               }
               function a(t, e) {
                    var i = Object.keys(t);
                    if (Object.getOwnPropertySymbols) {
                         var n = Object.getOwnPropertySymbols(t);
                         e &&
                              (n = n.filter(function (e) {
                                   return Object.getOwnPropertyDescriptor(t, e).enumerable;
                              })),
                              i.push.apply(i, n);
                    }
                    return i;
               }
               function s(t) {
                    for (var e = 1; e < arguments.length; e++) {
                         var i = null != arguments[e] ? arguments[e] : {};
                         e % 2
                              ? a(Object(i), !0).forEach(function (e) {
                                     o(t, e, i[e]);
                                })
                              : Object.getOwnPropertyDescriptors
                              ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(i))
                              : a(Object(i)).forEach(function (e) {
                                     Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(i, e));
                                });
                    }
                    return t;
               }
               function l(t) {
                    var i = this,
                         n = !1;
                    return (
                         e(this).one(c.TRANSITION_END, function () {
                              n = !0;
                         }),
                         setTimeout(function () {
                              n || c.triggerTransitionEnd(i);
                         }, t),
                         this
                    );
               }
               (e = e && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e), (i = i && Object.prototype.hasOwnProperty.call(i, "default") ? i.default : i);
               var c = {
                    TRANSITION_END: "bsTransitionEnd",
                    getUID: function (t) {
                         do {
                              t += ~~(1e6 * Math.random());
                         } while (document.getElementById(t));
                         return t;
                    },
                    getSelectorFromElement: function (t) {
                         var e = t.getAttribute("data-target");
                         if (!e || "#" === e) {
                              var i = t.getAttribute("href");
                              e = i && "#" !== i ? i.trim() : "";
                         }
                         try {
                              return document.querySelector(e) ? e : null;
                         } catch (t) {
                              return null;
                         }
                    },
                    getTransitionDurationFromElement: function (t) {
                         if (!t) return 0;
                         var i = e(t).css("transition-duration"),
                              n = e(t).css("transition-delay"),
                              r = parseFloat(i),
                              o = parseFloat(n);
                         return r || o ? ((i = i.split(",")[0]), (n = n.split(",")[0]), 1e3 * (parseFloat(i) + parseFloat(n))) : 0;
                    },
                    reflow: function (t) {
                         return t.offsetHeight;
                    },
                    triggerTransitionEnd: function (t) {
                         e(t).trigger("transitionend");
                    },
                    supportsTransitionEnd: function () {
                         return Boolean("transitionend");
                    },
                    isElement: function (t) {
                         return (t[0] || t).nodeType;
                    },
                    typeCheckConfig: function (t, e, i) {
                         for (var n in i)
                              if (Object.prototype.hasOwnProperty.call(i, n)) {
                                   var r = i[n],
                                        o = e[n],
                                        a =
                                             o && c.isElement(o)
                                                  ? "element"
                                                  : null == (s = o)
                                                  ? "" + s
                                                  : {}.toString
                                                         .call(s)
                                                         .match(/\s([a-z]+)/i)[1]
                                                         .toLowerCase();
                                   if (!new RegExp(r).test(a)) throw new Error(t.toUpperCase() + ': Option "' + n + '" provided type "' + a + '" but expected type "' + r + '".');
                              }
                         var s;
                    },
                    findShadowRoot: function (t) {
                         if (!document.documentElement.attachShadow) return null;
                         if ("function" == typeof t.getRootNode) {
                              var e = t.getRootNode();
                              return e instanceof ShadowRoot ? e : null;
                         }
                         return t instanceof ShadowRoot ? t : t.parentNode ? c.findShadowRoot(t.parentNode) : null;
                    },
                    jQueryDetection: function () {
                         if (void 0 === e) throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");
                         var t = e.fn.jquery.split(" ")[0].split(".");
                         if ((t[0] < 2 && t[1] < 9) || (1 === t[0] && 9 === t[1] && t[2] < 1) || t[0] >= 4) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0");
                    },
               };
               c.jQueryDetection(),
                    (e.fn.emulateTransitionEnd = l),
                    (e.event.special[c.TRANSITION_END] = {
                         bindType: "transitionend",
                         delegateType: "transitionend",
                         handle: function (t) {
                              if (e(t.target).is(this)) return t.handleObj.handler.apply(this, arguments);
                         },
                    });
               var u = "alert",
                    h = e.fn[u],
                    d = (function () {
                         function t(t) {
                              this._element = t;
                         }
                         var i = t.prototype;
                         return (
                              (i.close = function (t) {
                                   var e = this._element;
                                   t && (e = this._getRootElement(t)), this._triggerCloseEvent(e).isDefaultPrevented() || this._removeElement(e);
                              }),
                              (i.dispose = function () {
                                   e.removeData(this._element, "bs.alert"), (this._element = null);
                              }),
                              (i._getRootElement = function (t) {
                                   var i = c.getSelectorFromElement(t),
                                        n = !1;
                                   return i && (n = document.querySelector(i)), n || (n = e(t).closest(".alert")[0]), n;
                              }),
                              (i._triggerCloseEvent = function (t) {
                                   var i = e.Event("close.bs.alert");
                                   return e(t).trigger(i), i;
                              }),
                              (i._removeElement = function (t) {
                                   var i = this;
                                   if ((e(t).removeClass("show"), e(t).hasClass("fade"))) {
                                        var n = c.getTransitionDurationFromElement(t);
                                        e(t)
                                             .one(c.TRANSITION_END, function (e) {
                                                  return i._destroyElement(t, e);
                                             })
                                             .emulateTransitionEnd(n);
                                   } else this._destroyElement(t);
                              }),
                              (i._destroyElement = function (t) {
                                   e(t).detach().trigger("closed.bs.alert").remove();
                              }),
                              (t._jQueryInterface = function (i) {
                                   return this.each(function () {
                                        var n = e(this),
                                             r = n.data("bs.alert");
                                        r || ((r = new t(this)), n.data("bs.alert", r)), "close" === i && r[i](this);
                                   });
                              }),
                              (t._handleDismiss = function (t) {
                                   return function (e) {
                                        e && e.preventDefault(), t.close(this);
                                   };
                              }),
                              r(t, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
               e(document).on("click.bs.alert.data-api", '[data-dismiss="alert"]', d._handleDismiss(new d())),
                    (e.fn[u] = d._jQueryInterface),
                    (e.fn[u].Constructor = d),
                    (e.fn[u].noConflict = function () {
                         return (e.fn[u] = h), d._jQueryInterface;
                    });
               var p = e.fn.button,
                    f = (function () {
                         function t(t) {
                              this._element = t;
                         }
                         var i = t.prototype;
                         return (
                              (i.toggle = function () {
                                   var t = !0,
                                        i = !0,
                                        n = e(this._element).closest('[data-toggle="buttons"]')[0];
                                   if (n) {
                                        var r = this._element.querySelector('input:not([type="hidden"])');
                                        if (r) {
                                             if ("radio" === r.type)
                                                  if (r.checked && this._element.classList.contains("active")) t = !1;
                                                  else {
                                                       var o = n.querySelector(".active");
                                                       o && e(o).removeClass("active");
                                                  }
                                             t && (("checkbox" !== r.type && "radio" !== r.type) || (r.checked = !this._element.classList.contains("active")), e(r).trigger("change")), r.focus(), (i = !1);
                                        }
                                   }
                                   this._element.hasAttribute("disabled") ||
                                        this._element.classList.contains("disabled") ||
                                        (i && this._element.setAttribute("aria-pressed", !this._element.classList.contains("active")), t && e(this._element).toggleClass("active"));
                              }),
                              (i.dispose = function () {
                                   e.removeData(this._element, "bs.button"), (this._element = null);
                              }),
                              (t._jQueryInterface = function (i) {
                                   return this.each(function () {
                                        var n = e(this).data("bs.button");
                                        n || ((n = new t(this)), e(this).data("bs.button", n)), "toggle" === i && n[i]();
                                   });
                              }),
                              r(t, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
               e(document)
                    .on("click.bs.button.data-api", '[data-toggle^="button"]', function (t) {
                         var i = t.target,
                              n = i;
                         if ((e(i).hasClass("btn") || (i = e(i).closest(".btn")[0]), !i || i.hasAttribute("disabled") || i.classList.contains("disabled"))) t.preventDefault();
                         else {
                              var r = i.querySelector('input:not([type="hidden"])');
                              if (r && (r.hasAttribute("disabled") || r.classList.contains("disabled"))) return void t.preventDefault();
                              "LABEL" === n.tagName && r && "checkbox" === r.type && t.preventDefault(), f._jQueryInterface.call(e(i), "toggle");
                         }
                    })
                    .on("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle^="button"]', function (t) {
                         var i = e(t.target).closest(".btn")[0];
                         e(i).toggleClass("focus", /^focus(in)?$/.test(t.type));
                    }),
                    e(window).on("load.bs.button.data-api", function () {
                         for (var t = [].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')), e = 0, i = t.length; e < i; e++) {
                              var n = t[e],
                                   r = n.querySelector('input:not([type="hidden"])');
                              r.checked || r.hasAttribute("checked") ? n.classList.add("active") : n.classList.remove("active");
                         }
                         for (var o = 0, a = (t = [].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length; o < a; o++) {
                              var s = t[o];
                              "true" === s.getAttribute("aria-pressed") ? s.classList.add("active") : s.classList.remove("active");
                         }
                    }),
                    (e.fn.button = f._jQueryInterface),
                    (e.fn.button.Constructor = f),
                    (e.fn.button.noConflict = function () {
                         return (e.fn.button = p), f._jQueryInterface;
                    });
               var m = "carousel",
                    g = ".bs.carousel",
                    v = e.fn[m],
                    y = { interval: 5e3, keyboard: !0, slide: !1, pause: "hover", wrap: !0, touch: !0 },
                    b = { interval: "(number|boolean)", keyboard: "boolean", slide: "(boolean|string)", pause: "(string|boolean)", wrap: "boolean", touch: "boolean" },
                    _ = { TOUCH: "touch", PEN: "pen" },
                    x = (function () {
                         function t(t, e) {
                              (this._items = null),
                                   (this._interval = null),
                                   (this._activeElement = null),
                                   (this._isPaused = !1),
                                   (this._isSliding = !1),
                                   (this.touchTimeout = null),
                                   (this.touchStartX = 0),
                                   (this.touchDeltaX = 0),
                                   (this._config = this._getConfig(e)),
                                   (this._element = t),
                                   (this._indicatorsElement = this._element.querySelector(".carousel-indicators")),
                                   (this._touchSupported = "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0),
                                   (this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)),
                                   this._addEventListeners();
                         }
                         var i = t.prototype;
                         return (
                              (i.next = function () {
                                   this._isSliding || this._slide("next");
                              }),
                              (i.nextWhenVisible = function () {
                                   !document.hidden && e(this._element).is(":visible") && "hidden" !== e(this._element).css("visibility") && this.next();
                              }),
                              (i.prev = function () {
                                   this._isSliding || this._slide("prev");
                              }),
                              (i.pause = function (t) {
                                   t || (this._isPaused = !0),
                                        this._element.querySelector(".carousel-item-next, .carousel-item-prev") && (c.triggerTransitionEnd(this._element), this.cycle(!0)),
                                        clearInterval(this._interval),
                                        (this._interval = null);
                              }),
                              (i.cycle = function (t) {
                                   t || (this._isPaused = !1),
                                        this._interval && (clearInterval(this._interval), (this._interval = null)),
                                        this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval));
                              }),
                              (i.to = function (t) {
                                   var i = this;
                                   this._activeElement = this._element.querySelector(".active.carousel-item");
                                   var n = this._getItemIndex(this._activeElement);
                                   if (!(t > this._items.length - 1 || t < 0))
                                        if (this._isSliding)
                                             e(this._element).one("slid.bs.carousel", function () {
                                                  return i.to(t);
                                             });
                                        else {
                                             if (n === t) return this.pause(), void this.cycle();
                                             var r = t > n ? "next" : "prev";
                                             this._slide(r, this._items[t]);
                                        }
                              }),
                              (i.dispose = function () {
                                   e(this._element).off(g),
                                        e.removeData(this._element, "bs.carousel"),
                                        (this._items = null),
                                        (this._config = null),
                                        (this._element = null),
                                        (this._interval = null),
                                        (this._isPaused = null),
                                        (this._isSliding = null),
                                        (this._activeElement = null),
                                        (this._indicatorsElement = null);
                              }),
                              (i._getConfig = function (t) {
                                   return (t = s(s({}, y), t)), c.typeCheckConfig(m, t, b), t;
                              }),
                              (i._handleSwipe = function () {
                                   var t = Math.abs(this.touchDeltaX);
                                   if (!(t <= 40)) {
                                        var e = t / this.touchDeltaX;
                                        (this.touchDeltaX = 0), e > 0 && this.prev(), e < 0 && this.next();
                                   }
                              }),
                              (i._addEventListeners = function () {
                                   var t = this;
                                   this._config.keyboard &&
                                        e(this._element).on("keydown.bs.carousel", function (e) {
                                             return t._keydown(e);
                                        }),
                                        "hover" === this._config.pause &&
                                             e(this._element)
                                                  .on("mouseenter.bs.carousel", function (e) {
                                                       return t.pause(e);
                                                  })
                                                  .on("mouseleave.bs.carousel", function (e) {
                                                       return t.cycle(e);
                                                  }),
                                        this._config.touch && this._addTouchEventListeners();
                              }),
                              (i._addTouchEventListeners = function () {
                                   var t = this;
                                   if (this._touchSupported) {
                                        var i = function (e) {
                                                  t._pointerEvent && _[e.originalEvent.pointerType.toUpperCase()] ? (t.touchStartX = e.originalEvent.clientX) : t._pointerEvent || (t.touchStartX = e.originalEvent.touches[0].clientX);
                                             },
                                             n = function (e) {
                                                  t._pointerEvent && _[e.originalEvent.pointerType.toUpperCase()] && (t.touchDeltaX = e.originalEvent.clientX - t.touchStartX),
                                                       t._handleSwipe(),
                                                       "hover" === t._config.pause &&
                                                            (t.pause(),
                                                            t.touchTimeout && clearTimeout(t.touchTimeout),
                                                            (t.touchTimeout = setTimeout(function (e) {
                                                                 return t.cycle(e);
                                                            }, 500 + t._config.interval)));
                                             };
                                        e(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel", function (t) {
                                             return t.preventDefault();
                                        }),
                                             this._pointerEvent
                                                  ? (e(this._element).on("pointerdown.bs.carousel", function (t) {
                                                         return i(t);
                                                    }),
                                                    e(this._element).on("pointerup.bs.carousel", function (t) {
                                                         return n(t);
                                                    }),
                                                    this._element.classList.add("pointer-event"))
                                                  : (e(this._element).on("touchstart.bs.carousel", function (t) {
                                                         return i(t);
                                                    }),
                                                    e(this._element).on("touchmove.bs.carousel", function (e) {
                                                         return (function (e) {
                                                              e.originalEvent.touches && e.originalEvent.touches.length > 1 ? (t.touchDeltaX = 0) : (t.touchDeltaX = e.originalEvent.touches[0].clientX - t.touchStartX);
                                                         })(e);
                                                    }),
                                                    e(this._element).on("touchend.bs.carousel", function (t) {
                                                         return n(t);
                                                    }));
                                   }
                              }),
                              (i._keydown = function (t) {
                                   if (!/input|textarea/i.test(t.target.tagName))
                                        switch (t.which) {
                                             case 37:
                                                  t.preventDefault(), this.prev();
                                                  break;
                                             case 39:
                                                  t.preventDefault(), this.next();
                                        }
                              }),
                              (i._getItemIndex = function (t) {
                                   return (this._items = t && t.parentNode ? [].slice.call(t.parentNode.querySelectorAll(".carousel-item")) : []), this._items.indexOf(t);
                              }),
                              (i._getItemByDirection = function (t, e) {
                                   var i = "next" === t,
                                        n = "prev" === t,
                                        r = this._getItemIndex(e),
                                        o = this._items.length - 1;
                                   if (((n && 0 === r) || (i && r === o)) && !this._config.wrap) return e;
                                   var a = (r + ("prev" === t ? -1 : 1)) % this._items.length;
                                   return -1 === a ? this._items[this._items.length - 1] : this._items[a];
                              }),
                              (i._triggerSlideEvent = function (t, i) {
                                   var n = this._getItemIndex(t),
                                        r = this._getItemIndex(this._element.querySelector(".active.carousel-item")),
                                        o = e.Event("slide.bs.carousel", { relatedTarget: t, direction: i, from: r, to: n });
                                   return e(this._element).trigger(o), o;
                              }),
                              (i._setActiveIndicatorElement = function (t) {
                                   if (this._indicatorsElement) {
                                        var i = [].slice.call(this._indicatorsElement.querySelectorAll(".active"));
                                        e(i).removeClass("active");
                                        var n = this._indicatorsElement.children[this._getItemIndex(t)];
                                        n && e(n).addClass("active");
                                   }
                              }),
                              (i._slide = function (t, i) {
                                   var n,
                                        r,
                                        o,
                                        a = this,
                                        s = this._element.querySelector(".active.carousel-item"),
                                        l = this._getItemIndex(s),
                                        u = i || (s && this._getItemByDirection(t, s)),
                                        h = this._getItemIndex(u),
                                        d = Boolean(this._interval);
                                   if (("next" === t ? ((n = "carousel-item-left"), (r = "carousel-item-next"), (o = "left")) : ((n = "carousel-item-right"), (r = "carousel-item-prev"), (o = "right")), u && e(u).hasClass("active")))
                                        this._isSliding = !1;
                                   else if (!this._triggerSlideEvent(u, o).isDefaultPrevented() && s && u) {
                                        (this._isSliding = !0), d && this.pause(), this._setActiveIndicatorElement(u);
                                        var p = e.Event("slid.bs.carousel", { relatedTarget: u, direction: o, from: l, to: h });
                                        if (e(this._element).hasClass("slide")) {
                                             e(u).addClass(r), c.reflow(u), e(s).addClass(n), e(u).addClass(n);
                                             var f = parseInt(u.getAttribute("data-interval"), 10);
                                             f
                                                  ? ((this._config.defaultInterval = this._config.defaultInterval || this._config.interval), (this._config.interval = f))
                                                  : (this._config.interval = this._config.defaultInterval || this._config.interval);
                                             var m = c.getTransitionDurationFromElement(s);
                                             e(s)
                                                  .one(c.TRANSITION_END, function () {
                                                       e(u)
                                                            .removeClass(n + " " + r)
                                                            .addClass("active"),
                                                            e(s).removeClass("active " + r + " " + n),
                                                            (a._isSliding = !1),
                                                            setTimeout(function () {
                                                                 return e(a._element).trigger(p);
                                                            }, 0);
                                                  })
                                                  .emulateTransitionEnd(m);
                                        } else e(s).removeClass("active"), e(u).addClass("active"), (this._isSliding = !1), e(this._element).trigger(p);
                                        d && this.cycle();
                                   }
                              }),
                              (t._jQueryInterface = function (i) {
                                   return this.each(function () {
                                        var n = e(this).data("bs.carousel"),
                                             r = s(s({}, y), e(this).data());
                                        "object" == typeof i && (r = s(s({}, r), i));
                                        var o = "string" == typeof i ? i : r.slide;
                                        if ((n || ((n = new t(this, r)), e(this).data("bs.carousel", n)), "number" == typeof i)) n.to(i);
                                        else if ("string" == typeof o) {
                                             if (void 0 === n[o]) throw new TypeError('No method named "' + o + '"');
                                             n[o]();
                                        } else r.interval && r.ride && (n.pause(), n.cycle());
                                   });
                              }),
                              (t._dataApiClickHandler = function (i) {
                                   var n = c.getSelectorFromElement(this);
                                   if (n) {
                                        var r = e(n)[0];
                                        if (r && e(r).hasClass("carousel")) {
                                             var o = s(s({}, e(r).data()), e(this).data()),
                                                  a = this.getAttribute("data-slide-to");
                                             a && (o.interval = !1), t._jQueryInterface.call(e(r), o), a && e(r).data("bs.carousel").to(a), i.preventDefault();
                                        }
                                   }
                              }),
                              r(t, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                                   {
                                        key: "Default",
                                        get: function () {
                                             return y;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
               e(document).on("click.bs.carousel.data-api", "[data-slide], [data-slide-to]", x._dataApiClickHandler),
                    e(window).on("load.bs.carousel.data-api", function () {
                         for (var t = [].slice.call(document.querySelectorAll('[data-ride="carousel"]')), i = 0, n = t.length; i < n; i++) {
                              var r = e(t[i]);
                              x._jQueryInterface.call(r, r.data());
                         }
                    }),
                    (e.fn[m] = x._jQueryInterface),
                    (e.fn[m].Constructor = x),
                    (e.fn[m].noConflict = function () {
                         return (e.fn[m] = v), x._jQueryInterface;
                    });
               var w = "collapse",
                    k = e.fn[w],
                    S = { toggle: !0, parent: "" },
                    M = { toggle: "boolean", parent: "(string|element)" },
                    T = (function () {
                         function t(t, e) {
                              (this._isTransitioning = !1),
                                   (this._element = t),
                                   (this._config = this._getConfig(e)),
                                   (this._triggerArray = [].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#' + t.id + '"],[data-toggle="collapse"][data-target="#' + t.id + '"]')));
                              for (var i = [].slice.call(document.querySelectorAll('[data-toggle="collapse"]')), n = 0, r = i.length; n < r; n++) {
                                   var o = i[n],
                                        a = c.getSelectorFromElement(o),
                                        s = [].slice.call(document.querySelectorAll(a)).filter(function (e) {
                                             return e === t;
                                        });
                                   null !== a && s.length > 0 && ((this._selector = a), this._triggerArray.push(o));
                              }
                              (this._parent = this._config.parent ? this._getParent() : null), this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle();
                         }
                         var i = t.prototype;
                         return (
                              (i.toggle = function () {
                                   e(this._element).hasClass("show") ? this.hide() : this.show();
                              }),
                              (i.show = function () {
                                   var i,
                                        n,
                                        r = this;
                                   if (
                                        !(
                                             this._isTransitioning ||
                                             e(this._element).hasClass("show") ||
                                             (this._parent &&
                                                  0 ===
                                                       (i = [].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter(function (t) {
                                                            return "string" == typeof r._config.parent ? t.getAttribute("data-parent") === r._config.parent : t.classList.contains("collapse");
                                                       })).length &&
                                                  (i = null),
                                             i && (n = e(i).not(this._selector).data("bs.collapse")) && n._isTransitioning)
                                        )
                                   ) {
                                        var o = e.Event("show.bs.collapse");
                                        if ((e(this._element).trigger(o), !o.isDefaultPrevented())) {
                                             i && (t._jQueryInterface.call(e(i).not(this._selector), "hide"), n || e(i).data("bs.collapse", null));
                                             var a = this._getDimension();
                                             e(this._element).removeClass("collapse").addClass("collapsing"),
                                                  (this._element.style[a] = 0),
                                                  this._triggerArray.length && e(this._triggerArray).removeClass("collapsed").attr("aria-expanded", !0),
                                                  this.setTransitioning(!0);
                                             var s = "scroll" + (a[0].toUpperCase() + a.slice(1)),
                                                  l = c.getTransitionDurationFromElement(this._element);
                                             e(this._element)
                                                  .one(c.TRANSITION_END, function () {
                                                       e(r._element).removeClass("collapsing").addClass("collapse show"), (r._element.style[a] = ""), r.setTransitioning(!1), e(r._element).trigger("shown.bs.collapse");
                                                  })
                                                  .emulateTransitionEnd(l),
                                                  (this._element.style[a] = this._element[s] + "px");
                                        }
                                   }
                              }),
                              (i.hide = function () {
                                   var t = this;
                                   if (!this._isTransitioning && e(this._element).hasClass("show")) {
                                        var i = e.Event("hide.bs.collapse");
                                        if ((e(this._element).trigger(i), !i.isDefaultPrevented())) {
                                             var n = this._getDimension();
                                             (this._element.style[n] = this._element.getBoundingClientRect()[n] + "px"), c.reflow(this._element), e(this._element).addClass("collapsing").removeClass("collapse show");
                                             var r = this._triggerArray.length;
                                             if (r > 0)
                                                  for (var o = 0; o < r; o++) {
                                                       var a = this._triggerArray[o],
                                                            s = c.getSelectorFromElement(a);
                                                       null !== s && (e([].slice.call(document.querySelectorAll(s))).hasClass("show") || e(a).addClass("collapsed").attr("aria-expanded", !1));
                                                  }
                                             this.setTransitioning(!0), (this._element.style[n] = "");
                                             var l = c.getTransitionDurationFromElement(this._element);
                                             e(this._element)
                                                  .one(c.TRANSITION_END, function () {
                                                       t.setTransitioning(!1), e(t._element).removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse");
                                                  })
                                                  .emulateTransitionEnd(l);
                                        }
                                   }
                              }),
                              (i.setTransitioning = function (t) {
                                   this._isTransitioning = t;
                              }),
                              (i.dispose = function () {
                                   e.removeData(this._element, "bs.collapse"), (this._config = null), (this._parent = null), (this._element = null), (this._triggerArray = null), (this._isTransitioning = null);
                              }),
                              (i._getConfig = function (t) {
                                   return ((t = s(s({}, S), t)).toggle = Boolean(t.toggle)), c.typeCheckConfig(w, t, M), t;
                              }),
                              (i._getDimension = function () {
                                   return e(this._element).hasClass("width") ? "width" : "height";
                              }),
                              (i._getParent = function () {
                                   var i,
                                        n = this;
                                   c.isElement(this._config.parent) ? ((i = this._config.parent), void 0 !== this._config.parent.jquery && (i = this._config.parent[0])) : (i = document.querySelector(this._config.parent));
                                   var r = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]',
                                        o = [].slice.call(i.querySelectorAll(r));
                                   return (
                                        e(o).each(function (e, i) {
                                             n._addAriaAndCollapsedClass(t._getTargetFromElement(i), [i]);
                                        }),
                                        i
                                   );
                              }),
                              (i._addAriaAndCollapsedClass = function (t, i) {
                                   var n = e(t).hasClass("show");
                                   i.length && e(i).toggleClass("collapsed", !n).attr("aria-expanded", n);
                              }),
                              (t._getTargetFromElement = function (t) {
                                   var e = c.getSelectorFromElement(t);
                                   return e ? document.querySelector(e) : null;
                              }),
                              (t._jQueryInterface = function (i) {
                                   return this.each(function () {
                                        var n = e(this),
                                             r = n.data("bs.collapse"),
                                             o = s(s(s({}, S), n.data()), "object" == typeof i && i ? i : {});
                                        if ((!r && o.toggle && "string" == typeof i && /show|hide/.test(i) && (o.toggle = !1), r || ((r = new t(this, o)), n.data("bs.collapse", r)), "string" == typeof i)) {
                                             if (void 0 === r[i]) throw new TypeError('No method named "' + i + '"');
                                             r[i]();
                                        }
                                   });
                              }),
                              r(t, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                                   {
                                        key: "Default",
                                        get: function () {
                                             return S;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
               e(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function (t) {
                    "A" === t.currentTarget.tagName && t.preventDefault();
                    var i = e(this),
                         n = c.getSelectorFromElement(this),
                         r = [].slice.call(document.querySelectorAll(n));
                    e(r).each(function () {
                         var t = e(this),
                              n = t.data("bs.collapse") ? "toggle" : i.data();
                         T._jQueryInterface.call(t, n);
                    });
               }),
                    (e.fn[w] = T._jQueryInterface),
                    (e.fn[w].Constructor = T),
                    (e.fn[w].noConflict = function () {
                         return (e.fn[w] = k), T._jQueryInterface;
                    });
               var C = "dropdown",
                    D = e.fn[C],
                    L = new RegExp("38|40|27"),
                    E = { offset: 0, flip: !0, boundary: "scrollParent", reference: "toggle", display: "dynamic", popperConfig: null },
                    A = { offset: "(number|string|function)", flip: "boolean", boundary: "(string|element)", reference: "(string|element)", display: "string", popperConfig: "(null|object)" },
                    P = (function () {
                         function t(t, e) {
                              (this._element = t), (this._popper = null), (this._config = this._getConfig(e)), (this._menu = this._getMenuElement()), (this._inNavbar = this._detectNavbar()), this._addEventListeners();
                         }
                         var n = t.prototype;
                         return (
                              (n.toggle = function () {
                                   if (!this._element.disabled && !e(this._element).hasClass("disabled")) {
                                        var i = e(this._menu).hasClass("show");
                                        t._clearMenus(), i || this.show(!0);
                                   }
                              }),
                              (n.show = function (n) {
                                   if ((void 0 === n && (n = !1), !(this._element.disabled || e(this._element).hasClass("disabled") || e(this._menu).hasClass("show")))) {
                                        var r = { relatedTarget: this._element },
                                             o = e.Event("show.bs.dropdown", r),
                                             a = t._getParentFromElement(this._element);
                                        if ((e(a).trigger(o), !o.isDefaultPrevented())) {
                                             if (!this._inNavbar && n) {
                                                  if (void 0 === i) throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");
                                                  var s = this._element;
                                                  "parent" === this._config.reference
                                                       ? (s = a)
                                                       : c.isElement(this._config.reference) && ((s = this._config.reference), void 0 !== this._config.reference.jquery && (s = this._config.reference[0])),
                                                       "scrollParent" !== this._config.boundary && e(a).addClass("position-static"),
                                                       (this._popper = new i(s, this._menu, this._getPopperConfig()));
                                             }
                                             "ontouchstart" in document.documentElement && 0 === e(a).closest(".navbar-nav").length && e(document.body).children().on("mouseover", null, e.noop),
                                                  this._element.focus(),
                                                  this._element.setAttribute("aria-expanded", !0),
                                                  e(this._menu).toggleClass("show"),
                                                  e(a).toggleClass("show").trigger(e.Event("shown.bs.dropdown", r));
                                        }
                                   }
                              }),
                              (n.hide = function () {
                                   if (!this._element.disabled && !e(this._element).hasClass("disabled") && e(this._menu).hasClass("show")) {
                                        var i = { relatedTarget: this._element },
                                             n = e.Event("hide.bs.dropdown", i),
                                             r = t._getParentFromElement(this._element);
                                        e(r).trigger(n), n.isDefaultPrevented() || (this._popper && this._popper.destroy(), e(this._menu).toggleClass("show"), e(r).toggleClass("show").trigger(e.Event("hidden.bs.dropdown", i)));
                                   }
                              }),
                              (n.dispose = function () {
                                   e.removeData(this._element, "bs.dropdown"), e(this._element).off(".bs.dropdown"), (this._element = null), (this._menu = null), null !== this._popper && (this._popper.destroy(), (this._popper = null));
                              }),
                              (n.update = function () {
                                   (this._inNavbar = this._detectNavbar()), null !== this._popper && this._popper.scheduleUpdate();
                              }),
                              (n._addEventListeners = function () {
                                   var t = this;
                                   e(this._element).on("click.bs.dropdown", function (e) {
                                        e.preventDefault(), e.stopPropagation(), t.toggle();
                                   });
                              }),
                              (n._getConfig = function (t) {
                                   return (t = s(s(s({}, this.constructor.Default), e(this._element).data()), t)), c.typeCheckConfig(C, t, this.constructor.DefaultType), t;
                              }),
                              (n._getMenuElement = function () {
                                   if (!this._menu) {
                                        var e = t._getParentFromElement(this._element);
                                        e && (this._menu = e.querySelector(".dropdown-menu"));
                                   }
                                   return this._menu;
                              }),
                              (n._getPlacement = function () {
                                   var t = e(this._element.parentNode),
                                        i = "bottom-start";
                                   return (
                                        t.hasClass("dropup")
                                             ? (i = e(this._menu).hasClass("dropdown-menu-right") ? "top-end" : "top-start")
                                             : t.hasClass("dropright")
                                             ? (i = "right-start")
                                             : t.hasClass("dropleft")
                                             ? (i = "left-start")
                                             : e(this._menu).hasClass("dropdown-menu-right") && (i = "bottom-end"),
                                        i
                                   );
                              }),
                              (n._detectNavbar = function () {
                                   return e(this._element).closest(".navbar").length > 0;
                              }),
                              (n._getOffset = function () {
                                   var t = this,
                                        e = {};
                                   return (
                                        "function" == typeof this._config.offset
                                             ? (e.fn = function (e) {
                                                    return (e.offsets = s(s({}, e.offsets), t._config.offset(e.offsets, t._element) || {})), e;
                                               })
                                             : (e.offset = this._config.offset),
                                        e
                                   );
                              }),
                              (n._getPopperConfig = function () {
                                   var t = { placement: this._getPlacement(), modifiers: { offset: this._getOffset(), flip: { enabled: this._config.flip }, preventOverflow: { boundariesElement: this._config.boundary } } };
                                   return "static" === this._config.display && (t.modifiers.applyStyle = { enabled: !1 }), s(s({}, t), this._config.popperConfig);
                              }),
                              (t._jQueryInterface = function (i) {
                                   return this.each(function () {
                                        var n = e(this).data("bs.dropdown");
                                        if ((n || ((n = new t(this, "object" == typeof i ? i : null)), e(this).data("bs.dropdown", n)), "string" == typeof i)) {
                                             if (void 0 === n[i]) throw new TypeError('No method named "' + i + '"');
                                             n[i]();
                                        }
                                   });
                              }),
                              (t._clearMenus = function (i) {
                                   if (!i || (3 !== i.which && ("keyup" !== i.type || 9 === i.which)))
                                        for (var n = [].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')), r = 0, o = n.length; r < o; r++) {
                                             var a = t._getParentFromElement(n[r]),
                                                  s = e(n[r]).data("bs.dropdown"),
                                                  l = { relatedTarget: n[r] };
                                             if ((i && "click" === i.type && (l.clickEvent = i), s)) {
                                                  var c = s._menu;
                                                  if (e(a).hasClass("show") && !(i && (("click" === i.type && /input|textarea/i.test(i.target.tagName)) || ("keyup" === i.type && 9 === i.which)) && e.contains(a, i.target))) {
                                                       var u = e.Event("hide.bs.dropdown", l);
                                                       e(a).trigger(u),
                                                            u.isDefaultPrevented() ||
                                                                 ("ontouchstart" in document.documentElement && e(document.body).children().off("mouseover", null, e.noop),
                                                                 n[r].setAttribute("aria-expanded", "false"),
                                                                 s._popper && s._popper.destroy(),
                                                                 e(c).removeClass("show"),
                                                                 e(a).removeClass("show").trigger(e.Event("hidden.bs.dropdown", l)));
                                                  }
                                             }
                                        }
                              }),
                              (t._getParentFromElement = function (t) {
                                   var e,
                                        i = c.getSelectorFromElement(t);
                                   return i && (e = document.querySelector(i)), e || t.parentNode;
                              }),
                              (t._dataApiKeydownHandler = function (i) {
                                   if (
                                        !(/input|textarea/i.test(i.target.tagName) ? 32 === i.which || (27 !== i.which && ((40 !== i.which && 38 !== i.which) || e(i.target).closest(".dropdown-menu").length)) : !L.test(i.which)) &&
                                        !this.disabled &&
                                        !e(this).hasClass("disabled")
                                   ) {
                                        var n = t._getParentFromElement(this),
                                             r = e(n).hasClass("show");
                                        if (r || 27 !== i.which) {
                                             if ((i.preventDefault(), i.stopPropagation(), !r || (r && (27 === i.which || 32 === i.which))))
                                                  return 27 === i.which && e(n.querySelector('[data-toggle="dropdown"]')).trigger("focus"), void e(this).trigger("click");
                                             var o = [].slice.call(n.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter(function (t) {
                                                  return e(t).is(":visible");
                                             });
                                             if (0 !== o.length) {
                                                  var a = o.indexOf(i.target);
                                                  38 === i.which && a > 0 && a--, 40 === i.which && a < o.length - 1 && a++, a < 0 && (a = 0), o[a].focus();
                                             }
                                        }
                                   }
                              }),
                              r(t, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                                   {
                                        key: "Default",
                                        get: function () {
                                             return E;
                                        },
                                   },
                                   {
                                        key: "DefaultType",
                                        get: function () {
                                             return A;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
               e(document)
                    .on("keydown.bs.dropdown.data-api", '[data-toggle="dropdown"]', P._dataApiKeydownHandler)
                    .on("keydown.bs.dropdown.data-api", ".dropdown-menu", P._dataApiKeydownHandler)
                    .on("click.bs.dropdown.data-api keyup.bs.dropdown.data-api", P._clearMenus)
                    .on("click.bs.dropdown.data-api", '[data-toggle="dropdown"]', function (t) {
                         t.preventDefault(), t.stopPropagation(), P._jQueryInterface.call(e(this), "toggle");
                    })
                    .on("click.bs.dropdown.data-api", ".dropdown form", function (t) {
                         t.stopPropagation();
                    }),
                    (e.fn[C] = P._jQueryInterface),
                    (e.fn[C].Constructor = P),
                    (e.fn[C].noConflict = function () {
                         return (e.fn[C] = D), P._jQueryInterface;
                    });
               var I = e.fn.modal,
                    O = { backdrop: !0, keyboard: !0, focus: !0, show: !0 },
                    Y = { backdrop: "(boolean|string)", keyboard: "boolean", focus: "boolean", show: "boolean" },
                    z = (function () {
                         function t(t, e) {
                              (this._config = this._getConfig(e)),
                                   (this._element = t),
                                   (this._dialog = t.querySelector(".modal-dialog")),
                                   (this._backdrop = null),
                                   (this._isShown = !1),
                                   (this._isBodyOverflowing = !1),
                                   (this._ignoreBackdropClick = !1),
                                   (this._isTransitioning = !1),
                                   (this._scrollbarWidth = 0);
                         }
                         var i = t.prototype;
                         return (
                              (i.toggle = function (t) {
                                   return this._isShown ? this.hide() : this.show(t);
                              }),
                              (i.show = function (t) {
                                   var i = this;
                                   if (!this._isShown && !this._isTransitioning) {
                                        e(this._element).hasClass("fade") && (this._isTransitioning = !0);
                                        var n = e.Event("show.bs.modal", { relatedTarget: t });
                                        e(this._element).trigger(n),
                                             this._isShown ||
                                                  n.isDefaultPrevented() ||
                                                  ((this._isShown = !0),
                                                  this._checkScrollbar(),
                                                  this._setScrollbar(),
                                                  this._adjustDialog(),
                                                  this._setEscapeEvent(),
                                                  this._setResizeEvent(),
                                                  e(this._element).on("click.dismiss.bs.modal", '[data-dismiss="modal"]', function (t) {
                                                       return i.hide(t);
                                                  }),
                                                  e(this._dialog).on("mousedown.dismiss.bs.modal", function () {
                                                       e(i._element).one("mouseup.dismiss.bs.modal", function (t) {
                                                            e(t.target).is(i._element) && (i._ignoreBackdropClick = !0);
                                                       });
                                                  }),
                                                  this._showBackdrop(function () {
                                                       return i._showElement(t);
                                                  }));
                                   }
                              }),
                              (i.hide = function (t) {
                                   var i = this;
                                   if ((t && t.preventDefault(), this._isShown && !this._isTransitioning)) {
                                        var n = e.Event("hide.bs.modal");
                                        if ((e(this._element).trigger(n), this._isShown && !n.isDefaultPrevented())) {
                                             this._isShown = !1;
                                             var r = e(this._element).hasClass("fade");
                                             if (
                                                  (r && (this._isTransitioning = !0),
                                                  this._setEscapeEvent(),
                                                  this._setResizeEvent(),
                                                  e(document).off("focusin.bs.modal"),
                                                  e(this._element).removeClass("show"),
                                                  e(this._element).off("click.dismiss.bs.modal"),
                                                  e(this._dialog).off("mousedown.dismiss.bs.modal"),
                                                  r)
                                             ) {
                                                  var o = c.getTransitionDurationFromElement(this._element);
                                                  e(this._element)
                                                       .one(c.TRANSITION_END, function (t) {
                                                            return i._hideModal(t);
                                                       })
                                                       .emulateTransitionEnd(o);
                                             } else this._hideModal();
                                        }
                                   }
                              }),
                              (i.dispose = function () {
                                   [window, this._element, this._dialog].forEach(function (t) {
                                        return e(t).off(".bs.modal");
                                   }),
                                        e(document).off("focusin.bs.modal"),
                                        e.removeData(this._element, "bs.modal"),
                                        (this._config = null),
                                        (this._element = null),
                                        (this._dialog = null),
                                        (this._backdrop = null),
                                        (this._isShown = null),
                                        (this._isBodyOverflowing = null),
                                        (this._ignoreBackdropClick = null),
                                        (this._isTransitioning = null),
                                        (this._scrollbarWidth = null);
                              }),
                              (i.handleUpdate = function () {
                                   this._adjustDialog();
                              }),
                              (i._getConfig = function (t) {
                                   return (t = s(s({}, O), t)), c.typeCheckConfig("modal", t, Y), t;
                              }),
                              (i._triggerBackdropTransition = function () {
                                   var t = this;
                                   if ("static" === this._config.backdrop) {
                                        var i = e.Event("hidePrevented.bs.modal");
                                        if ((e(this._element).trigger(i), i.defaultPrevented)) return;
                                        this._element.classList.add("modal-static");
                                        var n = c.getTransitionDurationFromElement(this._element);
                                        e(this._element)
                                             .one(c.TRANSITION_END, function () {
                                                  t._element.classList.remove("modal-static");
                                             })
                                             .emulateTransitionEnd(n),
                                             this._element.focus();
                                   } else this.hide();
                              }),
                              (i._showElement = function (t) {
                                   var i = this,
                                        n = e(this._element).hasClass("fade"),
                                        r = this._dialog ? this._dialog.querySelector(".modal-body") : null;
                                   (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE) || document.body.appendChild(this._element),
                                        (this._element.style.display = "block"),
                                        this._element.removeAttribute("aria-hidden"),
                                        this._element.setAttribute("aria-modal", !0),
                                        e(this._dialog).hasClass("modal-dialog-scrollable") && r ? (r.scrollTop = 0) : (this._element.scrollTop = 0),
                                        n && c.reflow(this._element),
                                        e(this._element).addClass("show"),
                                        this._config.focus && this._enforceFocus();
                                   var o = e.Event("shown.bs.modal", { relatedTarget: t }),
                                        a = function () {
                                             i._config.focus && i._element.focus(), (i._isTransitioning = !1), e(i._element).trigger(o);
                                        };
                                   if (n) {
                                        var s = c.getTransitionDurationFromElement(this._dialog);
                                        e(this._dialog).one(c.TRANSITION_END, a).emulateTransitionEnd(s);
                                   } else a();
                              }),
                              (i._enforceFocus = function () {
                                   var t = this;
                                   e(document)
                                        .off("focusin.bs.modal")
                                        .on("focusin.bs.modal", function (i) {
                                             document !== i.target && t._element !== i.target && 0 === e(t._element).has(i.target).length && t._element.focus();
                                        });
                              }),
                              (i._setEscapeEvent = function () {
                                   var t = this;
                                   this._isShown
                                        ? e(this._element).on("keydown.dismiss.bs.modal", function (e) {
                                               t._config.keyboard && 27 === e.which ? (e.preventDefault(), t.hide()) : t._config.keyboard || 27 !== e.which || t._triggerBackdropTransition();
                                          })
                                        : this._isShown || e(this._element).off("keydown.dismiss.bs.modal");
                              }),
                              (i._setResizeEvent = function () {
                                   var t = this;
                                   this._isShown
                                        ? e(window).on("resize.bs.modal", function (e) {
                                               return t.handleUpdate(e);
                                          })
                                        : e(window).off("resize.bs.modal");
                              }),
                              (i._hideModal = function () {
                                   var t = this;
                                   (this._element.style.display = "none"),
                                        this._element.setAttribute("aria-hidden", !0),
                                        this._element.removeAttribute("aria-modal"),
                                        (this._isTransitioning = !1),
                                        this._showBackdrop(function () {
                                             e(document.body).removeClass("modal-open"), t._resetAdjustments(), t._resetScrollbar(), e(t._element).trigger("hidden.bs.modal");
                                        });
                              }),
                              (i._removeBackdrop = function () {
                                   this._backdrop && (e(this._backdrop).remove(), (this._backdrop = null));
                              }),
                              (i._showBackdrop = function (t) {
                                   var i = this,
                                        n = e(this._element).hasClass("fade") ? "fade" : "";
                                   if (this._isShown && this._config.backdrop) {
                                        if (
                                             ((this._backdrop = document.createElement("div")),
                                             (this._backdrop.className = "modal-backdrop"),
                                             n && this._backdrop.classList.add(n),
                                             e(this._backdrop).appendTo(document.body),
                                             e(this._element).on("click.dismiss.bs.modal", function (t) {
                                                  i._ignoreBackdropClick ? (i._ignoreBackdropClick = !1) : t.target === t.currentTarget && i._triggerBackdropTransition();
                                             }),
                                             n && c.reflow(this._backdrop),
                                             e(this._backdrop).addClass("show"),
                                             !t)
                                        )
                                             return;
                                        if (!n) return void t();
                                        var r = c.getTransitionDurationFromElement(this._backdrop);
                                        e(this._backdrop).one(c.TRANSITION_END, t).emulateTransitionEnd(r);
                                   } else if (!this._isShown && this._backdrop) {
                                        e(this._backdrop).removeClass("show");
                                        var o = function () {
                                             i._removeBackdrop(), t && t();
                                        };
                                        if (e(this._element).hasClass("fade")) {
                                             var a = c.getTransitionDurationFromElement(this._backdrop);
                                             e(this._backdrop).one(c.TRANSITION_END, o).emulateTransitionEnd(a);
                                        } else o();
                                   } else t && t();
                              }),
                              (i._adjustDialog = function () {
                                   var t = this._element.scrollHeight > document.documentElement.clientHeight;
                                   !this._isBodyOverflowing && t && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !t && (this._element.style.paddingRight = this._scrollbarWidth + "px");
                              }),
                              (i._resetAdjustments = function () {
                                   (this._element.style.paddingLeft = ""), (this._element.style.paddingRight = "");
                              }),
                              (i._checkScrollbar = function () {
                                   var t = document.body.getBoundingClientRect();
                                   (this._isBodyOverflowing = Math.round(t.left + t.right) < window.innerWidth), (this._scrollbarWidth = this._getScrollbarWidth());
                              }),
                              (i._setScrollbar = function () {
                                   var t = this;
                                   if (this._isBodyOverflowing) {
                                        var i = [].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")),
                                             n = [].slice.call(document.querySelectorAll(".sticky-top"));
                                        e(i).each(function (i, n) {
                                             var r = n.style.paddingRight,
                                                  o = e(n).css("padding-right");
                                             e(n)
                                                  .data("padding-right", r)
                                                  .css("padding-right", parseFloat(o) + t._scrollbarWidth + "px");
                                        }),
                                             e(n).each(function (i, n) {
                                                  var r = n.style.marginRight,
                                                       o = e(n).css("margin-right");
                                                  e(n)
                                                       .data("margin-right", r)
                                                       .css("margin-right", parseFloat(o) - t._scrollbarWidth + "px");
                                             });
                                        var r = document.body.style.paddingRight,
                                             o = e(document.body).css("padding-right");
                                        e(document.body)
                                             .data("padding-right", r)
                                             .css("padding-right", parseFloat(o) + this._scrollbarWidth + "px");
                                   }
                                   e(document.body).addClass("modal-open");
                              }),
                              (i._resetScrollbar = function () {
                                   var t = [].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"));
                                   e(t).each(function (t, i) {
                                        var n = e(i).data("padding-right");
                                        e(i).removeData("padding-right"), (i.style.paddingRight = n || "");
                                   });
                                   var i = [].slice.call(document.querySelectorAll(".sticky-top"));
                                   e(i).each(function (t, i) {
                                        var n = e(i).data("margin-right");
                                        void 0 !== n && e(i).css("margin-right", n).removeData("margin-right");
                                   });
                                   var n = e(document.body).data("padding-right");
                                   e(document.body).removeData("padding-right"), (document.body.style.paddingRight = n || "");
                              }),
                              (i._getScrollbarWidth = function () {
                                   var t = document.createElement("div");
                                   (t.className = "modal-scrollbar-measure"), document.body.appendChild(t);
                                   var e = t.getBoundingClientRect().width - t.clientWidth;
                                   return document.body.removeChild(t), e;
                              }),
                              (t._jQueryInterface = function (i, n) {
                                   return this.each(function () {
                                        var r = e(this).data("bs.modal"),
                                             o = s(s(s({}, O), e(this).data()), "object" == typeof i && i ? i : {});
                                        if ((r || ((r = new t(this, o)), e(this).data("bs.modal", r)), "string" == typeof i)) {
                                             if (void 0 === r[i]) throw new TypeError('No method named "' + i + '"');
                                             r[i](n);
                                        } else o.show && r.show(n);
                                   });
                              }),
                              r(t, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                                   {
                                        key: "Default",
                                        get: function () {
                                             return O;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
               e(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function (t) {
                    var i,
                         n = this,
                         r = c.getSelectorFromElement(this);
                    r && (i = document.querySelector(r));
                    var o = e(i).data("bs.modal") ? "toggle" : s(s({}, e(i).data()), e(this).data());
                    ("A" !== this.tagName && "AREA" !== this.tagName) || t.preventDefault();
                    var a = e(i).one("show.bs.modal", function (t) {
                         t.isDefaultPrevented() ||
                              a.one("hidden.bs.modal", function () {
                                   e(n).is(":visible") && n.focus();
                              });
                    });
                    z._jQueryInterface.call(e(i), o, this);
               }),
                    (e.fn.modal = z._jQueryInterface),
                    (e.fn.modal.Constructor = z),
                    (e.fn.modal.noConflict = function () {
                         return (e.fn.modal = I), z._jQueryInterface;
                    });
               var R = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"],
                    F = {
                         "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
                         a: ["target", "href", "title", "rel"],
                         area: [],
                         b: [],
                         br: [],
                         col: [],
                         code: [],
                         div: [],
                         em: [],
                         hr: [],
                         h1: [],
                         h2: [],
                         h3: [],
                         h4: [],
                         h5: [],
                         h6: [],
                         i: [],
                         img: ["src", "srcset", "alt", "title", "width", "height"],
                         li: [],
                         ol: [],
                         p: [],
                         pre: [],
                         s: [],
                         small: [],
                         span: [],
                         sub: [],
                         sup: [],
                         strong: [],
                         u: [],
                         ul: [],
                    },
                    H = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,
                    j = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
               function N(t, e, i) {
                    if (0 === t.length) return t;
                    if (i && "function" == typeof i) return i(t);
                    for (
                         var n = new window.DOMParser().parseFromString(t, "text/html"),
                              r = Object.keys(e),
                              o = [].slice.call(n.body.querySelectorAll("*")),
                              a = function (t, i) {
                                   var n = o[t],
                                        a = n.nodeName.toLowerCase();
                                   if (-1 === r.indexOf(n.nodeName.toLowerCase())) return n.parentNode.removeChild(n), "continue";
                                   var s = [].slice.call(n.attributes),
                                        l = [].concat(e["*"] || [], e[a] || []);
                                   s.forEach(function (t) {
                                        (function (t, e) {
                                             var i = t.nodeName.toLowerCase();
                                             if (-1 !== e.indexOf(i)) return -1 === R.indexOf(i) || Boolean(t.nodeValue.match(H) || t.nodeValue.match(j));
                                             for (
                                                  var n = e.filter(function (t) {
                                                            return t instanceof RegExp;
                                                       }),
                                                       r = 0,
                                                       o = n.length;
                                                  r < o;
                                                  r++
                                             )
                                                  if (i.match(n[r])) return !0;
                                             return !1;
                                        })(t, l) || n.removeAttribute(t.nodeName);
                                   });
                              },
                              s = 0,
                              l = o.length;
                         s < l;
                         s++
                    )
                         a(s);
                    return n.body.innerHTML;
               }
               var B = "tooltip",
                    W = e.fn[B],
                    V = new RegExp("(^|\\s)bs-tooltip\\S+", "g"),
                    U = ["sanitize", "whiteList", "sanitizeFn"],
                    q = {
                         animation: "boolean",
                         template: "string",
                         title: "(string|element|function)",
                         trigger: "string",
                         delay: "(number|object)",
                         html: "boolean",
                         selector: "(string|boolean)",
                         placement: "(string|function)",
                         offset: "(number|string|function)",
                         container: "(string|element|boolean)",
                         fallbackPlacement: "(string|array)",
                         boundary: "(string|element)",
                         sanitize: "boolean",
                         sanitizeFn: "(null|function)",
                         whiteList: "object",
                         popperConfig: "(null|object)",
                    },
                    $ = { AUTO: "auto", TOP: "top", RIGHT: "right", BOTTOM: "bottom", LEFT: "left" },
                    X = {
                         animation: !0,
                         template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
                         trigger: "hover focus",
                         title: "",
                         delay: 0,
                         html: !1,
                         selector: !1,
                         placement: "top",
                         offset: 0,
                         container: !1,
                         fallbackPlacement: "flip",
                         boundary: "scrollParent",
                         sanitize: !0,
                         sanitizeFn: null,
                         whiteList: F,
                         popperConfig: null,
                    },
                    G = {
                         HIDE: "hide.bs.tooltip",
                         HIDDEN: "hidden.bs.tooltip",
                         SHOW: "show.bs.tooltip",
                         SHOWN: "shown.bs.tooltip",
                         INSERTED: "inserted.bs.tooltip",
                         CLICK: "click.bs.tooltip",
                         FOCUSIN: "focusin.bs.tooltip",
                         FOCUSOUT: "focusout.bs.tooltip",
                         MOUSEENTER: "mouseenter.bs.tooltip",
                         MOUSELEAVE: "mouseleave.bs.tooltip",
                    },
                    Z = (function () {
                         function t(t, e) {
                              if (void 0 === i) throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");
                              (this._isEnabled = !0),
                                   (this._timeout = 0),
                                   (this._hoverState = ""),
                                   (this._activeTrigger = {}),
                                   (this._popper = null),
                                   (this.element = t),
                                   (this.config = this._getConfig(e)),
                                   (this.tip = null),
                                   this._setListeners();
                         }
                         var n = t.prototype;
                         return (
                              (n.enable = function () {
                                   this._isEnabled = !0;
                              }),
                              (n.disable = function () {
                                   this._isEnabled = !1;
                              }),
                              (n.toggleEnabled = function () {
                                   this._isEnabled = !this._isEnabled;
                              }),
                              (n.toggle = function (t) {
                                   if (this._isEnabled)
                                        if (t) {
                                             var i = this.constructor.DATA_KEY,
                                                  n = e(t.currentTarget).data(i);
                                             n || ((n = new this.constructor(t.currentTarget, this._getDelegateConfig())), e(t.currentTarget).data(i, n)),
                                                  (n._activeTrigger.click = !n._activeTrigger.click),
                                                  n._isWithActiveTrigger() ? n._enter(null, n) : n._leave(null, n);
                                        } else {
                                             if (e(this.getTipElement()).hasClass("show")) return void this._leave(null, this);
                                             this._enter(null, this);
                                        }
                              }),
                              (n.dispose = function () {
                                   clearTimeout(this._timeout),
                                        e.removeData(this.element, this.constructor.DATA_KEY),
                                        e(this.element).off(this.constructor.EVENT_KEY),
                                        e(this.element).closest(".modal").off("hide.bs.modal", this._hideModalHandler),
                                        this.tip && e(this.tip).remove(),
                                        (this._isEnabled = null),
                                        (this._timeout = null),
                                        (this._hoverState = null),
                                        (this._activeTrigger = null),
                                        this._popper && this._popper.destroy(),
                                        (this._popper = null),
                                        (this.element = null),
                                        (this.config = null),
                                        (this.tip = null);
                              }),
                              (n.show = function () {
                                   var t = this;
                                   if ("none" === e(this.element).css("display")) throw new Error("Please use show on visible elements");
                                   var n = e.Event(this.constructor.Event.SHOW);
                                   if (this.isWithContent() && this._isEnabled) {
                                        e(this.element).trigger(n);
                                        var r = c.findShadowRoot(this.element),
                                             o = e.contains(null !== r ? r : this.element.ownerDocument.documentElement, this.element);
                                        if (n.isDefaultPrevented() || !o) return;
                                        var a = this.getTipElement(),
                                             s = c.getUID(this.constructor.NAME);
                                        a.setAttribute("id", s), this.element.setAttribute("aria-describedby", s), this.setContent(), this.config.animation && e(a).addClass("fade");
                                        var l = "function" == typeof this.config.placement ? this.config.placement.call(this, a, this.element) : this.config.placement,
                                             u = this._getAttachment(l);
                                        this.addAttachmentClass(u);
                                        var h = this._getContainer();
                                        e(a).data(this.constructor.DATA_KEY, this),
                                             e.contains(this.element.ownerDocument.documentElement, this.tip) || e(a).appendTo(h),
                                             e(this.element).trigger(this.constructor.Event.INSERTED),
                                             (this._popper = new i(this.element, a, this._getPopperConfig(u))),
                                             e(a).addClass("show"),
                                             "ontouchstart" in document.documentElement && e(document.body).children().on("mouseover", null, e.noop);
                                        var d = function () {
                                             t.config.animation && t._fixTransition();
                                             var i = t._hoverState;
                                             (t._hoverState = null), e(t.element).trigger(t.constructor.Event.SHOWN), "out" === i && t._leave(null, t);
                                        };
                                        if (e(this.tip).hasClass("fade")) {
                                             var p = c.getTransitionDurationFromElement(this.tip);
                                             e(this.tip).one(c.TRANSITION_END, d).emulateTransitionEnd(p);
                                        } else d();
                                   }
                              }),
                              (n.hide = function (t) {
                                   var i = this,
                                        n = this.getTipElement(),
                                        r = e.Event(this.constructor.Event.HIDE),
                                        o = function () {
                                             "show" !== i._hoverState && n.parentNode && n.parentNode.removeChild(n),
                                                  i._cleanTipClass(),
                                                  i.element.removeAttribute("aria-describedby"),
                                                  e(i.element).trigger(i.constructor.Event.HIDDEN),
                                                  null !== i._popper && i._popper.destroy(),
                                                  t && t();
                                        };
                                   if ((e(this.element).trigger(r), !r.isDefaultPrevented())) {
                                        if (
                                             (e(n).removeClass("show"),
                                             "ontouchstart" in document.documentElement && e(document.body).children().off("mouseover", null, e.noop),
                                             (this._activeTrigger.click = !1),
                                             (this._activeTrigger.focus = !1),
                                             (this._activeTrigger.hover = !1),
                                             e(this.tip).hasClass("fade"))
                                        ) {
                                             var a = c.getTransitionDurationFromElement(n);
                                             e(n).one(c.TRANSITION_END, o).emulateTransitionEnd(a);
                                        } else o();
                                        this._hoverState = "";
                                   }
                              }),
                              (n.update = function () {
                                   null !== this._popper && this._popper.scheduleUpdate();
                              }),
                              (n.isWithContent = function () {
                                   return Boolean(this.getTitle());
                              }),
                              (n.addAttachmentClass = function (t) {
                                   e(this.getTipElement()).addClass("bs-tooltip-" + t);
                              }),
                              (n.getTipElement = function () {
                                   return (this.tip = this.tip || e(this.config.template)[0]), this.tip;
                              }),
                              (n.setContent = function () {
                                   var t = this.getTipElement();
                                   this.setElementContent(e(t.querySelectorAll(".tooltip-inner")), this.getTitle()), e(t).removeClass("fade show");
                              }),
                              (n.setElementContent = function (t, i) {
                                   "object" != typeof i || (!i.nodeType && !i.jquery)
                                        ? this.config.html
                                             ? (this.config.sanitize && (i = N(i, this.config.whiteList, this.config.sanitizeFn)), t.html(i))
                                             : t.text(i)
                                        : this.config.html
                                        ? e(i).parent().is(t) || t.empty().append(i)
                                        : t.text(e(i).text());
                              }),
                              (n.getTitle = function () {
                                   var t = this.element.getAttribute("data-original-title");
                                   return t || (t = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), t;
                              }),
                              (n._getPopperConfig = function (t) {
                                   var e = this;
                                   return s(
                                        s(
                                             {},
                                             {
                                                  placement: t,
                                                  modifiers: { offset: this._getOffset(), flip: { behavior: this.config.fallbackPlacement }, arrow: { element: ".arrow" }, preventOverflow: { boundariesElement: this.config.boundary } },
                                                  onCreate: function (t) {
                                                       t.originalPlacement !== t.placement && e._handlePopperPlacementChange(t);
                                                  },
                                                  onUpdate: function (t) {
                                                       return e._handlePopperPlacementChange(t);
                                                  },
                                             }
                                        ),
                                        this.config.popperConfig
                                   );
                              }),
                              (n._getOffset = function () {
                                   var t = this,
                                        e = {};
                                   return (
                                        "function" == typeof this.config.offset
                                             ? (e.fn = function (e) {
                                                    return (e.offsets = s(s({}, e.offsets), t.config.offset(e.offsets, t.element) || {})), e;
                                               })
                                             : (e.offset = this.config.offset),
                                        e
                                   );
                              }),
                              (n._getContainer = function () {
                                   return !1 === this.config.container ? document.body : c.isElement(this.config.container) ? e(this.config.container) : e(document).find(this.config.container);
                              }),
                              (n._getAttachment = function (t) {
                                   return $[t.toUpperCase()];
                              }),
                              (n._setListeners = function () {
                                   var t = this;
                                   this.config.trigger.split(" ").forEach(function (i) {
                                        if ("click" === i)
                                             e(t.element).on(t.constructor.Event.CLICK, t.config.selector, function (e) {
                                                  return t.toggle(e);
                                             });
                                        else if ("manual" !== i) {
                                             var n = "hover" === i ? t.constructor.Event.MOUSEENTER : t.constructor.Event.FOCUSIN,
                                                  r = "hover" === i ? t.constructor.Event.MOUSELEAVE : t.constructor.Event.FOCUSOUT;
                                             e(t.element)
                                                  .on(n, t.config.selector, function (e) {
                                                       return t._enter(e);
                                                  })
                                                  .on(r, t.config.selector, function (e) {
                                                       return t._leave(e);
                                                  });
                                        }
                                   }),
                                        (this._hideModalHandler = function () {
                                             t.element && t.hide();
                                        }),
                                        e(this.element).closest(".modal").on("hide.bs.modal", this._hideModalHandler),
                                        this.config.selector ? (this.config = s(s({}, this.config), {}, { trigger: "manual", selector: "" })) : this._fixTitle();
                              }),
                              (n._fixTitle = function () {
                                   var t = typeof this.element.getAttribute("data-original-title");
                                   (this.element.getAttribute("title") || "string" !== t) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", ""));
                              }),
                              (n._enter = function (t, i) {
                                   var n = this.constructor.DATA_KEY;
                                   (i = i || e(t.currentTarget).data(n)) || ((i = new this.constructor(t.currentTarget, this._getDelegateConfig())), e(t.currentTarget).data(n, i)),
                                        t && (i._activeTrigger["focusin" === t.type ? "focus" : "hover"] = !0),
                                        e(i.getTipElement()).hasClass("show") || "show" === i._hoverState
                                             ? (i._hoverState = "show")
                                             : (clearTimeout(i._timeout),
                                               (i._hoverState = "show"),
                                               i.config.delay && i.config.delay.show
                                                    ? (i._timeout = setTimeout(function () {
                                                           "show" === i._hoverState && i.show();
                                                      }, i.config.delay.show))
                                                    : i.show());
                              }),
                              (n._leave = function (t, i) {
                                   var n = this.constructor.DATA_KEY;
                                   (i = i || e(t.currentTarget).data(n)) || ((i = new this.constructor(t.currentTarget, this._getDelegateConfig())), e(t.currentTarget).data(n, i)),
                                        t && (i._activeTrigger["focusout" === t.type ? "focus" : "hover"] = !1),
                                        i._isWithActiveTrigger() ||
                                             (clearTimeout(i._timeout),
                                             (i._hoverState = "out"),
                                             i.config.delay && i.config.delay.hide
                                                  ? (i._timeout = setTimeout(function () {
                                                         "out" === i._hoverState && i.hide();
                                                    }, i.config.delay.hide))
                                                  : i.hide());
                              }),
                              (n._isWithActiveTrigger = function () {
                                   for (var t in this._activeTrigger) if (this._activeTrigger[t]) return !0;
                                   return !1;
                              }),
                              (n._getConfig = function (t) {
                                   var i = e(this.element).data();
                                   return (
                                        Object.keys(i).forEach(function (t) {
                                             -1 !== U.indexOf(t) && delete i[t];
                                        }),
                                        "number" == typeof (t = s(s(s({}, this.constructor.Default), i), "object" == typeof t && t ? t : {})).delay && (t.delay = { show: t.delay, hide: t.delay }),
                                        "number" == typeof t.title && (t.title = t.title.toString()),
                                        "number" == typeof t.content && (t.content = t.content.toString()),
                                        c.typeCheckConfig(B, t, this.constructor.DefaultType),
                                        t.sanitize && (t.template = N(t.template, t.whiteList, t.sanitizeFn)),
                                        t
                                   );
                              }),
                              (n._getDelegateConfig = function () {
                                   var t = {};
                                   if (this.config) for (var e in this.config) this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]);
                                   return t;
                              }),
                              (n._cleanTipClass = function () {
                                   var t = e(this.getTipElement()),
                                        i = t.attr("class").match(V);
                                   null !== i && i.length && t.removeClass(i.join(""));
                              }),
                              (n._handlePopperPlacementChange = function (t) {
                                   (this.tip = t.instance.popper), this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(t.placement));
                              }),
                              (n._fixTransition = function () {
                                   var t = this.getTipElement(),
                                        i = this.config.animation;
                                   null === t.getAttribute("x-placement") && (e(t).removeClass("fade"), (this.config.animation = !1), this.hide(), this.show(), (this.config.animation = i));
                              }),
                              (t._jQueryInterface = function (i) {
                                   return this.each(function () {
                                        var n = e(this).data("bs.tooltip"),
                                             r = "object" == typeof i && i;
                                        if ((n || !/dispose|hide/.test(i)) && (n || ((n = new t(this, r)), e(this).data("bs.tooltip", n)), "string" == typeof i)) {
                                             if (void 0 === n[i]) throw new TypeError('No method named "' + i + '"');
                                             n[i]();
                                        }
                                   });
                              }),
                              r(t, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                                   {
                                        key: "Default",
                                        get: function () {
                                             return X;
                                        },
                                   },
                                   {
                                        key: "NAME",
                                        get: function () {
                                             return B;
                                        },
                                   },
                                   {
                                        key: "DATA_KEY",
                                        get: function () {
                                             return "bs.tooltip";
                                        },
                                   },
                                   {
                                        key: "Event",
                                        get: function () {
                                             return G;
                                        },
                                   },
                                   {
                                        key: "EVENT_KEY",
                                        get: function () {
                                             return ".bs.tooltip";
                                        },
                                   },
                                   {
                                        key: "DefaultType",
                                        get: function () {
                                             return q;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
               (e.fn[B] = Z._jQueryInterface),
                    (e.fn[B].Constructor = Z),
                    (e.fn[B].noConflict = function () {
                         return (e.fn[B] = W), Z._jQueryInterface;
                    });
               var J = "popover",
                    K = e.fn[J],
                    Q = new RegExp("(^|\\s)bs-popover\\S+", "g"),
                    tt = s(
                         s({}, Z.Default),
                         {},
                         { placement: "right", trigger: "click", content: "", template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' }
                    ),
                    et = s(s({}, Z.DefaultType), {}, { content: "(string|element|function)" }),
                    it = {
                         HIDE: "hide.bs.popover",
                         HIDDEN: "hidden.bs.popover",
                         SHOW: "show.bs.popover",
                         SHOWN: "shown.bs.popover",
                         INSERTED: "inserted.bs.popover",
                         CLICK: "click.bs.popover",
                         FOCUSIN: "focusin.bs.popover",
                         FOCUSOUT: "focusout.bs.popover",
                         MOUSEENTER: "mouseenter.bs.popover",
                         MOUSELEAVE: "mouseleave.bs.popover",
                    },
                    nt = (function (t) {
                         var i, n;
                         function o() {
                              return t.apply(this, arguments) || this;
                         }
                         (n = t), ((i = o).prototype = Object.create(n.prototype)), (i.prototype.constructor = i), (i.__proto__ = n);
                         var a = o.prototype;
                         return (
                              (a.isWithContent = function () {
                                   return this.getTitle() || this._getContent();
                              }),
                              (a.addAttachmentClass = function (t) {
                                   e(this.getTipElement()).addClass("bs-popover-" + t);
                              }),
                              (a.getTipElement = function () {
                                   return (this.tip = this.tip || e(this.config.template)[0]), this.tip;
                              }),
                              (a.setContent = function () {
                                   var t = e(this.getTipElement());
                                   this.setElementContent(t.find(".popover-header"), this.getTitle());
                                   var i = this._getContent();
                                   "function" == typeof i && (i = i.call(this.element)), this.setElementContent(t.find(".popover-body"), i), t.removeClass("fade show");
                              }),
                              (a._getContent = function () {
                                   return this.element.getAttribute("data-content") || this.config.content;
                              }),
                              (a._cleanTipClass = function () {
                                   var t = e(this.getTipElement()),
                                        i = t.attr("class").match(Q);
                                   null !== i && i.length > 0 && t.removeClass(i.join(""));
                              }),
                              (o._jQueryInterface = function (t) {
                                   return this.each(function () {
                                        var i = e(this).data("bs.popover"),
                                             n = "object" == typeof t ? t : null;
                                        if ((i || !/dispose|hide/.test(t)) && (i || ((i = new o(this, n)), e(this).data("bs.popover", i)), "string" == typeof t)) {
                                             if (void 0 === i[t]) throw new TypeError('No method named "' + t + '"');
                                             i[t]();
                                        }
                                   });
                              }),
                              r(o, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                                   {
                                        key: "Default",
                                        get: function () {
                                             return tt;
                                        },
                                   },
                                   {
                                        key: "NAME",
                                        get: function () {
                                             return J;
                                        },
                                   },
                                   {
                                        key: "DATA_KEY",
                                        get: function () {
                                             return "bs.popover";
                                        },
                                   },
                                   {
                                        key: "Event",
                                        get: function () {
                                             return it;
                                        },
                                   },
                                   {
                                        key: "EVENT_KEY",
                                        get: function () {
                                             return ".bs.popover";
                                        },
                                   },
                                   {
                                        key: "DefaultType",
                                        get: function () {
                                             return et;
                                        },
                                   },
                              ]),
                              o
                         );
                    })(Z);
               (e.fn[J] = nt._jQueryInterface),
                    (e.fn[J].Constructor = nt),
                    (e.fn[J].noConflict = function () {
                         return (e.fn[J] = K), nt._jQueryInterface;
                    });
               var rt = "scrollspy",
                    ot = e.fn[rt],
                    at = { offset: 10, method: "auto", target: "" },
                    st = { offset: "number", method: "string", target: "(string|element)" },
                    lt = (function () {
                         function t(t, i) {
                              var n = this;
                              (this._element = t),
                                   (this._scrollElement = "BODY" === t.tagName ? window : t),
                                   (this._config = this._getConfig(i)),
                                   (this._selector = this._config.target + " .nav-link," + this._config.target + " .list-group-item," + this._config.target + " .dropdown-item"),
                                   (this._offsets = []),
                                   (this._targets = []),
                                   (this._activeTarget = null),
                                   (this._scrollHeight = 0),
                                   e(this._scrollElement).on("scroll.bs.scrollspy", function (t) {
                                        return n._process(t);
                                   }),
                                   this.refresh(),
                                   this._process();
                         }
                         var i = t.prototype;
                         return (
                              (i.refresh = function () {
                                   var t = this,
                                        i = this._scrollElement === this._scrollElement.window ? "offset" : "position",
                                        n = "auto" === this._config.method ? i : this._config.method,
                                        r = "position" === n ? this._getScrollTop() : 0;
                                   (this._offsets = []),
                                        (this._targets = []),
                                        (this._scrollHeight = this._getScrollHeight()),
                                        [].slice
                                             .call(document.querySelectorAll(this._selector))
                                             .map(function (t) {
                                                  var i,
                                                       o = c.getSelectorFromElement(t);
                                                  if ((o && (i = document.querySelector(o)), i)) {
                                                       var a = i.getBoundingClientRect();
                                                       if (a.width || a.height) return [e(i)[n]().top + r, o];
                                                  }
                                                  return null;
                                             })
                                             .filter(function (t) {
                                                  return t;
                                             })
                                             .sort(function (t, e) {
                                                  return t[0] - e[0];
                                             })
                                             .forEach(function (e) {
                                                  t._offsets.push(e[0]), t._targets.push(e[1]);
                                             });
                              }),
                              (i.dispose = function () {
                                   e.removeData(this._element, "bs.scrollspy"),
                                        e(this._scrollElement).off(".bs.scrollspy"),
                                        (this._element = null),
                                        (this._scrollElement = null),
                                        (this._config = null),
                                        (this._selector = null),
                                        (this._offsets = null),
                                        (this._targets = null),
                                        (this._activeTarget = null),
                                        (this._scrollHeight = null);
                              }),
                              (i._getConfig = function (t) {
                                   if ("string" != typeof (t = s(s({}, at), "object" == typeof t && t ? t : {})).target && c.isElement(t.target)) {
                                        var i = e(t.target).attr("id");
                                        i || ((i = c.getUID(rt)), e(t.target).attr("id", i)), (t.target = "#" + i);
                                   }
                                   return c.typeCheckConfig(rt, t, st), t;
                              }),
                              (i._getScrollTop = function () {
                                   return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
                              }),
                              (i._getScrollHeight = function () {
                                   return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
                              }),
                              (i._getOffsetHeight = function () {
                                   return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
                              }),
                              (i._process = function () {
                                   var t = this._getScrollTop() + this._config.offset,
                                        e = this._getScrollHeight(),
                                        i = this._config.offset + e - this._getOffsetHeight();
                                   if ((this._scrollHeight !== e && this.refresh(), t >= i)) {
                                        var n = this._targets[this._targets.length - 1];
                                        this._activeTarget !== n && this._activate(n);
                                   } else {
                                        if (this._activeTarget && t < this._offsets[0] && this._offsets[0] > 0) return (this._activeTarget = null), void this._clear();
                                        for (var r = this._offsets.length; r--; )
                                             this._activeTarget !== this._targets[r] && t >= this._offsets[r] && (void 0 === this._offsets[r + 1] || t < this._offsets[r + 1]) && this._activate(this._targets[r]);
                                   }
                              }),
                              (i._activate = function (t) {
                                   (this._activeTarget = t), this._clear();
                                   var i = this._selector.split(",").map(function (e) {
                                             return e + '[data-target="' + t + '"],' + e + '[href="' + t + '"]';
                                        }),
                                        n = e([].slice.call(document.querySelectorAll(i.join(","))));
                                   n.hasClass("dropdown-item")
                                        ? (n.closest(".dropdown").find(".dropdown-toggle").addClass("active"), n.addClass("active"))
                                        : (n.addClass("active"),
                                          n.parents(".nav, .list-group").prev(".nav-link, .list-group-item").addClass("active"),
                                          n.parents(".nav, .list-group").prev(".nav-item").children(".nav-link").addClass("active")),
                                        e(this._scrollElement).trigger("activate.bs.scrollspy", { relatedTarget: t });
                              }),
                              (i._clear = function () {
                                   [].slice
                                        .call(document.querySelectorAll(this._selector))
                                        .filter(function (t) {
                                             return t.classList.contains("active");
                                        })
                                        .forEach(function (t) {
                                             return t.classList.remove("active");
                                        });
                              }),
                              (t._jQueryInterface = function (i) {
                                   return this.each(function () {
                                        var n = e(this).data("bs.scrollspy");
                                        if ((n || ((n = new t(this, "object" == typeof i && i)), e(this).data("bs.scrollspy", n)), "string" == typeof i)) {
                                             if (void 0 === n[i]) throw new TypeError('No method named "' + i + '"');
                                             n[i]();
                                        }
                                   });
                              }),
                              r(t, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                                   {
                                        key: "Default",
                                        get: function () {
                                             return at;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
               e(window).on("load.bs.scrollspy.data-api", function () {
                    for (var t = [].slice.call(document.querySelectorAll('[data-spy="scroll"]')), i = t.length; i--; ) {
                         var n = e(t[i]);
                         lt._jQueryInterface.call(n, n.data());
                    }
               }),
                    (e.fn[rt] = lt._jQueryInterface),
                    (e.fn[rt].Constructor = lt),
                    (e.fn[rt].noConflict = function () {
                         return (e.fn[rt] = ot), lt._jQueryInterface;
                    });
               var ct = e.fn.tab,
                    ut = (function () {
                         function t(t) {
                              this._element = t;
                         }
                         var i = t.prototype;
                         return (
                              (i.show = function () {
                                   var t = this;
                                   if (!((this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && e(this._element).hasClass("active")) || e(this._element).hasClass("disabled"))) {
                                        var i,
                                             n,
                                             r = e(this._element).closest(".nav, .list-group")[0],
                                             o = c.getSelectorFromElement(this._element);
                                        if (r) {
                                             var a = "UL" === r.nodeName || "OL" === r.nodeName ? "> li > .active" : ".active";
                                             n = (n = e.makeArray(e(r).find(a)))[n.length - 1];
                                        }
                                        var s = e.Event("hide.bs.tab", { relatedTarget: this._element }),
                                             l = e.Event("show.bs.tab", { relatedTarget: n });
                                        if ((n && e(n).trigger(s), e(this._element).trigger(l), !l.isDefaultPrevented() && !s.isDefaultPrevented())) {
                                             o && (i = document.querySelector(o)), this._activate(this._element, r);
                                             var u = function () {
                                                  var i = e.Event("hidden.bs.tab", { relatedTarget: t._element }),
                                                       r = e.Event("shown.bs.tab", { relatedTarget: n });
                                                  e(n).trigger(i), e(t._element).trigger(r);
                                             };
                                             i ? this._activate(i, i.parentNode, u) : u();
                                        }
                                   }
                              }),
                              (i.dispose = function () {
                                   e.removeData(this._element, "bs.tab"), (this._element = null);
                              }),
                              (i._activate = function (t, i, n) {
                                   var r = this,
                                        o = (!i || ("UL" !== i.nodeName && "OL" !== i.nodeName) ? e(i).children(".active") : e(i).find("> li > .active"))[0],
                                        a = n && o && e(o).hasClass("fade"),
                                        s = function () {
                                             return r._transitionComplete(t, o, n);
                                        };
                                   if (o && a) {
                                        var l = c.getTransitionDurationFromElement(o);
                                        e(o).removeClass("show").one(c.TRANSITION_END, s).emulateTransitionEnd(l);
                                   } else s();
                              }),
                              (i._transitionComplete = function (t, i, n) {
                                   if (i) {
                                        e(i).removeClass("active");
                                        var r = e(i.parentNode).find("> .dropdown-menu .active")[0];
                                        r && e(r).removeClass("active"), "tab" === i.getAttribute("role") && i.setAttribute("aria-selected", !1);
                                   }
                                   if (
                                        (e(t).addClass("active"),
                                        "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !0),
                                        c.reflow(t),
                                        t.classList.contains("fade") && t.classList.add("show"),
                                        t.parentNode && e(t.parentNode).hasClass("dropdown-menu"))
                                   ) {
                                        var o = e(t).closest(".dropdown")[0];
                                        if (o) {
                                             var a = [].slice.call(o.querySelectorAll(".dropdown-toggle"));
                                             e(a).addClass("active");
                                        }
                                        t.setAttribute("aria-expanded", !0);
                                   }
                                   n && n();
                              }),
                              (t._jQueryInterface = function (i) {
                                   return this.each(function () {
                                        var n = e(this),
                                             r = n.data("bs.tab");
                                        if ((r || ((r = new t(this)), n.data("bs.tab", r)), "string" == typeof i)) {
                                             if (void 0 === r[i]) throw new TypeError('No method named "' + i + '"');
                                             r[i]();
                                        }
                                   });
                              }),
                              r(t, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
               e(document).on("click.bs.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', function (t) {
                    t.preventDefault(), ut._jQueryInterface.call(e(this), "show");
               }),
                    (e.fn.tab = ut._jQueryInterface),
                    (e.fn.tab.Constructor = ut),
                    (e.fn.tab.noConflict = function () {
                         return (e.fn.tab = ct), ut._jQueryInterface;
                    });
               var ht = e.fn.toast,
                    dt = { animation: "boolean", autohide: "boolean", delay: "number" },
                    pt = { animation: !0, autohide: !0, delay: 500 },
                    ft = (function () {
                         function t(t, e) {
                              (this._element = t), (this._config = this._getConfig(e)), (this._timeout = null), this._setListeners();
                         }
                         var i = t.prototype;
                         return (
                              (i.show = function () {
                                   var t = this,
                                        i = e.Event("show.bs.toast");
                                   if ((e(this._element).trigger(i), !i.isDefaultPrevented())) {
                                        this._config.animation && this._element.classList.add("fade");
                                        var n = function () {
                                             t._element.classList.remove("showing"),
                                                  t._element.classList.add("show"),
                                                  e(t._element).trigger("shown.bs.toast"),
                                                  t._config.autohide &&
                                                       (t._timeout = setTimeout(function () {
                                                            t.hide();
                                                       }, t._config.delay));
                                        };
                                        if ((this._element.classList.remove("hide"), c.reflow(this._element), this._element.classList.add("showing"), this._config.animation)) {
                                             var r = c.getTransitionDurationFromElement(this._element);
                                             e(this._element).one(c.TRANSITION_END, n).emulateTransitionEnd(r);
                                        } else n();
                                   }
                              }),
                              (i.hide = function () {
                                   if (this._element.classList.contains("show")) {
                                        var t = e.Event("hide.bs.toast");
                                        e(this._element).trigger(t), t.isDefaultPrevented() || this._close();
                                   }
                              }),
                              (i.dispose = function () {
                                   clearTimeout(this._timeout),
                                        (this._timeout = null),
                                        this._element.classList.contains("show") && this._element.classList.remove("show"),
                                        e(this._element).off("click.dismiss.bs.toast"),
                                        e.removeData(this._element, "bs.toast"),
                                        (this._element = null),
                                        (this._config = null);
                              }),
                              (i._getConfig = function (t) {
                                   return (t = s(s(s({}, pt), e(this._element).data()), "object" == typeof t && t ? t : {})), c.typeCheckConfig("toast", t, this.constructor.DefaultType), t;
                              }),
                              (i._setListeners = function () {
                                   var t = this;
                                   e(this._element).on("click.dismiss.bs.toast", '[data-dismiss="toast"]', function () {
                                        return t.hide();
                                   });
                              }),
                              (i._close = function () {
                                   var t = this,
                                        i = function () {
                                             t._element.classList.add("hide"), e(t._element).trigger("hidden.bs.toast");
                                        };
                                   if ((this._element.classList.remove("show"), this._config.animation)) {
                                        var n = c.getTransitionDurationFromElement(this._element);
                                        e(this._element).one(c.TRANSITION_END, i).emulateTransitionEnd(n);
                                   } else i();
                              }),
                              (t._jQueryInterface = function (i) {
                                   return this.each(function () {
                                        var n = e(this),
                                             r = n.data("bs.toast");
                                        if ((r || ((r = new t(this, "object" == typeof i && i)), n.data("bs.toast", r)), "string" == typeof i)) {
                                             if (void 0 === r[i]) throw new TypeError('No method named "' + i + '"');
                                             r[i](this);
                                        }
                                   });
                              }),
                              r(t, null, [
                                   {
                                        key: "VERSION",
                                        get: function () {
                                             return "4.5.0";
                                        },
                                   },
                                   {
                                        key: "DefaultType",
                                        get: function () {
                                             return dt;
                                        },
                                   },
                                   {
                                        key: "Default",
                                        get: function () {
                                             return pt;
                                        },
                                   },
                              ]),
                              t
                         );
                    })();
               (e.fn.toast = ft._jQueryInterface),
                    (e.fn.toast.Constructor = ft),
                    (e.fn.toast.noConflict = function () {
                         return (e.fn.toast = ht), ft._jQueryInterface;
                    }),
                    (t.Alert = d),
                    (t.Button = f),
                    (t.Carousel = x),
                    (t.Collapse = T),
                    (t.Dropdown = P),
                    (t.Modal = z),
                    (t.Popover = nt),
                    (t.Scrollspy = lt),
                    (t.Tab = ut),
                    (t.Toast = ft),
                    (t.Tooltip = Z),
                    (t.Util = c),
                    Object.defineProperty(t, "__esModule", { value: !0 });
          })(e, i(1), i(155));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var i = "undefined" != typeof window && "undefined" != typeof document && "undefined" != typeof navigator,
                         n = (function () {
                              for (var t = ["Edge", "Trident", "Firefox"], e = 0; e < t.length; e += 1) if (i && navigator.userAgent.indexOf(t[e]) >= 0) return 1;
                              return 0;
                         })();
                    var r =
                         i && window.Promise
                              ? function (t) {
                                     var e = !1;
                                     return function () {
                                          e ||
                                               ((e = !0),
                                               window.Promise.resolve().then(function () {
                                                    (e = !1), t();
                                               }));
                                     };
                                }
                              : function (t) {
                                     var e = !1;
                                     return function () {
                                          e ||
                                               ((e = !0),
                                               setTimeout(function () {
                                                    (e = !1), t();
                                               }, n));
                                     };
                                };
                    function o(t) {
                         return t && "[object Function]" === {}.toString.call(t);
                    }
                    function a(t, e) {
                         if (1 !== t.nodeType) return [];
                         var i = t.ownerDocument.defaultView.getComputedStyle(t, null);
                         return e ? i[e] : i;
                    }
                    function s(t) {
                         return "HTML" === t.nodeName ? t : t.parentNode || t.host;
                    }
                    function l(t) {
                         if (!t) return document.body;
                         switch (t.nodeName) {
                              case "HTML":
                              case "BODY":
                                   return t.ownerDocument.body;
                              case "#document":
                                   return t.body;
                         }
                         var e = a(t),
                              i = e.overflow,
                              n = e.overflowX,
                              r = e.overflowY;
                         return /(auto|scroll|overlay)/.test(i + r + n) ? t : l(s(t));
                    }
                    function c(t) {
                         return t && t.referenceNode ? t.referenceNode : t;
                    }
                    var u = i && !(!window.MSInputMethodContext || !document.documentMode),
                         h = i && /MSIE 10/.test(navigator.userAgent);
                    function d(t) {
                         return 11 === t ? u : 10 === t ? h : u || h;
                    }
                    function p(t) {
                         if (!t) return document.documentElement;
                         for (var e = d(10) ? document.body : null, i = t.offsetParent || null; i === e && t.nextElementSibling; ) i = (t = t.nextElementSibling).offsetParent;
                         var n = i && i.nodeName;
                         return n && "BODY" !== n && "HTML" !== n ? (-1 !== ["TH", "TD", "TABLE"].indexOf(i.nodeName) && "static" === a(i, "position") ? p(i) : i) : t ? t.ownerDocument.documentElement : document.documentElement;
                    }
                    function f(t) {
                         return null !== t.parentNode ? f(t.parentNode) : t;
                    }
                    function m(t, e) {
                         if (!(t && t.nodeType && e && e.nodeType)) return document.documentElement;
                         var i = t.compareDocumentPosition(e) & Node.DOCUMENT_POSITION_FOLLOWING,
                              n = i ? t : e,
                              r = i ? e : t,
                              o = document.createRange();
                         o.setStart(n, 0), o.setEnd(r, 0);
                         var a,
                              s,
                              l = o.commonAncestorContainer;
                         if ((t !== l && e !== l) || n.contains(r)) return "BODY" === (s = (a = l).nodeName) || ("HTML" !== s && p(a.firstElementChild) !== a) ? p(l) : l;
                         var c = f(t);
                         return c.host ? m(c.host, e) : m(t, f(e).host);
                    }
                    function g(t) {
                         var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "top",
                              i = "top" === e ? "scrollTop" : "scrollLeft",
                              n = t.nodeName;
                         if ("BODY" === n || "HTML" === n) {
                              var r = t.ownerDocument.documentElement,
                                   o = t.ownerDocument.scrollingElement || r;
                              return o[i];
                         }
                         return t[i];
                    }
                    function v(t, e) {
                         var i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
                              n = g(e, "top"),
                              r = g(e, "left"),
                              o = i ? -1 : 1;
                         return (t.top += n * o), (t.bottom += n * o), (t.left += r * o), (t.right += r * o), t;
                    }
                    function y(t, e) {
                         var i = "x" === e ? "Left" : "Top",
                              n = "Left" === i ? "Right" : "Bottom";
                         return parseFloat(t["border" + i + "Width"]) + parseFloat(t["border" + n + "Width"]);
                    }
                    function b(t, e, i, n) {
                         return Math.max(
                              e["offset" + t],
                              e["scroll" + t],
                              i["client" + t],
                              i["offset" + t],
                              i["scroll" + t],
                              d(10) ? parseInt(i["offset" + t]) + parseInt(n["margin" + ("Height" === t ? "Top" : "Left")]) + parseInt(n["margin" + ("Height" === t ? "Bottom" : "Right")]) : 0
                         );
                    }
                    function _(t) {
                         var e = t.body,
                              i = t.documentElement,
                              n = d(10) && getComputedStyle(i);
                         return { height: b("Height", e, i, n), width: b("Width", e, i, n) };
                    }
                    var x = function (t, e) {
                              if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                         },
                         w = (function () {
                              function t(t, e) {
                                   for (var i = 0; i < e.length; i++) {
                                        var n = e[i];
                                        (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                                   }
                              }
                              return function (e, i, n) {
                                   return i && t(e.prototype, i), n && t(e, n), e;
                              };
                         })(),
                         k = function (t, e, i) {
                              return e in t ? Object.defineProperty(t, e, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (t[e] = i), t;
                         },
                         S =
                              Object.assign ||
                              function (t) {
                                   for (var e = 1; e < arguments.length; e++) {
                                        var i = arguments[e];
                                        for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n]);
                                   }
                                   return t;
                              };
                    function M(t) {
                         return S({}, t, { right: t.left + t.width, bottom: t.top + t.height });
                    }
                    function T(t) {
                         var e = {};
                         try {
                              if (d(10)) {
                                   e = t.getBoundingClientRect();
                                   var i = g(t, "top"),
                                        n = g(t, "left");
                                   (e.top += i), (e.left += n), (e.bottom += i), (e.right += n);
                              } else e = t.getBoundingClientRect();
                         } catch (t) {}
                         var r = { left: e.left, top: e.top, width: e.right - e.left, height: e.bottom - e.top },
                              o = "HTML" === t.nodeName ? _(t.ownerDocument) : {},
                              s = o.width || t.clientWidth || r.width,
                              l = o.height || t.clientHeight || r.height,
                              c = t.offsetWidth - s,
                              u = t.offsetHeight - l;
                         if (c || u) {
                              var h = a(t);
                              (c -= y(h, "x")), (u -= y(h, "y")), (r.width -= c), (r.height -= u);
                         }
                         return M(r);
                    }
                    function C(t, e) {
                         var i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
                              n = d(10),
                              r = "HTML" === e.nodeName,
                              o = T(t),
                              s = T(e),
                              c = l(t),
                              u = a(e),
                              h = parseFloat(u.borderTopWidth),
                              p = parseFloat(u.borderLeftWidth);
                         i && r && ((s.top = Math.max(s.top, 0)), (s.left = Math.max(s.left, 0)));
                         var f = M({ top: o.top - s.top - h, left: o.left - s.left - p, width: o.width, height: o.height });
                         if (((f.marginTop = 0), (f.marginLeft = 0), !n && r)) {
                              var m = parseFloat(u.marginTop),
                                   g = parseFloat(u.marginLeft);
                              (f.top -= h - m), (f.bottom -= h - m), (f.left -= p - g), (f.right -= p - g), (f.marginTop = m), (f.marginLeft = g);
                         }
                         return (n && !i ? e.contains(c) : e === c && "BODY" !== c.nodeName) && (f = v(f, e)), f;
                    }
                    function D(t) {
                         var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
                              i = t.ownerDocument.documentElement,
                              n = C(t, i),
                              r = Math.max(i.clientWidth, window.innerWidth || 0),
                              o = Math.max(i.clientHeight, window.innerHeight || 0),
                              a = e ? 0 : g(i),
                              s = e ? 0 : g(i, "left"),
                              l = { top: a - n.top + n.marginTop, left: s - n.left + n.marginLeft, width: r, height: o };
                         return M(l);
                    }
                    function L(t) {
                         var e = t.nodeName;
                         if ("BODY" === e || "HTML" === e) return !1;
                         if ("fixed" === a(t, "position")) return !0;
                         var i = s(t);
                         return !!i && L(i);
                    }
                    function E(t) {
                         if (!t || !t.parentElement || d()) return document.documentElement;
                         for (var e = t.parentElement; e && "none" === a(e, "transform"); ) e = e.parentElement;
                         return e || document.documentElement;
                    }
                    function A(t, e, i, n) {
                         var r = arguments.length > 4 && void 0 !== arguments[4] && arguments[4],
                              o = { top: 0, left: 0 },
                              a = r ? E(t) : m(t, c(e));
                         if ("viewport" === n) o = D(a, r);
                         else {
                              var u = void 0;
                              "scrollParent" === n ? "BODY" === (u = l(s(e))).nodeName && (u = t.ownerDocument.documentElement) : (u = "window" === n ? t.ownerDocument.documentElement : n);
                              var h = C(u, a, r);
                              if ("HTML" !== u.nodeName || L(a)) o = h;
                              else {
                                   var d = _(t.ownerDocument),
                                        p = d.height,
                                        f = d.width;
                                   (o.top += h.top - h.marginTop), (o.bottom = p + h.top), (o.left += h.left - h.marginLeft), (o.right = f + h.left);
                              }
                         }
                         var g = "number" == typeof (i = i || 0);
                         return (o.left += g ? i : i.left || 0), (o.top += g ? i : i.top || 0), (o.right -= g ? i : i.right || 0), (o.bottom -= g ? i : i.bottom || 0), o;
                    }
                    function P(t) {
                         return t.width * t.height;
                    }
                    function I(t, e, i, n, r) {
                         var o = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0;
                         if (-1 === t.indexOf("auto")) return t;
                         var a = A(i, n, o, r),
                              s = {
                                   top: { width: a.width, height: e.top - a.top },
                                   right: { width: a.right - e.right, height: a.height },
                                   bottom: { width: a.width, height: a.bottom - e.bottom },
                                   left: { width: e.left - a.left, height: a.height },
                              },
                              l = Object.keys(s)
                                   .map(function (t) {
                                        return S({ key: t }, s[t], { area: P(s[t]) });
                                   })
                                   .sort(function (t, e) {
                                        return e.area - t.area;
                                   }),
                              c = l.filter(function (t) {
                                   var e = t.width,
                                        n = t.height;
                                   return e >= i.clientWidth && n >= i.clientHeight;
                              }),
                              u = c.length > 0 ? c[0].key : l[0].key,
                              h = t.split("-")[1];
                         return u + (h ? "-" + h : "");
                    }
                    function O(t, e, i) {
                         var n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null,
                              r = n ? E(e) : m(e, c(i));
                         return C(i, r, n);
                    }
                    function Y(t) {
                         var e = t.ownerDocument.defaultView.getComputedStyle(t),
                              i = parseFloat(e.marginTop || 0) + parseFloat(e.marginBottom || 0),
                              n = parseFloat(e.marginLeft || 0) + parseFloat(e.marginRight || 0);
                         return { width: t.offsetWidth + n, height: t.offsetHeight + i };
                    }
                    function z(t) {
                         var e = { left: "right", right: "left", bottom: "top", top: "bottom" };
                         return t.replace(/left|right|bottom|top/g, function (t) {
                              return e[t];
                         });
                    }
                    function R(t, e, i) {
                         i = i.split("-")[0];
                         var n = Y(t),
                              r = { width: n.width, height: n.height },
                              o = -1 !== ["right", "left"].indexOf(i),
                              a = o ? "top" : "left",
                              s = o ? "left" : "top",
                              l = o ? "height" : "width",
                              c = o ? "width" : "height";
                         return (r[a] = e[a] + e[l] / 2 - n[l] / 2), (r[s] = i === s ? e[s] - n[c] : e[z(s)]), r;
                    }
                    function F(t, e) {
                         return Array.prototype.find ? t.find(e) : t.filter(e)[0];
                    }
                    function H(t, e, i) {
                         return (
                              (void 0 === i
                                   ? t
                                   : t.slice(
                                          0,
                                          (function (t, e, i) {
                                               if (Array.prototype.findIndex)
                                                    return t.findIndex(function (t) {
                                                         return t[e] === i;
                                                    });
                                               var n = F(t, function (t) {
                                                    return t[e] === i;
                                               });
                                               return t.indexOf(n);
                                          })(t, "name", i)
                                     )
                              ).forEach(function (t) {
                                   t.function && console.warn("`modifier.function` is deprecated, use `modifier.fn`!");
                                   var i = t.function || t.fn;
                                   t.enabled && o(i) && ((e.offsets.popper = M(e.offsets.popper)), (e.offsets.reference = M(e.offsets.reference)), (e = i(e, t)));
                              }),
                              e
                         );
                    }
                    function j() {
                         if (!this.state.isDestroyed) {
                              var t = { instance: this, styles: {}, arrowStyles: {}, attributes: {}, flipped: !1, offsets: {} };
                              (t.offsets.reference = O(this.state, this.popper, this.reference, this.options.positionFixed)),
                                   (t.placement = I(this.options.placement, t.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding)),
                                   (t.originalPlacement = t.placement),
                                   (t.positionFixed = this.options.positionFixed),
                                   (t.offsets.popper = R(this.popper, t.offsets.reference, t.placement)),
                                   (t.offsets.popper.position = this.options.positionFixed ? "fixed" : "absolute"),
                                   (t = H(this.modifiers, t)),
                                   this.state.isCreated ? this.options.onUpdate(t) : ((this.state.isCreated = !0), this.options.onCreate(t));
                         }
                    }
                    function N(t, e) {
                         return t.some(function (t) {
                              var i = t.name;
                              return t.enabled && i === e;
                         });
                    }
                    function B(t) {
                         for (var e = [!1, "ms", "Webkit", "Moz", "O"], i = t.charAt(0).toUpperCase() + t.slice(1), n = 0; n < e.length; n++) {
                              var r = e[n],
                                   o = r ? "" + r + i : t;
                              if (void 0 !== document.body.style[o]) return o;
                         }
                         return null;
                    }
                    function W() {
                         return (
                              (this.state.isDestroyed = !0),
                              N(this.modifiers, "applyStyle") &&
                                   (this.popper.removeAttribute("x-placement"),
                                   (this.popper.style.position = ""),
                                   (this.popper.style.top = ""),
                                   (this.popper.style.left = ""),
                                   (this.popper.style.right = ""),
                                   (this.popper.style.bottom = ""),
                                   (this.popper.style.willChange = ""),
                                   (this.popper.style[B("transform")] = "")),
                              this.disableEventListeners(),
                              this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper),
                              this
                         );
                    }
                    function V(t) {
                         var e = t.ownerDocument;
                         return e ? e.defaultView : window;
                    }
                    function U(t, e, i, n) {
                         (i.updateBound = n), V(t).addEventListener("resize", i.updateBound, { passive: !0 });
                         var r = l(t);
                         return (
                              (function t(e, i, n, r) {
                                   var o = "BODY" === e.nodeName,
                                        a = o ? e.ownerDocument.defaultView : e;
                                   a.addEventListener(i, n, { passive: !0 }), o || t(l(a.parentNode), i, n, r), r.push(a);
                              })(r, "scroll", i.updateBound, i.scrollParents),
                              (i.scrollElement = r),
                              (i.eventsEnabled = !0),
                              i
                         );
                    }
                    function q() {
                         this.state.eventsEnabled || (this.state = U(this.reference, this.options, this.state, this.scheduleUpdate));
                    }
                    function $() {
                         var t, e;
                         this.state.eventsEnabled &&
                              (cancelAnimationFrame(this.scheduleUpdate),
                              (this.state =
                                   ((t = this.reference),
                                   (e = this.state),
                                   V(t).removeEventListener("resize", e.updateBound),
                                   e.scrollParents.forEach(function (t) {
                                        t.removeEventListener("scroll", e.updateBound);
                                   }),
                                   (e.updateBound = null),
                                   (e.scrollParents = []),
                                   (e.scrollElement = null),
                                   (e.eventsEnabled = !1),
                                   e)));
                    }
                    function X(t) {
                         return "" !== t && !isNaN(parseFloat(t)) && isFinite(t);
                    }
                    function G(t, e) {
                         Object.keys(e).forEach(function (i) {
                              var n = "";
                              -1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(i) && X(e[i]) && (n = "px"), (t.style[i] = e[i] + n);
                         });
                    }
                    var Z = i && /Firefox/i.test(navigator.userAgent);
                    function J(t, e, i) {
                         var n = F(t, function (t) {
                                   return t.name === e;
                              }),
                              r =
                                   !!n &&
                                   t.some(function (t) {
                                        return t.name === i && t.enabled && t.order < n.order;
                                   });
                         if (!r) {
                              var o = "`" + e + "`",
                                   a = "`" + i + "`";
                              console.warn(a + " modifier is required by " + o + " modifier in order to work, be sure to include it before " + o + "!");
                         }
                         return r;
                    }
                    var K = ["auto-start", "auto", "auto-end", "top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-end", "bottom", "bottom-start", "left-end", "left", "left-start"],
                         Q = K.slice(3);
                    function tt(t) {
                         var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
                              i = Q.indexOf(t),
                              n = Q.slice(i + 1).concat(Q.slice(0, i));
                         return e ? n.reverse() : n;
                    }
                    var et = "flip",
                         it = "clockwise",
                         nt = "counterclockwise";
                    function rt(t, e, i, n) {
                         var r = [0, 0],
                              o = -1 !== ["right", "left"].indexOf(n),
                              a = t.split(/(\+|\-)/).map(function (t) {
                                   return t.trim();
                              }),
                              s = a.indexOf(
                                   F(a, function (t) {
                                        return -1 !== t.search(/,|\s/);
                                   })
                              );
                         a[s] && -1 === a[s].indexOf(",") && console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");
                         var l = /\s*,\s*|\s+/,
                              c = -1 !== s ? [a.slice(0, s).concat([a[s].split(l)[0]]), [a[s].split(l)[1]].concat(a.slice(s + 1))] : [a];
                         return (
                              (c = c.map(function (t, n) {
                                   var r = (1 === n ? !o : o) ? "height" : "width",
                                        a = !1;
                                   return t
                                        .reduce(function (t, e) {
                                             return "" === t[t.length - 1] && -1 !== ["+", "-"].indexOf(e) ? ((t[t.length - 1] = e), (a = !0), t) : a ? ((t[t.length - 1] += e), (a = !1), t) : t.concat(e);
                                        }, [])
                                        .map(function (t) {
                                             return (function (t, e, i, n) {
                                                  var r = t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),
                                                       o = +r[1],
                                                       a = r[2];
                                                  if (!o) return t;
                                                  if (0 === a.indexOf("%")) {
                                                       var s = void 0;
                                                       switch (a) {
                                                            case "%p":
                                                                 s = i;
                                                                 break;
                                                            case "%":
                                                            case "%r":
                                                            default:
                                                                 s = n;
                                                       }
                                                       return (M(s)[e] / 100) * o;
                                                  }
                                                  if ("vh" === a || "vw" === a) {
                                                       return (("vh" === a ? Math.max(document.documentElement.clientHeight, window.innerHeight || 0) : Math.max(document.documentElement.clientWidth, window.innerWidth || 0)) / 100) * o;
                                                  }
                                                  return o;
                                             })(t, r, e, i);
                                        });
                              })).forEach(function (t, e) {
                                   t.forEach(function (i, n) {
                                        X(i) && (r[e] += i * ("-" === t[n - 1] ? -1 : 1));
                                   });
                              }),
                              r
                         );
                    }
                    var ot = {
                              placement: "bottom",
                              positionFixed: !1,
                              eventsEnabled: !0,
                              removeOnDestroy: !1,
                              onCreate: function () {},
                              onUpdate: function () {},
                              modifiers: {
                                   shift: {
                                        order: 100,
                                        enabled: !0,
                                        fn: function (t) {
                                             var e = t.placement,
                                                  i = e.split("-")[0],
                                                  n = e.split("-")[1];
                                             if (n) {
                                                  var r = t.offsets,
                                                       o = r.reference,
                                                       a = r.popper,
                                                       s = -1 !== ["bottom", "top"].indexOf(i),
                                                       l = s ? "left" : "top",
                                                       c = s ? "width" : "height",
                                                       u = { start: k({}, l, o[l]), end: k({}, l, o[l] + o[c] - a[c]) };
                                                  t.offsets.popper = S({}, a, u[n]);
                                             }
                                             return t;
                                        },
                                   },
                                   offset: {
                                        order: 200,
                                        enabled: !0,
                                        fn: function (t, e) {
                                             var i = e.offset,
                                                  n = t.placement,
                                                  r = t.offsets,
                                                  o = r.popper,
                                                  a = r.reference,
                                                  s = n.split("-")[0],
                                                  l = void 0;
                                             return (
                                                  (l = X(+i) ? [+i, 0] : rt(i, o, a, s)),
                                                  "left" === s
                                                       ? ((o.top += l[0]), (o.left -= l[1]))
                                                       : "right" === s
                                                       ? ((o.top += l[0]), (o.left += l[1]))
                                                       : "top" === s
                                                       ? ((o.left += l[0]), (o.top -= l[1]))
                                                       : "bottom" === s && ((o.left += l[0]), (o.top += l[1])),
                                                  (t.popper = o),
                                                  t
                                             );
                                        },
                                        offset: 0,
                                   },
                                   preventOverflow: {
                                        order: 300,
                                        enabled: !0,
                                        fn: function (t, e) {
                                             var i = e.boundariesElement || p(t.instance.popper);
                                             t.instance.reference === i && (i = p(i));
                                             var n = B("transform"),
                                                  r = t.instance.popper.style,
                                                  o = r.top,
                                                  a = r.left,
                                                  s = r[n];
                                             (r.top = ""), (r.left = ""), (r[n] = "");
                                             var l = A(t.instance.popper, t.instance.reference, e.padding, i, t.positionFixed);
                                             (r.top = o), (r.left = a), (r[n] = s), (e.boundaries = l);
                                             var c = e.priority,
                                                  u = t.offsets.popper,
                                                  h = {
                                                       primary: function (t) {
                                                            var i = u[t];
                                                            return u[t] < l[t] && !e.escapeWithReference && (i = Math.max(u[t], l[t])), k({}, t, i);
                                                       },
                                                       secondary: function (t) {
                                                            var i = "right" === t ? "left" : "top",
                                                                 n = u[i];
                                                            return u[t] > l[t] && !e.escapeWithReference && (n = Math.min(u[i], l[t] - ("right" === t ? u.width : u.height))), k({}, i, n);
                                                       },
                                                  };
                                             return (
                                                  c.forEach(function (t) {
                                                       var e = -1 !== ["left", "top"].indexOf(t) ? "primary" : "secondary";
                                                       u = S({}, u, h[e](t));
                                                  }),
                                                  (t.offsets.popper = u),
                                                  t
                                             );
                                        },
                                        priority: ["left", "right", "top", "bottom"],
                                        padding: 5,
                                        boundariesElement: "scrollParent",
                                   },
                                   keepTogether: {
                                        order: 400,
                                        enabled: !0,
                                        fn: function (t) {
                                             var e = t.offsets,
                                                  i = e.popper,
                                                  n = e.reference,
                                                  r = t.placement.split("-")[0],
                                                  o = Math.floor,
                                                  a = -1 !== ["top", "bottom"].indexOf(r),
                                                  s = a ? "right" : "bottom",
                                                  l = a ? "left" : "top",
                                                  c = a ? "width" : "height";
                                             return i[s] < o(n[l]) && (t.offsets.popper[l] = o(n[l]) - i[c]), i[l] > o(n[s]) && (t.offsets.popper[l] = o(n[s])), t;
                                        },
                                   },
                                   arrow: {
                                        order: 500,
                                        enabled: !0,
                                        fn: function (t, e) {
                                             var i;
                                             if (!J(t.instance.modifiers, "arrow", "keepTogether")) return t;
                                             var n = e.element;
                                             if ("string" == typeof n) {
                                                  if (!(n = t.instance.popper.querySelector(n))) return t;
                                             } else if (!t.instance.popper.contains(n)) return console.warn("WARNING: `arrow.element` must be child of its popper element!"), t;
                                             var r = t.placement.split("-")[0],
                                                  o = t.offsets,
                                                  s = o.popper,
                                                  l = o.reference,
                                                  c = -1 !== ["left", "right"].indexOf(r),
                                                  u = c ? "height" : "width",
                                                  h = c ? "Top" : "Left",
                                                  d = h.toLowerCase(),
                                                  p = c ? "left" : "top",
                                                  f = c ? "bottom" : "right",
                                                  m = Y(n)[u];
                                             l[f] - m < s[d] && (t.offsets.popper[d] -= s[d] - (l[f] - m)), l[d] + m > s[f] && (t.offsets.popper[d] += l[d] + m - s[f]), (t.offsets.popper = M(t.offsets.popper));
                                             var g = l[d] + l[u] / 2 - m / 2,
                                                  v = a(t.instance.popper),
                                                  y = parseFloat(v["margin" + h]),
                                                  b = parseFloat(v["border" + h + "Width"]),
                                                  _ = g - t.offsets.popper[d] - y - b;
                                             return (_ = Math.max(Math.min(s[u] - m, _), 0)), (t.arrowElement = n), (t.offsets.arrow = (k((i = {}), d, Math.round(_)), k(i, p, ""), i)), t;
                                        },
                                        element: "[x-arrow]",
                                   },
                                   flip: {
                                        order: 600,
                                        enabled: !0,
                                        fn: function (t, e) {
                                             if (N(t.instance.modifiers, "inner")) return t;
                                             if (t.flipped && t.placement === t.originalPlacement) return t;
                                             var i = A(t.instance.popper, t.instance.reference, e.padding, e.boundariesElement, t.positionFixed),
                                                  n = t.placement.split("-")[0],
                                                  r = z(n),
                                                  o = t.placement.split("-")[1] || "",
                                                  a = [];
                                             switch (e.behavior) {
                                                  case et:
                                                       a = [n, r];
                                                       break;
                                                  case it:
                                                       a = tt(n);
                                                       break;
                                                  case nt:
                                                       a = tt(n, !0);
                                                       break;
                                                  default:
                                                       a = e.behavior;
                                             }
                                             return (
                                                  a.forEach(function (s, l) {
                                                       if (n !== s || a.length === l + 1) return t;
                                                       (n = t.placement.split("-")[0]), (r = z(n));
                                                       var c = t.offsets.popper,
                                                            u = t.offsets.reference,
                                                            h = Math.floor,
                                                            d = ("left" === n && h(c.right) > h(u.left)) || ("right" === n && h(c.left) < h(u.right)) || ("top" === n && h(c.bottom) > h(u.top)) || ("bottom" === n && h(c.top) < h(u.bottom)),
                                                            p = h(c.left) < h(i.left),
                                                            f = h(c.right) > h(i.right),
                                                            m = h(c.top) < h(i.top),
                                                            g = h(c.bottom) > h(i.bottom),
                                                            v = ("left" === n && p) || ("right" === n && f) || ("top" === n && m) || ("bottom" === n && g),
                                                            y = -1 !== ["top", "bottom"].indexOf(n),
                                                            b = !!e.flipVariations && ((y && "start" === o && p) || (y && "end" === o && f) || (!y && "start" === o && m) || (!y && "end" === o && g)),
                                                            _ = !!e.flipVariationsByContent && ((y && "start" === o && f) || (y && "end" === o && p) || (!y && "start" === o && g) || (!y && "end" === o && m)),
                                                            x = b || _;
                                                       (d || v || x) &&
                                                            ((t.flipped = !0),
                                                            (d || v) && (n = a[l + 1]),
                                                            x &&
                                                                 (o = (function (t) {
                                                                      return "end" === t ? "start" : "start" === t ? "end" : t;
                                                                 })(o)),
                                                            (t.placement = n + (o ? "-" + o : "")),
                                                            (t.offsets.popper = S({}, t.offsets.popper, R(t.instance.popper, t.offsets.reference, t.placement))),
                                                            (t = H(t.instance.modifiers, t, "flip")));
                                                  }),
                                                  t
                                             );
                                        },
                                        behavior: "flip",
                                        padding: 5,
                                        boundariesElement: "viewport",
                                        flipVariations: !1,
                                        flipVariationsByContent: !1,
                                   },
                                   inner: {
                                        order: 700,
                                        enabled: !1,
                                        fn: function (t) {
                                             var e = t.placement,
                                                  i = e.split("-")[0],
                                                  n = t.offsets,
                                                  r = n.popper,
                                                  o = n.reference,
                                                  a = -1 !== ["left", "right"].indexOf(i),
                                                  s = -1 === ["top", "left"].indexOf(i);
                                             return (r[a ? "left" : "top"] = o[i] - (s ? r[a ? "width" : "height"] : 0)), (t.placement = z(e)), (t.offsets.popper = M(r)), t;
                                        },
                                   },
                                   hide: {
                                        order: 800,
                                        enabled: !0,
                                        fn: function (t) {
                                             if (!J(t.instance.modifiers, "hide", "preventOverflow")) return t;
                                             var e = t.offsets.reference,
                                                  i = F(t.instance.modifiers, function (t) {
                                                       return "preventOverflow" === t.name;
                                                  }).boundaries;
                                             if (e.bottom < i.top || e.left > i.right || e.top > i.bottom || e.right < i.left) {
                                                  if (!0 === t.hide) return t;
                                                  (t.hide = !0), (t.attributes["x-out-of-boundaries"] = "");
                                             } else {
                                                  if (!1 === t.hide) return t;
                                                  (t.hide = !1), (t.attributes["x-out-of-boundaries"] = !1);
                                             }
                                             return t;
                                        },
                                   },
                                   computeStyle: {
                                        order: 850,
                                        enabled: !0,
                                        fn: function (t, e) {
                                             var i = e.x,
                                                  n = e.y,
                                                  r = t.offsets.popper,
                                                  o = F(t.instance.modifiers, function (t) {
                                                       return "applyStyle" === t.name;
                                                  }).gpuAcceleration;
                                             void 0 !== o && console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");
                                             var a = void 0 !== o ? o : e.gpuAcceleration,
                                                  s = p(t.instance.popper),
                                                  l = T(s),
                                                  c = { position: r.position },
                                                  u = (function (t, e) {
                                                       var i = t.offsets,
                                                            n = i.popper,
                                                            r = i.reference,
                                                            o = Math.round,
                                                            a = Math.floor,
                                                            s = function (t) {
                                                                 return t;
                                                            },
                                                            l = o(r.width),
                                                            c = o(n.width),
                                                            u = -1 !== ["left", "right"].indexOf(t.placement),
                                                            h = -1 !== t.placement.indexOf("-"),
                                                            d = e ? (u || h || l % 2 == c % 2 ? o : a) : s,
                                                            p = e ? o : s;
                                                       return { left: d(l % 2 == 1 && c % 2 == 1 && !h && e ? n.left - 1 : n.left), top: p(n.top), bottom: p(n.bottom), right: d(n.right) };
                                                  })(t, window.devicePixelRatio < 2 || !Z),
                                                  h = "bottom" === i ? "top" : "bottom",
                                                  d = "right" === n ? "left" : "right",
                                                  f = B("transform"),
                                                  m = void 0,
                                                  g = void 0;
                                             if (
                                                  ((g = "bottom" === h ? ("HTML" === s.nodeName ? -s.clientHeight + u.bottom : -l.height + u.bottom) : u.top),
                                                  (m = "right" === d ? ("HTML" === s.nodeName ? -s.clientWidth + u.right : -l.width + u.right) : u.left),
                                                  a && f)
                                             )
                                                  (c[f] = "translate3d(" + m + "px, " + g + "px, 0)"), (c[h] = 0), (c[d] = 0), (c.willChange = "transform");
                                             else {
                                                  var v = "bottom" === h ? -1 : 1,
                                                       y = "right" === d ? -1 : 1;
                                                  (c[h] = g * v), (c[d] = m * y), (c.willChange = h + ", " + d);
                                             }
                                             var b = { "x-placement": t.placement };
                                             return (t.attributes = S({}, b, t.attributes)), (t.styles = S({}, c, t.styles)), (t.arrowStyles = S({}, t.offsets.arrow, t.arrowStyles)), t;
                                        },
                                        gpuAcceleration: !0,
                                        x: "bottom",
                                        y: "right",
                                   },
                                   applyStyle: {
                                        order: 900,
                                        enabled: !0,
                                        fn: function (t) {
                                             var e, i;
                                             return (
                                                  G(t.instance.popper, t.styles),
                                                  (e = t.instance.popper),
                                                  (i = t.attributes),
                                                  Object.keys(i).forEach(function (t) {
                                                       !1 !== i[t] ? e.setAttribute(t, i[t]) : e.removeAttribute(t);
                                                  }),
                                                  t.arrowElement && Object.keys(t.arrowStyles).length && G(t.arrowElement, t.arrowStyles),
                                                  t
                                             );
                                        },
                                        onLoad: function (t, e, i, n, r) {
                                             var o = O(r, e, t, i.positionFixed),
                                                  a = I(i.placement, o, e, t, i.modifiers.flip.boundariesElement, i.modifiers.flip.padding);
                                             return e.setAttribute("x-placement", a), G(e, { position: i.positionFixed ? "fixed" : "absolute" }), i;
                                        },
                                        gpuAcceleration: void 0,
                                   },
                              },
                         },
                         at = (function () {
                              function t(e, i) {
                                   var n = this,
                                        a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                                   x(this, t),
                                        (this.scheduleUpdate = function () {
                                             return requestAnimationFrame(n.update);
                                        }),
                                        (this.update = r(this.update.bind(this))),
                                        (this.options = S({}, t.Defaults, a)),
                                        (this.state = { isDestroyed: !1, isCreated: !1, scrollParents: [] }),
                                        (this.reference = e && e.jquery ? e[0] : e),
                                        (this.popper = i && i.jquery ? i[0] : i),
                                        (this.options.modifiers = {}),
                                        Object.keys(S({}, t.Defaults.modifiers, a.modifiers)).forEach(function (e) {
                                             n.options.modifiers[e] = S({}, t.Defaults.modifiers[e] || {}, a.modifiers ? a.modifiers[e] : {});
                                        }),
                                        (this.modifiers = Object.keys(this.options.modifiers)
                                             .map(function (t) {
                                                  return S({ name: t }, n.options.modifiers[t]);
                                             })
                                             .sort(function (t, e) {
                                                  return t.order - e.order;
                                             })),
                                        this.modifiers.forEach(function (t) {
                                             t.enabled && o(t.onLoad) && t.onLoad(n.reference, n.popper, n.options, t, n.state);
                                        }),
                                        this.update();
                                   var s = this.options.eventsEnabled;
                                   s && this.enableEventListeners(), (this.state.eventsEnabled = s);
                              }
                              return (
                                   w(t, [
                                        {
                                             key: "update",
                                             value: function () {
                                                  return j.call(this);
                                             },
                                        },
                                        {
                                             key: "destroy",
                                             value: function () {
                                                  return W.call(this);
                                             },
                                        },
                                        {
                                             key: "enableEventListeners",
                                             value: function () {
                                                  return q.call(this);
                                             },
                                        },
                                        {
                                             key: "disableEventListeners",
                                             value: function () {
                                                  return $.call(this);
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })();
                    (at.Utils = ("undefined" != typeof window ? window : t).PopperUtils), (at.placements = K), (at.Defaults = ot), (e.default = at);
               }.call(this, i(12));
     },
     function (t, e, i) {
          /*!
           * metismenu https://github.com/onokumus/metismenu#readme
           * A jQuery menu plugin
           * @version 3.0.6
           * @author Osman Nuri Okumus <onokumus@gmail.com> (https://github.com/onokumus)
           * @license: MIT
           */ t.exports = (function (t) {
               "use strict";
               function e() {
                    return (e =
                         Object.assign ||
                         function (t) {
                              for (var e = 1; e < arguments.length; e++) {
                                   var i = arguments[e];
                                   for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n]);
                              }
                              return t;
                         }).apply(this, arguments);
               }
               var i = (function (t) {
                         var e = {
                              TRANSITION_END: "mmTransitionEnd",
                              triggerTransitionEnd: function (e) {
                                   t(e).trigger("transitionend");
                              },
                              supportsTransitionEnd: function () {
                                   return Boolean("transitionend");
                              },
                         };
                         function i(i) {
                              var n = this,
                                   r = !1;
                              return (
                                   t(this).one(e.TRANSITION_END, function () {
                                        r = !0;
                                   }),
                                   setTimeout(function () {
                                        r || e.triggerTransitionEnd(n);
                                   }, i),
                                   this
                              );
                         }
                         return (
                              (t.fn.mmEmulateTransitionEnd = i),
                              (t.event.special[e.TRANSITION_END] = {
                                   bindType: "transitionend",
                                   delegateType: "transitionend",
                                   handle: function (e) {
                                        if (t(e.target).is(this)) return e.handleObj.handler.apply(this, arguments);
                                   },
                              }),
                              e
                         );
                    })((t = t && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t)),
                    n = "metisMenu",
                    r = t.fn[n],
                    o = { toggle: !0, preventDefault: !0, triggerElement: "a", parentTrigger: "li", subMenu: "ul" },
                    a = { SHOW: "show.metisMenu", SHOWN: "shown.metisMenu", HIDE: "hide.metisMenu", HIDDEN: "hidden.metisMenu", CLICK_DATA_API: "click.metisMenu.data-api" },
                    s = "metismenu",
                    l = "mm-active",
                    c = "mm-show",
                    u = "mm-collapse",
                    h = "mm-collapsing",
                    d = (function () {
                         function n(t, i) {
                              (this.element = t), (this.config = e({}, o, {}, i)), (this.transitioning = null), this.init();
                         }
                         var r = n.prototype;
                         return (
                              (r.init = function () {
                                   var e = this,
                                        i = this.config,
                                        n = t(this.element);
                                   n.addClass(s),
                                        n
                                             .find(i.parentTrigger + "." + l)
                                             .children(i.triggerElement)
                                             .attr("aria-expanded", "true"),
                                        n
                                             .find(i.parentTrigger + "." + l)
                                             .parents(i.parentTrigger)
                                             .addClass(l),
                                        n
                                             .find(i.parentTrigger + "." + l)
                                             .parents(i.parentTrigger)
                                             .children(i.triggerElement)
                                             .attr("aria-expanded", "true"),
                                        n
                                             .find(i.parentTrigger + "." + l)
                                             .has(i.subMenu)
                                             .children(i.subMenu)
                                             .addClass(u + " " + c),
                                        n
                                             .find(i.parentTrigger)
                                             .not("." + l)
                                             .has(i.subMenu)
                                             .children(i.subMenu)
                                             .addClass(u),
                                        n
                                             .find(i.parentTrigger)
                                             .children(i.triggerElement)
                                             .on(a.CLICK_DATA_API, function (n) {
                                                  var r = t(this);
                                                  if ("true" !== r.attr("aria-disabled")) {
                                                       i.preventDefault && "#" === r.attr("href") && n.preventDefault();
                                                       var o = r.parent(i.parentTrigger),
                                                            a = o.siblings(i.parentTrigger),
                                                            s = a.children(i.triggerElement);
                                                       o.hasClass(l)
                                                            ? (r.attr("aria-expanded", "false"), e.removeActive(o))
                                                            : (r.attr("aria-expanded", "true"), e.setActive(o), i.toggle && (e.removeActive(a), s.attr("aria-expanded", "false"))),
                                                            i.onTransitionStart && i.onTransitionStart(n);
                                                  }
                                             });
                              }),
                              (r.setActive = function (e) {
                                   t(e).addClass(l);
                                   var i = t(e).children(this.config.subMenu);
                                   i.length > 0 && !i.hasClass(c) && this.show(i);
                              }),
                              (r.removeActive = function (e) {
                                   t(e).removeClass(l);
                                   var i = t(e).children(this.config.subMenu + "." + c);
                                   i.length > 0 && this.hide(i);
                              }),
                              (r.show = function (e) {
                                   var n = this;
                                   if (!this.transitioning && !t(e).hasClass(h)) {
                                        var r = t(e),
                                             o = t.Event(a.SHOW);
                                        if ((r.trigger(o), !o.isDefaultPrevented())) {
                                             if ((r.parent(this.config.parentTrigger).addClass(l), this.config.toggle)) {
                                                  var s = r
                                                       .parent(this.config.parentTrigger)
                                                       .siblings()
                                                       .children(this.config.subMenu + "." + c);
                                                  this.hide(s);
                                             }
                                             r.removeClass(u).addClass(h).height(0),
                                                  this.setTransitioning(!0),
                                                  r
                                                       .height(e[0].scrollHeight)
                                                       .one(i.TRANSITION_END, function () {
                                                            n.config &&
                                                                 n.element &&
                                                                 (r
                                                                      .removeClass(h)
                                                                      .addClass(u + " " + c)
                                                                      .height(""),
                                                                 n.setTransitioning(!1),
                                                                 r.trigger(a.SHOWN));
                                                       })
                                                       .mmEmulateTransitionEnd(350);
                                        }
                                   }
                              }),
                              (r.hide = function (e) {
                                   var n = this;
                                   if (!this.transitioning && t(e).hasClass(c)) {
                                        var r = t(e),
                                             o = t.Event(a.HIDE);
                                        if ((r.trigger(o), !o.isDefaultPrevented())) {
                                             r.parent(this.config.parentTrigger).removeClass(l), r.height(r.height())[0].offsetHeight, r.addClass(h).removeClass(u).removeClass(c), this.setTransitioning(!0);
                                             var s = function () {
                                                  n.config && n.element && (n.transitioning && n.config.onTransitionEnd && n.config.onTransitionEnd(), n.setTransitioning(!1), r.trigger(a.HIDDEN), r.removeClass(h).addClass(u));
                                             };
                                             0 === r.height() || "none" === r.css("display") ? s() : r.height(0).one(i.TRANSITION_END, s).mmEmulateTransitionEnd(350);
                                        }
                                   }
                              }),
                              (r.setTransitioning = function (t) {
                                   this.transitioning = t;
                              }),
                              (r.dispose = function () {
                                   t.removeData(this.element, "metisMenu"),
                                        t(this.element).find(this.config.parentTrigger).children(this.config.triggerElement).off(a.CLICK_DATA_API),
                                        (this.transitioning = null),
                                        (this.config = null),
                                        (this.element = null);
                              }),
                              (n.jQueryInterface = function (i) {
                                   return this.each(function () {
                                        var r = t(this),
                                             a = r.data("metisMenu"),
                                             s = e({}, o, {}, r.data(), {}, "object" == typeof i && i ? i : {});
                                        if ((a || ((a = new n(this, s)), r.data("metisMenu", a)), "string" == typeof i)) {
                                             if (void 0 === a[i]) throw new Error('No method named "' + i + '"');
                                             a[i]();
                                        }
                                   });
                              }),
                              n
                         );
                    })();
               return (
                    (t.fn[n] = d.jQueryInterface),
                    (t.fn[n].Constructor = d),
                    (t.fn[n].noConflict = function () {
                         return (t.fn[n] = r), d.jQueryInterface;
                    }),
                    d
               );
          })(i(1));
     },
     function (t, e, i) {
          (function (t) {
               t(document).ready(function () {
                    t(".btn-open-options").click(function () {
                         t(".ui-theme-settings").toggleClass("settings-open");
                    }),
                         t(".close-sidebar-btn").click(function () {
                              var e = t(this).attr("data-class");
                              t(".app-container").toggleClass(e);
                              var i = t(this);
                              i.hasClass("is-active") ? i.removeClass("is-active") : i.addClass("is-active");
                         }),
                         t(".switch-container-class").on("click", function () {
                              var e = t(this).attr("data-class");
                              t(".app-container").toggleClass(e), t(this).parent().find(".switch-container-class").removeClass("active"), t(this).addClass("active");
                         }),
                         t(".switch-theme-class").on("click", function () {
                              var e = t(this).attr("data-class");
                              "app-theme-white" == e && (t(".app-container").removeClass("app-theme-gray"), t(".app-container").addClass(e)),
                                   "app-theme-gray" == e && (t(".app-container").removeClass("app-theme-white"), t(".app-container").addClass(e)),
                                   "body-tabs-line" == e && (t(".app-container").removeClass("body-tabs-shadow"), t(".app-container").addClass(e)),
                                   "body-tabs-shadow" == e && (t(".app-container").removeClass("body-tabs-line"), t(".app-container").addClass(e)),
                                   t(this).parent().find(".switch-theme-class").removeClass("active"),
                                   t(this).addClass("active");
                         }),
                         t(".switch-header-cs-class").on("click", function () {
                              var e = t(this).attr("data-class");
                              t(".switch-header-cs-class").removeClass("active"), t(this).addClass("active"), t(".app-header").attr("class", "app-header"), t(".app-header").addClass("header-shadow " + e);
                         }),
                         t(".switch-sidebar-cs-class").on("click", function () {
                              var e = t(this).attr("data-class");
                              t(".switch-sidebar-cs-class").removeClass("active"), t(this).addClass("active"), t(".app-sidebar").attr("class", "app-sidebar"), t(".app-sidebar").addClass("sidebar-shadow " + e);
                         });
               });
          }.call(this, i(1)));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var e = i(151);
                    t(document).ready(function () {
                         e.a(".ladda-button", { timeout: 2e3 });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(160);
                    t(document).ready(function () {
                         (t.blockUI.defaults = { timeout: 2e3, fadeIn: 200, fadeOut: 400 }),
                              t(".block-page-btn-example-1").click(function () {
                                   t.blockUI({ message: t(".body-block-example-1") });
                              }),
                              t(".block-page-btn-example-2").click(function () {
                                   t.blockUI({ message: t(".body-block-example-2") });
                              }),
                              t(".block-page-btn-example-3").click(function () {
                                   t.blockUI({ message: t(".body-block-example-3") });
                              }),
                              t(".block-element-btn-example-1").click(function () {
                                   t(".element-block-example").block({
                                        message: t(
                                             '<div class="loader mx-auto">\n                            <div class="ball-grid-pulse">\n                                <div class="bg-white"></div>\n                                <div class="bg-white"></div>\n                                <div class="bg-white"></div>\n                                <div class="bg-white"></div>\n                                <div class="bg-white"></div>\n                                <div class="bg-white"></div>\n                                <div class="bg-white"></div>\n                                <div class="bg-white"></div>\n                                <div class="bg-white"></div>\n                            </div>\n                        </div>'
                                        ),
                                   });
                              }),
                              t(".block-element-btn-example-2").click(function () {
                                   t(".element-block-example").block({
                                        message: t(
                                             '<div class="loader mx-auto">\n                            <div class="line-scale-pulse-out">\n                                <div class="bg-success"></div>\n                                <div class="bg-success"></div>\n                                <div class="bg-success"></div>\n                                <div class="bg-success"></div>\n                                <div class="bg-success"></div>\n                            </div>\n                        </div>'
                                        ),
                                   });
                              }),
                              t(".block-element-btn-example-3").click(function () {
                                   t(".element-block-example").block({
                                        message: t(
                                             '<div class="loader mx-auto">\n                            <div class="ball-pulse-sync">\n                                <div class="bg-warning"></div>\n                                <div class="bg-warning"></div>\n                                <div class="bg-warning"></div>\n                            </div>\n                        </div>'
                                        ),
                                   });
                              });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          var n, r, o;
          /*!
           * jQuery blockUI plugin
           * Version 2.70.0-2014.11.23
           * Requires jQuery v1.7 or later
           *
           * Examples at: http://malsup.com/jquery/block/
           * Copyright (c) 2007-2013 M. Alsup
           * Dual licensed under the MIT and GPL licenses:
           * http://www.opensource.org/licenses/mit-license.php
           * http://www.gnu.org/licenses/gpl.html
           *
           * Thanks to Amir-Hossein Sobhi for some excellent contributions!
           */ !(function () {
               "use strict";
               (r = [i(1)]),
                    void 0 ===
                         (o =
                              "function" ==
                              typeof (n = function (t) {
                                   t.fn._fadeIn = t.fn.fadeIn;
                                   var e = t.noop || function () {},
                                        i = /MSIE/.test(navigator.userAgent),
                                        n = /MSIE 6.0/.test(navigator.userAgent) && !/MSIE 8.0/.test(navigator.userAgent),
                                        r = (document.documentMode, t.isFunction(document.createElement("div").style.setExpression));
                                   (t.blockUI = function (t) {
                                        s(window, t);
                                   }),
                                        (t.unblockUI = function (t) {
                                             l(window, t);
                                        }),
                                        (t.growlUI = function (e, i, n, r) {
                                             var o = t('<div class="growlUI"></div>');
                                             e && o.append("<h1>" + e + "</h1>"), i && o.append("<h2>" + i + "</h2>"), void 0 === n && (n = 3e3);
                                             var a = function (e) {
                                                  (e = e || {}),
                                                       t.blockUI({
                                                            message: o,
                                                            fadeIn: void 0 !== e.fadeIn ? e.fadeIn : 700,
                                                            fadeOut: void 0 !== e.fadeOut ? e.fadeOut : 1e3,
                                                            timeout: void 0 !== e.timeout ? e.timeout : n,
                                                            centerY: !1,
                                                            showOverlay: !1,
                                                            onUnblock: r,
                                                            css: t.blockUI.defaults.growlCSS,
                                                       });
                                             };
                                             a();
                                             o.css("opacity");
                                             o.mouseover(function () {
                                                  a({ fadeIn: 0, timeout: 3e4 });
                                                  var e = t(".blockMsg");
                                                  e.stop(), e.fadeTo(300, 1);
                                             }).mouseout(function () {
                                                  t(".blockMsg").fadeOut(1e3);
                                             });
                                        }),
                                        (t.fn.block = function (e) {
                                             if (this[0] === window) return t.blockUI(e), this;
                                             var i = t.extend({}, t.blockUI.defaults, e || {});
                                             return (
                                                  this.each(function () {
                                                       var e = t(this);
                                                       (i.ignoreIfBlocked && e.data("blockUI.isBlocked")) || e.unblock({ fadeOut: 0 });
                                                  }),
                                                  this.each(function () {
                                                       "static" == t.css(this, "position") && ((this.style.position = "relative"), t(this).data("blockUI.static", !0)), (this.style.zoom = 1), s(this, e);
                                                  })
                                             );
                                        }),
                                        (t.fn.unblock = function (e) {
                                             return this[0] === window
                                                  ? (t.unblockUI(e), this)
                                                  : this.each(function () {
                                                         l(this, e);
                                                    });
                                        }),
                                        (t.blockUI.version = 2.7),
                                        (t.blockUI.defaults = {
                                             message: "<h1>Please wait...</h1>",
                                             title: null,
                                             draggable: !0,
                                             theme: !1,
                                             css: { padding: 0, margin: 0, width: "30%", top: "40%", left: "35%", textAlign: "center", color: "#000", border: "3px solid #aaa", backgroundColor: "#fff", cursor: "wait" },
                                             themedCSS: { width: "30%", top: "40%", left: "35%" },
                                             overlayCSS: { backgroundColor: "#000", opacity: 0.6, cursor: "wait" },
                                             cursorReset: "default",
                                             growlCSS: {
                                                  width: "350px",
                                                  top: "10px",
                                                  left: "",
                                                  right: "10px",
                                                  border: "none",
                                                  padding: "5px",
                                                  opacity: 0.6,
                                                  cursor: "default",
                                                  color: "#fff",
                                                  backgroundColor: "#000",
                                                  "-webkit-border-radius": "10px",
                                                  "-moz-border-radius": "10px",
                                                  "border-radius": "10px",
                                             },
                                             iframeSrc: /^https/i.test(window.location.href || "") ? "javascript:false" : "about:blank",
                                             forceIframe: !1,
                                             baseZ: 1e3,
                                             centerX: !0,
                                             centerY: !0,
                                             allowBodyStretch: !0,
                                             bindEvents: !0,
                                             constrainTabKey: !0,
                                             fadeIn: 200,
                                             fadeOut: 400,
                                             timeout: 0,
                                             showOverlay: !0,
                                             focusInput: !0,
                                             focusableElements: ":input:enabled:visible",
                                             onBlock: null,
                                             onUnblock: null,
                                             onOverlayClick: null,
                                             quirksmodeOffsetHack: 4,
                                             blockMsgClass: "blockMsg",
                                             ignoreIfBlocked: !1,
                                        });
                                   var o = null,
                                        a = [];
                                   function s(s, c) {
                                        var h,
                                             f,
                                             m = s == window,
                                             g = c && void 0 !== c.message ? c.message : void 0;
                                        if (!(c = t.extend({}, t.blockUI.defaults, c || {})).ignoreIfBlocked || !t(s).data("blockUI.isBlocked")) {
                                             if (
                                                  ((c.overlayCSS = t.extend({}, t.blockUI.defaults.overlayCSS, c.overlayCSS || {})),
                                                  (h = t.extend({}, t.blockUI.defaults.css, c.css || {})),
                                                  c.onOverlayClick && (c.overlayCSS.cursor = "pointer"),
                                                  (f = t.extend({}, t.blockUI.defaults.themedCSS, c.themedCSS || {})),
                                                  (g = void 0 === g ? c.message : g),
                                                  m && o && l(window, { fadeOut: 0 }),
                                                  g && "string" != typeof g && (g.parentNode || g.jquery))
                                             ) {
                                                  var v = g.jquery ? g[0] : g,
                                                       y = {};
                                                  t(s).data("blockUI.history", y), (y.el = v), (y.parent = v.parentNode), (y.display = v.style.display), (y.position = v.style.position), y.parent && y.parent.removeChild(v);
                                             }
                                             t(s).data("blockUI.onUnblock", c.onUnblock);
                                             var b,
                                                  _,
                                                  x,
                                                  w,
                                                  k = c.baseZ;
                                             (b =
                                                  i || c.forceIframe
                                                       ? t(
                                                              '<iframe class="blockUI" style="z-index:' +
                                                                   k++ +
                                                                   ';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="' +
                                                                   c.iframeSrc +
                                                                   '"></iframe>'
                                                         )
                                                       : t('<div class="blockUI" style="display:none"></div>')),
                                                  (_ = c.theme
                                                       ? t('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:' + k++ + ';display:none"></div>')
                                                       : t('<div class="blockUI blockOverlay" style="z-index:' + k++ + ';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>')),
                                                  c.theme && m
                                                       ? ((w = '<div class="blockUI ' + c.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:' + (k + 10) + ';display:none;position:fixed">'),
                                                         c.title && (w += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + (c.title || "&nbsp;") + "</div>"),
                                                         (w += '<div class="ui-widget-content ui-dialog-content"></div>'),
                                                         (w += "</div>"))
                                                       : c.theme
                                                       ? ((w = '<div class="blockUI ' + c.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:' + (k + 10) + ';display:none;position:absolute">'),
                                                         c.title && (w += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + (c.title || "&nbsp;") + "</div>"),
                                                         (w += '<div class="ui-widget-content ui-dialog-content"></div>'),
                                                         (w += "</div>"))
                                                       : (w = m
                                                              ? '<div class="blockUI ' + c.blockMsgClass + ' blockPage" style="z-index:' + (k + 10) + ';display:none;position:fixed"></div>'
                                                              : '<div class="blockUI ' + c.blockMsgClass + ' blockElement" style="z-index:' + (k + 10) + ';display:none;position:absolute"></div>'),
                                                  (x = t(w)),
                                                  g && (c.theme ? (x.css(f), x.addClass("ui-widget-content")) : x.css(h)),
                                                  c.theme || _.css(c.overlayCSS),
                                                  _.css("position", m ? "fixed" : "absolute"),
                                                  (i || c.forceIframe) && b.css("opacity", 0);
                                             var S = [b, _, x],
                                                  M = t(m ? "body" : s);
                                             t.each(S, function () {
                                                  this.appendTo(M);
                                             }),
                                                  c.theme && c.draggable && t.fn.draggable && x.draggable({ handle: ".ui-dialog-titlebar", cancel: "li" });
                                             var T = r && (!t.support.boxModel || t("object,embed", m ? null : s).length > 0);
                                             if (n || T) {
                                                  if ((m && c.allowBodyStretch && t.support.boxModel && t("html,body").css("height", "100%"), (n || !t.support.boxModel) && !m))
                                                       var C = p(s, "borderTopWidth"),
                                                            D = p(s, "borderLeftWidth"),
                                                            L = C ? "(0 - " + C + ")" : 0,
                                                            E = D ? "(0 - " + D + ")" : 0;
                                                  t.each(S, function (t, e) {
                                                       var i = e[0].style;
                                                       if (((i.position = "absolute"), t < 2))
                                                            m
                                                                 ? i.setExpression("height", "Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:" + c.quirksmodeOffsetHack + ') + "px"')
                                                                 : i.setExpression("height", 'this.parentNode.offsetHeight + "px"'),
                                                                 m
                                                                      ? i.setExpression("width", 'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"')
                                                                      : i.setExpression("width", 'this.parentNode.offsetWidth + "px"'),
                                                                 E && i.setExpression("left", E),
                                                                 L && i.setExpression("top", L);
                                                       else if (c.centerY)
                                                            m &&
                                                                 i.setExpression(
                                                                      "top",
                                                                      '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'
                                                                 ),
                                                                 (i.marginTop = 0);
                                                       else if (!c.centerY && m) {
                                                            var n = "((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + " + (c.css && c.css.top ? parseInt(c.css.top, 10) : 0) + ') + "px"';
                                                            i.setExpression("top", n);
                                                       }
                                                  });
                                             }
                                             if ((g && (c.theme ? x.find(".ui-widget-content").append(g) : x.append(g), (g.jquery || g.nodeType) && t(g).show()), (i || c.forceIframe) && c.showOverlay && b.show(), c.fadeIn)) {
                                                  var A = c.onBlock ? c.onBlock : e,
                                                       P = c.showOverlay && !g ? A : e,
                                                       I = g ? A : e;
                                                  c.showOverlay && _._fadeIn(c.fadeIn, P), g && x._fadeIn(c.fadeIn, I);
                                             } else c.showOverlay && _.show(), g && x.show(), c.onBlock && c.onBlock.bind(x)();
                                             if (
                                                  (u(1, s, c),
                                                  m
                                                       ? ((o = x[0]), (a = t(c.focusableElements, o)), c.focusInput && setTimeout(d, 20))
                                                       : (function (t, e, i) {
                                                              var n = t.parentNode,
                                                                   r = t.style,
                                                                   o = (n.offsetWidth - t.offsetWidth) / 2 - p(n, "borderLeftWidth"),
                                                                   a = (n.offsetHeight - t.offsetHeight) / 2 - p(n, "borderTopWidth");
                                                              e && (r.left = o > 0 ? o + "px" : "0");
                                                              i && (r.top = a > 0 ? a + "px" : "0");
                                                         })(x[0], c.centerX, c.centerY),
                                                  c.timeout)
                                             ) {
                                                  var O = setTimeout(function () {
                                                       m ? t.unblockUI(c) : t(s).unblock(c);
                                                  }, c.timeout);
                                                  t(s).data("blockUI.timeout", O);
                                             }
                                        }
                                   }
                                   function l(e, i) {
                                        var n,
                                             r,
                                             s = e == window,
                                             l = t(e),
                                             h = l.data("blockUI.history"),
                                             d = l.data("blockUI.timeout");
                                        d && (clearTimeout(d), l.removeData("blockUI.timeout")),
                                             (i = t.extend({}, t.blockUI.defaults, i || {})),
                                             u(0, e, i),
                                             null === i.onUnblock && ((i.onUnblock = l.data("blockUI.onUnblock")), l.removeData("blockUI.onUnblock")),
                                             (r = s ? t("body").children().filter(".blockUI").add("body > .blockUI") : l.find(">.blockUI")),
                                             i.cursorReset && (r.length > 1 && (r[1].style.cursor = i.cursorReset), r.length > 2 && (r[2].style.cursor = i.cursorReset)),
                                             s && (o = a = null),
                                             i.fadeOut
                                                  ? ((n = r.length),
                                                    r.stop().fadeOut(i.fadeOut, function () {
                                                         0 == --n && c(r, h, i, e);
                                                    }))
                                                  : c(r, h, i, e);
                                   }
                                   function c(e, i, n, r) {
                                        var o = t(r);
                                        if (!o.data("blockUI.isBlocked")) {
                                             e.each(function (t, e) {
                                                  this.parentNode && this.parentNode.removeChild(this);
                                             }),
                                                  i && i.el && ((i.el.style.display = i.display), (i.el.style.position = i.position), (i.el.style.cursor = "default"), i.parent && i.parent.appendChild(i.el), o.removeData("blockUI.history")),
                                                  o.data("blockUI.static") && o.css("position", "static"),
                                                  "function" == typeof n.onUnblock && n.onUnblock(r, n);
                                             var a = t(document.body),
                                                  s = a.width(),
                                                  l = a[0].style.width;
                                             a.width(s - 1).width(s), (a[0].style.width = l);
                                        }
                                   }
                                   function u(e, i, n) {
                                        var r = i == window,
                                             a = t(i);
                                        if ((e || ((!r || o) && (r || a.data("blockUI.isBlocked")))) && (a.data("blockUI.isBlocked", e), r && n.bindEvents && (!e || n.showOverlay))) {
                                             var s = "mousedown mouseup keydown keypress keyup touchstart touchend touchmove";
                                             e ? t(document).bind(s, n, h) : t(document).unbind(s, h);
                                        }
                                   }
                                   function h(e) {
                                        if ("keydown" === e.type && e.keyCode && 9 == e.keyCode && o && e.data.constrainTabKey) {
                                             var i = a,
                                                  n = !e.shiftKey && e.target === i[i.length - 1],
                                                  r = e.shiftKey && e.target === i[0];
                                             if (n || r)
                                                  return (
                                                       setTimeout(function () {
                                                            d(r);
                                                       }, 10),
                                                       !1
                                                  );
                                        }
                                        var s = e.data,
                                             l = t(e.target);
                                        return l.hasClass("blockOverlay") && s.onOverlayClick && s.onOverlayClick(e), l.parents("div." + s.blockMsgClass).length > 0 || 0 === l.parents().children().filter("div.blockUI").length;
                                   }
                                   function d(t) {
                                        if (a) {
                                             var e = a[!0 === t ? a.length - 1 : 0];
                                             e && e.focus();
                                        }
                                   }
                                   function p(e, i) {
                                        return parseInt(t.css(e, i), 10) || 0;
                                   }
                              })
                                   ? n.apply(e, r)
                                   : n) || (t.exports = o);
          })();
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(162);
                    t(document).ready(function () {
                         t(".circle-progress-primary")
                              .circleProgress({ value: 0.64, size: 52, lineCap: "round", fill: { color: "#3f6ad8" } })
                              .on("circle-animation-progress", function (e, i, n) {
                                   t(this)
                                        .find("small")
                                        .html("<span>" + n.toFixed(2).substr(2) + "%<span>");
                              }),
                              t(".circle-progress-success")
                                   .circleProgress({ value: 0.81, size: 52, lineCap: "round", fill: { color: "#3ac47d" } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-danger")
                                   .circleProgress({ value: 0.23, size: 52, lineCap: "round", fill: { color: "#d92550" } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-info")
                                   .circleProgress({ value: 0.69, size: 52, lineCap: "round", fill: { color: "#16aaff" } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-alternate")
                                   .circleProgress({ value: 0.69, size: 52, lineCap: "round", fill: { color: "#6f42c1" } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-dark")
                                   .circleProgress({ value: 0.69, size: 52, lineCap: "round", fill: { color: "#6c757d" } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-warning")
                                   .circleProgress({ value: 0.23, size: 52, lineCap: "round", fill: { color: "#fd7e14" } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-success-xl")
                                   .circleProgress({ value: 0.16, size: 114, lineCap: "round", fill: { color: "#3ac47d" } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html('<span class="fsize-2">' + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-gradient-xl")
                                   .circleProgress({ value: 0.51, size: 114, lineCap: "round", fill: { gradient: ["#fdb83a", "#fd7e14"] } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html('<span class="fsize-2">' + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-danger-xl")
                                   .circleProgress({ value: 0.51, size: 114, lineCap: "round", fill: { gradient: ["#ff1e41", "#ff8130"] } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html('<span class="fsize-2">' + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-gradient")
                                   .circleProgress({ value: 0.72, size: 52, lineCap: "round", fill: { gradient: ["#ff1e41", "#ff8130"] } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-gradient-lg")
                                   .circleProgress({ value: 0.64, size: 64, lineCap: "round", fill: { gradient: ["#ff1e41", "#ff8130"] } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-gradient-alt-lg")
                                   .circleProgress({ value: 0.58, size: 64, lineCap: "round", fill: { gradient: ["#007bff", "#16aaff"] } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "%<span>");
                                   }),
                              t(".circle-progress-gradient-alt-sm")
                                   .circleProgress({ value: 0.58, size: 46, lineCap: "round", fill: { gradient: ["#007bff", "#16aaff"] } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "<span>");
                                   }),
                              t(".circle-progress-danger-sm")
                                   .circleProgress({ value: 0.62, size: 46, lineCap: "round", fill: { color: "#d92550" } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "<span>");
                                   }),
                              t(".circle-progress-warning-sm")
                                   .circleProgress({ value: 0.72, size: 46, lineCap: "round", fill: { color: "#fd7e14" } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "<span>");
                                   }),
                              t(".circle-progress-success-sm")
                                   .circleProgress({ value: 0.81, size: 46, lineCap: "round", fill: { color: "#3ac47d" } })
                                   .on("circle-animation-progress", function (e, i, n) {
                                        t(this)
                                             .find("small")
                                             .html("<span>" + n.toFixed(2).substr(2) + "<span>");
                                   });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          var n, r, o;
          (r = [i(1)]),
               void 0 ===
                    (o =
                         "function" ==
                         typeof (n = function (t) {
                              function e(t) {
                                   this.init(t);
                              }
                              (e.prototype = {
                                   value: 0,
                                   size: 100,
                                   startAngle: -Math.PI,
                                   thickness: "auto",
                                   fill: { gradient: ["#3aeabb", "#fdd250"] },
                                   emptyFill: "rgba(0, 0, 0, .1)",
                                   animation: { duration: 1200, easing: "circleProgressEasing" },
                                   animationStartValue: 0,
                                   reverse: !1,
                                   lineCap: "butt",
                                   insertMode: "prepend",
                                   constructor: e,
                                   el: null,
                                   canvas: null,
                                   ctx: null,
                                   radius: 0,
                                   arcFill: null,
                                   lastFrameValue: 0,
                                   init: function (e) {
                                        t.extend(this, e), (this.radius = this.size / 2), this.initWidget(), this.initFill(), this.draw(), this.el.trigger("circle-inited");
                                   },
                                   initWidget: function () {
                                        this.canvas || (this.canvas = t("<canvas>")["prepend" == this.insertMode ? "prependTo" : "appendTo"](this.el)[0]);
                                        var e = this.canvas;
                                        if (((e.width = this.size), (e.height = this.size), (this.ctx = e.getContext("2d")), window.devicePixelRatio > 1)) {
                                             var i = window.devicePixelRatio;
                                             (e.style.width = e.style.height = this.size + "px"), (e.width = e.height = this.size * i), this.ctx.scale(i, i);
                                        }
                                   },
                                   initFill: function () {
                                        var e,
                                             i = this,
                                             n = this.fill,
                                             r = this.ctx,
                                             o = this.size;
                                        if (!n) throw Error("The fill is not specified!");
                                        if (("string" == typeof n && (n = { color: n }), n.color && (this.arcFill = n.color), n.gradient)) {
                                             var a = n.gradient;
                                             if (1 == a.length) this.arcFill = a[0];
                                             else if (a.length > 1) {
                                                  for (
                                                       var s = n.gradientAngle || 0,
                                                            l = n.gradientDirection || [(o / 2) * (1 - Math.cos(s)), (o / 2) * (1 + Math.sin(s)), (o / 2) * (1 + Math.cos(s)), (o / 2) * (1 - Math.sin(s))],
                                                            c = r.createLinearGradient.apply(r, l),
                                                            u = 0;
                                                       u < a.length;
                                                       u++
                                                  ) {
                                                       var h = a[u],
                                                            d = u / (a.length - 1);
                                                       t.isArray(h) && ((d = h[1]), (h = h[0])), c.addColorStop(d, h);
                                                  }
                                                  this.arcFill = c;
                                             }
                                        }
                                        function p() {
                                             var n = t("<canvas>")[0];
                                             (n.width = i.size), (n.height = i.size), n.getContext("2d").drawImage(e, 0, 0, o, o), (i.arcFill = i.ctx.createPattern(n, "no-repeat")), i.drawFrame(i.lastFrameValue);
                                        }
                                        n.image && (n.image instanceof Image ? (e = n.image) : ((e = new Image()).src = n.image), e.complete ? p() : (e.onload = p));
                                   },
                                   draw: function () {
                                        this.animation ? this.drawAnimated(this.value) : this.drawFrame(this.value);
                                   },
                                   drawFrame: function (t) {
                                        (this.lastFrameValue = t), this.ctx.clearRect(0, 0, this.size, this.size), this.drawEmptyArc(t), this.drawArc(t);
                                   },
                                   drawArc: function (t) {
                                        if (0 !== t) {
                                             var e = this.ctx,
                                                  i = this.radius,
                                                  n = this.getThickness(),
                                                  r = this.startAngle;
                                             e.save(),
                                                  e.beginPath(),
                                                  this.reverse ? e.arc(i, i, i - n / 2, r - 2 * Math.PI * t, r) : e.arc(i, i, i - n / 2, r, r + 2 * Math.PI * t),
                                                  (e.lineWidth = n),
                                                  (e.lineCap = this.lineCap),
                                                  (e.strokeStyle = this.arcFill),
                                                  e.stroke(),
                                                  e.restore();
                                        }
                                   },
                                   drawEmptyArc: function (t) {
                                        var e = this.ctx,
                                             i = this.radius,
                                             n = this.getThickness(),
                                             r = this.startAngle;
                                        t < 1 &&
                                             (e.save(),
                                             e.beginPath(),
                                             t <= 0 ? e.arc(i, i, i - n / 2, 0, 2 * Math.PI) : this.reverse ? e.arc(i, i, i - n / 2, r, r - 2 * Math.PI * t) : e.arc(i, i, i - n / 2, r + 2 * Math.PI * t, r),
                                             (e.lineWidth = n),
                                             (e.strokeStyle = this.emptyFill),
                                             e.stroke(),
                                             e.restore());
                                   },
                                   drawAnimated: function (e) {
                                        var i = this,
                                             n = this.el,
                                             r = t(this.canvas);
                                        r.stop(!0, !1),
                                             n.trigger("circle-animation-start"),
                                             r
                                                  .css({ animationProgress: 0 })
                                                  .animate(
                                                       { animationProgress: 1 },
                                                       t.extend({}, this.animation, {
                                                            step: function (t) {
                                                                 var r = i.animationStartValue * (1 - t) + e * t;
                                                                 i.drawFrame(r), n.trigger("circle-animation-progress", [t, r]);
                                                            },
                                                       })
                                                  )
                                                  .promise()
                                                  .always(function () {
                                                       n.trigger("circle-animation-end");
                                                  });
                                   },
                                   getThickness: function () {
                                        return t.isNumeric(this.thickness) ? this.thickness : this.size / 14;
                                   },
                                   getValue: function () {
                                        return this.value;
                                   },
                                   setValue: function (t) {
                                        this.animation && (this.animationStartValue = this.lastFrameValue), (this.value = t), this.draw();
                                   },
                              }),
                                   (t.circleProgress = { defaults: e.prototype }),
                                   (t.easing.circleProgressEasing = function (t) {
                                        return t < 0.5 ? 0.5 * (t *= 2) * t * t : 1 - 0.5 * (t = 2 - 2 * t) * t * t;
                                   }),
                                   (t.fn.circleProgress = function (i, n) {
                                        var r = "circle-progress",
                                             o = this.data(r);
                                        if ("widget" == i) {
                                             if (!o) throw Error('Calling "widget" method on not initialized instance is forbidden');
                                             return o.canvas;
                                        }
                                        if ("value" == i) {
                                             if (!o) throw Error('Calling "value" method on not initialized instance is forbidden');
                                             if (void 0 === n) return o.getValue();
                                             var a = arguments[1];
                                             return this.each(function () {
                                                  t(this).data(r).setValue(a);
                                             });
                                        }
                                        return this.each(function () {
                                             var n = t(this),
                                                  o = n.data(r),
                                                  a = t.isPlainObject(i) ? i : {};
                                             if (o) o.init(a);
                                             else {
                                                  var s = t.extend({}, n.data());
                                                  "string" == typeof s.fill && (s.fill = JSON.parse(s.fill)),
                                                       "string" == typeof s.animation && (s.animation = JSON.parse(s.animation)),
                                                       ((a = t.extend(s, a)).el = n),
                                                       (o = new e(a)),
                                                       n.data(r, o);
                                             }
                                        });
                                   });
                         })
                              ? n.apply(e, r)
                              : n) || (t.exports = o);
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var e = i(6),
                         n = i.n(e);
                    t(document).ready(function () {
                         var e = { useEasing: !0, separator: ",", decimal: ".", prefix: "R$" },
                              i = { useEasing: !0, separator: ",", decimal: ".", prefix: "", suffix: "k" },
                              r = { useEasing: !0, separator: ",", decimal: ".", prefix: "", suffix: " %" },
                              o = { useEasing: !0, separator: ",", decimal: ".", prefix: "", suffix: " " },
                              a = c(0, 983),
                              s = c(0, 97),
                              l = c(0, 187);
                         function c(t, e) {
                              return Math.floor(Math.random() * (e - t + 1) + t);
                         }
                         t(".count-up-wrapper").each(function () {
                              var i = new n.a(t(this)[0], 0, t(this).attr("data-value"), 0, 8, e);
                              i.error || i.start();
                         }),
                              t(".count-up-wrapper-2").each(function () {
                                   var e = new n.a(t(this)[0], 0, s, 0, 15, i);
                                   e.error || e.start();
                              }),
                              t(".count-up-wrapper-3").each(function () {
                                   var e = new n.a(t(this)[0], 0, l, 0, 12, r);
                                   e.error || e.start();
                              }),
                              t(".count-up-wrapper-4").each(function () {
                                   var e = new n.a(t(this)[0], 0, a, 0, 12, o);
                                   e.error || e.start();
                              });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var e = i(3),
                         n = i.n(e);
                    t(document).ready(function () {
                         t(function () {
                              var e,
                                   i = -1,
                                   r = 0;
                              t("#closeButton").click(function () {
                                   t(this).is(":checked") ? t("#addBehaviorOnToastCloseClick").prop("disabled", !1) : (t("#addBehaviorOnToastCloseClick").prop("disabled", !0), t("#addBehaviorOnToastCloseClick").prop("checked", !1));
                              }),
                                   t("#showtoast").click(function ()  {
									   
									  var title = String(t(this).attr('data-title'));
									  var descricao = String(t(this).attr('data-descript'));
							          var type = t(this).attr('data-type');
									   
                                        var o,
                                             a = t("#toastTypeGroup input:radio:checked").val() || type,
                                             s = t("#message").val() || descricao,
                                             l = t("#title").val() || title,
                                             c = t("#showDuration") || 300,
                                             u = t("#hideDuration") || 1000,
                                             h = t("#timeOut") || 5000,
                                             d = t("#extendedTimeOut") || 1000,
                                             p = t("#showEasing") || 'swing',
                                             f = t("#hideEasing") || 'linear',
                                             m = t("#showMethod") || 'fadeIn',
                                             g = t("#hideMethod") || 'fadeOut',
                                             v = r++,
                                             y = t("#addClear").prop("checked") || false;
                                        (n.a.options = {
                                             closeButton: t("#closeButton").prop("checked") || false,
                                             debug: t("#debugInfo").prop("checked") || false,
                                             newestOnTop: t("#newestOnTop").prop("checked") || false,
                                             progressBar: t("#progressBar").prop("checked") || false,
                                             rtl: t("#rtl").prop("checked") || false,
                                             positionClass: t("#positionGroup input:radio:checked").val() || "toast-top-right",
                                             preventDuplicates: t("#preventDuplicates").prop("checked") || false,
                                             onclick: null,
                                        }),
                                             t("#addBehaviorOnToastClick").prop("checked") &&
                                                  (n.a.options.onclick = function () {
                                                       alert("You can perform some custom action after a toast goes away");
                                                  }),
                                             t("#addBehaviorOnToastCloseClick").prop("checked") &&
                                                  (n.a.options.onCloseClick = function () {
                                                       alert("You can perform some custom action when the close button is clicked");
                                                  }),
                                             c.val().length && (n.a.options.showDuration = parseInt(c.val())),
                                             u.val().length && (n.a.options.hideDuration = parseInt(u.val())),
                                             h.val().length && (n.a.options.timeOut = y ? 0 : parseInt(h.val())),
                                             d.val().length && (n.a.options.extendedTimeOut = y ? 0 : parseInt(d.val())),
                                             p.val().length && (n.a.options.showEasing = p.val()),
                                             f.val().length && (n.a.options.hideEasing = f.val()),
                                             m.val().length && (n.a.options.showMethod = m.val()),
                                             g.val().length && (n.a.options.hideMethod = g.val()),
                                             y &&
                                                  ((s = (function (t) {
                                                       return (t = t || "Clear itself?"), (t += '<br /><br /><button type="button" class="btn clear">Yes</button>');
                                                  })(s)),
                                                  (n.a.options.tapToDismiss = !1)),
                                             s ||
                                                  (++i ===
                                                       (o = [
                                                            "My name is Inigo Montoya. You killed my father. Prepare to die!",
                                                            '<div><input class="input-small" value="textbox"/>&nbsp;<a href="http://johnpapa.net" target="_blank">This is a hyperlink</a></div><div><button type="button" id="okBtn" class="btn btn-primary">Close me</button><button type="button" id="surpriseBtn" class="btn" style="margin: 0 8px 0 8px">Surprise me</button></div>',
                                                            "Are you the six fingered man?",
                                                            "Inconceivable!",
                                                            "I do not think that means what you think it means.",
                                                            "Have fun storming the castle!",
                                                       ]).length && (i = 0),
                                                  (s = o[i])),
                                             t("#toastrOptions").text('Command: toastr["' + a + '"]("' + s + (l ? '", "' + l : "") + '")\n\ntoastr.options = ' + JSON.stringify(n.a.options, null, 2));
                                        var b = n.a[a](s, l);
                                        (e = b),
                                             void 0 !== b &&
                                                  (b.find("#okBtn").length &&
                                                       b.delegate("#okBtn", "click", function () {
                                                            alert("you clicked me. i was toast #" + v + ". goodbye!"), b.remove();
                                                       }),
                                                  b.find("#surpriseBtn").length &&
                                                       b.delegate("#surpriseBtn", "click", function () {
                                                            alert("Surprise! you clicked me. i was toast #" + v + ". You could perform an action here.");
                                                       }),
                                                  b.find(".clear").length &&
                                                       b.delegate(".clear", "click", function () {
                                                            n.a.clear(b, { force: !0 });
                                                       }));
                                   }),
                                   t("#clearlasttoast").click(function () {
                                        n.a.clear(e);
                                   }),
                                   t("#cleartoasts").click(function () {
                                        n.a.clear();
                                   });
                         }),
                              t(".show-toastr-example").click(function () {
                                   (n.a.options = {
                                        closeButton: !0,
                                        debug: !1,
                                        newestOnTop: !0,
                                        progressBar: !0,
                                        positionClass: "toast-bottom-center",
                                        preventDuplicates: !1,
                                        onclick: null,
                                        showDuration: "300",
                                        hideDuration: "1000",
                                        timeOut: "5000",
                                        extendedTimeOut: "1000",
                                        showEasing: "swing",
                                        hideEasing: "linear",
                                        showMethod: "fadeIn",
                                        hideMethod: "fadeOut",
                                   }),
                                        n.a.info("You don't have any new items in your calendar today!", "Example Toastr");
                              });
                    });
               }.call(this, i(1));
     },
     function (t, e) {
          t.exports = function () {
               throw new Error("define cannot be used indirect");
          };
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var e = i(7),
                         n = i.n(e);
                    t(document).ready(function () {
                         t(".btn-show-swal").each(function () {
                              t(this).click(function () {
                                   var e = t(this).attr("data-type");
                                   n()({ title: "Type: " + e, text: "Do you want to continue", type: e, confirmButtonText: "Cool" });
                              });
                         }),
                              t(".btn-show-swal-basic").click(function () {
                                   n()({ text: "The Internet?", title: "That thing is still around?", type: "question" });
                              }),
                              t(".btn-show-swal-basic-2").click(function () {
                                   n()({ type: "error", title: "Oops...", text: "Something went wrong!", footer: "<a href>Why do I have this issue?</a>" });
                              }),
                              t(".btn-show-swal-basic-3").click(function () {
                                   n()({ title: "Custom animation with Animate.css", animation: !1, customClass: "animated lightSpeedIn" });
                              });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var e = i(9);
                    t(document).ready(function () {
                         setTimeout(function () {
                              if (t(".scrollbar-container")[0]) {
                                   t(".scrollbar-container").each(function () {
                                        new e.a(t(this)[0], { wheelSpeed: 2, wheelPropagation: !1, minScrollbarLength: 20 });
                                   });
                                   new e.a(".scrollbar-sidebar", { wheelSpeed: 2, wheelPropagation: !0, minScrollbarLength: 20 });
                              }
                         }, 1e3);
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          (function (t) {
               t(document).ready(function () {});
          }.call(this, i(1)));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(170);
                    t(document).ready(function () {
                         setTimeout(function () {
                              t(".slick-slider").slick({ dots: !0, slidesToShow: 1, slidesToScroll: 1 }),
                                   t(".slick-slider-3").slick({ dots: !0, slidesToShow: 1, slidesToScroll: 1 }),
                                   t(".slick-slider-2").slick({ className: "center", centerMode: !0, infinite: !0, centerPadding: "60px", slidesToShow: 3, speed: 500, dots: !0 }),
                                   t(".slick-slider-variable").slick({ className: "slider variable-width", dots: !0, infinite: !0, centerMode: !0, slidesToShow: 1, slidesToScroll: 1, variableWidth: !0 }),
                                   t(".slick-slider-responsive").slick({
                                        dots: !0,
                                        infinite: !1,
                                        speed: 500,
                                        slidesToShow: 4,
                                        slidesToScroll: 4,
                                        initialSlide: 0,
                                        responsive: [
                                             { breakpoint: 1024, settings: { slidesToShow: 3, slidesToScroll: 3, infinite: !0, dots: !0 } },
                                             { breakpoint: 600, settings: { slidesToShow: 2, slidesToScroll: 2, initialSlide: 2 } },
                                             { breakpoint: 480, settings: { slidesToShow: 1, slidesToScroll: 1 } },
                                        ],
                                   }),
                                   t(".slick-slider-inverted").slick({ infinite: !0, slidesToShow: 1, speed: 500, dots: !0, adaptiveHeight: !0 });
                         }, 500);
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          var n, r, o;
          !(function (a) {
               "use strict";
               (r = [i(1)]),
                    void 0 ===
                         (o =
                              "function" ==
                              typeof (n = function (t) {
                                   var e = window.Slick || {};
                                   (((i = 0),
                                   (e = function (e, n) {
                                        var r,
                                             o = this;
                                        (o.defaults = {
                                             accessibility: !0,
                                             adaptiveHeight: !1,
                                             appendArrows: t(e),
                                             appendDots: t(e),
                                             arrows: !0,
                                             asNavFor: null,
                                             prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
                                             nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
                                             autoplay: !1,
                                             autoplaySpeed: 3e3,
                                             centerMode: !1,
                                             centerPadding: "50px",
                                             cssEase: "ease",
                                             customPaging: function (e, i) {
                                                  return t('<button type="button" />').text(i + 1);
                                             },
                                             dots: !1,
                                             dotsClass: "slick-dots",
                                             draggable: !0,
                                             easing: "linear",
                                             edgeFriction: 0.35,
                                             fade: !1,
                                             focusOnSelect: !1,
                                             focusOnChange: !1,
                                             infinite: !0,
                                             initialSlide: 0,
                                             lazyLoad: "ondemand",
                                             mobileFirst: !1,
                                             pauseOnHover: !0,
                                             pauseOnFocus: !0,
                                             pauseOnDotsHover: !1,
                                             respondTo: "window",
                                             responsive: null,
                                             rows: 1,
                                             rtl: !1,
                                             slide: "",
                                             slidesPerRow: 1,
                                             slidesToShow: 1,
                                             slidesToScroll: 1,
                                             speed: 500,
                                             swipe: !0,
                                             swipeToSlide: !1,
                                             touchMove: !0,
                                             touchThreshold: 5,
                                             useCSS: !0,
                                             useTransform: !0,
                                             variableWidth: !1,
                                             vertical: !1,
                                             verticalSwiping: !1,
                                             waitForAnimate: !0,
                                             zIndex: 1e3,
                                        }),
                                             (o.initials = {
                                                  animating: !1,
                                                  dragging: !1,
                                                  autoPlayTimer: null,
                                                  currentDirection: 0,
                                                  currentLeft: null,
                                                  currentSlide: 0,
                                                  direction: 1,
                                                  $dots: null,
                                                  listWidth: null,
                                                  listHeight: null,
                                                  loadIndex: 0,
                                                  $nextArrow: null,
                                                  $prevArrow: null,
                                                  scrolling: !1,
                                                  slideCount: null,
                                                  slideWidth: null,
                                                  $slideTrack: null,
                                                  $slides: null,
                                                  sliding: !1,
                                                  slideOffset: 0,
                                                  swipeLeft: null,
                                                  swiping: !1,
                                                  $list: null,
                                                  touchObject: {},
                                                  transformsEnabled: !1,
                                                  unslicked: !1,
                                             }),
                                             t.extend(o, o.initials),
                                             (o.activeBreakpoint = null),
                                             (o.animType = null),
                                             (o.animProp = null),
                                             (o.breakpoints = []),
                                             (o.breakpointSettings = []),
                                             (o.cssTransitions = !1),
                                             (o.focussed = !1),
                                             (o.interrupted = !1),
                                             (o.hidden = "hidden"),
                                             (o.paused = !0),
                                             (o.positionProp = null),
                                             (o.respondTo = null),
                                             (o.rowCount = 1),
                                             (o.shouldClick = !0),
                                             (o.$slider = t(e)),
                                             (o.$slidesCache = null),
                                             (o.transformType = null),
                                             (o.transitionType = null),
                                             (o.visibilityChange = "visibilitychange"),
                                             (o.windowWidth = 0),
                                             (o.windowTimer = null),
                                             (r = t(e).data("slick") || {}),
                                             (o.options = t.extend({}, o.defaults, n, r)),
                                             (o.currentSlide = o.options.initialSlide),
                                             (o.originalSettings = o.options),
                                             void 0 !== document.mozHidden
                                                  ? ((o.hidden = "mozHidden"), (o.visibilityChange = "mozvisibilitychange"))
                                                  : void 0 !== document.webkitHidden && ((o.hidden = "webkitHidden"), (o.visibilityChange = "webkitvisibilitychange")),
                                             (o.autoPlay = t.proxy(o.autoPlay, o)),
                                             (o.autoPlayClear = t.proxy(o.autoPlayClear, o)),
                                             (o.autoPlayIterator = t.proxy(o.autoPlayIterator, o)),
                                             (o.changeSlide = t.proxy(o.changeSlide, o)),
                                             (o.clickHandler = t.proxy(o.clickHandler, o)),
                                             (o.selectHandler = t.proxy(o.selectHandler, o)),
                                             (o.setPosition = t.proxy(o.setPosition, o)),
                                             (o.swipeHandler = t.proxy(o.swipeHandler, o)),
                                             (o.dragHandler = t.proxy(o.dragHandler, o)),
                                             (o.keyHandler = t.proxy(o.keyHandler, o)),
                                             (o.instanceUid = i++),
                                             (o.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/),
                                             o.registerBreakpoints(),
                                             o.init(!0);
                                   })).prototype.activateADA = function () {
                                        this.$slideTrack.find(".slick-active").attr({ "aria-hidden": "false" }).find("a, input, button, select").attr({ tabindex: "0" });
                                   }),
                                        (e.prototype.addSlide = e.prototype.slickAdd = function (e, i, n) {
                                             var r = this;
                                             if ("boolean" == typeof i) (n = i), (i = null);
                                             else if (i < 0 || i >= r.slideCount) return !1;
                                             r.unload(),
                                                  "number" == typeof i
                                                       ? 0 === i && 0 === r.$slides.length
                                                            ? t(e).appendTo(r.$slideTrack)
                                                            : n
                                                            ? t(e).insertBefore(r.$slides.eq(i))
                                                            : t(e).insertAfter(r.$slides.eq(i))
                                                       : !0 === n
                                                       ? t(e).prependTo(r.$slideTrack)
                                                       : t(e).appendTo(r.$slideTrack),
                                                  (r.$slides = r.$slideTrack.children(this.options.slide)),
                                                  r.$slideTrack.children(this.options.slide).detach(),
                                                  r.$slideTrack.append(r.$slides),
                                                  r.$slides.each(function (e, i) {
                                                       t(i).attr("data-slick-index", e);
                                                  }),
                                                  (r.$slidesCache = r.$slides),
                                                  r.reinit();
                                        }),
                                        (e.prototype.animateHeight = function () {
                                             var t = this;
                                             if (1 === t.options.slidesToShow && !0 === t.options.adaptiveHeight && !1 === t.options.vertical) {
                                                  var e = t.$slides.eq(t.currentSlide).outerHeight(!0);
                                                  t.$list.animate({ height: e }, t.options.speed);
                                             }
                                        }),
                                        (e.prototype.animateSlide = function (e, i) {
                                             var n = {},
                                                  r = this;
                                             r.animateHeight(),
                                                  !0 === r.options.rtl && !1 === r.options.vertical && (e = -e),
                                                  !1 === r.transformsEnabled
                                                       ? !1 === r.options.vertical
                                                            ? r.$slideTrack.animate({ left: e }, r.options.speed, r.options.easing, i)
                                                            : r.$slideTrack.animate({ top: e }, r.options.speed, r.options.easing, i)
                                                       : !1 === r.cssTransitions
                                                       ? (!0 === r.options.rtl && (r.currentLeft = -r.currentLeft),
                                                         t({ animStart: r.currentLeft }).animate(
                                                              { animStart: e },
                                                              {
                                                                   duration: r.options.speed,
                                                                   easing: r.options.easing,
                                                                   step: function (t) {
                                                                        (t = Math.ceil(t)),
                                                                             !1 === r.options.vertical
                                                                                  ? ((n[r.animType] = "translate(" + t + "px, 0px)"), r.$slideTrack.css(n))
                                                                                  : ((n[r.animType] = "translate(0px," + t + "px)"), r.$slideTrack.css(n));
                                                                   },
                                                                   complete: function () {
                                                                        i && i.call();
                                                                   },
                                                              }
                                                         ))
                                                       : (r.applyTransition(),
                                                         (e = Math.ceil(e)),
                                                         !1 === r.options.vertical ? (n[r.animType] = "translate3d(" + e + "px, 0px, 0px)") : (n[r.animType] = "translate3d(0px," + e + "px, 0px)"),
                                                         r.$slideTrack.css(n),
                                                         i &&
                                                              setTimeout(function () {
                                                                   r.disableTransition(), i.call();
                                                              }, r.options.speed));
                                        }),
                                        (e.prototype.getNavTarget = function () {
                                             var e = this.options.asNavFor;
                                             return e && null !== e && (e = t(e).not(this.$slider)), e;
                                        }),
                                        (e.prototype.asNavFor = function (e) {
                                             var i = this.getNavTarget();
                                             null !== i &&
                                                  "object" == typeof i &&
                                                  i.each(function () {
                                                       var i = t(this).slick("getSlick");
                                                       i.unslicked || i.slideHandler(e, !0);
                                                  });
                                        }),
                                        (e.prototype.applyTransition = function (t) {
                                             var e = this,
                                                  i = {};
                                             !1 === e.options.fade
                                                  ? (i[e.transitionType] = e.transformType + " " + e.options.speed + "ms " + e.options.cssEase)
                                                  : (i[e.transitionType] = "opacity " + e.options.speed + "ms " + e.options.cssEase),
                                                  !1 === e.options.fade ? e.$slideTrack.css(i) : e.$slides.eq(t).css(i);
                                        }),
                                        (e.prototype.autoPlay = function () {
                                             var t = this;
                                             t.autoPlayClear(), t.slideCount > t.options.slidesToShow && (t.autoPlayTimer = setInterval(t.autoPlayIterator, t.options.autoplaySpeed));
                                        }),
                                        (e.prototype.autoPlayClear = function () {
                                             this.autoPlayTimer && clearInterval(this.autoPlayTimer);
                                        }),
                                        (e.prototype.autoPlayIterator = function () {
                                             var t = this,
                                                  e = t.currentSlide + t.options.slidesToScroll;
                                             t.paused ||
                                                  t.interrupted ||
                                                  t.focussed ||
                                                  (!1 === t.options.infinite &&
                                                       (1 === t.direction && t.currentSlide + 1 === t.slideCount - 1
                                                            ? (t.direction = 0)
                                                            : 0 === t.direction && ((e = t.currentSlide - t.options.slidesToScroll), t.currentSlide - 1 == 0 && (t.direction = 1))),
                                                  t.slideHandler(e));
                                        }),
                                        (e.prototype.buildArrows = function () {
                                             var e = this;
                                             !0 === e.options.arrows &&
                                                  ((e.$prevArrow = t(e.options.prevArrow).addClass("slick-arrow")),
                                                  (e.$nextArrow = t(e.options.nextArrow).addClass("slick-arrow")),
                                                  e.slideCount > e.options.slidesToShow
                                                       ? (e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),
                                                         e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),
                                                         e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.prependTo(e.options.appendArrows),
                                                         e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows),
                                                         !0 !== e.options.infinite && e.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"))
                                                       : e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({ "aria-disabled": "true", tabindex: "-1" }));
                                        }),
                                        (e.prototype.buildDots = function () {
                                             var e,
                                                  i,
                                                  n = this;
                                             if (!0 === n.options.dots && n.slideCount > n.options.slidesToShow) {
                                                  for (n.$slider.addClass("slick-dotted"), i = t("<ul />").addClass(n.options.dotsClass), e = 0; e <= n.getDotCount(); e += 1)
                                                       i.append(t("<li />").append(n.options.customPaging.call(this, n, e)));
                                                  (n.$dots = i.appendTo(n.options.appendDots)), n.$dots.find("li").first().addClass("slick-active");
                                             }
                                        }),
                                        (e.prototype.buildOut = function () {
                                             var e = this;
                                             (e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide")),
                                                  (e.slideCount = e.$slides.length),
                                                  e.$slides.each(function (e, i) {
                                                       t(i)
                                                            .attr("data-slick-index", e)
                                                            .data("originalStyling", t(i).attr("style") || "");
                                                  }),
                                                  e.$slider.addClass("slick-slider"),
                                                  (e.$slideTrack = 0 === e.slideCount ? t('<div class="slick-track"/>').appendTo(e.$slider) : e.$slides.wrapAll('<div class="slick-track"/>').parent()),
                                                  (e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent()),
                                                  e.$slideTrack.css("opacity", 0),
                                                  (!0 !== e.options.centerMode && !0 !== e.options.swipeToSlide) || (e.options.slidesToScroll = 1),
                                                  t("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"),
                                                  e.setupInfinite(),
                                                  e.buildArrows(),
                                                  e.buildDots(),
                                                  e.updateDots(),
                                                  e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0),
                                                  !0 === e.options.draggable && e.$list.addClass("draggable");
                                        }),
                                        (e.prototype.buildRows = function () {
                                             var t,
                                                  e,
                                                  i,
                                                  n,
                                                  r,
                                                  o,
                                                  a,
                                                  s = this;
                                             if (((n = document.createDocumentFragment()), (o = s.$slider.children()), s.options.rows > 0)) {
                                                  for (a = s.options.slidesPerRow * s.options.rows, r = Math.ceil(o.length / a), t = 0; t < r; t++) {
                                                       var l = document.createElement("div");
                                                       for (e = 0; e < s.options.rows; e++) {
                                                            var c = document.createElement("div");
                                                            for (i = 0; i < s.options.slidesPerRow; i++) {
                                                                 var u = t * a + (e * s.options.slidesPerRow + i);
                                                                 o.get(u) && c.appendChild(o.get(u));
                                                            }
                                                            l.appendChild(c);
                                                       }
                                                       n.appendChild(l);
                                                  }
                                                  s.$slider.empty().append(n),
                                                       s.$slider
                                                            .children()
                                                            .children()
                                                            .children()
                                                            .css({ width: 100 / s.options.slidesPerRow + "%", display: "inline-block" });
                                             }
                                        }),
                                        (e.prototype.checkResponsive = function (e, i) {
                                             var n,
                                                  r,
                                                  o,
                                                  a = this,
                                                  s = !1,
                                                  l = a.$slider.width(),
                                                  c = window.innerWidth || t(window).width();
                                             if (
                                                  ("window" === a.respondTo ? (o = c) : "slider" === a.respondTo ? (o = l) : "min" === a.respondTo && (o = Math.min(c, l)),
                                                  a.options.responsive && a.options.responsive.length && null !== a.options.responsive)
                                             ) {
                                                  for (n in ((r = null), a.breakpoints))
                                                       a.breakpoints.hasOwnProperty(n) && (!1 === a.originalSettings.mobileFirst ? o < a.breakpoints[n] && (r = a.breakpoints[n]) : o > a.breakpoints[n] && (r = a.breakpoints[n]));
                                                  null !== r
                                                       ? null !== a.activeBreakpoint
                                                            ? (r !== a.activeBreakpoint || i) &&
                                                              ((a.activeBreakpoint = r),
                                                              "unslick" === a.breakpointSettings[r]
                                                                   ? a.unslick(r)
                                                                   : ((a.options = t.extend({}, a.originalSettings, a.breakpointSettings[r])), !0 === e && (a.currentSlide = a.options.initialSlide), a.refresh(e)),
                                                              (s = r))
                                                            : ((a.activeBreakpoint = r),
                                                              "unslick" === a.breakpointSettings[r]
                                                                   ? a.unslick(r)
                                                                   : ((a.options = t.extend({}, a.originalSettings, a.breakpointSettings[r])), !0 === e && (a.currentSlide = a.options.initialSlide), a.refresh(e)),
                                                              (s = r))
                                                       : null !== a.activeBreakpoint && ((a.activeBreakpoint = null), (a.options = a.originalSettings), !0 === e && (a.currentSlide = a.options.initialSlide), a.refresh(e), (s = r)),
                                                       e || !1 === s || a.$slider.trigger("breakpoint", [a, s]);
                                             }
                                        }),
                                        (e.prototype.changeSlide = function (e, i) {
                                             var n,
                                                  r,
                                                  o = this,
                                                  a = t(e.currentTarget);
                                             switch (
                                                  (a.is("a") && e.preventDefault(),
                                                  a.is("li") || (a = a.closest("li")),
                                                  (n = o.slideCount % o.options.slidesToScroll != 0 ? 0 : (o.slideCount - o.currentSlide) % o.options.slidesToScroll),
                                                  e.data.message)
                                             ) {
                                                  case "previous":
                                                       (r = 0 === n ? o.options.slidesToScroll : o.options.slidesToShow - n), o.slideCount > o.options.slidesToShow && o.slideHandler(o.currentSlide - r, !1, i);
                                                       break;
                                                  case "next":
                                                       (r = 0 === n ? o.options.slidesToScroll : n), o.slideCount > o.options.slidesToShow && o.slideHandler(o.currentSlide + r, !1, i);
                                                       break;
                                                  case "index":
                                                       var s = 0 === e.data.index ? 0 : e.data.index || a.index() * o.options.slidesToScroll;
                                                       o.slideHandler(o.checkNavigable(s), !1, i), a.children().trigger("focus");
                                                       break;
                                                  default:
                                                       return;
                                             }
                                        }),
                                        (e.prototype.checkNavigable = function (t) {
                                             var e, i;
                                             if (((i = 0), t > (e = this.getNavigableIndexes())[e.length - 1])) t = e[e.length - 1];
                                             else
                                                  for (var n in e) {
                                                       if (t < e[n]) {
                                                            t = i;
                                                            break;
                                                       }
                                                       i = e[n];
                                                  }
                                             return t;
                                        }),
                                        (e.prototype.cleanUpEvents = function () {
                                             var e = this;
                                             e.options.dots &&
                                                  null !== e.$dots &&
                                                  (t("li", e.$dots).off("click.slick", e.changeSlide).off("mouseenter.slick", t.proxy(e.interrupt, e, !0)).off("mouseleave.slick", t.proxy(e.interrupt, e, !1)),
                                                  !0 === e.options.accessibility && e.$dots.off("keydown.slick", e.keyHandler)),
                                                  e.$slider.off("focus.slick blur.slick"),
                                                  !0 === e.options.arrows &&
                                                       e.slideCount > e.options.slidesToShow &&
                                                       (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide),
                                                       e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide),
                                                       !0 === e.options.accessibility && (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler), e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))),
                                                  e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler),
                                                  e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler),
                                                  e.$list.off("touchend.slick mouseup.slick", e.swipeHandler),
                                                  e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler),
                                                  e.$list.off("click.slick", e.clickHandler),
                                                  t(document).off(e.visibilityChange, e.visibility),
                                                  e.cleanUpSlideEvents(),
                                                  !0 === e.options.accessibility && e.$list.off("keydown.slick", e.keyHandler),
                                                  !0 === e.options.focusOnSelect && t(e.$slideTrack).children().off("click.slick", e.selectHandler),
                                                  t(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange),
                                                  t(window).off("resize.slick.slick-" + e.instanceUid, e.resize),
                                                  t("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault),
                                                  t(window).off("load.slick.slick-" + e.instanceUid, e.setPosition);
                                        }),
                                        (e.prototype.cleanUpSlideEvents = function () {
                                             var e = this;
                                             e.$list.off("mouseenter.slick", t.proxy(e.interrupt, e, !0)), e.$list.off("mouseleave.slick", t.proxy(e.interrupt, e, !1));
                                        }),
                                        (e.prototype.cleanUpRows = function () {
                                             var t,
                                                  e = this;
                                             e.options.rows > 0 && ((t = e.$slides.children().children()).removeAttr("style"), e.$slider.empty().append(t));
                                        }),
                                        (e.prototype.clickHandler = function (t) {
                                             !1 === this.shouldClick && (t.stopImmediatePropagation(), t.stopPropagation(), t.preventDefault());
                                        }),
                                        (e.prototype.destroy = function (e) {
                                             var i = this;
                                             i.autoPlayClear(),
                                                  (i.touchObject = {}),
                                                  i.cleanUpEvents(),
                                                  t(".slick-cloned", i.$slider).detach(),
                                                  i.$dots && i.$dots.remove(),
                                                  i.$prevArrow &&
                                                       i.$prevArrow.length &&
                                                       (i.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""),
                                                       i.htmlExpr.test(i.options.prevArrow) && i.$prevArrow.remove()),
                                                  i.$nextArrow &&
                                                       i.$nextArrow.length &&
                                                       (i.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""),
                                                       i.htmlExpr.test(i.options.nextArrow) && i.$nextArrow.remove()),
                                                  i.$slides &&
                                                       (i.$slides
                                                            .removeClass("slick-slide slick-active slick-center slick-visible slick-current")
                                                            .removeAttr("aria-hidden")
                                                            .removeAttr("data-slick-index")
                                                            .each(function () {
                                                                 t(this).attr("style", t(this).data("originalStyling"));
                                                            }),
                                                       i.$slideTrack.children(this.options.slide).detach(),
                                                       i.$slideTrack.detach(),
                                                       i.$list.detach(),
                                                       i.$slider.append(i.$slides)),
                                                  i.cleanUpRows(),
                                                  i.$slider.removeClass("slick-slider"),
                                                  i.$slider.removeClass("slick-initialized"),
                                                  i.$slider.removeClass("slick-dotted"),
                                                  (i.unslicked = !0),
                                                  e || i.$slider.trigger("destroy", [i]);
                                        }),
                                        (e.prototype.disableTransition = function (t) {
                                             var e = this,
                                                  i = {};
                                             (i[e.transitionType] = ""), !1 === e.options.fade ? e.$slideTrack.css(i) : e.$slides.eq(t).css(i);
                                        }),
                                        (e.prototype.fadeSlide = function (t, e) {
                                             var i = this;
                                             !1 === i.cssTransitions
                                                  ? (i.$slides.eq(t).css({ zIndex: i.options.zIndex }), i.$slides.eq(t).animate({ opacity: 1 }, i.options.speed, i.options.easing, e))
                                                  : (i.applyTransition(t),
                                                    i.$slides.eq(t).css({ opacity: 1, zIndex: i.options.zIndex }),
                                                    e &&
                                                         setTimeout(function () {
                                                              i.disableTransition(t), e.call();
                                                         }, i.options.speed));
                                        }),
                                        (e.prototype.fadeSlideOut = function (t) {
                                             var e = this;
                                             !1 === e.cssTransitions
                                                  ? e.$slides.eq(t).animate({ opacity: 0, zIndex: e.options.zIndex - 2 }, e.options.speed, e.options.easing)
                                                  : (e.applyTransition(t), e.$slides.eq(t).css({ opacity: 0, zIndex: e.options.zIndex - 2 }));
                                        }),
                                        (e.prototype.filterSlides = e.prototype.slickFilter = function (t) {
                                             var e = this;
                                             null !== t && ((e.$slidesCache = e.$slides), e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(t).appendTo(e.$slideTrack), e.reinit());
                                        }),
                                        (e.prototype.focusHandler = function () {
                                             var e = this;
                                             e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", function (i) {
                                                  i.stopImmediatePropagation();
                                                  var n = t(this);
                                                  setTimeout(function () {
                                                       e.options.pauseOnFocus && ((e.focussed = n.is(":focus")), e.autoPlay());
                                                  }, 0);
                                             });
                                        }),
                                        (e.prototype.getCurrent = e.prototype.slickCurrentSlide = function () {
                                             return this.currentSlide;
                                        }),
                                        (e.prototype.getDotCount = function () {
                                             var t = this,
                                                  e = 0,
                                                  i = 0,
                                                  n = 0;
                                             if (!0 === t.options.infinite)
                                                  if (t.slideCount <= t.options.slidesToShow) ++n;
                                                  else for (; e < t.slideCount; ) ++n, (e = i + t.options.slidesToScroll), (i += t.options.slidesToScroll <= t.options.slidesToShow ? t.options.slidesToScroll : t.options.slidesToShow);
                                             else if (!0 === t.options.centerMode) n = t.slideCount;
                                             else if (t.options.asNavFor)
                                                  for (; e < t.slideCount; ) ++n, (e = i + t.options.slidesToScroll), (i += t.options.slidesToScroll <= t.options.slidesToShow ? t.options.slidesToScroll : t.options.slidesToShow);
                                             else n = 1 + Math.ceil((t.slideCount - t.options.slidesToShow) / t.options.slidesToScroll);
                                             return n - 1;
                                        }),
                                        (e.prototype.getLeft = function (t) {
                                             var e,
                                                  i,
                                                  n,
                                                  r,
                                                  o = this,
                                                  a = 0;
                                             return (
                                                  (o.slideOffset = 0),
                                                  (i = o.$slides.first().outerHeight(!0)),
                                                  !0 === o.options.infinite
                                                       ? (o.slideCount > o.options.slidesToShow &&
                                                              ((o.slideOffset = o.slideWidth * o.options.slidesToShow * -1),
                                                              (r = -1),
                                                              !0 === o.options.vertical && !0 === o.options.centerMode && (2 === o.options.slidesToShow ? (r = -1.5) : 1 === o.options.slidesToShow && (r = -2)),
                                                              (a = i * o.options.slidesToShow * r)),
                                                         o.slideCount % o.options.slidesToScroll != 0 &&
                                                              t + o.options.slidesToScroll > o.slideCount &&
                                                              o.slideCount > o.options.slidesToShow &&
                                                              (t > o.slideCount
                                                                   ? ((o.slideOffset = (o.options.slidesToShow - (t - o.slideCount)) * o.slideWidth * -1), (a = (o.options.slidesToShow - (t - o.slideCount)) * i * -1))
                                                                   : ((o.slideOffset = (o.slideCount % o.options.slidesToScroll) * o.slideWidth * -1), (a = (o.slideCount % o.options.slidesToScroll) * i * -1))))
                                                       : t + o.options.slidesToShow > o.slideCount && ((o.slideOffset = (t + o.options.slidesToShow - o.slideCount) * o.slideWidth), (a = (t + o.options.slidesToShow - o.slideCount) * i)),
                                                  o.slideCount <= o.options.slidesToShow && ((o.slideOffset = 0), (a = 0)),
                                                  !0 === o.options.centerMode && o.slideCount <= o.options.slidesToShow
                                                       ? (o.slideOffset = (o.slideWidth * Math.floor(o.options.slidesToShow)) / 2 - (o.slideWidth * o.slideCount) / 2)
                                                       : !0 === o.options.centerMode && !0 === o.options.infinite
                                                       ? (o.slideOffset += o.slideWidth * Math.floor(o.options.slidesToShow / 2) - o.slideWidth)
                                                       : !0 === o.options.centerMode && ((o.slideOffset = 0), (o.slideOffset += o.slideWidth * Math.floor(o.options.slidesToShow / 2))),
                                                  (e = !1 === o.options.vertical ? t * o.slideWidth * -1 + o.slideOffset : t * i * -1 + a),
                                                  !0 === o.options.variableWidth &&
                                                       ((n =
                                                            o.slideCount <= o.options.slidesToShow || !1 === o.options.infinite
                                                                 ? o.$slideTrack.children(".slick-slide").eq(t)
                                                                 : o.$slideTrack.children(".slick-slide").eq(t + o.options.slidesToShow)),
                                                       (e = !0 === o.options.rtl ? (n[0] ? -1 * (o.$slideTrack.width() - n[0].offsetLeft - n.width()) : 0) : n[0] ? -1 * n[0].offsetLeft : 0),
                                                       !0 === o.options.centerMode &&
                                                            ((n =
                                                                 o.slideCount <= o.options.slidesToShow || !1 === o.options.infinite
                                                                      ? o.$slideTrack.children(".slick-slide").eq(t)
                                                                      : o.$slideTrack.children(".slick-slide").eq(t + o.options.slidesToShow + 1)),
                                                            (e = !0 === o.options.rtl ? (n[0] ? -1 * (o.$slideTrack.width() - n[0].offsetLeft - n.width()) : 0) : n[0] ? -1 * n[0].offsetLeft : 0),
                                                            (e += (o.$list.width() - n.outerWidth()) / 2))),
                                                  e
                                             );
                                        }),
                                        (e.prototype.getOption = e.prototype.slickGetOption = function (t) {
                                             return this.options[t];
                                        }),
                                        (e.prototype.getNavigableIndexes = function () {
                                             var t,
                                                  e = this,
                                                  i = 0,
                                                  n = 0,
                                                  r = [];
                                             for (!1 === e.options.infinite ? (t = e.slideCount) : ((i = -1 * e.options.slidesToScroll), (n = -1 * e.options.slidesToScroll), (t = 2 * e.slideCount)); i < t; )
                                                  r.push(i), (i = n + e.options.slidesToScroll), (n += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow);
                                             return r;
                                        }),
                                        (e.prototype.getSlick = function () {
                                             return this;
                                        }),
                                        (e.prototype.getSlideCount = function () {
                                             var e,
                                                  i,
                                                  n = this;
                                             return (
                                                  (i = !0 === n.options.centerMode ? n.slideWidth * Math.floor(n.options.slidesToShow / 2) : 0),
                                                  !0 === n.options.swipeToSlide
                                                       ? (n.$slideTrack.find(".slick-slide").each(function (r, o) {
                                                              if (o.offsetLeft - i + t(o).outerWidth() / 2 > -1 * n.swipeLeft) return (e = o), !1;
                                                         }),
                                                         Math.abs(t(e).attr("data-slick-index") - n.currentSlide) || 1)
                                                       : n.options.slidesToScroll
                                             );
                                        }),
                                        (e.prototype.goTo = e.prototype.slickGoTo = function (t, e) {
                                             this.changeSlide({ data: { message: "index", index: parseInt(t) } }, e);
                                        }),
                                        (e.prototype.init = function (e) {
                                             var i = this;
                                             t(i.$slider).hasClass("slick-initialized") ||
                                                  (t(i.$slider).addClass("slick-initialized"),
                                                  i.buildRows(),
                                                  i.buildOut(),
                                                  i.setProps(),
                                                  i.startLoad(),
                                                  i.loadSlider(),
                                                  i.initializeEvents(),
                                                  i.updateArrows(),
                                                  i.updateDots(),
                                                  i.checkResponsive(!0),
                                                  i.focusHandler()),
                                                  e && i.$slider.trigger("init", [i]),
                                                  !0 === i.options.accessibility && i.initADA(),
                                                  i.options.autoplay && ((i.paused = !1), i.autoPlay());
                                        }),
                                        (e.prototype.initADA = function () {
                                             var e = this,
                                                  i = Math.ceil(e.slideCount / e.options.slidesToShow),
                                                  n = e.getNavigableIndexes().filter(function (t) {
                                                       return t >= 0 && t < e.slideCount;
                                                  });
                                             e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({ "aria-hidden": "true", tabindex: "-1" }).find("a, input, button, select").attr({ tabindex: "-1" }),
                                                  null !== e.$dots &&
                                                       (e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function (i) {
                                                            var r = n.indexOf(i);
                                                            if ((t(this).attr({ role: "tabpanel", id: "slick-slide" + e.instanceUid + i, tabindex: -1 }), -1 !== r)) {
                                                                 var o = "slick-slide-control" + e.instanceUid + r;
                                                                 t("#" + o).length && t(this).attr({ "aria-describedby": o });
                                                            }
                                                       }),
                                                       e.$dots
                                                            .attr("role", "tablist")
                                                            .find("li")
                                                            .each(function (r) {
                                                                 var o = n[r];
                                                                 t(this).attr({ role: "presentation" }),
                                                                      t(this)
                                                                           .find("button")
                                                                           .first()
                                                                           .attr({
                                                                                role: "tab",
                                                                                id: "slick-slide-control" + e.instanceUid + r,
                                                                                "aria-controls": "slick-slide" + e.instanceUid + o,
                                                                                "aria-label": r + 1 + " of " + i,
                                                                                "aria-selected": null,
                                                                                tabindex: "-1",
                                                                           });
                                                            })
                                                            .eq(e.currentSlide)
                                                            .find("button")
                                                            .attr({ "aria-selected": "true", tabindex: "0" })
                                                            .end());
                                             for (var r = e.currentSlide, o = r + e.options.slidesToShow; r < o; r++) e.options.focusOnChange ? e.$slides.eq(r).attr({ tabindex: "0" }) : e.$slides.eq(r).removeAttr("tabindex");
                                             e.activateADA();
                                        }),
                                        (e.prototype.initArrowEvents = function () {
                                             var t = this;
                                             !0 === t.options.arrows &&
                                                  t.slideCount > t.options.slidesToShow &&
                                                  (t.$prevArrow.off("click.slick").on("click.slick", { message: "previous" }, t.changeSlide),
                                                  t.$nextArrow.off("click.slick").on("click.slick", { message: "next" }, t.changeSlide),
                                                  !0 === t.options.accessibility && (t.$prevArrow.on("keydown.slick", t.keyHandler), t.$nextArrow.on("keydown.slick", t.keyHandler)));
                                        }),
                                        (e.prototype.initDotEvents = function () {
                                             var e = this;
                                             !0 === e.options.dots &&
                                                  e.slideCount > e.options.slidesToShow &&
                                                  (t("li", e.$dots).on("click.slick", { message: "index" }, e.changeSlide), !0 === e.options.accessibility && e.$dots.on("keydown.slick", e.keyHandler)),
                                                  !0 === e.options.dots &&
                                                       !0 === e.options.pauseOnDotsHover &&
                                                       e.slideCount > e.options.slidesToShow &&
                                                       t("li", e.$dots).on("mouseenter.slick", t.proxy(e.interrupt, e, !0)).on("mouseleave.slick", t.proxy(e.interrupt, e, !1));
                                        }),
                                        (e.prototype.initSlideEvents = function () {
                                             var e = this;
                                             e.options.pauseOnHover && (e.$list.on("mouseenter.slick", t.proxy(e.interrupt, e, !0)), e.$list.on("mouseleave.slick", t.proxy(e.interrupt, e, !1)));
                                        }),
                                        (e.prototype.initializeEvents = function () {
                                             var e = this;
                                             e.initArrowEvents(),
                                                  e.initDotEvents(),
                                                  e.initSlideEvents(),
                                                  e.$list.on("touchstart.slick mousedown.slick", { action: "start" }, e.swipeHandler),
                                                  e.$list.on("touchmove.slick mousemove.slick", { action: "move" }, e.swipeHandler),
                                                  e.$list.on("touchend.slick mouseup.slick", { action: "end" }, e.swipeHandler),
                                                  e.$list.on("touchcancel.slick mouseleave.slick", { action: "end" }, e.swipeHandler),
                                                  e.$list.on("click.slick", e.clickHandler),
                                                  t(document).on(e.visibilityChange, t.proxy(e.visibility, e)),
                                                  !0 === e.options.accessibility && e.$list.on("keydown.slick", e.keyHandler),
                                                  !0 === e.options.focusOnSelect && t(e.$slideTrack).children().on("click.slick", e.selectHandler),
                                                  t(window).on("orientationchange.slick.slick-" + e.instanceUid, t.proxy(e.orientationChange, e)),
                                                  t(window).on("resize.slick.slick-" + e.instanceUid, t.proxy(e.resize, e)),
                                                  t("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault),
                                                  t(window).on("load.slick.slick-" + e.instanceUid, e.setPosition),
                                                  t(e.setPosition);
                                        }),
                                        (e.prototype.initUI = function () {
                                             var t = this;
                                             !0 === t.options.arrows && t.slideCount > t.options.slidesToShow && (t.$prevArrow.show(), t.$nextArrow.show()), !0 === t.options.dots && t.slideCount > t.options.slidesToShow && t.$dots.show();
                                        }),
                                        (e.prototype.keyHandler = function (t) {
                                             var e = this;
                                             t.target.tagName.match("TEXTAREA|INPUT|SELECT") ||
                                                  (37 === t.keyCode && !0 === e.options.accessibility
                                                       ? e.changeSlide({ data: { message: !0 === e.options.rtl ? "next" : "previous" } })
                                                       : 39 === t.keyCode && !0 === e.options.accessibility && e.changeSlide({ data: { message: !0 === e.options.rtl ? "previous" : "next" } }));
                                        }),
                                        (e.prototype.lazyLoad = function () {
                                             var e,
                                                  i,
                                                  n,
                                                  r = this;
                                             function o(e) {
                                                  t("img[data-lazy]", e).each(function () {
                                                       var e = t(this),
                                                            i = t(this).attr("data-lazy"),
                                                            n = t(this).attr("data-srcset"),
                                                            o = t(this).attr("data-sizes") || r.$slider.attr("data-sizes"),
                                                            a = document.createElement("img");
                                                       (a.onload = function () {
                                                            e.animate({ opacity: 0 }, 100, function () {
                                                                 n && (e.attr("srcset", n), o && e.attr("sizes", o)),
                                                                      e.attr("src", i).animate({ opacity: 1 }, 200, function () {
                                                                           e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading");
                                                                      }),
                                                                      r.$slider.trigger("lazyLoaded", [r, e, i]);
                                                            });
                                                       }),
                                                            (a.onerror = function () {
                                                                 e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), r.$slider.trigger("lazyLoadError", [r, e, i]);
                                                            }),
                                                            (a.src = i);
                                                  });
                                             }
                                             if (
                                                  (!0 === r.options.centerMode
                                                       ? !0 === r.options.infinite
                                                            ? (n = (i = r.currentSlide + (r.options.slidesToShow / 2 + 1)) + r.options.slidesToShow + 2)
                                                            : ((i = Math.max(0, r.currentSlide - (r.options.slidesToShow / 2 + 1))), (n = r.options.slidesToShow / 2 + 1 + 2 + r.currentSlide))
                                                       : ((i = r.options.infinite ? r.options.slidesToShow + r.currentSlide : r.currentSlide),
                                                         (n = Math.ceil(i + r.options.slidesToShow)),
                                                         !0 === r.options.fade && (i > 0 && i--, n <= r.slideCount && n++)),
                                                  (e = r.$slider.find(".slick-slide").slice(i, n)),
                                                  "anticipated" === r.options.lazyLoad)
                                             )
                                                  for (var a = i - 1, s = n, l = r.$slider.find(".slick-slide"), c = 0; c < r.options.slidesToScroll; c++) a < 0 && (a = r.slideCount - 1), (e = (e = e.add(l.eq(a))).add(l.eq(s))), a--, s++;
                                             o(e),
                                                  r.slideCount <= r.options.slidesToShow
                                                       ? o(r.$slider.find(".slick-slide"))
                                                       : r.currentSlide >= r.slideCount - r.options.slidesToShow
                                                       ? o(r.$slider.find(".slick-cloned").slice(0, r.options.slidesToShow))
                                                       : 0 === r.currentSlide && o(r.$slider.find(".slick-cloned").slice(-1 * r.options.slidesToShow));
                                        }),
                                        (e.prototype.loadSlider = function () {
                                             var t = this;
                                             t.setPosition(), t.$slideTrack.css({ opacity: 1 }), t.$slider.removeClass("slick-loading"), t.initUI(), "progressive" === t.options.lazyLoad && t.progressiveLazyLoad();
                                        }),
                                        (e.prototype.next = e.prototype.slickNext = function () {
                                             this.changeSlide({ data: { message: "next" } });
                                        }),
                                        (e.prototype.orientationChange = function () {
                                             this.checkResponsive(), this.setPosition();
                                        }),
                                        (e.prototype.pause = e.prototype.slickPause = function () {
                                             this.autoPlayClear(), (this.paused = !0);
                                        }),
                                        (e.prototype.play = e.prototype.slickPlay = function () {
                                             var t = this;
                                             t.autoPlay(), (t.options.autoplay = !0), (t.paused = !1), (t.focussed = !1), (t.interrupted = !1);
                                        }),
                                        (e.prototype.postSlide = function (e) {
                                             var i = this;
                                             i.unslicked ||
                                                  (i.$slider.trigger("afterChange", [i, e]),
                                                  (i.animating = !1),
                                                  i.slideCount > i.options.slidesToShow && i.setPosition(),
                                                  (i.swipeLeft = null),
                                                  i.options.autoplay && i.autoPlay(),
                                                  !0 === i.options.accessibility && (i.initADA(), i.options.focusOnChange && t(i.$slides.get(i.currentSlide)).attr("tabindex", 0).focus()));
                                        }),
                                        (e.prototype.prev = e.prototype.slickPrev = function () {
                                             this.changeSlide({ data: { message: "previous" } });
                                        }),
                                        (e.prototype.preventDefault = function (t) {
                                             t.preventDefault();
                                        }),
                                        (e.prototype.progressiveLazyLoad = function (e) {
                                             e = e || 1;
                                             var i,
                                                  n,
                                                  r,
                                                  o,
                                                  a,
                                                  s = this,
                                                  l = t("img[data-lazy]", s.$slider);
                                             l.length
                                                  ? ((i = l.first()),
                                                    (n = i.attr("data-lazy")),
                                                    (r = i.attr("data-srcset")),
                                                    (o = i.attr("data-sizes") || s.$slider.attr("data-sizes")),
                                                    ((a = document.createElement("img")).onload = function () {
                                                         r && (i.attr("srcset", r), o && i.attr("sizes", o)),
                                                              i.attr("src", n).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),
                                                              !0 === s.options.adaptiveHeight && s.setPosition(),
                                                              s.$slider.trigger("lazyLoaded", [s, i, n]),
                                                              s.progressiveLazyLoad();
                                                    }),
                                                    (a.onerror = function () {
                                                         e < 3
                                                              ? setTimeout(function () {
                                                                     s.progressiveLazyLoad(e + 1);
                                                                }, 500)
                                                              : (i.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), s.$slider.trigger("lazyLoadError", [s, i, n]), s.progressiveLazyLoad());
                                                    }),
                                                    (a.src = n))
                                                  : s.$slider.trigger("allImagesLoaded", [s]);
                                        }),
                                        (e.prototype.refresh = function (e) {
                                             var i,
                                                  n,
                                                  r = this;
                                             (n = r.slideCount - r.options.slidesToShow),
                                                  !r.options.infinite && r.currentSlide > n && (r.currentSlide = n),
                                                  r.slideCount <= r.options.slidesToShow && (r.currentSlide = 0),
                                                  (i = r.currentSlide),
                                                  r.destroy(!0),
                                                  t.extend(r, r.initials, { currentSlide: i }),
                                                  r.init(),
                                                  e || r.changeSlide({ data: { message: "index", index: i } }, !1);
                                        }),
                                        (e.prototype.registerBreakpoints = function () {
                                             var e,
                                                  i,
                                                  n,
                                                  r = this,
                                                  o = r.options.responsive || null;
                                             if ("array" === t.type(o) && o.length) {
                                                  for (e in ((r.respondTo = r.options.respondTo || "window"), o))
                                                       if (((n = r.breakpoints.length - 1), o.hasOwnProperty(e))) {
                                                            for (i = o[e].breakpoint; n >= 0; ) r.breakpoints[n] && r.breakpoints[n] === i && r.breakpoints.splice(n, 1), n--;
                                                            r.breakpoints.push(i), (r.breakpointSettings[i] = o[e].settings);
                                                       }
                                                  r.breakpoints.sort(function (t, e) {
                                                       return r.options.mobileFirst ? t - e : e - t;
                                                  });
                                             }
                                        }),
                                        (e.prototype.reinit = function () {
                                             var e = this;
                                             (e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide")),
                                                  (e.slideCount = e.$slides.length),
                                                  e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll),
                                                  e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0),
                                                  e.registerBreakpoints(),
                                                  e.setProps(),
                                                  e.setupInfinite(),
                                                  e.buildArrows(),
                                                  e.updateArrows(),
                                                  e.initArrowEvents(),
                                                  e.buildDots(),
                                                  e.updateDots(),
                                                  e.initDotEvents(),
                                                  e.cleanUpSlideEvents(),
                                                  e.initSlideEvents(),
                                                  e.checkResponsive(!1, !0),
                                                  !0 === e.options.focusOnSelect && t(e.$slideTrack).children().on("click.slick", e.selectHandler),
                                                  e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0),
                                                  e.setPosition(),
                                                  e.focusHandler(),
                                                  (e.paused = !e.options.autoplay),
                                                  e.autoPlay(),
                                                  e.$slider.trigger("reInit", [e]);
                                        }),
                                        (e.prototype.resize = function () {
                                             var e = this;
                                             t(window).width() !== e.windowWidth &&
                                                  (clearTimeout(e.windowDelay),
                                                  (e.windowDelay = window.setTimeout(function () {
                                                       (e.windowWidth = t(window).width()), e.checkResponsive(), e.unslicked || e.setPosition();
                                                  }, 50)));
                                        }),
                                        (e.prototype.removeSlide = e.prototype.slickRemove = function (t, e, i) {
                                             var n = this;
                                             if (((t = "boolean" == typeof t ? (!0 === (e = t) ? 0 : n.slideCount - 1) : !0 === e ? --t : t), n.slideCount < 1 || t < 0 || t > n.slideCount - 1)) return !1;
                                             n.unload(),
                                                  !0 === i ? n.$slideTrack.children().remove() : n.$slideTrack.children(this.options.slide).eq(t).remove(),
                                                  (n.$slides = n.$slideTrack.children(this.options.slide)),
                                                  n.$slideTrack.children(this.options.slide).detach(),
                                                  n.$slideTrack.append(n.$slides),
                                                  (n.$slidesCache = n.$slides),
                                                  n.reinit();
                                        }),
                                        (e.prototype.setCSS = function (t) {
                                             var e,
                                                  i,
                                                  n = this,
                                                  r = {};
                                             !0 === n.options.rtl && (t = -t),
                                                  (e = "left" == n.positionProp ? Math.ceil(t) + "px" : "0px"),
                                                  (i = "top" == n.positionProp ? Math.ceil(t) + "px" : "0px"),
                                                  (r[n.positionProp] = t),
                                                  !1 === n.transformsEnabled
                                                       ? n.$slideTrack.css(r)
                                                       : ((r = {}),
                                                         !1 === n.cssTransitions
                                                              ? ((r[n.animType] = "translate(" + e + ", " + i + ")"), n.$slideTrack.css(r))
                                                              : ((r[n.animType] = "translate3d(" + e + ", " + i + ", 0px)"), n.$slideTrack.css(r)));
                                        }),
                                        (e.prototype.setDimensions = function () {
                                             var t = this;
                                             !1 === t.options.vertical
                                                  ? !0 === t.options.centerMode && t.$list.css({ padding: "0px " + t.options.centerPadding })
                                                  : (t.$list.height(t.$slides.first().outerHeight(!0) * t.options.slidesToShow), !0 === t.options.centerMode && t.$list.css({ padding: t.options.centerPadding + " 0px" })),
                                                  (t.listWidth = t.$list.width()),
                                                  (t.listHeight = t.$list.height()),
                                                  !1 === t.options.vertical && !1 === t.options.variableWidth
                                                       ? ((t.slideWidth = Math.ceil(t.listWidth / t.options.slidesToShow)), t.$slideTrack.width(Math.ceil(t.slideWidth * t.$slideTrack.children(".slick-slide").length)))
                                                       : !0 === t.options.variableWidth
                                                       ? t.$slideTrack.width(5e3 * t.slideCount)
                                                       : ((t.slideWidth = Math.ceil(t.listWidth)), t.$slideTrack.height(Math.ceil(t.$slides.first().outerHeight(!0) * t.$slideTrack.children(".slick-slide").length)));
                                             var e = t.$slides.first().outerWidth(!0) - t.$slides.first().width();
                                             !1 === t.options.variableWidth && t.$slideTrack.children(".slick-slide").width(t.slideWidth - e);
                                        }),
                                        (e.prototype.setFade = function () {
                                             var e,
                                                  i = this;
                                             i.$slides.each(function (n, r) {
                                                  (e = i.slideWidth * n * -1),
                                                       !0 === i.options.rtl
                                                            ? t(r).css({ position: "relative", right: e, top: 0, zIndex: i.options.zIndex - 2, opacity: 0 })
                                                            : t(r).css({ position: "relative", left: e, top: 0, zIndex: i.options.zIndex - 2, opacity: 0 });
                                             }),
                                                  i.$slides.eq(i.currentSlide).css({ zIndex: i.options.zIndex - 1, opacity: 1 });
                                        }),
                                        (e.prototype.setHeight = function () {
                                             var t = this;
                                             if (1 === t.options.slidesToShow && !0 === t.options.adaptiveHeight && !1 === t.options.vertical) {
                                                  var e = t.$slides.eq(t.currentSlide).outerHeight(!0);
                                                  t.$list.css("height", e);
                                             }
                                        }),
                                        (e.prototype.setOption = e.prototype.slickSetOption = function () {
                                             var e,
                                                  i,
                                                  n,
                                                  r,
                                                  o,
                                                  a = this,
                                                  s = !1;
                                             if (
                                                  ("object" === t.type(arguments[0])
                                                       ? ((n = arguments[0]), (s = arguments[1]), (o = "multiple"))
                                                       : "string" === t.type(arguments[0]) &&
                                                         ((n = arguments[0]),
                                                         (r = arguments[1]),
                                                         (s = arguments[2]),
                                                         "responsive" === arguments[0] && "array" === t.type(arguments[1]) ? (o = "responsive") : void 0 !== arguments[1] && (o = "single")),
                                                  "single" === o)
                                             )
                                                  a.options[n] = r;
                                             else if ("multiple" === o)
                                                  t.each(n, function (t, e) {
                                                       a.options[t] = e;
                                                  });
                                             else if ("responsive" === o)
                                                  for (i in r)
                                                       if ("array" !== t.type(a.options.responsive)) a.options.responsive = [r[i]];
                                                       else {
                                                            for (e = a.options.responsive.length - 1; e >= 0; ) a.options.responsive[e].breakpoint === r[i].breakpoint && a.options.responsive.splice(e, 1), e--;
                                                            a.options.responsive.push(r[i]);
                                                       }
                                             s && (a.unload(), a.reinit());
                                        }),
                                        (e.prototype.setPosition = function () {
                                             var t = this;
                                             t.setDimensions(), t.setHeight(), !1 === t.options.fade ? t.setCSS(t.getLeft(t.currentSlide)) : t.setFade(), t.$slider.trigger("setPosition", [t]);
                                        }),
                                        (e.prototype.setProps = function () {
                                             var t = this,
                                                  e = document.body.style;
                                             (t.positionProp = !0 === t.options.vertical ? "top" : "left"),
                                                  "top" === t.positionProp ? t.$slider.addClass("slick-vertical") : t.$slider.removeClass("slick-vertical"),
                                                  (void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition) || (!0 === t.options.useCSS && (t.cssTransitions = !0)),
                                                  t.options.fade && ("number" == typeof t.options.zIndex ? t.options.zIndex < 3 && (t.options.zIndex = 3) : (t.options.zIndex = t.defaults.zIndex)),
                                                  void 0 !== e.OTransform &&
                                                       ((t.animType = "OTransform"),
                                                       (t.transformType = "-o-transform"),
                                                       (t.transitionType = "OTransition"),
                                                       void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (t.animType = !1)),
                                                  void 0 !== e.MozTransform &&
                                                       ((t.animType = "MozTransform"),
                                                       (t.transformType = "-moz-transform"),
                                                       (t.transitionType = "MozTransition"),
                                                       void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (t.animType = !1)),
                                                  void 0 !== e.webkitTransform &&
                                                       ((t.animType = "webkitTransform"),
                                                       (t.transformType = "-webkit-transform"),
                                                       (t.transitionType = "webkitTransition"),
                                                       void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (t.animType = !1)),
                                                  void 0 !== e.msTransform && ((t.animType = "msTransform"), (t.transformType = "-ms-transform"), (t.transitionType = "msTransition"), void 0 === e.msTransform && (t.animType = !1)),
                                                  void 0 !== e.transform && !1 !== t.animType && ((t.animType = "transform"), (t.transformType = "transform"), (t.transitionType = "transition")),
                                                  (t.transformsEnabled = t.options.useTransform && null !== t.animType && !1 !== t.animType);
                                        }),
                                        (e.prototype.setSlideClasses = function (t) {
                                             var e,
                                                  i,
                                                  n,
                                                  r,
                                                  o = this;
                                             if (
                                                  ((i = o.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true")),
                                                  o.$slides.eq(t).addClass("slick-current"),
                                                  !0 === o.options.centerMode)
                                             ) {
                                                  var a = o.options.slidesToShow % 2 == 0 ? 1 : 0;
                                                  (e = Math.floor(o.options.slidesToShow / 2)),
                                                       !0 === o.options.infinite &&
                                                            (t >= e && t <= o.slideCount - 1 - e
                                                                 ? o.$slides
                                                                        .slice(t - e + a, t + e + 1)
                                                                        .addClass("slick-active")
                                                                        .attr("aria-hidden", "false")
                                                                 : ((n = o.options.slidesToShow + t),
                                                                   i
                                                                        .slice(n - e + 1 + a, n + e + 2)
                                                                        .addClass("slick-active")
                                                                        .attr("aria-hidden", "false")),
                                                            0 === t ? i.eq(i.length - 1 - o.options.slidesToShow).addClass("slick-center") : t === o.slideCount - 1 && i.eq(o.options.slidesToShow).addClass("slick-center")),
                                                       o.$slides.eq(t).addClass("slick-center");
                                             } else
                                                  t >= 0 && t <= o.slideCount - o.options.slidesToShow
                                                       ? o.$slides
                                                              .slice(t, t + o.options.slidesToShow)
                                                              .addClass("slick-active")
                                                              .attr("aria-hidden", "false")
                                                       : i.length <= o.options.slidesToShow
                                                       ? i.addClass("slick-active").attr("aria-hidden", "false")
                                                       : ((r = o.slideCount % o.options.slidesToShow),
                                                         (n = !0 === o.options.infinite ? o.options.slidesToShow + t : t),
                                                         o.options.slidesToShow == o.options.slidesToScroll && o.slideCount - t < o.options.slidesToShow
                                                              ? i
                                                                     .slice(n - (o.options.slidesToShow - r), n + r)
                                                                     .addClass("slick-active")
                                                                     .attr("aria-hidden", "false")
                                                              : i
                                                                     .slice(n, n + o.options.slidesToShow)
                                                                     .addClass("slick-active")
                                                                     .attr("aria-hidden", "false"));
                                             ("ondemand" !== o.options.lazyLoad && "anticipated" !== o.options.lazyLoad) || o.lazyLoad();
                                        }),
                                        (e.prototype.setupInfinite = function () {
                                             var e,
                                                  i,
                                                  n,
                                                  r = this;
                                             if ((!0 === r.options.fade && (r.options.centerMode = !1), !0 === r.options.infinite && !1 === r.options.fade && ((i = null), r.slideCount > r.options.slidesToShow))) {
                                                  for (n = !0 === r.options.centerMode ? r.options.slidesToShow + 1 : r.options.slidesToShow, e = r.slideCount; e > r.slideCount - n; e -= 1)
                                                       (i = e - 1),
                                                            t(r.$slides[i])
                                                                 .clone(!0)
                                                                 .attr("id", "")
                                                                 .attr("data-slick-index", i - r.slideCount)
                                                                 .prependTo(r.$slideTrack)
                                                                 .addClass("slick-cloned");
                                                  for (e = 0; e < n + r.slideCount; e += 1)
                                                       (i = e),
                                                            t(r.$slides[i])
                                                                 .clone(!0)
                                                                 .attr("id", "")
                                                                 .attr("data-slick-index", i + r.slideCount)
                                                                 .appendTo(r.$slideTrack)
                                                                 .addClass("slick-cloned");
                                                  r.$slideTrack
                                                       .find(".slick-cloned")
                                                       .find("[id]")
                                                       .each(function () {
                                                            t(this).attr("id", "");
                                                       });
                                             }
                                        }),
                                        (e.prototype.interrupt = function (t) {
                                             t || this.autoPlay(), (this.interrupted = t);
                                        }),
                                        (e.prototype.selectHandler = function (e) {
                                             var i = this,
                                                  n = t(e.target).is(".slick-slide") ? t(e.target) : t(e.target).parents(".slick-slide"),
                                                  r = parseInt(n.attr("data-slick-index"));
                                             r || (r = 0), i.slideCount <= i.options.slidesToShow ? i.slideHandler(r, !1, !0) : i.slideHandler(r);
                                        }),
                                        (e.prototype.slideHandler = function (t, e, i) {
                                             var n,
                                                  r,
                                                  o,
                                                  a,
                                                  s,
                                                  l,
                                                  c = this;
                                             if (((e = e || !1), !((!0 === c.animating && !0 === c.options.waitForAnimate) || (!0 === c.options.fade && c.currentSlide === t))))
                                                  if (
                                                       (!1 === e && c.asNavFor(t),
                                                       (n = t),
                                                       (s = c.getLeft(n)),
                                                       (a = c.getLeft(c.currentSlide)),
                                                       (c.currentLeft = null === c.swipeLeft ? a : c.swipeLeft),
                                                       !1 === c.options.infinite && !1 === c.options.centerMode && (t < 0 || t > c.getDotCount() * c.options.slidesToScroll))
                                                  )
                                                       !1 === c.options.fade &&
                                                            ((n = c.currentSlide),
                                                            !0 !== i && c.slideCount > c.options.slidesToShow
                                                                 ? c.animateSlide(a, function () {
                                                                        c.postSlide(n);
                                                                   })
                                                                 : c.postSlide(n));
                                                  else if (!1 === c.options.infinite && !0 === c.options.centerMode && (t < 0 || t > c.slideCount - c.options.slidesToScroll))
                                                       !1 === c.options.fade &&
                                                            ((n = c.currentSlide),
                                                            !0 !== i && c.slideCount > c.options.slidesToShow
                                                                 ? c.animateSlide(a, function () {
                                                                        c.postSlide(n);
                                                                   })
                                                                 : c.postSlide(n));
                                                  else {
                                                       if (
                                                            (c.options.autoplay && clearInterval(c.autoPlayTimer),
                                                            (r =
                                                                 n < 0
                                                                      ? c.slideCount % c.options.slidesToScroll != 0
                                                                           ? c.slideCount - (c.slideCount % c.options.slidesToScroll)
                                                                           : c.slideCount + n
                                                                      : n >= c.slideCount
                                                                      ? c.slideCount % c.options.slidesToScroll != 0
                                                                           ? 0
                                                                           : n - c.slideCount
                                                                      : n),
                                                            (c.animating = !0),
                                                            c.$slider.trigger("beforeChange", [c, c.currentSlide, r]),
                                                            (o = c.currentSlide),
                                                            (c.currentSlide = r),
                                                            c.setSlideClasses(c.currentSlide),
                                                            c.options.asNavFor && (l = (l = c.getNavTarget()).slick("getSlick")).slideCount <= l.options.slidesToShow && l.setSlideClasses(c.currentSlide),
                                                            c.updateDots(),
                                                            c.updateArrows(),
                                                            !0 === c.options.fade)
                                                       )
                                                            return (
                                                                 !0 !== i
                                                                      ? (c.fadeSlideOut(o),
                                                                        c.fadeSlide(r, function () {
                                                                             c.postSlide(r);
                                                                        }))
                                                                      : c.postSlide(r),
                                                                 void c.animateHeight()
                                                            );
                                                       !0 !== i && c.slideCount > c.options.slidesToShow
                                                            ? c.animateSlide(s, function () {
                                                                   c.postSlide(r);
                                                              })
                                                            : c.postSlide(r);
                                                  }
                                        }),
                                        (e.prototype.startLoad = function () {
                                             var t = this;
                                             !0 === t.options.arrows && t.slideCount > t.options.slidesToShow && (t.$prevArrow.hide(), t.$nextArrow.hide()),
                                                  !0 === t.options.dots && t.slideCount > t.options.slidesToShow && t.$dots.hide(),
                                                  t.$slider.addClass("slick-loading");
                                        }),
                                        (e.prototype.swipeDirection = function () {
                                             var t,
                                                  e,
                                                  i,
                                                  n,
                                                  r = this;
                                             return (
                                                  (t = r.touchObject.startX - r.touchObject.curX),
                                                  (e = r.touchObject.startY - r.touchObject.curY),
                                                  (i = Math.atan2(e, t)),
                                                  (n = Math.round((180 * i) / Math.PI)) < 0 && (n = 360 - Math.abs(n)),
                                                  (n <= 45 && n >= 0) || (n <= 360 && n >= 315)
                                                       ? !1 === r.options.rtl
                                                            ? "left"
                                                            : "right"
                                                       : n >= 135 && n <= 225
                                                       ? !1 === r.options.rtl
                                                            ? "right"
                                                            : "left"
                                                       : !0 === r.options.verticalSwiping
                                                       ? n >= 35 && n <= 135
                                                            ? "down"
                                                            : "up"
                                                       : "vertical"
                                             );
                                        }),
                                        (e.prototype.swipeEnd = function (t) {
                                             var e,
                                                  i,
                                                  n = this;
                                             if (((n.dragging = !1), (n.swiping = !1), n.scrolling)) return (n.scrolling = !1), !1;
                                             if (((n.interrupted = !1), (n.shouldClick = !(n.touchObject.swipeLength > 10)), void 0 === n.touchObject.curX)) return !1;
                                             if ((!0 === n.touchObject.edgeHit && n.$slider.trigger("edge", [n, n.swipeDirection()]), n.touchObject.swipeLength >= n.touchObject.minSwipe)) {
                                                  switch ((i = n.swipeDirection())) {
                                                       case "left":
                                                       case "down":
                                                            (e = n.options.swipeToSlide ? n.checkNavigable(n.currentSlide + n.getSlideCount()) : n.currentSlide + n.getSlideCount()), (n.currentDirection = 0);
                                                            break;
                                                       case "right":
                                                       case "up":
                                                            (e = n.options.swipeToSlide ? n.checkNavigable(n.currentSlide - n.getSlideCount()) : n.currentSlide - n.getSlideCount()), (n.currentDirection = 1);
                                                  }
                                                  "vertical" != i && (n.slideHandler(e), (n.touchObject = {}), n.$slider.trigger("swipe", [n, i]));
                                             } else n.touchObject.startX !== n.touchObject.curX && (n.slideHandler(n.currentSlide), (n.touchObject = {}));
                                        }),
                                        (e.prototype.swipeHandler = function (t) {
                                             var e = this;
                                             if (!(!1 === e.options.swipe || ("ontouchend" in document && !1 === e.options.swipe) || (!1 === e.options.draggable && -1 !== t.type.indexOf("mouse"))))
                                                  switch (
                                                       ((e.touchObject.fingerCount = t.originalEvent && void 0 !== t.originalEvent.touches ? t.originalEvent.touches.length : 1),
                                                       (e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold),
                                                       !0 === e.options.verticalSwiping && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold),
                                                       t.data.action)
                                                  ) {
                                                       case "start":
                                                            e.swipeStart(t);
                                                            break;
                                                       case "move":
                                                            e.swipeMove(t);
                                                            break;
                                                       case "end":
                                                            e.swipeEnd(t);
                                                  }
                                        }),
                                        (e.prototype.swipeMove = function (t) {
                                             var e,
                                                  i,
                                                  n,
                                                  r,
                                                  o,
                                                  a,
                                                  s = this;
                                             return (
                                                  (o = void 0 !== t.originalEvent ? t.originalEvent.touches : null),
                                                  !(!s.dragging || s.scrolling || (o && 1 !== o.length)) &&
                                                       ((e = s.getLeft(s.currentSlide)),
                                                       (s.touchObject.curX = void 0 !== o ? o[0].pageX : t.clientX),
                                                       (s.touchObject.curY = void 0 !== o ? o[0].pageY : t.clientY),
                                                       (s.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(s.touchObject.curX - s.touchObject.startX, 2)))),
                                                       (a = Math.round(Math.sqrt(Math.pow(s.touchObject.curY - s.touchObject.startY, 2)))),
                                                       !s.options.verticalSwiping && !s.swiping && a > 4
                                                            ? ((s.scrolling = !0), !1)
                                                            : (!0 === s.options.verticalSwiping && (s.touchObject.swipeLength = a),
                                                              (i = s.swipeDirection()),
                                                              void 0 !== t.originalEvent && s.touchObject.swipeLength > 4 && ((s.swiping = !0), t.preventDefault()),
                                                              (r = (!1 === s.options.rtl ? 1 : -1) * (s.touchObject.curX > s.touchObject.startX ? 1 : -1)),
                                                              !0 === s.options.verticalSwiping && (r = s.touchObject.curY > s.touchObject.startY ? 1 : -1),
                                                              (n = s.touchObject.swipeLength),
                                                              (s.touchObject.edgeHit = !1),
                                                              !1 === s.options.infinite &&
                                                                   ((0 === s.currentSlide && "right" === i) || (s.currentSlide >= s.getDotCount() && "left" === i)) &&
                                                                   ((n = s.touchObject.swipeLength * s.options.edgeFriction), (s.touchObject.edgeHit = !0)),
                                                              !1 === s.options.vertical ? (s.swipeLeft = e + n * r) : (s.swipeLeft = e + n * (s.$list.height() / s.listWidth) * r),
                                                              !0 === s.options.verticalSwiping && (s.swipeLeft = e + n * r),
                                                              !0 !== s.options.fade && !1 !== s.options.touchMove && (!0 === s.animating ? ((s.swipeLeft = null), !1) : void s.setCSS(s.swipeLeft))))
                                             );
                                        }),
                                        (e.prototype.swipeStart = function (t) {
                                             var e,
                                                  i = this;
                                             if (((i.interrupted = !0), 1 !== i.touchObject.fingerCount || i.slideCount <= i.options.slidesToShow)) return (i.touchObject = {}), !1;
                                             void 0 !== t.originalEvent && void 0 !== t.originalEvent.touches && (e = t.originalEvent.touches[0]),
                                                  (i.touchObject.startX = i.touchObject.curX = void 0 !== e ? e.pageX : t.clientX),
                                                  (i.touchObject.startY = i.touchObject.curY = void 0 !== e ? e.pageY : t.clientY),
                                                  (i.dragging = !0);
                                        }),
                                        (e.prototype.unfilterSlides = e.prototype.slickUnfilter = function () {
                                             var t = this;
                                             null !== t.$slidesCache && (t.unload(), t.$slideTrack.children(this.options.slide).detach(), t.$slidesCache.appendTo(t.$slideTrack), t.reinit());
                                        }),
                                        (e.prototype.unload = function () {
                                             var e = this;
                                             t(".slick-cloned", e.$slider).remove(),
                                                  e.$dots && e.$dots.remove(),
                                                  e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(),
                                                  e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(),
                                                  e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "");
                                        }),
                                        (e.prototype.unslick = function (t) {
                                             var e = this;
                                             e.$slider.trigger("unslick", [e, t]), e.destroy();
                                        }),
                                        (e.prototype.updateArrows = function () {
                                             var t = this;
                                             Math.floor(t.options.slidesToShow / 2),
                                                  !0 === t.options.arrows &&
                                                       t.slideCount > t.options.slidesToShow &&
                                                       !t.options.infinite &&
                                                       (t.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"),
                                                       t.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"),
                                                       0 === t.currentSlide
                                                            ? (t.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), t.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"))
                                                            : ((t.currentSlide >= t.slideCount - t.options.slidesToShow && !1 === t.options.centerMode) || (t.currentSlide >= t.slideCount - 1 && !0 === t.options.centerMode)) &&
                                                              (t.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), t.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")));
                                        }),
                                        (e.prototype.updateDots = function () {
                                             var t = this;
                                             null !== t.$dots &&
                                                  (t.$dots.find("li").removeClass("slick-active").end(),
                                                  t.$dots
                                                       .find("li")
                                                       .eq(Math.floor(t.currentSlide / t.options.slidesToScroll))
                                                       .addClass("slick-active"));
                                        }),
                                        (e.prototype.visibility = function () {
                                             var t = this;
                                             t.options.autoplay && (document[t.hidden] ? (t.interrupted = !0) : (t.interrupted = !1));
                                        }),
                                        (t.fn.slick = function () {
                                             var t,
                                                  i,
                                                  n = this,
                                                  r = arguments[0],
                                                  o = Array.prototype.slice.call(arguments, 1),
                                                  a = n.length;
                                             for (t = 0; t < a; t++) if (("object" == typeof r || void 0 === r ? (n[t].slick = new e(n[t], r)) : (i = n[t].slick[r].apply(n[t].slick, o)), void 0 !== i)) return i;
                                             return n;
                                        });
                                   var i;
                              })
                                   ? n.apply(e, r)
                                   : n) || (t.exports = o);
          })();
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(172);
                    t(document).ready(function () {
                         t("#calendar-list").fullCalendar({
                              header: { left: "prev,next today", center: "title", right: "listDay,listWeek,month" },
                              themeSystem: "bootstrap4",
                              bootstrapFontAwesome: !0,
                              views: { listDay: { buttonText: "list day" }, listWeek: { buttonText: "list week" } },
                              defaultView: "listWeek",
                              defaultDate: "2018-03-12",
                              navLinks: !0,
                              editable: !0,
                              eventLimit: !0,
                              events: [
                                   { title: "All Day Event", start: "2018-03-01" },
                                   { title: "Long Event", start: "2018-03-07", end: "2018-03-10" },
                                   { id: 999, title: "Repeating Event", start: "2018-03-09T16:00:00" },
                                   { id: 999, title: "Repeating Event", start: "2018-03-16T16:00:00" },
                                   { title: "Conference", start: "2018-03-11", end: "2018-03-13" },
                                   { title: "Meeting", start: "2018-03-12T10:30:00", end: "2018-03-12T12:30:00" },
                                   { title: "Lunch", start: "2018-03-12T12:00:00" },
                                   { title: "Meeting", start: "2018-03-12T14:30:00" },
                                   { title: "Happy Hour", start: "2018-03-12T17:30:00" },
                                   { title: "Dinner", start: "2018-03-12T20:00:00" },
                                   { title: "Birthday Party", start: "2018-03-13T07:00:00" },
                                   { title: "Click for Google", url: "http://google.com/", start: "2018-03-28" },
                              ],
                         }),
                              t("#calendar").fullCalendar({
                                   header: { left: "prev,next today", center: "title", right: "month,basicWeek,basicDay" },
                                   themeSystem: "bootstrap4",
                                   bootstrapFontAwesome: !0,
                                   defaultDate: "2018-03-12",
                                   navLinks: !0,
                                   editable: !0,
                                   eventLimit: !0,
                                   events: [
                                        { title: "All Day Event", start: "2018-03-01" },
                                        { title: "Long Event", start: "2018-03-07", end: "2018-03-10" },
                                        { id: 999, title: "Repeating Event", start: "2018-03-09T16:00:00" },
                                        { id: 999, title: "Repeating Event", start: "2018-03-16T16:00:00" },
                                        { title: "Conference", start: "2018-03-11", end: "2018-03-13" },
                                        { title: "Meeting", start: "2018-03-12T10:30:00", end: "2018-03-12T12:30:00" },
                                        { title: "Lunch", start: "2018-03-12T12:00:00" },
                                        { title: "Meeting", start: "2018-03-12T14:30:00" },
                                        { title: "Happy Hour", start: "2018-03-12T17:30:00" },
                                        { title: "Dinner", start: "2018-03-12T20:00:00" },
                                        { title: "Birthday Party", start: "2018-03-13T07:00:00" },
                                        { title: "Click for Google", url: "http://google.com/", start: "2018-03-28" },
                                   ],
                              }),
                              t("#calendar-bg-events").fullCalendar({
                                   header: { left: "prev,next today", center: "title", right: "month,agendaWeek,agendaDay,listMonth" },
                                   themeSystem: "bootstrap4",
                                   bootstrapFontAwesome: !0,
                                   defaultDate: "2018-03-12",
                                   navLinks: !0,
                                   businessHours: !0,
                                   editable: !0,
                                   events: [
                                        { title: "Business Lunch", start: "2018-03-03T13:00:00", constraint: "businessHours" },
                                        { title: "Meeting", start: "2018-03-13T11:00:00", constraint: "availableForMeeting", color: "#257e4a" },
                                        { title: "Conference", start: "2018-03-18", end: "2018-03-20" },
                                        { title: "Party", start: "2018-03-29T20:00:00" },
                                        { id: "availableForMeeting", start: "2018-03-11T10:00:00", end: "2018-03-11T16:00:00", rendering: "background" },
                                        { id: "availableForMeeting", start: "2018-03-13T10:00:00", end: "2018-03-13T16:00:00", rendering: "background" },
                                        { start: "2018-03-24", end: "2018-03-28", overlap: !1, rendering: "background", color: "var(--danger)" },
                                        { start: "2018-03-06", end: "2018-03-08", overlap: !1, rendering: "background", color: "var(--success)" },
                                   ],
                              });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          /*!
           * FullCalendar v3.10.2
           * Docs & License: https://fullcalendar.io/
           * (c) 2019 Adam Shaw
           */ var n;
          "undefined" != typeof self && self,
               (n = function (t, e) {
                    return (function (t) {
                         var e = {};
                         function i(n) {
                              if (e[n]) return e[n].exports;
                              var r = (e[n] = { i: n, l: !1, exports: {} });
                              return t[n].call(r.exports, r, r.exports, i), (r.l = !0), r.exports;
                         }
                         return (
                              (i.m = t),
                              (i.c = e),
                              (i.d = function (t, e, n) {
                                   i.o(t, e) || Object.defineProperty(t, e, { configurable: !1, enumerable: !0, get: n });
                              }),
                              (i.n = function (t) {
                                   var e =
                                        t && t.__esModule
                                             ? function () {
                                                    return t.default;
                                               }
                                             : function () {
                                                    return t;
                                               };
                                   return i.d(e, "a", e), e;
                              }),
                              (i.o = function (t, e) {
                                   return Object.prototype.hasOwnProperty.call(t, e);
                              }),
                              (i.p = ""),
                              i((i.s = 256))
                         );
                    })([
                         function (e, i) {
                              e.exports = t;
                         },
                         ,
                         function (t, e) {
                              var i =
                                   Object.setPrototypeOf ||
                                   ({ __proto__: [] } instanceof Array &&
                                        function (t, e) {
                                             t.__proto__ = e;
                                        }) ||
                                   function (t, e) {
                                        for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i]);
                                   };
                              e.__extends = function (t, e) {
                                   function n() {
                                        this.constructor = t;
                                   }
                                   i(t, e), (t.prototype = null === e ? Object.create(e) : ((n.prototype = e.prototype), new n()));
                              };
                         },
                         function (t, i) {
                              t.exports = e;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(0),
                                   r = i(3);
                              function o(t) {
                                   t.height("");
                              }
                              function a(t) {
                                   var e,
                                        i = t[0].offsetWidth - t[0].clientWidth,
                                        n = t[0].offsetHeight - t[0].clientHeight;
                                   return (
                                        (i = s(i)),
                                        (e = { left: 0, right: 0, top: 0, bottom: (n = s(n)) }),
                                        null === l &&
                                             (l = (function () {
                                                  var t = r("<div><div></div></div>").css({ position: "absolute", top: -1e3, left: 0, border: 0, padding: 0, overflow: "scroll", direction: "rtl" }).appendTo("body"),
                                                       e = t.children().offset().left > t.offset().left;
                                                  return t.remove(), e;
                                             })()),
                                        l && "rtl" === t.css("direction") ? (e.left = i) : (e.right = i),
                                        e
                                   );
                              }
                              function s(t) {
                                   return (t = Math.max(0, t)), (t = Math.round(t));
                              }
                              (e.compensateScroll = function (t, e) {
                                   e.left && t.css({ "border-left-width": 1, "margin-left": e.left - 1 }), e.right && t.css({ "border-right-width": 1, "margin-right": e.right - 1 });
                              }),
                                   (e.uncompensateScroll = function (t) {
                                        t.css({ "margin-left": "", "margin-right": "", "border-left-width": "", "border-right-width": "" });
                                   }),
                                   (e.disableCursor = function () {
                                        r("body").addClass("fc-not-allowed");
                                   }),
                                   (e.enableCursor = function () {
                                        r("body").removeClass("fc-not-allowed");
                                   }),
                                   (e.distributeHeight = function (t, e, i) {
                                        var n = Math.floor(e / t.length),
                                             a = Math.floor(e - n * (t.length - 1)),
                                             s = [],
                                             l = [],
                                             c = [],
                                             u = 0;
                                        o(t),
                                             t.each(function (e, i) {
                                                  var o = e === t.length - 1 ? a : n,
                                                       h = r(i).outerHeight(!0);
                                                  h < o ? (s.push(i), l.push(h), c.push(r(i).height())) : (u += h);
                                             }),
                                             i && ((e -= u), (n = Math.floor(e / s.length)), (a = Math.floor(e - n * (s.length - 1)))),
                                             r(s).each(function (t, e) {
                                                  var i = t === s.length - 1 ? a : n,
                                                       o = l[t],
                                                       u = i - (o - c[t]);
                                                  o < i && r(e).height(u);
                                             });
                                   }),
                                   (e.undistributeHeight = o),
                                   (e.matchCellWidths = function (t) {
                                        var e = 0;
                                        return (
                                             t.find("> *").each(function (t, i) {
                                                  var n = r(i).outerWidth();
                                                  n > e && (e = n);
                                             }),
                                             e++,
                                             t.width(e),
                                             e
                                        );
                                   }),
                                   (e.subtractInnerElHeight = function (t, e) {
                                        var i,
                                             n = t.add(e);
                                        return n.css({ position: "relative", left: -1 }), (i = t.outerHeight() - e.outerHeight()), n.css({ position: "", left: "" }), i;
                                   }),
                                   (e.getScrollParent = function (t) {
                                        var e = t.css("position"),
                                             i = t
                                                  .parents()
                                                  .filter(function () {
                                                       var t = r(this);
                                                       return /(auto|scroll)/.test(t.css("overflow") + t.css("overflow-y") + t.css("overflow-x"));
                                                  })
                                                  .eq(0);
                                        return "fixed" !== e && i.length ? i : r(t[0].ownerDocument || document);
                                   }),
                                   (e.getOuterRect = function (t, e) {
                                        var i = t.offset(),
                                             n = i.left - (e ? e.left : 0),
                                             r = i.top - (e ? e.top : 0);
                                        return { left: n, right: n + t.outerWidth(), top: r, bottom: r + t.outerHeight() };
                                   }),
                                   (e.getClientRect = function (t, e) {
                                        var i = t.offset(),
                                             n = a(t),
                                             r = i.left + c(t, "border-left-width") + n.left - (e ? e.left : 0),
                                             o = i.top + c(t, "border-top-width") + n.top - (e ? e.top : 0);
                                        return { left: r, right: r + t[0].clientWidth, top: o, bottom: o + t[0].clientHeight };
                                   }),
                                   (e.getContentRect = function (t, e) {
                                        var i = t.offset(),
                                             n = i.left + c(t, "border-left-width") + c(t, "padding-left") - (e ? e.left : 0),
                                             r = i.top + c(t, "border-top-width") + c(t, "padding-top") - (e ? e.top : 0);
                                        return { left: n, right: n + t.width(), top: r, bottom: r + t.height() };
                                   }),
                                   (e.getScrollbarWidths = a);
                              var l = null;
                              function c(t, e) {
                                   return parseFloat(t.css(e)) || 0;
                              }
                              function u(t) {
                                   t.preventDefault();
                              }
                              function h(t, e, i, n, r) {
                                   if (i.func) return i.func(t, e);
                                   var o = t[i.field],
                                        a = e[i.field];
                                   return null == o && n && (o = n[i.field]), null == a && r && (a = r[i.field]), d(o, a) * (i.order || 1);
                              }
                              function d(t, e) {
                                   return t || e ? (null == e ? -1 : null == t ? 1 : "string" === r.type(t) || "string" === r.type(e) ? String(t).localeCompare(String(e)) : t - e) : 0;
                              }
                              function p(t, i) {
                                   var n, r, o;
                                   for (n = 0; n < e.unitsDesc.length && !((o = f((r = e.unitsDesc[n]), t, i)) >= 1 && _(o)); n++);
                                   return r;
                              }
                              function f(t, e, i) {
                                   return null != i ? i.diff(e, t, !0) : n.isDuration(e) ? e.as(t) : e.end.diff(e.start, t, !0);
                              }
                              function m(t) {
                                   return Boolean(t.hours() || t.minutes() || t.seconds() || t.milliseconds());
                              }
                              function g() {
                                   for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                                   var i = window.console;
                                   if (i && i.log) return i.log.apply(i, t);
                              }
                              (e.isPrimaryMouseButton = function (t) {
                                   return 1 === t.which && !t.ctrlKey;
                              }),
                                   (e.getEvX = function (t) {
                                        var e = t.originalEvent.touches;
                                        return e && e.length ? e[0].pageX : t.pageX;
                                   }),
                                   (e.getEvY = function (t) {
                                        var e = t.originalEvent.touches;
                                        return e && e.length ? e[0].pageY : t.pageY;
                                   }),
                                   (e.getEvIsTouch = function (t) {
                                        return /^touch/.test(t.type);
                                   }),
                                   (e.preventSelection = function (t) {
                                        t.addClass("fc-unselectable").on("selectstart", u);
                                   }),
                                   (e.allowSelection = function (t) {
                                        t.removeClass("fc-unselectable").off("selectstart", u);
                                   }),
                                   (e.preventDefault = u),
                                   (e.intersectRects = function (t, e) {
                                        var i = { left: Math.max(t.left, e.left), right: Math.min(t.right, e.right), top: Math.max(t.top, e.top), bottom: Math.min(t.bottom, e.bottom) };
                                        return i.left < i.right && i.top < i.bottom && i;
                                   }),
                                   (e.constrainPoint = function (t, e) {
                                        return { left: Math.min(Math.max(t.left, e.left), e.right), top: Math.min(Math.max(t.top, e.top), e.bottom) };
                                   }),
                                   (e.getRectCenter = function (t) {
                                        return { left: (t.left + t.right) / 2, top: (t.top + t.bottom) / 2 };
                                   }),
                                   (e.diffPoints = function (t, e) {
                                        return { left: t.left - e.left, top: t.top - e.top };
                                   }),
                                   (e.parseFieldSpecs = function (t) {
                                        var e,
                                             i,
                                             n = [],
                                             o = [];
                                        for ("string" == typeof t ? (o = t.split(/\s*,\s*/)) : "function" == typeof t ? (o = [t]) : r.isArray(t) && (o = t), e = 0; e < o.length; e++)
                                             "string" == typeof (i = o[e]) ? n.push("-" === i.charAt(0) ? { field: i.substring(1), order: -1 } : { field: i, order: 1 }) : "function" == typeof i && n.push({ func: i });
                                        return n;
                                   }),
                                   (e.compareByFieldSpecs = function (t, e, i, n, r) {
                                        var o, a;
                                        for (o = 0; o < i.length; o++) if ((a = h(t, e, i[o], n, r))) return a;
                                        return 0;
                                   }),
                                   (e.compareByFieldSpec = h),
                                   (e.flexibleCompare = d),
                                   (e.dayIDs = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"]),
                                   (e.unitsDesc = ["year", "month", "week", "day", "hour", "minute", "second", "millisecond"]),
                                   (e.diffDayTime = function (t, e) {
                                        return n.duration({ days: t.clone().stripTime().diff(e.clone().stripTime(), "days"), ms: t.time() - e.time() });
                                   }),
                                   (e.diffDay = function (t, e) {
                                        return n.duration({ days: t.clone().stripTime().diff(e.clone().stripTime(), "days") });
                                   }),
                                   (e.diffByUnit = function (t, e, i) {
                                        return n.duration(Math.round(t.diff(e, i, !0)), i);
                                   }),
                                   (e.computeGreatestUnit = p),
                                   (e.computeDurationGreatestUnit = function (t, e) {
                                        var i = p(t);
                                        return "week" === i && "object" == typeof e && e.days && (i = "day"), i;
                                   }),
                                   (e.divideRangeByDuration = function (t, e, i) {
                                        var n;
                                        return m(i) ? (e - t) / i : ((n = i.asMonths()), Math.abs(n) >= 1 && _(n) ? e.diff(t, "months", !0) / n : e.diff(t, "days", !0) / i.asDays());
                                   }),
                                   (e.divideDurationByDuration = function (t, e) {
                                        var i, n;
                                        return m(t) || m(e) ? t / e : ((i = t.asMonths()), (n = e.asMonths()), Math.abs(i) >= 1 && _(i) && Math.abs(n) >= 1 && _(n) ? i / n : t.asDays() / e.asDays());
                                   }),
                                   (e.multiplyDuration = function (t, e) {
                                        var i;
                                        return m(t) ? n.duration(t * e) : ((i = t.asMonths()), Math.abs(i) >= 1 && _(i) ? n.duration({ months: i * e }) : n.duration({ days: t.asDays() * e }));
                                   }),
                                   (e.durationHasTime = m),
                                   (e.isNativeDate = function (t) {
                                        return "[object Date]" === Object.prototype.toString.call(t) || t instanceof Date;
                                   }),
                                   (e.isTimeString = function (t) {
                                        return "string" == typeof t && /^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(t);
                                   }),
                                   (e.log = g),
                                   (e.warn = function () {
                                        for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                                        var i = window.console;
                                        return i && i.warn ? i.warn.apply(i, t) : g.apply(null, t);
                                   });
                              var v = {}.hasOwnProperty;
                              function y(t, e) {
                                   return v.call(t, e);
                              }
                              function b(t) {
                                   return (t + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&#039;").replace(/"/g, "&quot;").replace(/\n/g, "<br>");
                              }
                              function _(t) {
                                   return t % 1 == 0;
                              }
                              (e.mergeProps = function t(e, i) {
                                   var n,
                                        r,
                                        o,
                                        a,
                                        s,
                                        l,
                                        c = {};
                                   if (i)
                                        for (n = 0; n < i.length; n++) {
                                             for (r = i[n], o = [], a = e.length - 1; a >= 0; a--)
                                                  if ("object" == typeof (s = e[a][r])) o.unshift(s);
                                                  else if (void 0 !== s) {
                                                       c[r] = s;
                                                       break;
                                                  }
                                             o.length && (c[r] = t(o));
                                        }
                                   for (n = e.length - 1; n >= 0; n--) for (r in (l = e[n])) r in c || (c[r] = l[r]);
                                   return c;
                              }),
                                   (e.copyOwnProps = function (t, e) {
                                        for (var i in t) y(t, i) && (e[i] = t[i]);
                                   }),
                                   (e.hasOwnProp = y),
                                   (e.applyAll = function (t, e, i) {
                                        if ((r.isFunction(t) && (t = [t]), t)) {
                                             var n = void 0,
                                                  o = void 0;
                                             for (n = 0; n < t.length; n++) o = t[n].apply(e, i) || o;
                                             return o;
                                        }
                                   }),
                                   (e.removeMatching = function (t, e) {
                                        for (var i = 0, n = 0; n < t.length; ) e(t[n]) ? (t.splice(n, 1), i++) : n++;
                                        return i;
                                   }),
                                   (e.removeExact = function (t, e) {
                                        for (var i = 0, n = 0; n < t.length; ) t[n] === e ? (t.splice(n, 1), i++) : n++;
                                        return i;
                                   }),
                                   (e.isArraysEqual = function (t, e) {
                                        var i,
                                             n = t.length;
                                        if (null == n || n !== e.length) return !1;
                                        for (i = 0; i < n; i++) if (t[i] !== e[i]) return !1;
                                        return !0;
                                   }),
                                   (e.firstDefined = function () {
                                        for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                                        for (var i = 0; i < t.length; i++) if (void 0 !== t[i]) return t[i];
                                   }),
                                   (e.htmlEscape = b),
                                   (e.stripHtmlEntities = function (t) {
                                        return t.replace(/&.*?;/g, "");
                                   }),
                                   (e.cssToStr = function (t) {
                                        var e = [];
                                        return (
                                             r.each(t, function (t, i) {
                                                  null != i && e.push(t + ":" + i);
                                             }),
                                             e.join(";")
                                        );
                                   }),
                                   (e.attrsToStr = function (t) {
                                        var e = [];
                                        return (
                                             r.each(t, function (t, i) {
                                                  null != i && e.push(t + '="' + b(i) + '"');
                                             }),
                                             e.join(" ")
                                        );
                                   }),
                                   (e.capitaliseFirstLetter = function (t) {
                                        return t.charAt(0).toUpperCase() + t.slice(1);
                                   }),
                                   (e.compareNumbers = function (t, e) {
                                        return t - e;
                                   }),
                                   (e.isInt = _),
                                   (e.proxy = function (t, e) {
                                        var i = t[e];
                                        return function () {
                                             return i.apply(t, arguments);
                                        };
                                   }),
                                   (e.debounce = function (t, e, i) {
                                        var n, r, o, a, s;
                                        void 0 === i && (i = !1);
                                        var l = function () {
                                             var c = +new Date() - a;
                                             c < e ? (n = setTimeout(l, e - c)) : ((n = null), i || ((s = t.apply(o, r)), (o = r = null)));
                                        };
                                        return function () {
                                             (o = this), (r = arguments), (a = +new Date());
                                             var c = i && !n;
                                             return n || (n = setTimeout(l, e)), c && ((s = t.apply(o, r)), (o = r = null)), s;
                                        };
                                   });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(0),
                                   r = i(11),
                                   o = (function () {
                                        function t(t, e) {
                                             (this.isStart = !0),
                                                  (this.isEnd = !0),
                                                  n.isMoment(t) && (t = t.clone().stripZone()),
                                                  n.isMoment(e) && (e = e.clone().stripZone()),
                                                  t && (this.startMs = t.valueOf()),
                                                  e && (this.endMs = e.valueOf());
                                        }
                                        return (
                                             (t.invertRanges = function (e, i) {
                                                  var n,
                                                       r,
                                                       o = [],
                                                       s = i.startMs;
                                                  for (e.sort(a), n = 0; n < e.length; n++) (r = e[n]).startMs > s && o.push(new t(s, r.startMs)), r.endMs > s && (s = r.endMs);
                                                  return s < i.endMs && o.push(new t(s, i.endMs)), o;
                                             }),
                                             (t.prototype.intersect = function (e) {
                                                  var i = this.startMs,
                                                       n = this.endMs,
                                                       r = null;
                                                  return (
                                                       null != e.startMs && (i = null == i ? e.startMs : Math.max(i, e.startMs)),
                                                       null != e.endMs && (n = null == n ? e.endMs : Math.min(n, e.endMs)),
                                                       (null == i || null == n || i < n) && (((r = new t(i, n)).isStart = this.isStart && i === this.startMs), (r.isEnd = this.isEnd && n === this.endMs)),
                                                       r
                                                  );
                                             }),
                                             (t.prototype.intersectsWith = function (t) {
                                                  return (null == this.endMs || null == t.startMs || this.endMs > t.startMs) && (null == this.startMs || null == t.endMs || this.startMs < t.endMs);
                                             }),
                                             (t.prototype.containsRange = function (t) {
                                                  return (null == this.startMs || (null != t.startMs && t.startMs >= this.startMs)) && (null == this.endMs || (null != t.endMs && t.endMs <= this.endMs));
                                             }),
                                             (t.prototype.containsDate = function (t) {
                                                  var e = t.valueOf();
                                                  return (null == this.startMs || e >= this.startMs) && (null == this.endMs || e < this.endMs);
                                             }),
                                             (t.prototype.constrainDate = function (t) {
                                                  var e = t.valueOf();
                                                  return null != this.startMs && e < this.startMs && (e = this.startMs), null != this.endMs && e >= this.endMs && (e = this.endMs - 1), e;
                                             }),
                                             (t.prototype.equals = function (t) {
                                                  return this.startMs === t.startMs && this.endMs === t.endMs;
                                             }),
                                             (t.prototype.clone = function () {
                                                  var e = new t(this.startMs, this.endMs);
                                                  return (e.isStart = this.isStart), (e.isEnd = this.isEnd), e;
                                             }),
                                             (t.prototype.getStart = function () {
                                                  return null != this.startMs ? r.default.utc(this.startMs).stripZone() : null;
                                             }),
                                             (t.prototype.getEnd = function () {
                                                  return null != this.endMs ? r.default.utc(this.endMs).stripZone() : null;
                                             }),
                                             (t.prototype.as = function (t) {
                                                  return n.utc(this.endMs).diff(n.utc(this.startMs), t, !0);
                                             }),
                                             t
                                        );
                                   })();
                              function a(t, e) {
                                   return t.startMs - e.startMs;
                              }
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(52),
                                   a = i(35),
                                   s = i(36),
                                   l = (function (t) {
                                        function e(i) {
                                             var n = t.call(this) || this;
                                             return (n.calendar = i), (n.className = []), (n.uid = String(e.uuid++)), n;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.parse = function (t, e) {
                                                  var i = new this(e);
                                                  return !("object" != typeof t || !i.applyProps(t)) && i;
                                             }),
                                             (e.normalizeId = function (t) {
                                                  return t ? String(t) : null;
                                             }),
                                             (e.prototype.fetch = function (t, e, i) {}),
                                             (e.prototype.removeEventDefsById = function (t) {}),
                                             (e.prototype.removeAllEventDefs = function () {}),
                                             (e.prototype.getPrimitive = function (t) {}),
                                             (e.prototype.parseEventDefs = function (t) {
                                                  var e,
                                                       i,
                                                       n = [];
                                                  for (e = 0; e < t.length; e++) (i = this.parseEventDef(t[e])) && n.push(i);
                                                  return n;
                                             }),
                                             (e.prototype.parseEventDef = function (t) {
                                                  var e = this.calendar.opt("eventDataTransform"),
                                                       i = this.eventDataTransform;
                                                  return e && (t = e(t, this.calendar)), i && (t = i(t, this.calendar)), s.default.parse(t, this);
                                             }),
                                             (e.prototype.applyManualStandardProps = function (t) {
                                                  return (
                                                       null != t.id && (this.id = e.normalizeId(t.id)),
                                                       r.isArray(t.className) ? (this.className = t.className) : "string" == typeof t.className && (this.className = t.className.split(/\s+/)),
                                                       !0
                                                  );
                                             }),
                                             (e.uuid = 0),
                                             (e.defineStandardProps = o.default.defineStandardProps),
                                             (e.copyVerbatimStandardProps = o.default.copyVerbatimStandardProps),
                                             e
                                        );
                                   })(a.default);
                              (e.default = l),
                                   o.default.mixInto(l),
                                   l.defineStandardProps({
                                        id: !1,
                                        className: !1,
                                        color: !0,
                                        backgroundColor: !0,
                                        borderColor: !0,
                                        textColor: !0,
                                        editable: !0,
                                        startEditable: !0,
                                        durationEditable: !0,
                                        rendering: !0,
                                        overlap: !0,
                                        constraint: !0,
                                        allDayDefault: !0,
                                        eventDataTransform: !0,
                                   });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(15),
                                   a = 0,
                                   s = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.listenTo = function (t, e, i) {
                                                  if ("object" == typeof e) for (var n in e) e.hasOwnProperty(n) && this.listenTo(t, n, e[n]);
                                                  else "string" == typeof e && t.on(e + "." + this.getListenerNamespace(), r.proxy(i, this));
                                             }),
                                             (e.prototype.stopListeningTo = function (t, e) {
                                                  t.off((e || "") + "." + this.getListenerNamespace());
                                             }),
                                             (e.prototype.getListenerNamespace = function () {
                                                  return null == this.listenerId && (this.listenerId = a++), "_listener" + this.listenerId;
                                             }),
                                             e
                                        );
                                   })(o.default);
                              e.default = s;
                         },
                         ,
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(37),
                                   o = i(53),
                                   a = i(16),
                                   s = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.buildInstances = function () {
                                                  return [this.buildInstance()];
                                             }),
                                             (e.prototype.buildInstance = function () {
                                                  return new o.default(this, this.dateProfile);
                                             }),
                                             (e.prototype.isAllDay = function () {
                                                  return this.dateProfile.isAllDay();
                                             }),
                                             (e.prototype.clone = function () {
                                                  var e = t.prototype.clone.call(this);
                                                  return (e.dateProfile = this.dateProfile), e;
                                             }),
                                             (e.prototype.rezone = function () {
                                                  var t = this.source.calendar,
                                                       e = this.dateProfile;
                                                  this.dateProfile = new a.default(t.moment(e.start), e.end ? t.moment(e.end) : null, t);
                                             }),
                                             (e.prototype.applyManualStandardProps = function (e) {
                                                  var i = t.prototype.applyManualStandardProps.call(this, e),
                                                       n = a.default.parse(e, this.source);
                                                  return !!n && ((this.dateProfile = n), null != e.date && (this.miscProps.date = e.date), i);
                                             }),
                                             e
                                        );
                                   })(r.default);
                              (e.default = s), s.defineStandardProps({ start: !1, date: !1, end: !1, allDay: !1 });
                         },
                         ,
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(0),
                                   r = i(3),
                                   o = i(4),
                                   a = /^\s*\d{4}-\d\d$/,
                                   s = /^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/,
                                   l = n.fn;
                              e.newMomentProto = l;
                              var c = r.extend({}, l);
                              e.oldMomentProto = c;
                              var u = n.momentProperties;
                              u.push("_fullCalendar"),
                                   u.push("_ambigTime"),
                                   u.push("_ambigZone"),
                                   (e.oldMomentFormat = function (t, e) {
                                        return c.format.call(t, e);
                                   });
                              var h = function () {
                                   return d(arguments);
                              };
                              function d(t, e, i) {
                                   void 0 === e && (e = !1), void 0 === i && (i = !1);
                                   var l,
                                        c,
                                        u,
                                        h,
                                        d = t[0],
                                        p = 1 === t.length && "string" == typeof d;
                                   return (
                                        n.isMoment(d) || o.isNativeDate(d) || void 0 === d
                                             ? (h = n.apply(null, t))
                                             : ((l = !1),
                                               (c = !1),
                                               p ? (a.test(d) ? ((t = [(d += "-01")]), (l = !0), (c = !0)) : (u = s.exec(d)) && ((l = !u[5]), (c = !0))) : r.isArray(d) && (c = !0),
                                               (h = e || l ? n.utc.apply(n, t) : n.apply(null, t)),
                                               l ? ((h._ambigTime = !0), (h._ambigZone = !0)) : i && (c ? (h._ambigZone = !0) : p && h.utcOffset(d))),
                                        (h._fullCalendar = !0),
                                        h
                                   );
                              }
                              (e.default = h),
                                   (h.utc = function () {
                                        var t = d(arguments, !0);
                                        return t.hasTime() && t.utc(), t;
                                   }),
                                   (h.parseZone = function () {
                                        return d(arguments, !0, !0);
                                   }),
                                   (l.week = l.weeks = function (t) {
                                        var e = this._locale._fullCalendar_weekCalc;
                                        return null == t && "function" == typeof e ? e(this) : "ISO" === e ? c.isoWeek.apply(this, arguments) : c.week.apply(this, arguments);
                                   }),
                                   (l.time = function (t) {
                                        if (!this._fullCalendar) return c.time.apply(this, arguments);
                                        if (null == t) return n.duration({ hours: this.hours(), minutes: this.minutes(), seconds: this.seconds(), milliseconds: this.milliseconds() });
                                        (this._ambigTime = !1), n.isDuration(t) || n.isMoment(t) || (t = n.duration(t));
                                        var e = 0;
                                        return (
                                             n.isDuration(t) && (e = 24 * Math.floor(t.asDays())),
                                             this.hours(e + t.hours())
                                                  .minutes(t.minutes())
                                                  .seconds(t.seconds())
                                                  .milliseconds(t.milliseconds())
                                        );
                                   }),
                                   (l.stripTime = function () {
                                        return this._ambigTime || (this.utc(!0), this.set({ hours: 0, minutes: 0, seconds: 0, ms: 0 }), (this._ambigTime = !0), (this._ambigZone = !0)), this;
                                   }),
                                   (l.hasTime = function () {
                                        return !this._ambigTime;
                                   }),
                                   (l.stripZone = function () {
                                        var t;
                                        return this._ambigZone || ((t = this._ambigTime), this.utc(!0), (this._ambigTime = t || !1), (this._ambigZone = !0)), this;
                                   }),
                                   (l.hasZone = function () {
                                        return !this._ambigZone;
                                   }),
                                   (l.local = function (t) {
                                        return c.local.call(this, this._ambigZone || t), (this._ambigTime = !1), (this._ambigZone = !1), this;
                                   }),
                                   (l.utc = function (t) {
                                        return c.utc.call(this, t), (this._ambigTime = !1), (this._ambigZone = !1), this;
                                   }),
                                   (l.utcOffset = function (t) {
                                        return null != t && ((this._ambigTime = !1), (this._ambigZone = !1)), c.utcOffset.apply(this, arguments);
                                   });
                         },
                         function (t, e) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var i = (function () {
                                   function t(t, e) {
                                        (this.isAllDay = !1), (this.unzonedRange = t), (this.isAllDay = e);
                                   }
                                   return (
                                        (t.prototype.toLegacy = function (t) {
                                             return { start: t.msToMoment(this.unzonedRange.startMs, this.isAllDay), end: t.msToMoment(this.unzonedRange.endMs, this.isAllDay) };
                                        }),
                                        t
                                   );
                              })();
                              e.default = i;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.on = function (t, e) {
                                                  return r(this).on(t, this._prepareIntercept(e)), this;
                                             }),
                                             (e.prototype.one = function (t, e) {
                                                  return r(this).one(t, this._prepareIntercept(e)), this;
                                             }),
                                             (e.prototype._prepareIntercept = function (t) {
                                                  var e = function (e, i) {
                                                       return t.apply(i.context || this, i.args || []);
                                                  };
                                                  return t.guid || (t.guid = r.guid++), (e.guid = t.guid), e;
                                             }),
                                             (e.prototype.off = function (t, e) {
                                                  return r(this).off(t, e), this;
                                             }),
                                             (e.prototype.trigger = function (t) {
                                                  for (var e = [], i = 1; i < arguments.length; i++) e[i - 1] = arguments[i];
                                                  return r(this).triggerHandler(t, { args: e }), this;
                                             }),
                                             (e.prototype.triggerWith = function (t, e, i) {
                                                  return r(this).triggerHandler(t, { context: e, args: i }), this;
                                             }),
                                             (e.prototype.hasHandlers = function (t) {
                                                  var e = r._data(this, "events");
                                                  return e && e[t] && e[t].length > 0;
                                             }),
                                             e
                                        );
                                   })(i(15).default);
                              e.default = o;
                         },
                         function (t, e) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var i = (function () {
                                   function t(t) {
                                        (this.view = t._getView()), (this.component = t);
                                   }
                                   return (
                                        (t.prototype.opt = function (t) {
                                             return this.view.opt(t);
                                        }),
                                        (t.prototype.end = function () {}),
                                        t
                                   );
                              })();
                              e.default = i;
                         },
                         function (t, e) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var i = (function () {
                                   function t() {}
                                   return (
                                        (t.mixInto = function (t) {
                                             var e = this;
                                             Object.getOwnPropertyNames(this.prototype).forEach(function (i) {
                                                  t.prototype[i] || (t.prototype[i] = e.prototype[i]);
                                             });
                                        }),
                                        (t.mixOver = function (t) {
                                             var e = this;
                                             Object.getOwnPropertyNames(this.prototype).forEach(function (i) {
                                                  t.prototype[i] = e.prototype[i];
                                             });
                                        }),
                                        t
                                   );
                              })();
                              e.default = i;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(5),
                                   r = (function () {
                                        function t(t, e, i) {
                                             (this.start = t), (this.end = e || null), (this.unzonedRange = this.buildUnzonedRange(i));
                                        }
                                        return (
                                             (t.parse = function (e, i) {
                                                  var n = e.start || e.date,
                                                       r = e.end;
                                                  if (!n) return !1;
                                                  var o = i.calendar,
                                                       a = o.moment(n),
                                                       s = r ? o.moment(r) : null,
                                                       l = e.allDay,
                                                       c = o.opt("forceEventDuration");
                                                  return (
                                                       !!a.isValid() &&
                                                       (null == l && null == (l = i.allDayDefault) && (l = o.opt("allDayDefault")),
                                                       !0 === l ? (a.stripTime(), s && s.stripTime()) : !1 === l && (a.hasTime() || a.time(0), s && !s.hasTime() && s.time(0)),
                                                       !s || (s.isValid() && s.isAfter(a)) || (s = null),
                                                       !s && c && (s = o.getDefaultEventEnd(!a.hasTime(), a)),
                                                       new t(a, s, o))
                                                  );
                                             }),
                                             (t.isStandardProp = function (t) {
                                                  return "start" === t || "date" === t || "end" === t || "allDay" === t;
                                             }),
                                             (t.prototype.isAllDay = function () {
                                                  return !(this.start.hasTime() || (this.end && this.end.hasTime()));
                                             }),
                                             (t.prototype.buildUnzonedRange = function (t) {
                                                  var e = this.start.clone().stripZone().valueOf(),
                                                       i = this.getEnd(t).stripZone().valueOf();
                                                  return new n.default(e, i);
                                             }),
                                             (t.prototype.getEnd = function (t) {
                                                  return this.end ? this.end.clone() : t.getDefaultEventEnd(this.isAllDay(), this.start);
                                             }),
                                             t
                                        );
                                   })();
                              e.default = r;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(4),
                                   o = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this, i) || this;
                                             return (n.component = e), n;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.handleInteractionStart = function (e) {
                                                  var i,
                                                       n,
                                                       o,
                                                       a = this.subjectEl;
                                                  this.component.hitsNeeded(),
                                                       this.computeScrollBounds(),
                                                       e
                                                            ? ((o = n = { left: r.getEvX(e), top: r.getEvY(e) }),
                                                              a && ((i = r.getOuterRect(a)), (o = r.constrainPoint(o, i))),
                                                              (this.origHit = this.queryHit(o.left, o.top)),
                                                              a && this.options.subjectCenter && (this.origHit && (i = r.intersectRects(this.origHit, i) || i), (o = r.getRectCenter(i))),
                                                              (this.coordAdjust = r.diffPoints(o, n)))
                                                            : ((this.origHit = null), (this.coordAdjust = null)),
                                                       t.prototype.handleInteractionStart.call(this, e);
                                             }),
                                             (e.prototype.handleDragStart = function (e) {
                                                  var i;
                                                  t.prototype.handleDragStart.call(this, e), (i = this.queryHit(r.getEvX(e), r.getEvY(e))) && this.handleHitOver(i);
                                             }),
                                             (e.prototype.handleDrag = function (e, i, n) {
                                                  var o;
                                                  t.prototype.handleDrag.call(this, e, i, n), a((o = this.queryHit(r.getEvX(n), r.getEvY(n))), this.hit) || (this.hit && this.handleHitOut(), o && this.handleHitOver(o));
                                             }),
                                             (e.prototype.handleDragEnd = function (e) {
                                                  this.handleHitDone(), t.prototype.handleDragEnd.call(this, e);
                                             }),
                                             (e.prototype.handleHitOver = function (t) {
                                                  var e = a(t, this.origHit);
                                                  (this.hit = t), this.trigger("hitOver", this.hit, e, this.origHit);
                                             }),
                                             (e.prototype.handleHitOut = function () {
                                                  this.hit && (this.trigger("hitOut", this.hit), this.handleHitDone(), (this.hit = null));
                                             }),
                                             (e.prototype.handleHitDone = function () {
                                                  this.hit && this.trigger("hitDone", this.hit);
                                             }),
                                             (e.prototype.handleInteractionEnd = function (e, i) {
                                                  t.prototype.handleInteractionEnd.call(this, e, i), (this.origHit = null), (this.hit = null), this.component.hitsNotNeeded();
                                             }),
                                             (e.prototype.handleScrollEnd = function () {
                                                  t.prototype.handleScrollEnd.call(this), this.isDragging && (this.component.releaseHits(), this.component.prepareHits());
                                             }),
                                             (e.prototype.queryHit = function (t, e) {
                                                  return this.coordAdjust && ((t += this.coordAdjust.left), (e += this.coordAdjust.top)), this.component.queryHit(t, e);
                                             }),
                                             e
                                        );
                                   })(i(59).default);
                              function a(t, e) {
                                   return (!t && !e) || (!(!t || !e) && t.component === e.component && s(t, e) && s(e, t));
                              }
                              function s(t, e) {
                                   for (var i in t) if (!/^(component|left|right|top|bottom)$/.test(i) && t[i] !== e[i]) return !1;
                                   return !0;
                              }
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 }), (e.version = "3.10.2"), (e.internalApiVersion = 12);
                              var n = i(4);
                              (e.applyAll = n.applyAll),
                                   (e.debounce = n.debounce),
                                   (e.isInt = n.isInt),
                                   (e.htmlEscape = n.htmlEscape),
                                   (e.cssToStr = n.cssToStr),
                                   (e.proxy = n.proxy),
                                   (e.capitaliseFirstLetter = n.capitaliseFirstLetter),
                                   (e.getOuterRect = n.getOuterRect),
                                   (e.getClientRect = n.getClientRect),
                                   (e.getContentRect = n.getContentRect),
                                   (e.getScrollbarWidths = n.getScrollbarWidths),
                                   (e.preventDefault = n.preventDefault),
                                   (e.parseFieldSpecs = n.parseFieldSpecs),
                                   (e.compareByFieldSpecs = n.compareByFieldSpecs),
                                   (e.compareByFieldSpec = n.compareByFieldSpec),
                                   (e.flexibleCompare = n.flexibleCompare),
                                   (e.computeGreatestUnit = n.computeGreatestUnit),
                                   (e.divideRangeByDuration = n.divideRangeByDuration),
                                   (e.divideDurationByDuration = n.divideDurationByDuration),
                                   (e.multiplyDuration = n.multiplyDuration),
                                   (e.durationHasTime = n.durationHasTime),
                                   (e.log = n.log),
                                   (e.warn = n.warn),
                                   (e.removeExact = n.removeExact),
                                   (e.intersectRects = n.intersectRects),
                                   (e.allowSelection = n.allowSelection),
                                   (e.attrsToStr = n.attrsToStr),
                                   (e.compareNumbers = n.compareNumbers),
                                   (e.compensateScroll = n.compensateScroll),
                                   (e.computeDurationGreatestUnit = n.computeDurationGreatestUnit),
                                   (e.constrainPoint = n.constrainPoint),
                                   (e.copyOwnProps = n.copyOwnProps),
                                   (e.diffByUnit = n.diffByUnit),
                                   (e.diffDay = n.diffDay),
                                   (e.diffDayTime = n.diffDayTime),
                                   (e.diffPoints = n.diffPoints),
                                   (e.disableCursor = n.disableCursor),
                                   (e.distributeHeight = n.distributeHeight),
                                   (e.enableCursor = n.enableCursor),
                                   (e.firstDefined = n.firstDefined),
                                   (e.getEvIsTouch = n.getEvIsTouch),
                                   (e.getEvX = n.getEvX),
                                   (e.getEvY = n.getEvY),
                                   (e.getRectCenter = n.getRectCenter),
                                   (e.getScrollParent = n.getScrollParent),
                                   (e.hasOwnProp = n.hasOwnProp),
                                   (e.isArraysEqual = n.isArraysEqual),
                                   (e.isNativeDate = n.isNativeDate),
                                   (e.isPrimaryMouseButton = n.isPrimaryMouseButton),
                                   (e.isTimeString = n.isTimeString),
                                   (e.matchCellWidths = n.matchCellWidths),
                                   (e.mergeProps = n.mergeProps),
                                   (e.preventSelection = n.preventSelection),
                                   (e.removeMatching = n.removeMatching),
                                   (e.stripHtmlEntities = n.stripHtmlEntities),
                                   (e.subtractInnerElHeight = n.subtractInnerElHeight),
                                   (e.uncompensateScroll = n.uncompensateScroll),
                                   (e.undistributeHeight = n.undistributeHeight),
                                   (e.dayIDs = n.dayIDs),
                                   (e.unitsDesc = n.unitsDesc);
                              var r = i(49);
                              (e.formatDate = r.formatDate), (e.formatRange = r.formatRange), (e.queryMostGranularFormatUnit = r.queryMostGranularFormatUnit);
                              var o = i(32);
                              (e.datepickerLocale = o.datepickerLocale), (e.locale = o.locale), (e.getMomentLocaleData = o.getMomentLocaleData), (e.populateInstanceComputableOptions = o.populateInstanceComputableOptions);
                              var a = i(19);
                              (e.eventDefsToEventInstances = a.eventDefsToEventInstances),
                                   (e.eventFootprintToComponentFootprint = a.eventFootprintToComponentFootprint),
                                   (e.eventInstanceToEventRange = a.eventInstanceToEventRange),
                                   (e.eventInstanceToUnzonedRange = a.eventInstanceToUnzonedRange),
                                   (e.eventRangeToEventFootprint = a.eventRangeToEventFootprint);
                              var s = i(11);
                              e.moment = s.default;
                              var l = i(13);
                              e.EmitterMixin = l.default;
                              var c = i(7);
                              e.ListenerMixin = c.default;
                              var u = i(51);
                              e.Model = u.default;
                              var h = i(217);
                              e.Constraints = h.default;
                              var d = i(55);
                              e.DateProfileGenerator = d.default;
                              var p = i(5);
                              e.UnzonedRange = p.default;
                              var f = i(12);
                              e.ComponentFootprint = f.default;
                              var m = i(218);
                              e.BusinessHourGenerator = m.default;
                              var g = i(219);
                              e.EventPeriod = g.default;
                              var v = i(220);
                              e.EventManager = v.default;
                              var y = i(37);
                              e.EventDef = y.default;
                              var b = i(39);
                              e.EventDefMutation = b.default;
                              var _ = i(36);
                              e.EventDefParser = _.default;
                              var x = i(53);
                              e.EventInstance = x.default;
                              var w = i(50);
                              e.EventRange = w.default;
                              var k = i(54);
                              e.RecurringEventDef = k.default;
                              var S = i(9);
                              e.SingleEventDef = S.default;
                              var M = i(40);
                              e.EventDefDateMutation = M.default;
                              var T = i(16);
                              e.EventDateProfile = T.default;
                              var C = i(38);
                              e.EventSourceParser = C.default;
                              var D = i(6);
                              e.EventSource = D.default;
                              var L = i(57);
                              (e.defineThemeSystem = L.defineThemeSystem), (e.getThemeSystemClass = L.getThemeSystemClass);
                              var E = i(20);
                              e.EventInstanceGroup = E.default;
                              var A = i(56);
                              e.ArrayEventSource = A.default;
                              var P = i(223);
                              e.FuncEventSource = P.default;
                              var I = i(224);
                              e.JsonFeedEventSource = I.default;
                              var O = i(34);
                              e.EventFootprint = O.default;
                              var Y = i(35);
                              e.Class = Y.default;
                              var z = i(15);
                              e.Mixin = z.default;
                              var R = i(58);
                              e.CoordCache = R.default;
                              var F = i(225);
                              e.Iterator = F.default;
                              var H = i(59);
                              e.DragListener = H.default;
                              var j = i(17);
                              e.HitDragListener = j.default;
                              var N = i(226);
                              e.MouseFollower = N.default;
                              var B = i(52);
                              e.ParsableModelMixin = B.default;
                              var W = i(227);
                              e.Popover = W.default;
                              var V = i(21);
                              e.Promise = V.default;
                              var U = i(228);
                              e.TaskQueue = U.default;
                              var q = i(229);
                              e.RenderQueue = q.default;
                              var $ = i(41);
                              e.Scroller = $.default;
                              var X = i(22);
                              e.Theme = X.default;
                              var G = i(230);
                              e.Component = G.default;
                              var Z = i(231);
                              e.DateComponent = Z.default;
                              var J = i(42);
                              e.InteractiveDateComponent = J.default;
                              var K = i(232);
                              e.Calendar = K.default;
                              var Q = i(43);
                              e.View = Q.default;
                              var tt = i(24);
                              (e.defineView = tt.defineView), (e.getViewConfig = tt.getViewConfig);
                              var et = i(60);
                              e.DayTableMixin = et.default;
                              var it = i(61);
                              e.BusinessHourRenderer = it.default;
                              var nt = i(44);
                              e.EventRenderer = nt.default;
                              var rt = i(62);
                              e.FillRenderer = rt.default;
                              var ot = i(63);
                              e.HelperRenderer = ot.default;
                              var at = i(233);
                              e.ExternalDropping = at.default;
                              var st = i(234);
                              e.EventResizing = st.default;
                              var lt = i(64);
                              e.EventPointing = lt.default;
                              var ct = i(235);
                              e.EventDragging = ct.default;
                              var ut = i(236);
                              e.DateSelecting = ut.default;
                              var ht = i(237);
                              e.DateClicking = ht.default;
                              var dt = i(14);
                              e.Interaction = dt.default;
                              var pt = i(65);
                              e.StandardInteractionsMixin = pt.default;
                              var ft = i(238);
                              e.AgendaView = ft.default;
                              var mt = i(239);
                              e.TimeGrid = mt.default;
                              var gt = i(240);
                              e.TimeGridEventRenderer = gt.default;
                              var vt = i(242);
                              e.TimeGridFillRenderer = vt.default;
                              var yt = i(241);
                              e.TimeGridHelperRenderer = yt.default;
                              var bt = i(66);
                              e.DayGrid = bt.default;
                              var _t = i(243);
                              e.DayGridEventRenderer = _t.default;
                              var xt = i(245);
                              e.DayGridFillRenderer = xt.default;
                              var wt = i(244);
                              e.DayGridHelperRenderer = wt.default;
                              var kt = i(67);
                              e.BasicView = kt.default;
                              var St = i(68);
                              e.BasicViewDateProfileGenerator = St.default;
                              var Mt = i(246);
                              e.MonthView = Mt.default;
                              var Tt = i(247);
                              e.MonthViewDateProfileGenerator = Tt.default;
                              var Ct = i(248);
                              e.ListView = Ct.default;
                              var Dt = i(250);
                              e.ListEventPointing = Dt.default;
                              var Lt = i(249);
                              e.ListEventRenderer = Lt.default;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(50),
                                   r = i(34),
                                   o = i(12);
                              (e.eventDefsToEventInstances = function (t, e) {
                                   var i,
                                        n = [];
                                   for (i = 0; i < t.length; i++) n.push.apply(n, t[i].buildInstances(e));
                                   return n;
                              }),
                                   (e.eventInstanceToEventRange = function (t) {
                                        return new n.default(t.dateProfile.unzonedRange, t.def, t);
                                   }),
                                   (e.eventRangeToEventFootprint = function (t) {
                                        return new r.default(new o.default(t.unzonedRange, t.eventDef.isAllDay()), t.eventDef, t.eventInstance);
                                   }),
                                   (e.eventInstanceToUnzonedRange = function (t) {
                                        return t.dateProfile.unzonedRange;
                                   }),
                                   (e.eventFootprintToComponentFootprint = function (t) {
                                        return t.componentFootprint;
                                   });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(5),
                                   r = i(19),
                                   o = i(50),
                                   a = (function () {
                                        function t(t) {
                                             this.eventInstances = t || [];
                                        }
                                        return (
                                             (t.prototype.getAllEventRanges = function (t) {
                                                  return t ? this.sliceNormalRenderRanges(t) : this.eventInstances.map(r.eventInstanceToEventRange);
                                             }),
                                             (t.prototype.sliceRenderRanges = function (t) {
                                                  return this.isInverse() ? this.sliceInverseRenderRanges(t) : this.sliceNormalRenderRanges(t);
                                             }),
                                             (t.prototype.sliceNormalRenderRanges = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r = this.eventInstances,
                                                       a = [];
                                                  for (e = 0; e < r.length; e++) (n = (i = r[e]).dateProfile.unzonedRange.intersect(t)) && a.push(new o.default(n, i.def, i));
                                                  return a;
                                             }),
                                             (t.prototype.sliceInverseRenderRanges = function (t) {
                                                  var e = this.eventInstances.map(r.eventInstanceToUnzonedRange),
                                                       i = this.getEventDef();
                                                  return (e = n.default.invertRanges(e, t)).map(function (t) {
                                                       return new o.default(t, i);
                                                  });
                                             }),
                                             (t.prototype.isInverse = function () {
                                                  return this.getEventDef().hasInverseRendering();
                                             }),
                                             (t.prototype.getEventDef = function () {
                                                  return this.explicitEventDef || this.eventInstances[0].def;
                                             }),
                                             t
                                        );
                                   })();
                              e.default = a;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = {
                                        construct: function (t) {
                                             var e = n.Deferred(),
                                                  i = e.promise();
                                             return (
                                                  "function" == typeof t &&
                                                       t(
                                                            function (t) {
                                                                 e.resolve(t), o(i, t);
                                                            },
                                                            function () {
                                                                 e.reject(), a(i);
                                                            }
                                                       ),
                                                  i
                                             );
                                        },
                                        resolve: function (t) {
                                             var e = n.Deferred().resolve(t).promise();
                                             return o(e, t), e;
                                        },
                                        reject: function () {
                                             var t = n.Deferred().reject().promise();
                                             return a(t), t;
                                        },
                                   };
                              function o(t, e) {
                                   t.then = function (i) {
                                        return "function" == typeof i ? r.resolve(i(e)) : t;
                                   };
                              }
                              function a(t) {
                                   t.then = function (e, i) {
                                        return "function" == typeof i && i(), t;
                                   };
                              }
                              e.default = r;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = (function () {
                                        function t(t) {
                                             (this.optionsManager = t), this.processIconOverride();
                                        }
                                        return (
                                             (t.prototype.processIconOverride = function () {
                                                  this.iconOverrideOption && this.setIconOverride(this.optionsManager.get(this.iconOverrideOption));
                                             }),
                                             (t.prototype.setIconOverride = function (t) {
                                                  var e, i;
                                                  if (n.isPlainObject(t)) {
                                                       for (i in ((e = n.extend({}, this.iconClasses)), t)) e[i] = this.applyIconOverridePrefix(t[i]);
                                                       this.iconClasses = e;
                                                  } else !1 === t && (this.iconClasses = {});
                                             }),
                                             (t.prototype.applyIconOverridePrefix = function (t) {
                                                  var e = this.iconOverridePrefix;
                                                  return e && 0 !== t.indexOf(e) && (t = e + t), t;
                                             }),
                                             (t.prototype.getClass = function (t) {
                                                  return this.classes[t] || "";
                                             }),
                                             (t.prototype.getIconClass = function (t) {
                                                  var e = this.iconClasses[t];
                                                  return e ? this.baseIconClass + " " + e : "";
                                             }),
                                             (t.prototype.getCustomButtonIconClass = function (t) {
                                                  var e;
                                                  return this.iconOverrideCustomButtonOption && (e = t[this.iconOverrideCustomButtonOption]) ? this.baseIconClass + " " + this.applyIconOverridePrefix(e) : "";
                                             }),
                                             t
                                        );
                                   })();
                              (e.default = r), (r.prototype.classes = {}), (r.prototype.iconClasses = {}), (r.prototype.baseIconClass = ""), (r.prototype.iconOverridePrefix = "");
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(18),
                                   o = i(13),
                                   a = i(7);
                              r.touchMouseIgnoreWait = 500;
                              var s = null,
                                   l = 0,
                                   c = (function () {
                                        function t() {
                                             (this.isTouching = !1), (this.mouseIgnoreDepth = 0);
                                        }
                                        return (
                                             (t.get = function () {
                                                  return s || (s = new t()).bind(), s;
                                             }),
                                             (t.needed = function () {
                                                  t.get(), l++;
                                             }),
                                             (t.unneeded = function () {
                                                  --l || (s.unbind(), (s = null));
                                             }),
                                             (t.prototype.bind = function () {
                                                  var t = this;
                                                  this.listenTo(n(document), {
                                                       touchstart: this.handleTouchStart,
                                                       touchcancel: this.handleTouchCancel,
                                                       touchend: this.handleTouchEnd,
                                                       mousedown: this.handleMouseDown,
                                                       mousemove: this.handleMouseMove,
                                                       mouseup: this.handleMouseUp,
                                                       click: this.handleClick,
                                                       selectstart: this.handleSelectStart,
                                                       contextmenu: this.handleContextMenu,
                                                  }),
                                                       window.addEventListener(
                                                            "touchmove",
                                                            (this.handleTouchMoveProxy = function (e) {
                                                                 t.handleTouchMove(n.Event(e));
                                                            }),
                                                            { passive: !1 }
                                                       ),
                                                       window.addEventListener(
                                                            "scroll",
                                                            (this.handleScrollProxy = function (e) {
                                                                 t.handleScroll(n.Event(e));
                                                            }),
                                                            !0
                                                       );
                                             }),
                                             (t.prototype.unbind = function () {
                                                  this.stopListeningTo(n(document)), window.removeEventListener("touchmove", this.handleTouchMoveProxy, { passive: !1 }), window.removeEventListener("scroll", this.handleScrollProxy, !0);
                                             }),
                                             (t.prototype.handleTouchStart = function (t) {
                                                  this.stopTouch(t, !0), (this.isTouching = !0), this.trigger("touchstart", t);
                                             }),
                                             (t.prototype.handleTouchMove = function (t) {
                                                  this.isTouching && this.trigger("touchmove", t);
                                             }),
                                             (t.prototype.handleTouchCancel = function (t) {
                                                  this.isTouching && (this.trigger("touchcancel", t), this.stopTouch(t));
                                             }),
                                             (t.prototype.handleTouchEnd = function (t) {
                                                  this.stopTouch(t);
                                             }),
                                             (t.prototype.handleMouseDown = function (t) {
                                                  this.shouldIgnoreMouse() || this.trigger("mousedown", t);
                                             }),
                                             (t.prototype.handleMouseMove = function (t) {
                                                  this.shouldIgnoreMouse() || this.trigger("mousemove", t);
                                             }),
                                             (t.prototype.handleMouseUp = function (t) {
                                                  this.shouldIgnoreMouse() || this.trigger("mouseup", t);
                                             }),
                                             (t.prototype.handleClick = function (t) {
                                                  this.shouldIgnoreMouse() || this.trigger("click", t);
                                             }),
                                             (t.prototype.handleSelectStart = function (t) {
                                                  this.trigger("selectstart", t);
                                             }),
                                             (t.prototype.handleContextMenu = function (t) {
                                                  this.trigger("contextmenu", t);
                                             }),
                                             (t.prototype.handleScroll = function (t) {
                                                  this.trigger("scroll", t);
                                             }),
                                             (t.prototype.stopTouch = function (t, e) {
                                                  void 0 === e && (e = !1), this.isTouching && ((this.isTouching = !1), this.trigger("touchend", t), e || this.startTouchMouseIgnore());
                                             }),
                                             (t.prototype.startTouchMouseIgnore = function () {
                                                  var t = this,
                                                       e = r.touchMouseIgnoreWait;
                                                  e &&
                                                       (this.mouseIgnoreDepth++,
                                                       setTimeout(function () {
                                                            t.mouseIgnoreDepth--;
                                                       }, e));
                                             }),
                                             (t.prototype.shouldIgnoreMouse = function () {
                                                  return this.isTouching || Boolean(this.mouseIgnoreDepth);
                                             }),
                                             t
                                        );
                                   })();
                              (e.default = c), a.default.mixInto(c), o.default.mixInto(c);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(18);
                              (e.viewHash = {}),
                                   (n.views = e.viewHash),
                                   (e.defineView = function (t, i) {
                                        e.viewHash[t] = i;
                                   }),
                                   (e.getViewConfig = function (t) {
                                        return e.viewHash[t];
                                   });
                         },
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(0),
                                   o = i(18),
                                   a = i(33),
                                   s = i(4);
                              (e.localeOptionHash = {}), (o.locales = e.localeOptionHash);
                              var l = {
                                        buttonText: function (t) {
                                             return { prev: s.stripHtmlEntities(t.prevText), next: s.stripHtmlEntities(t.nextText), today: s.stripHtmlEntities(t.currentText) };
                                        },
                                        monthYearFormat: function (t) {
                                             return t.showMonthAfterYear ? "YYYY[" + t.yearSuffix + "] MMMM" : "MMMM YYYY[" + t.yearSuffix + "]";
                                        },
                                   },
                                   c = {
                                        dayOfMonthFormat: function (t, e) {
                                             var i = t.longDateFormat("l");
                                             return (i = i.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g, "")), e.isRTL ? (i += " ddd") : (i = "ddd " + i), i;
                                        },
                                        mediumTimeFormat: function (t) {
                                             return t.longDateFormat("LT").replace(/\s*a$/i, "a");
                                        },
                                        smallTimeFormat: function (t) {
                                             return t
                                                  .longDateFormat("LT")
                                                  .replace(":mm", "(:mm)")
                                                  .replace(/(\Wmm)$/, "($1)")
                                                  .replace(/\s*a$/i, "a");
                                        },
                                        extraSmallTimeFormat: function (t) {
                                             return t
                                                  .longDateFormat("LT")
                                                  .replace(":mm", "(:mm)")
                                                  .replace(/(\Wmm)$/, "($1)")
                                                  .replace(/\s*a$/i, "t");
                                        },
                                        hourFormat: function (t) {
                                             return t
                                                  .longDateFormat("LT")
                                                  .replace(":mm", "")
                                                  .replace(/(\Wmm)$/, "")
                                                  .replace(/\s*a$/i, "a");
                                        },
                                        noMeridiemTimeFormat: function (t) {
                                             return t.longDateFormat("LT").replace(/\s*a$/i, "");
                                        },
                                   },
                                   u = {
                                        smallDayDateFormat: function (t) {
                                             return t.isRTL ? "D dd" : "dd D";
                                        },
                                        weekFormat: function (t) {
                                             return t.isRTL ? "w[ " + t.weekNumberTitle + "]" : "[" + t.weekNumberTitle + " ]w";
                                        },
                                        smallWeekFormat: function (t) {
                                             return t.isRTL ? "w[" + t.weekNumberTitle + "]" : "[" + t.weekNumberTitle + "]w";
                                        },
                                   };
                              function h(t, i) {
                                   var r, o;
                                   (r = e.localeOptionHash[t] || (e.localeOptionHash[t] = {})),
                                        i && (r = e.localeOptionHash[t] = a.mergeOptions([r, i])),
                                        (o = d(t)),
                                        n.each(c, function (t, e) {
                                             null == r[t] && (r[t] = e(o, r));
                                        }),
                                        (a.globalDefaults.locale = t);
                              }
                              function d(t) {
                                   return r.localeData(t) || r.localeData("en");
                              }
                              (e.populateInstanceComputableOptions = function (t) {
                                   n.each(u, function (e, i) {
                                        null == t[e] && (t[e] = i(t));
                                   });
                              }),
                                   (e.datepickerLocale = function (t, i, r) {
                                        var o = e.localeOptionHash[t] || (e.localeOptionHash[t] = {});
                                        (o.isRTL = r.isRTL),
                                             (o.weekNumberTitle = r.weekHeader),
                                             n.each(l, function (t, e) {
                                                  o[t] = e(r);
                                             });
                                        var a = n.datepicker;
                                        a && ((a.regional[i] = a.regional[t] = r), (a.regional.en = a.regional[""]), a.setDefaults(r));
                                   }),
                                   (e.locale = h),
                                   (e.getMomentLocaleData = d),
                                   h("en", a.englishDefaults);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(4);
                              (e.globalDefaults = {
                                   titleRangeSeparator: " – ",
                                   monthYearFormat: "MMMM YYYY",
                                   defaultTimedEventDuration: "02:00:00",
                                   defaultAllDayEventDuration: { days: 1 },
                                   forceEventDuration: !1,
                                   nextDayThreshold: "09:00:00",
                                   columnHeader: !0,
                                   defaultView: "month",
                                   aspectRatio: 1.35,
                                   header: { left: "title", center: "", right: "today prev,next" },
                                   weekends: !0,
                                   weekNumbers: !1,
                                   weekNumberTitle: "W",
                                   weekNumberCalculation: "local",
                                   scrollTime: "06:00:00",
                                   minTime: "00:00:00",
                                   maxTime: "24:00:00",
                                   showNonCurrentDates: !0,
                                   lazyFetching: !0,
                                   startParam: "start",
                                   endParam: "end",
                                   timezoneParam: "timezone",
                                   timezone: !1,
                                   locale: null,
                                   isRTL: !1,
                                   buttonText: { prev: "prev", next: "next", prevYear: "prev year", nextYear: "next year", year: "year", today: "today", month: "month", week: "week", day: "day" },
                                   allDayText: "all-day",
                                   agendaEventMinHeight: 0,
                                   theme: !1,
                                   dragOpacity: 0.75,
                                   dragRevertDuration: 500,
                                   dragScroll: !0,
                                   unselectAuto: !0,
                                   dropAccept: "*",
                                   eventOrder: "title",
                                   eventLimit: !1,
                                   eventLimitText: "more",
                                   eventLimitClick: "popover",
                                   dayPopoverFormat: "LL",
                                   handleWindowResize: !0,
                                   windowResizeDelay: 100,
                                   longPressDelay: 1e3,
                              }),
                                   (e.englishDefaults = { dayPopoverFormat: "dddd, MMMM D" }),
                                   (e.rtlDefaults = {
                                        header: { left: "next,prev today", center: "", right: "title" },
                                        buttonIcons: { prev: "right-single-arrow", next: "left-single-arrow", prevYear: "right-double-arrow", nextYear: "left-double-arrow" },
                                        themeButtonIcons: { prev: "circle-triangle-e", next: "circle-triangle-w", nextYear: "seek-prev", prevYear: "seek-next" },
                                   });
                              var r = ["header", "footer", "buttonText", "buttonIcons", "themeButtonIcons"];
                              e.mergeOptions = function (t) {
                                   return n.mergeProps(t, r);
                              };
                         },
                         function (t, e) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var i = (function () {
                                   function t(t, e, i) {
                                        (this.componentFootprint = t), (this.eventDef = e), i && (this.eventInstance = i);
                                   }
                                   return (
                                        (t.prototype.getEventLegacy = function () {
                                             return (this.eventInstance || this.eventDef).toLegacy();
                                        }),
                                        t
                                   );
                              })();
                              e.default = i;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(4),
                                   o = (function () {
                                        function t() {}
                                        return (
                                             (t.extend = function (t) {
                                                  var e = (function (t) {
                                                       function e() {
                                                            return (null !== t && t.apply(this, arguments)) || this;
                                                       }
                                                       return n.__extends(e, t), e;
                                                  })(this);
                                                  return r.copyOwnProps(t, e.prototype), e;
                                             }),
                                             (t.mixin = function (t) {
                                                  r.copyOwnProps(t, this.prototype);
                                             }),
                                             t
                                        );
                                   })();
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(0),
                                   r = i(4),
                                   o = i(9),
                                   a = i(54);
                              e.default = {
                                   parse: function (t, e) {
                                        return r.isTimeString(t.start) || n.isDuration(t.start) || r.isTimeString(t.end) || n.isDuration(t.end) ? a.default.parse(t, e) : o.default.parse(t, e);
                                   },
                              };
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(52),
                                   o = (function () {
                                        function t(t) {
                                             (this.source = t), (this.className = []), (this.miscProps = {});
                                        }
                                        return (
                                             (t.parse = function (t, e) {
                                                  var i = new this(e);
                                                  return !!i.applyProps(t) && i;
                                             }),
                                             (t.normalizeId = function (t) {
                                                  return String(t);
                                             }),
                                             (t.generateId = function () {
                                                  return "_fc" + t.uuid++;
                                             }),
                                             (t.prototype.clone = function () {
                                                  var e = new this.constructor(this.source);
                                                  return (
                                                       (e.id = this.id),
                                                       (e.rawId = this.rawId),
                                                       (e.uid = this.uid),
                                                       t.copyVerbatimStandardProps(this, e),
                                                       (e.className = this.className.slice()),
                                                       (e.miscProps = n.extend({}, this.miscProps)),
                                                       e
                                                  );
                                             }),
                                             (t.prototype.hasInverseRendering = function () {
                                                  return "inverse-background" === this.getRendering();
                                             }),
                                             (t.prototype.hasBgRendering = function () {
                                                  var t = this.getRendering();
                                                  return "inverse-background" === t || "background" === t;
                                             }),
                                             (t.prototype.getRendering = function () {
                                                  return null != this.rendering ? this.rendering : this.source.rendering;
                                             }),
                                             (t.prototype.getConstraint = function () {
                                                  return null != this.constraint ? this.constraint : null != this.source.constraint ? this.source.constraint : this.source.calendar.opt("eventConstraint");
                                             }),
                                             (t.prototype.getOverlap = function () {
                                                  return null != this.overlap ? this.overlap : null != this.source.overlap ? this.source.overlap : this.source.calendar.opt("eventOverlap");
                                             }),
                                             (t.prototype.isStartExplicitlyEditable = function () {
                                                  return null != this.startEditable ? this.startEditable : this.source.startEditable;
                                             }),
                                             (t.prototype.isDurationExplicitlyEditable = function () {
                                                  return null != this.durationEditable ? this.durationEditable : this.source.durationEditable;
                                             }),
                                             (t.prototype.isExplicitlyEditable = function () {
                                                  return null != this.editable ? this.editable : this.source.editable;
                                             }),
                                             (t.prototype.toLegacy = function () {
                                                  var e = n.extend({}, this.miscProps);
                                                  return (
                                                       (e._id = this.uid),
                                                       (e.source = this.source),
                                                       (e.className = this.className.slice()),
                                                       (e.allDay = this.isAllDay()),
                                                       null != this.rawId && (e.id = this.rawId),
                                                       t.copyVerbatimStandardProps(this, e),
                                                       e
                                                  );
                                             }),
                                             (t.prototype.applyManualStandardProps = function (e) {
                                                  return (
                                                       null != e.id ? (this.id = t.normalizeId((this.rawId = e.id))) : (this.id = t.generateId()),
                                                       null != e._id ? (this.uid = String(e._id)) : (this.uid = t.generateId()),
                                                       n.isArray(e.className) && (this.className = e.className),
                                                       "string" == typeof e.className && (this.className = e.className.split(/\s+/)),
                                                       !0
                                                  );
                                             }),
                                             (t.prototype.applyMiscProps = function (t) {
                                                  n.extend(this.miscProps, t);
                                             }),
                                             (t.uuid = 0),
                                             (t.defineStandardProps = r.default.defineStandardProps),
                                             (t.copyVerbatimStandardProps = r.default.copyVerbatimStandardProps),
                                             t
                                        );
                                   })();
                              (e.default = o),
                                   r.default.mixInto(o),
                                   o.defineStandardProps({
                                        _id: !1,
                                        id: !1,
                                        className: !1,
                                        source: !1,
                                        title: !0,
                                        url: !0,
                                        rendering: !0,
                                        constraint: !0,
                                        overlap: !0,
                                        editable: !0,
                                        startEditable: !0,
                                        durationEditable: !0,
                                        color: !0,
                                        backgroundColor: !0,
                                        borderColor: !0,
                                        textColor: !0,
                                   });
                         },
                         function (t, e) {
                              Object.defineProperty(e, "__esModule", { value: !0 }),
                                   (e.default = {
                                        sourceClasses: [],
                                        registerClass: function (t) {
                                             this.sourceClasses.unshift(t);
                                        },
                                        parse: function (t, e) {
                                             var i,
                                                  n,
                                                  r = this.sourceClasses;
                                             for (i = 0; i < r.length; i++) if ((n = r[i].parse(t, e))) return n;
                                        },
                                   });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(4),
                                   r = i(16),
                                   o = i(37),
                                   a = i(40),
                                   s = i(9),
                                   l = (function () {
                                        function t() {}
                                        return (
                                             (t.createFromRawProps = function (e, i, s) {
                                                  var l,
                                                       c,
                                                       u,
                                                       h,
                                                       d = e.def,
                                                       p = {},
                                                       f = {},
                                                       m = {},
                                                       g = {},
                                                       v = null,
                                                       y = null;
                                                  for (l in i) r.default.isStandardProp(l) ? (p[l] = i[l]) : d.isStandardProp(l) ? (f[l] = i[l]) : d.miscProps[l] !== i[l] && (m[l] = i[l]);
                                                  return (
                                                       (c = r.default.parse(p, d.source)) && (u = a.default.createFromDiff(e.dateProfile, c, s)),
                                                       f.id !== d.id && (v = f.id),
                                                       n.isArraysEqual(f.className, d.className) || (y = f.className),
                                                       o.default.copyVerbatimStandardProps(f, g),
                                                       ((h = new t()).eventDefId = v),
                                                       (h.className = y),
                                                       (h.verbatimStandardProps = g),
                                                       (h.miscProps = m),
                                                       u && (h.dateMutation = u),
                                                       h
                                                  );
                                             }),
                                             (t.prototype.mutateSingle = function (t) {
                                                  var e;
                                                  return (
                                                       this.dateMutation && ((e = t.dateProfile), (t.dateProfile = this.dateMutation.buildNewDateProfile(e, t.source.calendar))),
                                                       null != this.eventDefId && (t.id = o.default.normalizeId((t.rawId = this.eventDefId))),
                                                       this.className && (t.className = this.className),
                                                       this.verbatimStandardProps && s.default.copyVerbatimStandardProps(this.verbatimStandardProps, t),
                                                       this.miscProps && t.applyMiscProps(this.miscProps),
                                                       e
                                                            ? function () {
                                                                   t.dateProfile = e;
                                                              }
                                                            : function () {}
                                                  );
                                             }),
                                             (t.prototype.setDateMutation = function (t) {
                                                  t && !t.isEmpty() ? (this.dateMutation = t) : (this.dateMutation = null);
                                             }),
                                             (t.prototype.isEmpty = function () {
                                                  return !this.dateMutation;
                                             }),
                                             t
                                        );
                                   })();
                              e.default = l;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(4),
                                   r = i(16),
                                   o = (function () {
                                        function t() {
                                             (this.clearEnd = !1), (this.forceTimed = !1), (this.forceAllDay = !1);
                                        }
                                        return (
                                             (t.createFromDiff = function (e, i, r) {
                                                  var o,
                                                       a,
                                                       s,
                                                       l = e.end && !i.end,
                                                       c = e.isAllDay() && !i.isAllDay(),
                                                       u = !e.isAllDay() && i.isAllDay();
                                                  function h(t, e) {
                                                       return r ? n.diffByUnit(t, e, r) : i.isAllDay() ? n.diffDay(t, e) : n.diffDayTime(t, e);
                                                  }
                                                  return (
                                                       (o = h(i.start, e.start)),
                                                       i.end && (a = h(i.unzonedRange.getEnd(), e.unzonedRange.getEnd()).subtract(o)),
                                                       ((s = new t()).clearEnd = l),
                                                       (s.forceTimed = c),
                                                       (s.forceAllDay = u),
                                                       s.setDateDelta(o),
                                                       s.setEndDelta(a),
                                                       s
                                                  );
                                             }),
                                             (t.prototype.buildNewDateProfile = function (t, e) {
                                                  var i = t.start.clone(),
                                                       n = null,
                                                       o = !1;
                                                  return (
                                                       t.end && !this.clearEnd ? (n = t.end.clone()) : this.endDelta && !n && (n = e.getDefaultEventEnd(t.isAllDay(), i)),
                                                       this.forceTimed ? ((o = !0), i.hasTime() || i.time(0), n && !n.hasTime() && n.time(0)) : this.forceAllDay && (i.hasTime() && i.stripTime(), n && n.hasTime() && n.stripTime()),
                                                       this.dateDelta && ((o = !0), i.add(this.dateDelta), n && n.add(this.dateDelta)),
                                                       this.endDelta && ((o = !0), n.add(this.endDelta)),
                                                       this.startDelta && ((o = !0), i.add(this.startDelta)),
                                                       o && ((i = e.applyTimezone(i)), n && (n = e.applyTimezone(n))),
                                                       !n && e.opt("forceEventDuration") && (n = e.getDefaultEventEnd(t.isAllDay(), i)),
                                                       new r.default(i, n, e)
                                                  );
                                             }),
                                             (t.prototype.setDateDelta = function (t) {
                                                  t && t.valueOf() ? (this.dateDelta = t) : (this.dateDelta = null);
                                             }),
                                             (t.prototype.setStartDelta = function (t) {
                                                  t && t.valueOf() ? (this.startDelta = t) : (this.startDelta = null);
                                             }),
                                             (t.prototype.setEndDelta = function (t) {
                                                  t && t.valueOf() ? (this.endDelta = t) : (this.endDelta = null);
                                             }),
                                             (t.prototype.isEmpty = function () {
                                                  return !(this.clearEnd || this.forceTimed || this.forceAllDay || this.dateDelta || this.startDelta || this.endDelta);
                                             }),
                                             t
                                        );
                                   })();
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(4),
                                   a = (function (t) {
                                        function e(e) {
                                             var i = t.call(this) || this;
                                             return (e = e || {}), (i.overflowX = e.overflowX || e.overflow || "auto"), (i.overflowY = e.overflowY || e.overflow || "auto"), i;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.render = function () {
                                                  (this.el = this.renderEl()), this.applyOverflow();
                                             }),
                                             (e.prototype.renderEl = function () {
                                                  return (this.scrollEl = r('<div class="fc-scroller"></div>'));
                                             }),
                                             (e.prototype.clear = function () {
                                                  this.setHeight("auto"), this.applyOverflow();
                                             }),
                                             (e.prototype.destroy = function () {
                                                  this.el.remove();
                                             }),
                                             (e.prototype.applyOverflow = function () {
                                                  this.scrollEl.css({ "overflow-x": this.overflowX, "overflow-y": this.overflowY });
                                             }),
                                             (e.prototype.lockOverflow = function (t) {
                                                  var e = this.overflowX,
                                                       i = this.overflowY;
                                                  (t = t || this.getScrollbarWidths()),
                                                       "auto" === e && (e = t.top || t.bottom || this.scrollEl[0].scrollWidth - 1 > this.scrollEl[0].clientWidth ? "scroll" : "hidden"),
                                                       "auto" === i && (i = t.left || t.right || this.scrollEl[0].scrollHeight - 1 > this.scrollEl[0].clientHeight ? "scroll" : "hidden"),
                                                       this.scrollEl.css({ "overflow-x": e, "overflow-y": i });
                                             }),
                                             (e.prototype.setHeight = function (t) {
                                                  this.scrollEl.height(t);
                                             }),
                                             (e.prototype.getScrollTop = function () {
                                                  return this.scrollEl.scrollTop();
                                             }),
                                             (e.prototype.setScrollTop = function (t) {
                                                  this.scrollEl.scrollTop(t);
                                             }),
                                             (e.prototype.getClientWidth = function () {
                                                  return this.scrollEl[0].clientWidth;
                                             }),
                                             (e.prototype.getClientHeight = function () {
                                                  return this.scrollEl[0].clientHeight;
                                             }),
                                             (e.prototype.getScrollbarWidths = function () {
                                                  return o.getScrollbarWidths(this.scrollEl);
                                             }),
                                             e
                                        );
                                   })(i(35).default);
                              e.default = a;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(4),
                                   a = i(231),
                                   s = i(23),
                                   l = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this, e, i) || this;
                                             return (
                                                  (n.segSelector = ".fc-event-container > *"),
                                                  n.dateSelectingClass && (n.dateClicking = new n.dateClickingClass(n)),
                                                  n.dateSelectingClass && (n.dateSelecting = new n.dateSelectingClass(n)),
                                                  n.eventPointingClass && (n.eventPointing = new n.eventPointingClass(n)),
                                                  n.eventDraggingClass && n.eventPointing && (n.eventDragging = new n.eventDraggingClass(n, n.eventPointing)),
                                                  n.eventResizingClass && n.eventPointing && (n.eventResizing = new n.eventResizingClass(n, n.eventPointing)),
                                                  n.externalDroppingClass && (n.externalDropping = new n.externalDroppingClass(n)),
                                                  n
                                             );
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.setElement = function (e) {
                                                  t.prototype.setElement.call(this, e), this.dateClicking && this.dateClicking.bindToEl(e), this.dateSelecting && this.dateSelecting.bindToEl(e), this.bindAllSegHandlersToEl(e);
                                             }),
                                             (e.prototype.removeElement = function () {
                                                  this.endInteractions(), t.prototype.removeElement.call(this);
                                             }),
                                             (e.prototype.executeEventUnrender = function () {
                                                  this.endInteractions(), t.prototype.executeEventUnrender.call(this);
                                             }),
                                             (e.prototype.bindGlobalHandlers = function () {
                                                  t.prototype.bindGlobalHandlers.call(this), this.externalDropping && this.externalDropping.bindToDocument();
                                             }),
                                             (e.prototype.unbindGlobalHandlers = function () {
                                                  t.prototype.unbindGlobalHandlers.call(this), this.externalDropping && this.externalDropping.unbindFromDocument();
                                             }),
                                             (e.prototype.bindDateHandlerToEl = function (t, e, i) {
                                                  var n = this;
                                                  this.el.on(e, function (t) {
                                                       if (!r(t.target).is(n.segSelector + ":not(.fc-helper)," + n.segSelector + ":not(.fc-helper) *,.fc-more,a[data-goto]")) return i.call(n, t);
                                                  });
                                             }),
                                             (e.prototype.bindAllSegHandlersToEl = function (t) {
                                                  [this.eventPointing, this.eventDragging, this.eventResizing].forEach(function (e) {
                                                       e && e.bindToEl(t);
                                                  });
                                             }),
                                             (e.prototype.bindSegHandlerToEl = function (t, e, i) {
                                                  var n = this;
                                                  t.on(e, this.segSelector, function (t) {
                                                       var e = r(t.currentTarget);
                                                       if (!e.is(".fc-helper")) {
                                                            var o = e.data("fc-seg");
                                                            if (o && !n.shouldIgnoreEventPointing()) return i.call(n, o, t);
                                                       }
                                                  });
                                             }),
                                             (e.prototype.shouldIgnoreMouse = function () {
                                                  return s.default.get().shouldIgnoreMouse();
                                             }),
                                             (e.prototype.shouldIgnoreTouch = function () {
                                                  var t = this._getView();
                                                  return t.isSelected || t.selectedEvent;
                                             }),
                                             (e.prototype.shouldIgnoreEventPointing = function () {
                                                  return (this.eventDragging && this.eventDragging.isDragging) || (this.eventResizing && this.eventResizing.isResizing);
                                             }),
                                             (e.prototype.canStartSelection = function (t, e) {
                                                  return o.getEvIsTouch(e) && !this.canStartResize(t, e) && (this.isEventDefDraggable(t.footprint.eventDef) || this.isEventDefResizable(t.footprint.eventDef));
                                             }),
                                             (e.prototype.canStartDrag = function (t, e) {
                                                  return !this.canStartResize(t, e) && this.isEventDefDraggable(t.footprint.eventDef);
                                             }),
                                             (e.prototype.canStartResize = function (t, e) {
                                                  var i = this._getView(),
                                                       n = t.footprint.eventDef;
                                                  return (!o.getEvIsTouch(e) || i.isEventDefSelected(n)) && this.isEventDefResizable(n) && r(e.target).is(".fc-resizer");
                                             }),
                                             (e.prototype.endInteractions = function () {
                                                  [this.dateClicking, this.dateSelecting, this.eventPointing, this.eventDragging, this.eventResizing].forEach(function (t) {
                                                       t && t.end();
                                                  });
                                             }),
                                             (e.prototype.isEventDefDraggable = function (t) {
                                                  return this.isEventDefStartEditable(t);
                                             }),
                                             (e.prototype.isEventDefStartEditable = function (t) {
                                                  var e = t.isStartExplicitlyEditable();
                                                  return null == e && null == (e = this.opt("eventStartEditable")) && (e = this.isEventDefGenerallyEditable(t)), e;
                                             }),
                                             (e.prototype.isEventDefGenerallyEditable = function (t) {
                                                  var e = t.isExplicitlyEditable();
                                                  return null == e && (e = this.opt("editable")), e;
                                             }),
                                             (e.prototype.isEventDefResizableFromStart = function (t) {
                                                  return this.opt("eventResizableFromStart") && this.isEventDefResizable(t);
                                             }),
                                             (e.prototype.isEventDefResizableFromEnd = function (t) {
                                                  return this.isEventDefResizable(t);
                                             }),
                                             (e.prototype.isEventDefResizable = function (t) {
                                                  var e = t.isDurationExplicitlyEditable();
                                                  return null == e && null == (e = this.opt("eventDurationEditable")) && (e = this.isEventDefGenerallyEditable(t)), e;
                                             }),
                                             (e.prototype.diffDates = function (t, e) {
                                                  return this.largeUnit ? o.diffByUnit(t, e, this.largeUnit) : o.diffDayTime(t, e);
                                             }),
                                             (e.prototype.isEventInstanceGroupAllowed = function (t) {
                                                  var e,
                                                       i = this._getView(),
                                                       n = this.dateProfile,
                                                       r = this.eventRangesToEventFootprints(t.getAllEventRanges());
                                                  for (e = 0; e < r.length; e++) if (!n.validUnzonedRange.containsRange(r[e].componentFootprint.unzonedRange)) return !1;
                                                  return i.calendar.constraints.isEventInstanceGroupAllowed(t);
                                             }),
                                             (e.prototype.isExternalInstanceGroupAllowed = function (t) {
                                                  var e,
                                                       i = this._getView(),
                                                       n = this.dateProfile,
                                                       r = this.eventRangesToEventFootprints(t.getAllEventRanges());
                                                  for (e = 0; e < r.length; e++) if (!n.validUnzonedRange.containsRange(r[e].componentFootprint.unzonedRange)) return !1;
                                                  for (e = 0; e < r.length; e++) if (!i.calendar.constraints.isSelectionFootprintAllowed(r[e].componentFootprint)) return !1;
                                                  return !0;
                                             }),
                                             e
                                        );
                                   })(a.default);
                              e.default = l;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(0),
                                   a = i(4),
                                   s = i(229),
                                   l = i(55),
                                   c = i(42),
                                   u = i(23),
                                   h = i(5),
                                   d = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this, null, i.options) || this;
                                             return (
                                                  (n.batchRenderDepth = 0),
                                                  (n.isSelected = !1),
                                                  (n.calendar = e),
                                                  (n.viewSpec = i),
                                                  (n.type = i.type),
                                                  (n.name = n.type),
                                                  n.initRenderQueue(),
                                                  n.initHiddenDays(),
                                                  (n.dateProfileGenerator = new n.dateProfileGeneratorClass(n)),
                                                  n.bindBaseRenderHandlers(),
                                                  (n.eventOrderSpecs = a.parseFieldSpecs(n.opt("eventOrder"))),
                                                  n.initialize && n.initialize(),
                                                  n
                                             );
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype._getView = function () {
                                                  return this;
                                             }),
                                             (e.prototype.opt = function (t) {
                                                  return this.options[t];
                                             }),
                                             (e.prototype.initRenderQueue = function () {
                                                  (this.renderQueue = new s.default({ event: this.opt("eventRenderWait") })),
                                                       this.renderQueue.on("start", this.onRenderQueueStart.bind(this)),
                                                       this.renderQueue.on("stop", this.onRenderQueueStop.bind(this)),
                                                       this.on("before:change", this.startBatchRender),
                                                       this.on("change", this.stopBatchRender);
                                             }),
                                             (e.prototype.onRenderQueueStart = function () {
                                                  this.calendar.freezeContentHeight(), this.addScroll(this.queryScroll());
                                             }),
                                             (e.prototype.onRenderQueueStop = function () {
                                                  this.calendar.updateViewSize() && this.popScroll(), this.calendar.thawContentHeight();
                                             }),
                                             (e.prototype.startBatchRender = function () {
                                                  this.batchRenderDepth++ || this.renderQueue.pause();
                                             }),
                                             (e.prototype.stopBatchRender = function () {
                                                  --this.batchRenderDepth || this.renderQueue.resume();
                                             }),
                                             (e.prototype.requestRender = function (t, e, i) {
                                                  this.renderQueue.queue(t, e, i);
                                             }),
                                             (e.prototype.whenSizeUpdated = function (t) {
                                                  this.renderQueue.isRunning ? this.renderQueue.one("stop", t.bind(this)) : t.call(this);
                                             }),
                                             (e.prototype.computeTitle = function (t) {
                                                  var e;
                                                  return (
                                                       (e = /^(year|month)$/.test(t.currentRangeUnit) ? t.currentUnzonedRange : t.activeUnzonedRange),
                                                       this.formatRange(
                                                            { start: this.calendar.msToMoment(e.startMs, t.isRangeAllDay), end: this.calendar.msToMoment(e.endMs, t.isRangeAllDay) },
                                                            t.isRangeAllDay,
                                                            this.opt("titleFormat") || this.computeTitleFormat(t),
                                                            this.opt("titleRangeSeparator")
                                                       )
                                                  );
                                             }),
                                             (e.prototype.computeTitleFormat = function (t) {
                                                  var e = t.currentRangeUnit;
                                                  return "year" === e ? "YYYY" : "month" === e ? this.opt("monthYearFormat") : t.currentUnzonedRange.as("days") > 1 ? "ll" : "LL";
                                             }),
                                             (e.prototype.setDate = function (t) {
                                                  var e = this.get("dateProfile"),
                                                       i = this.dateProfileGenerator.build(t, void 0, !0);
                                                  (e && e.activeUnzonedRange.equals(i.activeUnzonedRange)) || this.set("dateProfile", i);
                                             }),
                                             (e.prototype.unsetDate = function () {
                                                  this.unset("dateProfile");
                                             }),
                                             (e.prototype.fetchInitialEvents = function (t) {
                                                  var e = this.calendar,
                                                       i = t.isRangeAllDay && !this.usesMinMaxTime;
                                                  return e.requestEvents(e.msToMoment(t.activeUnzonedRange.startMs, i), e.msToMoment(t.activeUnzonedRange.endMs, i));
                                             }),
                                             (e.prototype.bindEventChanges = function () {
                                                  this.listenTo(this.calendar, "eventsReset", this.resetEvents);
                                             }),
                                             (e.prototype.unbindEventChanges = function () {
                                                  this.stopListeningTo(this.calendar, "eventsReset");
                                             }),
                                             (e.prototype.setEvents = function (t) {
                                                  this.set("currentEvents", t), this.set("hasEvents", !0);
                                             }),
                                             (e.prototype.unsetEvents = function () {
                                                  this.unset("currentEvents"), this.unset("hasEvents");
                                             }),
                                             (e.prototype.resetEvents = function (t) {
                                                  this.startBatchRender(), this.unsetEvents(), this.setEvents(t), this.stopBatchRender();
                                             }),
                                             (e.prototype.requestDateRender = function (t) {
                                                  var e = this;
                                                  this.requestRender(
                                                       function () {
                                                            e.executeDateRender(t);
                                                       },
                                                       "date",
                                                       "init"
                                                  );
                                             }),
                                             (e.prototype.requestDateUnrender = function () {
                                                  var t = this;
                                                  this.requestRender(
                                                       function () {
                                                            t.executeDateUnrender();
                                                       },
                                                       "date",
                                                       "destroy"
                                                  );
                                             }),
                                             (e.prototype.executeDateRender = function (e) {
                                                  t.prototype.executeDateRender.call(this, e), this.render && this.render(), this.trigger("datesRendered"), this.addScroll({ isDateInit: !0 }), this.startNowIndicator();
                                             }),
                                             (e.prototype.executeDateUnrender = function () {
                                                  this.unselect(), this.stopNowIndicator(), this.trigger("before:datesUnrendered"), this.destroy && this.destroy(), t.prototype.executeDateUnrender.call(this);
                                             }),
                                             (e.prototype.bindBaseRenderHandlers = function () {
                                                  var t = this;
                                                  this.on("datesRendered", function () {
                                                       t.whenSizeUpdated(t.triggerViewRender);
                                                  }),
                                                       this.on("before:datesUnrendered", function () {
                                                            t.triggerViewDestroy();
                                                       });
                                             }),
                                             (e.prototype.triggerViewRender = function () {
                                                  this.publiclyTrigger("viewRender", { context: this, args: [this, this.el] });
                                             }),
                                             (e.prototype.triggerViewDestroy = function () {
                                                  this.publiclyTrigger("viewDestroy", { context: this, args: [this, this.el] });
                                             }),
                                             (e.prototype.requestEventsRender = function (t) {
                                                  var e = this;
                                                  this.requestRender(
                                                       function () {
                                                            e.executeEventRender(t), e.whenSizeUpdated(e.triggerAfterEventsRendered);
                                                       },
                                                       "event",
                                                       "init"
                                                  );
                                             }),
                                             (e.prototype.requestEventsUnrender = function () {
                                                  var t = this;
                                                  this.requestRender(
                                                       function () {
                                                            t.triggerBeforeEventsDestroyed(), t.executeEventUnrender();
                                                       },
                                                       "event",
                                                       "destroy"
                                                  );
                                             }),
                                             (e.prototype.requestBusinessHoursRender = function (t) {
                                                  var e = this;
                                                  this.requestRender(
                                                       function () {
                                                            e.renderBusinessHours(t);
                                                       },
                                                       "businessHours",
                                                       "init"
                                                  );
                                             }),
                                             (e.prototype.requestBusinessHoursUnrender = function () {
                                                  var t = this;
                                                  this.requestRender(
                                                       function () {
                                                            t.unrenderBusinessHours();
                                                       },
                                                       "businessHours",
                                                       "destroy"
                                                  );
                                             }),
                                             (e.prototype.bindGlobalHandlers = function () {
                                                  t.prototype.bindGlobalHandlers.call(this), this.listenTo(u.default.get(), { touchstart: this.processUnselect, mousedown: this.handleDocumentMousedown });
                                             }),
                                             (e.prototype.unbindGlobalHandlers = function () {
                                                  t.prototype.unbindGlobalHandlers.call(this), this.stopListeningTo(u.default.get());
                                             }),
                                             (e.prototype.startNowIndicator = function () {
                                                  var t,
                                                       e,
                                                       i,
                                                       n = this;
                                                  this.opt("nowIndicator") &&
                                                       (t = this.getNowIndicatorUnit()) &&
                                                       ((e = a.proxy(this, "updateNowIndicator")),
                                                       (this.initialNowDate = this.calendar.getNow()),
                                                       (this.initialNowQueriedMs = new Date().valueOf()),
                                                       (i = this.initialNowDate.clone().startOf(t).add(1, t).valueOf() - this.initialNowDate.valueOf()),
                                                       (this.nowIndicatorTimeoutID = setTimeout(function () {
                                                            (n.nowIndicatorTimeoutID = null), e(), (i = +o.duration(1, t)), (i = Math.max(100, i)), (n.nowIndicatorIntervalID = setInterval(e, i));
                                                       }, i)));
                                             }),
                                             (e.prototype.updateNowIndicator = function () {
                                                  this.isDatesRendered &&
                                                       this.initialNowDate &&
                                                       (this.unrenderNowIndicator(), this.renderNowIndicator(this.initialNowDate.clone().add(new Date().valueOf() - this.initialNowQueriedMs)), (this.isNowIndicatorRendered = !0));
                                             }),
                                             (e.prototype.stopNowIndicator = function () {
                                                  this.isNowIndicatorRendered &&
                                                       (this.nowIndicatorTimeoutID && (clearTimeout(this.nowIndicatorTimeoutID), (this.nowIndicatorTimeoutID = null)),
                                                       this.nowIndicatorIntervalID && (clearInterval(this.nowIndicatorIntervalID), (this.nowIndicatorIntervalID = null)),
                                                       this.unrenderNowIndicator(),
                                                       (this.isNowIndicatorRendered = !1));
                                             }),
                                             (e.prototype.updateSize = function (e, i, n) {
                                                  this.setHeight ? this.setHeight(e, i) : t.prototype.updateSize.call(this, e, i, n), this.updateNowIndicator();
                                             }),
                                             (e.prototype.addScroll = function (t) {
                                                  var e = this.queuedScroll || (this.queuedScroll = {});
                                                  r.extend(e, t);
                                             }),
                                             (e.prototype.popScroll = function () {
                                                  this.applyQueuedScroll(), (this.queuedScroll = null);
                                             }),
                                             (e.prototype.applyQueuedScroll = function () {
                                                  this.queuedScroll && this.applyScroll(this.queuedScroll);
                                             }),
                                             (e.prototype.queryScroll = function () {
                                                  var t = {};
                                                  return this.isDatesRendered && r.extend(t, this.queryDateScroll()), t;
                                             }),
                                             (e.prototype.applyScroll = function (t) {
                                                  t.isDateInit && this.isDatesRendered && r.extend(t, this.computeInitialDateScroll()), this.isDatesRendered && this.applyDateScroll(t);
                                             }),
                                             (e.prototype.computeInitialDateScroll = function () {
                                                  return {};
                                             }),
                                             (e.prototype.queryDateScroll = function () {
                                                  return {};
                                             }),
                                             (e.prototype.applyDateScroll = function (t) {}),
                                             (e.prototype.reportEventDrop = function (t, e, i, n) {
                                                  var r = this.calendar.eventManager.mutateEventsWithId(t.def.id, e),
                                                       a = e.dateMutation;
                                                  a && (t.dateProfile = a.buildNewDateProfile(t.dateProfile, this.calendar)), this.triggerEventDrop(t, (a && a.dateDelta) || o.duration(), r, i, n);
                                             }),
                                             (e.prototype.triggerEventDrop = function (t, e, i, n, r) {
                                                  this.publiclyTrigger("eventDrop", { context: n[0], args: [t.toLegacy(), e, i, r, {}, this] });
                                             }),
                                             (e.prototype.reportExternalDrop = function (t, e, i, n, r, o) {
                                                  e && this.calendar.eventManager.addEventDef(t, i), this.triggerExternalDrop(t, e, n, r, o);
                                             }),
                                             (e.prototype.triggerExternalDrop = function (t, e, i, n, r) {
                                                  this.publiclyTrigger("drop", { context: i[0], args: [t.dateProfile.start.clone(), n, r, this] }),
                                                       e && this.publiclyTrigger("eventReceive", { context: this, args: [t.buildInstance().toLegacy(), this] });
                                             }),
                                             (e.prototype.reportEventResize = function (t, e, i, n) {
                                                  var r = this.calendar.eventManager.mutateEventsWithId(t.def.id, e);
                                                  t.dateProfile = e.dateMutation.buildNewDateProfile(t.dateProfile, this.calendar);
                                                  var o = e.dateMutation.endDelta || e.dateMutation.startDelta;
                                                  this.triggerEventResize(t, o, r, i, n);
                                             }),
                                             (e.prototype.triggerEventResize = function (t, e, i, n, r) {
                                                  this.publiclyTrigger("eventResize", { context: n[0], args: [t.toLegacy(), e, i, r, {}, this] });
                                             }),
                                             (e.prototype.select = function (t, e) {
                                                  this.unselect(e), this.renderSelectionFootprint(t), this.reportSelection(t, e);
                                             }),
                                             (e.prototype.renderSelectionFootprint = function (e) {
                                                  this.renderSelection ? this.renderSelection(e.toLegacy(this.calendar)) : t.prototype.renderSelectionFootprint.call(this, e);
                                             }),
                                             (e.prototype.reportSelection = function (t, e) {
                                                  (this.isSelected = !0), this.triggerSelect(t, e);
                                             }),
                                             (e.prototype.triggerSelect = function (t, e) {
                                                  var i = this.calendar.footprintToDateProfile(t);
                                                  this.publiclyTrigger("select", { context: this, args: [i.start, i.end, e, this] });
                                             }),
                                             (e.prototype.unselect = function (t) {
                                                  this.isSelected && ((this.isSelected = !1), this.destroySelection && this.destroySelection(), this.unrenderSelection(), this.publiclyTrigger("unselect", { context: this, args: [t, this] }));
                                             }),
                                             (e.prototype.selectEventInstance = function (t) {
                                                  (this.selectedEventInstance && this.selectedEventInstance === t) ||
                                                       (this.unselectEventInstance(),
                                                       this.getEventSegs().forEach(function (e) {
                                                            e.footprint.eventInstance === t && e.el && e.el.addClass("fc-selected");
                                                       }),
                                                       (this.selectedEventInstance = t));
                                             }),
                                             (e.prototype.unselectEventInstance = function () {
                                                  this.selectedEventInstance &&
                                                       (this.getEventSegs().forEach(function (t) {
                                                            t.el && t.el.removeClass("fc-selected");
                                                       }),
                                                       (this.selectedEventInstance = null));
                                             }),
                                             (e.prototype.isEventDefSelected = function (t) {
                                                  return this.selectedEventInstance && this.selectedEventInstance.def.id === t.id;
                                             }),
                                             (e.prototype.handleDocumentMousedown = function (t) {
                                                  a.isPrimaryMouseButton(t) && this.processUnselect(t);
                                             }),
                                             (e.prototype.processUnselect = function (t) {
                                                  this.processRangeUnselect(t), this.processEventUnselect(t);
                                             }),
                                             (e.prototype.processRangeUnselect = function (t) {
                                                  var e;
                                                  this.isSelected && this.opt("unselectAuto") && (((e = this.opt("unselectCancel")) && r(t.target).closest(e).length) || this.unselect(t));
                                             }),
                                             (e.prototype.processEventUnselect = function (t) {
                                                  this.selectedEventInstance && (r(t.target).closest(".fc-selected").length || this.unselectEventInstance());
                                             }),
                                             (e.prototype.triggerBaseRendered = function () {
                                                  this.publiclyTrigger("viewRender", { context: this, args: [this, this.el] });
                                             }),
                                             (e.prototype.triggerBaseUnrendered = function () {
                                                  this.publiclyTrigger("viewDestroy", { context: this, args: [this, this.el] });
                                             }),
                                             (e.prototype.triggerDayClick = function (t, e, i) {
                                                  var n = this.calendar.footprintToDateProfile(t);
                                                  this.publiclyTrigger("dayClick", { context: e, args: [n.start, i, this] });
                                             }),
                                             (e.prototype.isDateInOtherMonth = function (t, e) {
                                                  return !1;
                                             }),
                                             (e.prototype.getUnzonedRangeOption = function (t) {
                                                  var e = this.opt(t);
                                                  if (("function" == typeof e && (e = e.apply(null, Array.prototype.slice.call(arguments, 1))), e)) return this.calendar.parseUnzonedRange(e);
                                             }),
                                             (e.prototype.initHiddenDays = function () {
                                                  var t,
                                                       e = this.opt("hiddenDays") || [],
                                                       i = [],
                                                       n = 0;
                                                  for (!1 === this.opt("weekends") && e.push(0, 6), t = 0; t < 7; t++) (i[t] = -1 !== r.inArray(t, e)) || n++;
                                                  if (!n) throw new Error("invalid hiddenDays");
                                                  this.isHiddenDayHash = i;
                                             }),
                                             (e.prototype.trimHiddenDays = function (t) {
                                                  var e = t.getStart(),
                                                       i = t.getEnd();
                                                  return e && (e = this.skipHiddenDays(e)), i && (i = this.skipHiddenDays(i, -1, !0)), null === e || null === i || e < i ? new h.default(e, i) : null;
                                             }),
                                             (e.prototype.isHiddenDay = function (t) {
                                                  return o.isMoment(t) && (t = t.day()), this.isHiddenDayHash[t];
                                             }),
                                             (e.prototype.skipHiddenDays = function (t, e, i) {
                                                  void 0 === e && (e = 1), void 0 === i && (i = !1);
                                                  for (var n = t.clone(); this.isHiddenDayHash[(n.day() + (i ? e : 0) + 7) % 7]; ) n.add(e, "days");
                                                  return n;
                                             }),
                                             e
                                        );
                                   })(c.default);
                              (e.default = d),
                                   (d.prototype.usesMinMaxTime = !1),
                                   (d.prototype.dateProfileGeneratorClass = l.default),
                                   d.watch(
                                        "displayingDates",
                                        ["isInDom", "dateProfile"],
                                        function (t) {
                                             this.requestDateRender(t.dateProfile);
                                        },
                                        function () {
                                             this.requestDateUnrender();
                                        }
                                   ),
                                   d.watch(
                                        "displayingBusinessHours",
                                        ["displayingDates", "businessHourGenerator"],
                                        function (t) {
                                             this.requestBusinessHoursRender(t.businessHourGenerator);
                                        },
                                        function () {
                                             this.requestBusinessHoursUnrender();
                                        }
                                   ),
                                   d.watch("initialEvents", ["dateProfile"], function (t) {
                                        return this.fetchInitialEvents(t.dateProfile);
                                   }),
                                   d.watch(
                                        "bindingEvents",
                                        ["initialEvents"],
                                        function (t) {
                                             this.setEvents(t.initialEvents), this.bindEventChanges();
                                        },
                                        function () {
                                             this.unbindEventChanges(), this.unsetEvents();
                                        }
                                   ),
                                   d.watch(
                                        "displayingEvents",
                                        ["displayingDates", "hasEvents"],
                                        function () {
                                             this.requestEventsRender(this.get("currentEvents"));
                                        },
                                        function () {
                                             this.requestEventsUnrender();
                                        }
                                   ),
                                   d.watch("title", ["dateProfile"], function (t) {
                                        return (this.title = this.computeTitle(t.dateProfile));
                                   }),
                                   d.watch("legacyDateProps", ["dateProfile"], function (t) {
                                        var e = this.calendar,
                                             i = t.dateProfile;
                                        (this.start = e.msToMoment(i.activeUnzonedRange.startMs, i.isRangeAllDay)),
                                             (this.end = e.msToMoment(i.activeUnzonedRange.endMs, i.isRangeAllDay)),
                                             (this.intervalStart = e.msToMoment(i.currentUnzonedRange.startMs, i.isRangeAllDay)),
                                             (this.intervalEnd = e.msToMoment(i.currentUnzonedRange.endMs, i.isRangeAllDay));
                                   });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(4),
                                   o = (function () {
                                        function t(t, e) {
                                             (this.view = t._getView()), (this.component = t), (this.fillRenderer = e);
                                        }
                                        return (
                                             (t.prototype.opt = function (t) {
                                                  return this.view.opt(t);
                                             }),
                                             (t.prototype.rangeUpdated = function () {
                                                  var t, e;
                                                  (this.eventTimeFormat = this.opt("eventTimeFormat") || this.opt("timeFormat") || this.computeEventTimeFormat()),
                                                       null == (t = this.opt("displayEventTime")) && (t = this.computeDisplayEventTime()),
                                                       null == (e = this.opt("displayEventEnd")) && (e = this.computeDisplayEventEnd()),
                                                       (this.displayEventTime = t),
                                                       (this.displayEventEnd = e);
                                             }),
                                             (t.prototype.render = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r = this.component._getDateProfile(),
                                                       o = [],
                                                       a = [];
                                                  for (e in t) (n = (i = t[e]).sliceRenderRanges(r.activeUnzonedRange)), i.getEventDef().hasBgRendering() ? o.push.apply(o, n) : a.push.apply(a, n);
                                                  this.renderBgRanges(o), this.renderFgRanges(a);
                                             }),
                                             (t.prototype.unrender = function () {
                                                  this.unrenderBgRanges(), this.unrenderFgRanges();
                                             }),
                                             (t.prototype.renderFgRanges = function (t) {
                                                  var e = this.component.eventRangesToEventFootprints(t),
                                                       i = this.component.eventFootprintsToSegs(e);
                                                  (i = this.renderFgSegEls(i)), !1 !== this.renderFgSegs(i) && (this.fgSegs = i);
                                             }),
                                             (t.prototype.unrenderFgRanges = function () {
                                                  this.unrenderFgSegs(this.fgSegs || []), (this.fgSegs = null);
                                             }),
                                             (t.prototype.renderBgRanges = function (t) {
                                                  var e = this.component.eventRangesToEventFootprints(t),
                                                       i = this.component.eventFootprintsToSegs(e);
                                                  !1 !== this.renderBgSegs(i) && (this.bgSegs = i);
                                             }),
                                             (t.prototype.unrenderBgRanges = function () {
                                                  this.unrenderBgSegs(), (this.bgSegs = null);
                                             }),
                                             (t.prototype.getSegs = function () {
                                                  return (this.bgSegs || []).concat(this.fgSegs || []);
                                             }),
                                             (t.prototype.renderFgSegs = function (t) {
                                                  return !1;
                                             }),
                                             (t.prototype.unrenderFgSegs = function (t) {}),
                                             (t.prototype.renderBgSegs = function (t) {
                                                  var e = this;
                                                  if (!this.fillRenderer) return !1;
                                                  this.fillRenderer.renderSegs("bgEvent", t, {
                                                       getClasses: function (t) {
                                                            return e.getBgClasses(t.footprint.eventDef);
                                                       },
                                                       getCss: function (t) {
                                                            return { "background-color": e.getBgColor(t.footprint.eventDef) };
                                                       },
                                                       filterEl: function (t, i) {
                                                            return e.filterEventRenderEl(t.footprint, i);
                                                       },
                                                  });
                                             }),
                                             (t.prototype.unrenderBgSegs = function () {
                                                  this.fillRenderer && this.fillRenderer.unrender("bgEvent");
                                             }),
                                             (t.prototype.renderFgSegEls = function (t, e) {
                                                  var i = this;
                                                  void 0 === e && (e = !1);
                                                  var r,
                                                       o = this.view.hasPublicHandlers("eventRender"),
                                                       a = "",
                                                       s = [];
                                                  if (t.length) {
                                                       for (r = 0; r < t.length; r++) this.beforeFgSegHtml(t[r]), (a += this.fgSegHtml(t[r], e));
                                                       n(a).each(function (e, r) {
                                                            var a = t[e],
                                                                 l = n(r);
                                                            o && (l = i.filterEventRenderEl(a.footprint, l)), l && (l.data("fc-seg", a), (a.el = l), s.push(a));
                                                       });
                                                  }
                                                  return s;
                                             }),
                                             (t.prototype.beforeFgSegHtml = function (t) {}),
                                             (t.prototype.fgSegHtml = function (t, e) {}),
                                             (t.prototype.getSegClasses = function (t, e, i) {
                                                  var n = ["fc-event", t.isStart ? "fc-start" : "fc-not-start", t.isEnd ? "fc-end" : "fc-not-end"].concat(this.getClasses(t.footprint.eventDef));
                                                  return e && n.push("fc-draggable"), i && n.push("fc-resizable"), this.view.isEventDefSelected(t.footprint.eventDef) && n.push("fc-selected"), n;
                                             }),
                                             (t.prototype.filterEventRenderEl = function (t, e) {
                                                  var i = t.getEventLegacy(),
                                                       r = this.view.publiclyTrigger("eventRender", { context: i, args: [i, e, this.view] });
                                                  return !1 === r ? (e = null) : r && !0 !== r && (e = n(r)), e;
                                             }),
                                             (t.prototype.getTimeText = function (t, e, i) {
                                                  return this._getTimeText(t.eventInstance.dateProfile.start, t.eventInstance.dateProfile.end, t.componentFootprint.isAllDay, e, i);
                                             }),
                                             (t.prototype._getTimeText = function (t, e, i, n, r) {
                                                  return (
                                                       null == n && (n = this.eventTimeFormat),
                                                       null == r && (r = this.displayEventEnd),
                                                       this.displayEventTime && !i ? (r && e ? this.view.formatRange({ start: t, end: e }, !1, n) : t.format(n)) : ""
                                                  );
                                             }),
                                             (t.prototype.computeEventTimeFormat = function () {
                                                  return this.opt("smallTimeFormat");
                                             }),
                                             (t.prototype.computeDisplayEventTime = function () {
                                                  return !0;
                                             }),
                                             (t.prototype.computeDisplayEventEnd = function () {
                                                  return !0;
                                             }),
                                             (t.prototype.getBgClasses = function (t) {
                                                  var e = this.getClasses(t);
                                                  return e.push("fc-bgevent"), e;
                                             }),
                                             (t.prototype.getClasses = function (t) {
                                                  var e,
                                                       i = this.getStylingObjs(t),
                                                       n = [];
                                                  for (e = 0; e < i.length; e++) n.push.apply(n, i[e].eventClassName || i[e].className || []);
                                                  return n;
                                             }),
                                             (t.prototype.getSkinCss = function (t) {
                                                  return { "background-color": this.getBgColor(t), "border-color": this.getBorderColor(t), color: this.getTextColor(t) };
                                             }),
                                             (t.prototype.getBgColor = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.getStylingObjs(t);
                                                  for (e = 0; e < n.length && !i; e++) i = n[e].eventBackgroundColor || n[e].eventColor || n[e].backgroundColor || n[e].color;
                                                  return i || (i = this.opt("eventBackgroundColor") || this.opt("eventColor")), i;
                                             }),
                                             (t.prototype.getBorderColor = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.getStylingObjs(t);
                                                  for (e = 0; e < n.length && !i; e++) i = n[e].eventBorderColor || n[e].eventColor || n[e].borderColor || n[e].color;
                                                  return i || (i = this.opt("eventBorderColor") || this.opt("eventColor")), i;
                                             }),
                                             (t.prototype.getTextColor = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.getStylingObjs(t);
                                                  for (e = 0; e < n.length && !i; e++) i = n[e].eventTextColor || n[e].textColor;
                                                  return i || (i = this.opt("eventTextColor")), i;
                                             }),
                                             (t.prototype.getStylingObjs = function (t) {
                                                  var e = this.getFallbackStylingObjs(t);
                                                  return e.unshift(t), e;
                                             }),
                                             (t.prototype.getFallbackStylingObjs = function (t) {
                                                  return [t.source];
                                             }),
                                             (t.prototype.sortEventSegs = function (t) {
                                                  t.sort(r.proxy(this, "compareEventSegs"));
                                             }),
                                             (t.prototype.compareEventSegs = function (t, e) {
                                                  var i = t.footprint,
                                                       n = e.footprint,
                                                       o = i.componentFootprint,
                                                       a = n.componentFootprint,
                                                       s = o.unzonedRange,
                                                       l = a.unzonedRange;
                                                  return (
                                                       s.startMs - l.startMs ||
                                                       l.endMs - l.startMs - (s.endMs - s.startMs) ||
                                                       a.isAllDay - o.isAllDay ||
                                                       r.compareByFieldSpecs(i.eventDef, n.eventDef, this.view.eventOrderSpecs, i.eventDef.miscProps, n.eventDef.miscProps)
                                                  );
                                             }),
                                             t
                                        );
                                   })();
                              e.default = o;
                         },
                         ,
                         ,
                         ,
                         ,
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(11);
                              function r(t) {
                                   return "en" !== t.locale() ? t.clone().locale("en") : t;
                              }
                              (n.newMomentProto.format = function () {
                                   return this._fullCalendar && arguments[0]
                                        ? l(this, arguments[0])
                                        : this._ambigTime
                                        ? n.oldMomentFormat(r(this), "YYYY-MM-DD")
                                        : this._ambigZone
                                        ? n.oldMomentFormat(r(this), "YYYY-MM-DD[T]HH:mm:ss")
                                        : this._fullCalendar
                                        ? n.oldMomentFormat(r(this))
                                        : n.oldMomentProto.format.apply(this, arguments);
                              }),
                                   (n.newMomentProto.toISOString = function () {
                                        return this._ambigTime
                                             ? n.oldMomentFormat(r(this), "YYYY-MM-DD")
                                             : this._ambigZone
                                             ? n.oldMomentFormat(r(this), "YYYY-MM-DD[T]HH:mm:ss")
                                             : this._fullCalendar
                                             ? n.oldMomentProto.toISOString.apply(r(this), arguments)
                                             : n.oldMomentProto.toISOString.apply(this, arguments);
                                   });
                              var o = new RegExp("([^]*)", "g"),
                                   a = {
                                        t: function (t) {
                                             return n.oldMomentFormat(t, "a").charAt(0);
                                        },
                                        T: function (t) {
                                             return n.oldMomentFormat(t, "A").charAt(0);
                                        },
                                   },
                                   s = { Y: { value: 1, unit: "year" }, M: { value: 2, unit: "month" }, W: { value: 3, unit: "week" }, w: { value: 3, unit: "week" }, D: { value: 4, unit: "day" }, d: { value: 4, unit: "day" } };
                              function l(t, e) {
                                   return (function (t, e) {
                                        return g(m(t, e).join(""));
                                   })(u(e).fakeFormatString, t);
                              }
                              (e.formatDate = l),
                                   (e.formatRange = function (t, e, i, r, o) {
                                        return (
                                             (t = n.default.parseZone(t)),
                                             (e = n.default.parseZone(e)),
                                             (function (t, e, i, n, r) {
                                                  var o,
                                                       a,
                                                       s,
                                                       l = t.sameUnits,
                                                       c = e.clone().stripZone(),
                                                       u = i.clone().stripZone(),
                                                       h = m(t.fakeFormatString, e),
                                                       d = m(t.fakeFormatString, i),
                                                       p = "",
                                                       f = "",
                                                       v = "",
                                                       y = "",
                                                       b = "";
                                                  for (o = 0; o < l.length && (!l[o] || c.isSame(u, l[o])); o++) p += h[o];
                                                  for (a = l.length - 1; a > o && (!l[a] || c.isSame(u, l[a])) && (a - 1 !== o || "." !== h[a]); a--) f = h[a] + f;
                                                  for (s = o; s <= a; s++) (v += h[s]), (y += d[s]);
                                                  return (v || y) && (b = r ? y + n + v : v + n + y), g(p + b + f);
                                             })(u((i = t.localeData().longDateFormat(i) || i)), t, e, r || " - ", o)
                                        );
                                   });
                              var c = {};
                              function u(t) {
                                   return (
                                        c[t] ||
                                        (c[t] = (function (t) {
                                             var e = h(t);
                                             return { fakeFormatString: p(e), sameUnits: f(e) };
                                        })(t))
                                   );
                              }
                              function h(t) {
                                   for (var e, i = [], n = /\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g; (e = n.exec(t)); )
                                        e[1] ? i.push.apply(i, d(e[1])) : e[2] ? i.push({ maybe: h(e[2]) }) : e[3] ? i.push({ token: e[3] }) : e[5] && i.push.apply(i, d(e[5]));
                                   return i;
                              }
                              function d(t) {
                                   return ". " === t ? [".", " "] : [t];
                              }
                              function p(t) {
                                   var e,
                                        i,
                                        n = [];
                                   for (e = 0; e < t.length; e++) "string" == typeof (i = t[e]) ? n.push("[" + i + "]") : i.token ? (i.token in a ? n.push("[" + i.token + "]") : n.push(i.token)) : i.maybe && n.push("" + p(i.maybe) + "");
                                   return n.join("\v");
                              }
                              function f(t) {
                                   var e,
                                        i,
                                        n,
                                        r = [];
                                   for (e = 0; e < t.length; e++) (i = t[e]).token ? ((n = s[i.token.charAt(0)]), r.push(n ? n.unit : "second")) : i.maybe ? r.push.apply(r, f(i.maybe)) : r.push(null);
                                   return r;
                              }
                              function m(t, e) {
                                   var i,
                                        r,
                                        o = [],
                                        s = n.oldMomentFormat(e, t).split("\v");
                                   for (i = 0; i < s.length; i++) "" === (r = s[i]).charAt(0) ? o.push(a[r.substring(1)](e)) : o.push(r);
                                   return o;
                              }
                              function g(t) {
                                   return t.replace(o, function (t, e) {
                                        return e.match(/[1-9]/) ? e : "";
                                   });
                              }
                              e.queryMostGranularFormatUnit = function (t) {
                                   var e,
                                        i,
                                        n,
                                        r,
                                        o = h(t);
                                   for (e = 0; e < o.length; e++) (i = o[e]).token && (n = s[i.token.charAt(0)]) && (!r || n.value > r.value) && (r = n);
                                   return r ? r.unit : null;
                              };
                         },
                         function (t, e) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var i = function (t, e, i) {
                                   (this.unzonedRange = t), (this.eventDef = e), i && (this.eventInstance = i);
                              };
                              e.default = i;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(35),
                                   o = i(13),
                                   a = i(7),
                                   s = (function (t) {
                                        function e() {
                                             var e = t.call(this) || this;
                                             return (e._watchers = {}), (e._props = {}), e.applyGlobalWatchers(), e.constructed(), e;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.watch = function (t) {
                                                  for (var e = [], i = 1; i < arguments.length; i++) e[i - 1] = arguments[i];
                                                  this.prototype.hasOwnProperty("_globalWatchArgs") || (this.prototype._globalWatchArgs = Object.create(this.prototype._globalWatchArgs)), (this.prototype._globalWatchArgs[t] = e);
                                             }),
                                             (e.prototype.constructed = function () {}),
                                             (e.prototype.applyGlobalWatchers = function () {
                                                  var t,
                                                       e = this._globalWatchArgs;
                                                  for (t in e) this.watch.apply(this, [t].concat(e[t]));
                                             }),
                                             (e.prototype.has = function (t) {
                                                  return t in this._props;
                                             }),
                                             (e.prototype.get = function (t) {
                                                  return void 0 === t ? this._props : this._props[t];
                                             }),
                                             (e.prototype.set = function (t, e) {
                                                  var i;
                                                  "string" == typeof t ? ((i = {})[t] = void 0 === e ? null : e) : (i = t), this.setProps(i);
                                             }),
                                             (e.prototype.reset = function (t) {
                                                  var e,
                                                       i = this._props,
                                                       n = {};
                                                  for (e in i) n[e] = void 0;
                                                  for (e in t) n[e] = t[e];
                                                  this.setProps(n);
                                             }),
                                             (e.prototype.unset = function (t) {
                                                  var e,
                                                       i,
                                                       n = {};
                                                  for (e = "string" == typeof t ? [t] : t, i = 0; i < e.length; i++) n[e[i]] = void 0;
                                                  this.setProps(n);
                                             }),
                                             (e.prototype.setProps = function (t) {
                                                  var e,
                                                       i,
                                                       n = {},
                                                       r = 0;
                                                  for (e in t) ("object" != typeof (i = t[e]) && i === this._props[e]) || ((n[e] = i), r++);
                                                  if (r) {
                                                       for (e in (this.trigger("before:batchChange", n), n)) (i = n[e]), this.trigger("before:change", e, i), this.trigger("before:change:" + e, i);
                                                       for (e in n) void 0 === (i = n[e]) ? delete this._props[e] : (this._props[e] = i), this.trigger("change:" + e, i), this.trigger("change", e, i);
                                                       this.trigger("batchChange", n);
                                                  }
                                             }),
                                             (e.prototype.watch = function (t, e, i, n) {
                                                  var r = this;
                                                  this.unwatch(t),
                                                       (this._watchers[t] = this._watchDeps(
                                                            e,
                                                            function (e) {
                                                                 var n = i.call(r, e);
                                                                 n && n.then
                                                                      ? (r.unset(t),
                                                                        n.then(function (e) {
                                                                             r.set(t, e);
                                                                        }))
                                                                      : r.set(t, n);
                                                            },
                                                            function (e) {
                                                                 r.unset(t), n && n.call(r, e);
                                                            }
                                                       ));
                                             }),
                                             (e.prototype.unwatch = function (t) {
                                                  var e = this._watchers[t];
                                                  e && (delete this._watchers[t], e.teardown());
                                             }),
                                             (e.prototype._watchDeps = function (t, e, i) {
                                                  var n = this,
                                                       r = 0,
                                                       o = t.length,
                                                       a = 0,
                                                       s = {},
                                                       l = [],
                                                       c = !1,
                                                       u = function (t, e) {
                                                            n.on(t, e), l.push([t, e]);
                                                       };
                                                  return (
                                                       t.forEach(function (t) {
                                                            var n = !1;
                                                            "?" === t.charAt(0) && ((t = t.substring(1)), (n = !0)),
                                                                 u("before:change:" + t, function (t) {
                                                                      1 == ++r && a === o && ((c = !0), i(s), (c = !1));
                                                                 }),
                                                                 u("change:" + t, function (i) {
                                                                      !(function (t, i, n) {
                                                                           void 0 === i ? (n || void 0 === s[t] || a--, delete s[t]) : (n || void 0 !== s[t] || a++, (s[t] = i)), --r || (a === o && (c || e(s)));
                                                                      })(t, i, n);
                                                                 });
                                                       }),
                                                       t.forEach(function (t) {
                                                            var e = !1;
                                                            "?" === t.charAt(0) && ((t = t.substring(1)), (e = !0)), n.has(t) ? ((s[t] = n.get(t)), a++) : e && a++;
                                                       }),
                                                       a === o && e(s),
                                                       {
                                                            teardown: function () {
                                                                 for (var t = 0; t < l.length; t++) n.off(l[t][0], l[t][1]);
                                                                 (l = null), a === o && i();
                                                            },
                                                            flash: function () {
                                                                 a === o && (i(), e(s));
                                                            },
                                                       }
                                                  );
                                             }),
                                             (e.prototype.flash = function (t) {
                                                  var e = this._watchers[t];
                                                  e && e.flash();
                                             }),
                                             e
                                        );
                                   })(r.default);
                              (e.default = s), (s.prototype._globalWatchArgs = {}), o.default.mixInto(s), a.default.mixInto(s);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(4),
                                   o = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.defineStandardProps = function (t) {
                                                  var e = this.prototype;
                                                  e.hasOwnProperty("standardPropMap") || (e.standardPropMap = Object.create(e.standardPropMap)), r.copyOwnProps(t, e.standardPropMap);
                                             }),
                                             (e.copyVerbatimStandardProps = function (t, e) {
                                                  var i,
                                                       n = this.prototype.standardPropMap;
                                                  for (i in n) null != t[i] && !0 === n[i] && (e[i] = t[i]);
                                             }),
                                             (e.prototype.applyProps = function (t) {
                                                  var e,
                                                       i = this.standardPropMap,
                                                       n = {},
                                                       r = {};
                                                  for (e in t) !0 === i[e] ? (this[e] = t[e]) : !1 === i[e] ? (n[e] = t[e]) : (r[e] = t[e]);
                                                  return this.applyMiscProps(r), this.applyManualStandardProps(n);
                                             }),
                                             (e.prototype.applyManualStandardProps = function (t) {
                                                  return !0;
                                             }),
                                             (e.prototype.applyMiscProps = function (t) {}),
                                             (e.prototype.isStandardProp = function (t) {
                                                  return t in this.standardPropMap;
                                             }),
                                             e
                                        );
                                   })(i(15).default);
                              (e.default = o), (o.prototype.standardPropMap = {});
                         },
                         function (t, e) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var i = (function () {
                                   function t(t, e) {
                                        (this.def = t), (this.dateProfile = e);
                                   }
                                   return (
                                        (t.prototype.toLegacy = function () {
                                             var t = this.dateProfile,
                                                  e = this.def.toLegacy();
                                             return (e.start = t.start.clone()), (e.end = t.end ? t.end.clone() : null), e;
                                        }),
                                        t
                                   );
                              })();
                              e.default = i;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(0),
                                   a = i(37),
                                   s = i(53),
                                   l = i(16),
                                   c = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.isAllDay = function () {
                                                  return !this.startTime && !this.endTime;
                                             }),
                                             (e.prototype.buildInstances = function (t) {
                                                  for (var e, i, n, r = this.source.calendar, o = t.getStart(), a = t.getEnd(), c = []; o.isBefore(a); )
                                                       (this.dowHash && !this.dowHash[o.day()]) ||
                                                            ((i = (e = r.applyTimezone(o)).clone()),
                                                            (n = null),
                                                            this.startTime ? i.time(this.startTime) : i.stripTime(),
                                                            this.endTime && (n = e.clone().time(this.endTime)),
                                                            c.push(new s.default(this, new l.default(i, n, r)))),
                                                            o.add(1, "days");
                                                  return c;
                                             }),
                                             (e.prototype.setDow = function (t) {
                                                  this.dowHash || (this.dowHash = {});
                                                  for (var e = 0; e < t.length; e++) this.dowHash[t[e]] = !0;
                                             }),
                                             (e.prototype.clone = function () {
                                                  var e = t.prototype.clone.call(this);
                                                  return e.startTime && (e.startTime = o.duration(this.startTime)), e.endTime && (e.endTime = o.duration(this.endTime)), this.dowHash && (e.dowHash = r.extend({}, this.dowHash)), e;
                                             }),
                                             e
                                        );
                                   })(a.default);
                              (e.default = c),
                                   (c.prototype.applyProps = function (t) {
                                        var e = a.default.prototype.applyProps.call(this, t);
                                        return t.start && (this.startTime = o.duration(t.start)), t.end && (this.endTime = o.duration(t.end)), t.dow && this.setDow(t.dow), e;
                                   }),
                                   c.defineStandardProps({ start: !1, end: !1, dow: !1 });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(0),
                                   r = i(4),
                                   o = i(5),
                                   a = (function () {
                                        function t(t) {
                                             this._view = t;
                                        }
                                        return (
                                             (t.prototype.opt = function (t) {
                                                  return this._view.opt(t);
                                             }),
                                             (t.prototype.trimHiddenDays = function (t) {
                                                  return this._view.trimHiddenDays(t);
                                             }),
                                             (t.prototype.msToUtcMoment = function (t, e) {
                                                  return this._view.calendar.msToUtcMoment(t, e);
                                             }),
                                             (t.prototype.buildPrev = function (t) {
                                                  var e = t.date.clone().startOf(t.currentRangeUnit).subtract(t.dateIncrement);
                                                  return this.build(e, -1);
                                             }),
                                             (t.prototype.buildNext = function (t) {
                                                  var e = t.date.clone().startOf(t.currentRangeUnit).add(t.dateIncrement);
                                                  return this.build(e, 1);
                                             }),
                                             (t.prototype.build = function (t, e, i) {
                                                  void 0 === i && (i = !1);
                                                  var r,
                                                       o,
                                                       a,
                                                       s,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       d = !t.hasTime();
                                                  return (
                                                       (r = this.buildValidRange()),
                                                       (r = this.trimHiddenDays(r)),
                                                       i && (t = this.msToUtcMoment(r.constrainDate(t), d)),
                                                       (s = this.buildCurrentRangeInfo(t, e)),
                                                       (l = /^(year|month|week|day)$/.test(s.unit)),
                                                       (c = this.buildRenderRange(this.trimHiddenDays(s.unzonedRange), s.unit, l)),
                                                       (u = (c = this.trimHiddenDays(c)).clone()),
                                                       this.opt("showNonCurrentDates") || (u = u.intersect(s.unzonedRange)),
                                                       (o = n.duration(this.opt("minTime"))),
                                                       (a = n.duration(this.opt("maxTime"))),
                                                       (u = (u = this.adjustActiveRange(u, o, a)).intersect(r)) && (t = this.msToUtcMoment(u.constrainDate(t), d)),
                                                       (h = s.unzonedRange.intersectsWith(r)),
                                                       {
                                                            validUnzonedRange: r,
                                                            currentUnzonedRange: s.unzonedRange,
                                                            currentRangeUnit: s.unit,
                                                            isRangeAllDay: l,
                                                            activeUnzonedRange: u,
                                                            renderUnzonedRange: c,
                                                            minTime: o,
                                                            maxTime: a,
                                                            isValid: h,
                                                            date: t,
                                                            dateIncrement: this.buildDateIncrement(s.duration),
                                                       }
                                                  );
                                             }),
                                             (t.prototype.buildValidRange = function () {
                                                  return this._view.getUnzonedRangeOption("validRange", this._view.calendar.getNow()) || new o.default();
                                             }),
                                             (t.prototype.buildCurrentRangeInfo = function (t, e) {
                                                  var i,
                                                       n = this._view.viewSpec,
                                                       o = null,
                                                       a = null,
                                                       s = null;
                                                  return (
                                                       n.duration
                                                            ? ((o = n.duration), (a = n.durationUnit), (s = this.buildRangeFromDuration(t, e, o, a)))
                                                            : (i = this.opt("dayCount"))
                                                            ? ((a = "day"), (s = this.buildRangeFromDayCount(t, e, i)))
                                                            : (s = this.buildCustomVisibleRange(t))
                                                            ? (a = r.computeGreatestUnit(s.getStart(), s.getEnd()))
                                                            : ((o = this.getFallbackDuration()), (a = r.computeGreatestUnit(o)), (s = this.buildRangeFromDuration(t, e, o, a))),
                                                       { duration: o, unit: a, unzonedRange: s }
                                                  );
                                             }),
                                             (t.prototype.getFallbackDuration = function () {
                                                  return n.duration({ days: 1 });
                                             }),
                                             (t.prototype.adjustActiveRange = function (t, e, i) {
                                                  var n = t.getStart(),
                                                       r = t.getEnd();
                                                  return this._view.usesMinMaxTime && (e < 0 && n.time(0).add(e), i > 864e5 && r.time(i - 864e5)), new o.default(n, r);
                                             }),
                                             (t.prototype.buildRangeFromDuration = function (t, e, i, a) {
                                                  var s,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       d = this.opt("dateAlignment");
                                                  function p() {
                                                       (c = t.clone().startOf(d)), (u = c.clone().add(i)), (h = new o.default(c, u));
                                                  }
                                                  return (
                                                       d || ((s = this.opt("dateIncrement")) ? ((l = n.duration(s)), (d = l < i ? r.computeDurationGreatestUnit(l, s) : a)) : (d = a)),
                                                       i.as("days") <= 1 && this._view.isHiddenDay(c) && (c = this._view.skipHiddenDays(c, e)).startOf("day"),
                                                       p(),
                                                       this.trimHiddenDays(h) || ((t = this._view.skipHiddenDays(t, e)), p()),
                                                       h
                                                  );
                                             }),
                                             (t.prototype.buildRangeFromDayCount = function (t, e, i) {
                                                  var n,
                                                       r,
                                                       a = this.opt("dateAlignment"),
                                                       s = 0;
                                                  if (a || -1 !== e) {
                                                       (n = t.clone()), a && n.startOf(a), n.startOf("day"), (r = (n = this._view.skipHiddenDays(n)).clone());
                                                       do {
                                                            r.add(1, "day"), this._view.isHiddenDay(r) || s++;
                                                       } while (s < i);
                                                  } else {
                                                       (r = t.clone().startOf("day").add(1, "day")), (n = (r = this._view.skipHiddenDays(r, -1, !0)).clone());
                                                       do {
                                                            n.add(-1, "day"), this._view.isHiddenDay(n) || s++;
                                                       } while (s < i);
                                                  }
                                                  return new o.default(n, r);
                                             }),
                                             (t.prototype.buildCustomVisibleRange = function (t) {
                                                  var e = this._view.getUnzonedRangeOption("visibleRange", this._view.calendar.applyTimezone(t));
                                                  return !e || (null != e.startMs && null != e.endMs) ? e : null;
                                             }),
                                             (t.prototype.buildRenderRange = function (t, e, i) {
                                                  return t.clone();
                                             }),
                                             (t.prototype.buildDateIncrement = function (t) {
                                                  var e,
                                                       i = this.opt("dateIncrement");
                                                  return i ? n.duration(i) : (e = this.opt("dateAlignment")) ? n.duration(1, e) : t || n.duration({ days: 1 });
                                             }),
                                             t
                                        );
                                   })();
                              e.default = a;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(4),
                                   a = i(21),
                                   s = i(6),
                                   l = i(9),
                                   c = (function (t) {
                                        function e(e) {
                                             var i = t.call(this, e) || this;
                                             return (i.eventDefs = []), i;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.parse = function (t, e) {
                                                  var i;
                                                  return r.isArray(t.events) ? (i = t) : r.isArray(t) && (i = { events: t }), !!i && s.default.parse.call(this, i, e);
                                             }),
                                             (e.prototype.setRawEventDefs = function (t) {
                                                  (this.rawEventDefs = t), (this.eventDefs = this.parseEventDefs(t));
                                             }),
                                             (e.prototype.fetch = function (t, e, i) {
                                                  var n,
                                                       r = this.eventDefs;
                                                  if (null != this.currentTimezone && this.currentTimezone !== i) for (n = 0; n < r.length; n++) r[n] instanceof l.default && r[n].rezone();
                                                  return (this.currentTimezone = i), a.default.resolve(r);
                                             }),
                                             (e.prototype.addEventDef = function (t) {
                                                  this.eventDefs.push(t);
                                             }),
                                             (e.prototype.removeEventDefsById = function (t) {
                                                  return o.removeMatching(this.eventDefs, function (e) {
                                                       return e.id === t;
                                                  });
                                             }),
                                             (e.prototype.removeAllEventDefs = function () {
                                                  this.eventDefs = [];
                                             }),
                                             (e.prototype.getPrimitive = function () {
                                                  return this.rawEventDefs;
                                             }),
                                             (e.prototype.applyManualStandardProps = function (e) {
                                                  var i = t.prototype.applyManualStandardProps.call(this, e);
                                                  return this.setRawEventDefs(e.events), i;
                                             }),
                                             e
                                        );
                                   })(s.default);
                              (e.default = c), c.defineStandardProps({ events: !1 });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(221),
                                   r = i(222),
                                   o = {};
                              (e.defineThemeSystem = function (t, e) {
                                   o[t] = e;
                              }),
                                   (e.getThemeSystemClass = function (t) {
                                        return t ? (!0 === t ? r.default : o[t]) : n.default;
                                   });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(4),
                                   o = (function () {
                                        function t(t) {
                                             (this.isHorizontal = !1),
                                                  (this.isVertical = !1),
                                                  (this.els = n(t.els)),
                                                  (this.isHorizontal = t.isHorizontal),
                                                  (this.isVertical = t.isVertical),
                                                  (this.forcedOffsetParentEl = t.offsetParent ? n(t.offsetParent) : null);
                                        }
                                        return (
                                             (t.prototype.build = function () {
                                                  var t = this.forcedOffsetParentEl;
                                                  !t && this.els.length > 0 && (t = this.els.eq(0).offsetParent()),
                                                       (this.origin = t ? t.offset() : null),
                                                       (this.boundingRect = this.queryBoundingRect()),
                                                       this.isHorizontal && this.buildElHorizontals(),
                                                       this.isVertical && this.buildElVerticals();
                                             }),
                                             (t.prototype.clear = function () {
                                                  (this.origin = null), (this.boundingRect = null), (this.lefts = null), (this.rights = null), (this.tops = null), (this.bottoms = null);
                                             }),
                                             (t.prototype.ensureBuilt = function () {
                                                  this.origin || this.build();
                                             }),
                                             (t.prototype.buildElHorizontals = function () {
                                                  var t = [],
                                                       e = [];
                                                  this.els.each(function (i, r) {
                                                       var o = n(r),
                                                            a = o.offset().left,
                                                            s = o.outerWidth();
                                                       t.push(a), e.push(a + s);
                                                  }),
                                                       (this.lefts = t),
                                                       (this.rights = e);
                                             }),
                                             (t.prototype.buildElVerticals = function () {
                                                  var t = [],
                                                       e = [];
                                                  this.els.each(function (i, r) {
                                                       var o = n(r),
                                                            a = o.offset().top,
                                                            s = o.outerHeight();
                                                       t.push(a), e.push(a + s);
                                                  }),
                                                       (this.tops = t),
                                                       (this.bottoms = e);
                                             }),
                                             (t.prototype.getHorizontalIndex = function (t) {
                                                  this.ensureBuilt();
                                                  var e,
                                                       i = this.lefts,
                                                       n = this.rights,
                                                       r = i.length;
                                                  for (e = 0; e < r; e++) if (t >= i[e] && t < n[e]) return e;
                                             }),
                                             (t.prototype.getVerticalIndex = function (t) {
                                                  this.ensureBuilt();
                                                  var e,
                                                       i = this.tops,
                                                       n = this.bottoms,
                                                       r = i.length;
                                                  for (e = 0; e < r; e++) if (t >= i[e] && t < n[e]) return e;
                                             }),
                                             (t.prototype.getLeftOffset = function (t) {
                                                  return this.ensureBuilt(), this.lefts[t];
                                             }),
                                             (t.prototype.getLeftPosition = function (t) {
                                                  return this.ensureBuilt(), this.lefts[t] - this.origin.left;
                                             }),
                                             (t.prototype.getRightOffset = function (t) {
                                                  return this.ensureBuilt(), this.rights[t];
                                             }),
                                             (t.prototype.getRightPosition = function (t) {
                                                  return this.ensureBuilt(), this.rights[t] - this.origin.left;
                                             }),
                                             (t.prototype.getWidth = function (t) {
                                                  return this.ensureBuilt(), this.rights[t] - this.lefts[t];
                                             }),
                                             (t.prototype.getTopOffset = function (t) {
                                                  return this.ensureBuilt(), this.tops[t];
                                             }),
                                             (t.prototype.getTopPosition = function (t) {
                                                  return this.ensureBuilt(), this.tops[t] - this.origin.top;
                                             }),
                                             (t.prototype.getBottomOffset = function (t) {
                                                  return this.ensureBuilt(), this.bottoms[t];
                                             }),
                                             (t.prototype.getBottomPosition = function (t) {
                                                  return this.ensureBuilt(), this.bottoms[t] - this.origin.top;
                                             }),
                                             (t.prototype.getHeight = function (t) {
                                                  return this.ensureBuilt(), this.bottoms[t] - this.tops[t];
                                             }),
                                             (t.prototype.queryBoundingRect = function () {
                                                  var t;
                                                  return this.els.length > 0 && !(t = r.getScrollParent(this.els.eq(0))).is(document) && !t.is("html,body") ? r.getClientRect(t) : null;
                                             }),
                                             (t.prototype.isPointInBounds = function (t, e) {
                                                  return this.isLeftInBounds(t) && this.isTopInBounds(e);
                                             }),
                                             (t.prototype.isLeftInBounds = function (t) {
                                                  return !this.boundingRect || (t >= this.boundingRect.left && t < this.boundingRect.right);
                                             }),
                                             (t.prototype.isTopInBounds = function (t) {
                                                  return !this.boundingRect || (t >= this.boundingRect.top && t < this.boundingRect.bottom);
                                             }),
                                             t
                                        );
                                   })();
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(4),
                                   o = i(7),
                                   a = i(23),
                                   s = (function () {
                                        function t(t) {
                                             (this.isInteracting = !1),
                                                  (this.isDistanceSurpassed = !1),
                                                  (this.isDelayEnded = !1),
                                                  (this.isDragging = !1),
                                                  (this.isTouch = !1),
                                                  (this.isGeneric = !1),
                                                  (this.shouldCancelTouchScroll = !0),
                                                  (this.scrollAlwaysKills = !1),
                                                  (this.isAutoScroll = !1),
                                                  (this.scrollSensitivity = 30),
                                                  (this.scrollSpeed = 200),
                                                  (this.scrollIntervalMs = 50),
                                                  (this.options = t || {});
                                        }
                                        return (
                                             (t.prototype.startInteraction = function (t, e) {
                                                  if ((void 0 === e && (e = {}), "mousedown" === t.type)) {
                                                       if (a.default.get().shouldIgnoreMouse()) return;
                                                       if (!r.isPrimaryMouseButton(t)) return;
                                                       t.preventDefault();
                                                  }
                                                  this.isInteracting ||
                                                       ((this.delay = r.firstDefined(e.delay, this.options.delay, 0)),
                                                       (this.minDistance = r.firstDefined(e.distance, this.options.distance, 0)),
                                                       (this.subjectEl = this.options.subjectEl),
                                                       r.preventSelection(n("body")),
                                                       (this.isInteracting = !0),
                                                       (this.isTouch = r.getEvIsTouch(t)),
                                                       (this.isGeneric = "dragstart" === t.type),
                                                       (this.isDelayEnded = !1),
                                                       (this.isDistanceSurpassed = !1),
                                                       (this.originX = r.getEvX(t)),
                                                       (this.originY = r.getEvY(t)),
                                                       (this.scrollEl = r.getScrollParent(n(t.target))),
                                                       this.bindHandlers(),
                                                       this.initAutoScroll(),
                                                       this.handleInteractionStart(t),
                                                       this.startDelay(t),
                                                       this.minDistance || this.handleDistanceSurpassed(t));
                                             }),
                                             (t.prototype.handleInteractionStart = function (t) {
                                                  this.trigger("interactionStart", t);
                                             }),
                                             (t.prototype.endInteraction = function (t, e) {
                                                  this.isInteracting &&
                                                       (this.endDrag(t),
                                                       this.delayTimeoutId && (clearTimeout(this.delayTimeoutId), (this.delayTimeoutId = null)),
                                                       this.destroyAutoScroll(),
                                                       this.unbindHandlers(),
                                                       (this.isInteracting = !1),
                                                       this.handleInteractionEnd(t, e),
                                                       r.allowSelection(n("body")));
                                             }),
                                             (t.prototype.handleInteractionEnd = function (t, e) {
                                                  this.trigger("interactionEnd", t, e || !1);
                                             }),
                                             (t.prototype.bindHandlers = function () {
                                                  var t = a.default.get();
                                                  this.isGeneric
                                                       ? this.listenTo(n(document), { drag: this.handleMove, dragstop: this.endInteraction })
                                                       : this.isTouch
                                                       ? this.listenTo(t, { touchmove: this.handleTouchMove, touchend: this.endInteraction, scroll: this.handleTouchScroll })
                                                       : this.listenTo(t, { mousemove: this.handleMouseMove, mouseup: this.endInteraction }),
                                                       this.listenTo(t, { selectstart: r.preventDefault, contextmenu: r.preventDefault });
                                             }),
                                             (t.prototype.unbindHandlers = function () {
                                                  this.stopListeningTo(a.default.get()), this.stopListeningTo(n(document));
                                             }),
                                             (t.prototype.startDrag = function (t, e) {
                                                  this.startInteraction(t, e), this.isDragging || ((this.isDragging = !0), this.handleDragStart(t));
                                             }),
                                             (t.prototype.handleDragStart = function (t) {
                                                  this.trigger("dragStart", t);
                                             }),
                                             (t.prototype.handleMove = function (t) {
                                                  var e = r.getEvX(t) - this.originX,
                                                       i = r.getEvY(t) - this.originY,
                                                       n = this.minDistance;
                                                  this.isDistanceSurpassed || (e * e + i * i >= n * n && this.handleDistanceSurpassed(t)), this.isDragging && this.handleDrag(e, i, t);
                                             }),
                                             (t.prototype.handleDrag = function (t, e, i) {
                                                  this.trigger("drag", t, e, i), this.updateAutoScroll(i);
                                             }),
                                             (t.prototype.endDrag = function (t) {
                                                  this.isDragging && ((this.isDragging = !1), this.handleDragEnd(t));
                                             }),
                                             (t.prototype.handleDragEnd = function (t) {
                                                  this.trigger("dragEnd", t);
                                             }),
                                             (t.prototype.startDelay = function (t) {
                                                  var e = this;
                                                  this.delay
                                                       ? (this.delayTimeoutId = setTimeout(function () {
                                                              e.handleDelayEnd(t);
                                                         }, this.delay))
                                                       : this.handleDelayEnd(t);
                                             }),
                                             (t.prototype.handleDelayEnd = function (t) {
                                                  (this.isDelayEnded = !0), this.isDistanceSurpassed && this.startDrag(t);
                                             }),
                                             (t.prototype.handleDistanceSurpassed = function (t) {
                                                  (this.isDistanceSurpassed = !0), this.isDelayEnded && this.startDrag(t);
                                             }),
                                             (t.prototype.handleTouchMove = function (t) {
                                                  this.isDragging && this.shouldCancelTouchScroll && t.preventDefault(), this.handleMove(t);
                                             }),
                                             (t.prototype.handleMouseMove = function (t) {
                                                  this.handleMove(t);
                                             }),
                                             (t.prototype.handleTouchScroll = function (t) {
                                                  (this.isDragging && !this.scrollAlwaysKills) || this.endInteraction(t, !0);
                                             }),
                                             (t.prototype.trigger = function (t) {
                                                  for (var e = [], i = 1; i < arguments.length; i++) e[i - 1] = arguments[i];
                                                  this.options[t] && this.options[t].apply(this, e), this["_" + t] && this["_" + t].apply(this, e);
                                             }),
                                             (t.prototype.initAutoScroll = function () {
                                                  var t = this.scrollEl;
                                                  (this.isAutoScroll = this.options.scroll && t && !t.is(window) && !t.is(document)), this.isAutoScroll && this.listenTo(t, "scroll", r.debounce(this.handleDebouncedScroll, 100));
                                             }),
                                             (t.prototype.destroyAutoScroll = function () {
                                                  this.endAutoScroll(), this.isAutoScroll && this.stopListeningTo(this.scrollEl, "scroll");
                                             }),
                                             (t.prototype.computeScrollBounds = function () {
                                                  this.isAutoScroll && (this.scrollBounds = r.getOuterRect(this.scrollEl));
                                             }),
                                             (t.prototype.updateAutoScroll = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       o,
                                                       a = this.scrollSensitivity,
                                                       s = this.scrollBounds,
                                                       l = 0,
                                                       c = 0;
                                                  s &&
                                                       ((e = (a - (r.getEvY(t) - s.top)) / a),
                                                       (i = (a - (s.bottom - r.getEvY(t))) / a),
                                                       (n = (a - (r.getEvX(t) - s.left)) / a),
                                                       (o = (a - (s.right - r.getEvX(t))) / a),
                                                       e >= 0 && e <= 1 ? (l = e * this.scrollSpeed * -1) : i >= 0 && i <= 1 && (l = i * this.scrollSpeed),
                                                       n >= 0 && n <= 1 ? (c = n * this.scrollSpeed * -1) : o >= 0 && o <= 1 && (c = o * this.scrollSpeed)),
                                                       this.setScrollVel(l, c);
                                             }),
                                             (t.prototype.setScrollVel = function (t, e) {
                                                  (this.scrollTopVel = t),
                                                       (this.scrollLeftVel = e),
                                                       this.constrainScrollVel(),
                                                       (!this.scrollTopVel && !this.scrollLeftVel) || this.scrollIntervalId || (this.scrollIntervalId = setInterval(r.proxy(this, "scrollIntervalFunc"), this.scrollIntervalMs));
                                             }),
                                             (t.prototype.constrainScrollVel = function () {
                                                  var t = this.scrollEl;
                                                  this.scrollTopVel < 0 ? t.scrollTop() <= 0 && (this.scrollTopVel = 0) : this.scrollTopVel > 0 && t.scrollTop() + t[0].clientHeight >= t[0].scrollHeight && (this.scrollTopVel = 0),
                                                       this.scrollLeftVel < 0 ? t.scrollLeft() <= 0 && (this.scrollLeftVel = 0) : this.scrollLeftVel > 0 && t.scrollLeft() + t[0].clientWidth >= t[0].scrollWidth && (this.scrollLeftVel = 0);
                                             }),
                                             (t.prototype.scrollIntervalFunc = function () {
                                                  var t = this.scrollEl,
                                                       e = this.scrollIntervalMs / 1e3;
                                                  this.scrollTopVel && t.scrollTop(t.scrollTop() + this.scrollTopVel * e),
                                                       this.scrollLeftVel && t.scrollLeft(t.scrollLeft() + this.scrollLeftVel * e),
                                                       this.constrainScrollVel(),
                                                       this.scrollTopVel || this.scrollLeftVel || this.endAutoScroll();
                                             }),
                                             (t.prototype.endAutoScroll = function () {
                                                  this.scrollIntervalId && (clearInterval(this.scrollIntervalId), (this.scrollIntervalId = null), this.handleScrollEnd());
                                             }),
                                             (t.prototype.handleDebouncedScroll = function () {
                                                  this.scrollIntervalId || this.handleScrollEnd();
                                             }),
                                             (t.prototype.handleScrollEnd = function () {}),
                                             t
                                        );
                                   })();
                              (e.default = s), o.default.mixInto(s);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(4),
                                   o = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.updateDayTable = function () {
                                                  for (
                                                       var t,
                                                            e,
                                                            i,
                                                            n = this,
                                                            r = n.view,
                                                            o = r.calendar,
                                                            a = o.msToUtcMoment(n.dateProfile.renderUnzonedRange.startMs, !0),
                                                            s = o.msToUtcMoment(n.dateProfile.renderUnzonedRange.endMs, !0),
                                                            l = -1,
                                                            c = [],
                                                            u = [];
                                                       a.isBefore(s);

                                                  )
                                                       r.isHiddenDay(a) ? c.push(l + 0.5) : (l++, c.push(l), u.push(a.clone())), a.add(1, "days");
                                                  if (this.breakOnWeeks) {
                                                       for (e = u[0].day(), t = 1; t < u.length && u[t].day() !== e; t++);
                                                       i = Math.ceil(u.length / t);
                                                  } else (i = 1), (t = u.length);
                                                  (this.dayDates = u), (this.dayIndices = c), (this.daysPerRow = t), (this.rowCnt = i), this.updateDayTableCols();
                                             }),
                                             (e.prototype.updateDayTableCols = function () {
                                                  (this.colCnt = this.computeColCnt()), (this.colHeadFormat = this.opt("columnHeaderFormat") || this.opt("columnFormat") || this.computeColHeadFormat());
                                             }),
                                             (e.prototype.computeColCnt = function () {
                                                  return this.daysPerRow;
                                             }),
                                             (e.prototype.getCellDate = function (t, e) {
                                                  return this.dayDates[this.getCellDayIndex(t, e)].clone();
                                             }),
                                             (e.prototype.getCellRange = function (t, e) {
                                                  var i = this.getCellDate(t, e),
                                                       n = i.clone().add(1, "days");
                                                  return { start: i, end: n };
                                             }),
                                             (e.prototype.getCellDayIndex = function (t, e) {
                                                  return t * this.daysPerRow + this.getColDayIndex(e);
                                             }),
                                             (e.prototype.getColDayIndex = function (t) {
                                                  return this.isRTL ? this.colCnt - 1 - t : t;
                                             }),
                                             (e.prototype.getDateDayIndex = function (t) {
                                                  var e = this.dayIndices,
                                                       i = t.diff(this.dayDates[0], "days");
                                                  return i < 0 ? e[0] - 1 : i >= e.length ? e[e.length - 1] + 1 : e[i];
                                             }),
                                             (e.prototype.computeColHeadFormat = function () {
                                                  return this.rowCnt > 1 || this.colCnt > 10 ? "ddd" : this.colCnt > 1 ? this.opt("dayOfMonthFormat") : "dddd";
                                             }),
                                             (e.prototype.sliceRangeByRow = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r,
                                                       o,
                                                       a = this.daysPerRow,
                                                       s = this.view.computeDayRange(t),
                                                       l = this.getDateDayIndex(s.start),
                                                       c = this.getDateDayIndex(s.end.clone().subtract(1, "days")),
                                                       u = [];
                                                  for (e = 0; e < this.rowCnt; e++)
                                                       (n = (i = e * a) + a - 1),
                                                            (r = Math.max(l, i)),
                                                            (o = Math.min(c, n)),
                                                            (r = Math.ceil(r)) <= (o = Math.floor(o)) && u.push({ row: e, firstRowDayIndex: r - i, lastRowDayIndex: o - i, isStart: r === l, isEnd: o === c });
                                                  return u;
                                             }),
                                             (e.prototype.sliceRangeByDay = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r,
                                                       o,
                                                       a,
                                                       s = this.daysPerRow,
                                                       l = this.view.computeDayRange(t),
                                                       c = this.getDateDayIndex(l.start),
                                                       u = this.getDateDayIndex(l.end.clone().subtract(1, "days")),
                                                       h = [];
                                                  for (e = 0; e < this.rowCnt; e++)
                                                       for (n = (i = e * s) + s - 1, r = i; r <= n; r++)
                                                            (o = Math.max(c, r)),
                                                                 (a = Math.min(u, r)),
                                                                 (o = Math.ceil(o)) <= (a = Math.floor(a)) && h.push({ row: e, firstRowDayIndex: o - i, lastRowDayIndex: a - i, isStart: o === c, isEnd: a === u });
                                                  return h;
                                             }),
                                             (e.prototype.renderHeadHtml = function () {
                                                  var t = this.view.calendar.theme;
                                                  return '<div class="fc-row ' + t.getClass("headerRow") + '"><table class="' + t.getClass("tableGrid") + '"><thead>' + this.renderHeadTrHtml() + "</thead></table></div>";
                                             }),
                                             (e.prototype.renderHeadIntroHtml = function () {
                                                  return this.renderIntroHtml();
                                             }),
                                             (e.prototype.renderHeadTrHtml = function () {
                                                  return "<tr>" + (this.isRTL ? "" : this.renderHeadIntroHtml()) + this.renderHeadDateCellsHtml() + (this.isRTL ? this.renderHeadIntroHtml() : "") + "</tr>";
                                             }),
                                             (e.prototype.renderHeadDateCellsHtml = function () {
                                                  var t,
                                                       e,
                                                       i = [];
                                                  for (t = 0; t < this.colCnt; t++) (e = this.getCellDate(0, t)), i.push(this.renderHeadDateCellHtml(e));
                                                  return i.join("");
                                             }),
                                             (e.prototype.renderHeadDateCellHtml = function (t, e, i) {
                                                  var n,
                                                       o = this,
                                                       a = o.view,
                                                       s = o.dateProfile.activeUnzonedRange.containsDate(t),
                                                       l = ["fc-day-header", a.calendar.theme.getClass("widgetHeader")];
                                                  return (
                                                       (n =
                                                            "function" == typeof o.opt("columnHeaderHtml")
                                                                 ? o.opt("columnHeaderHtml")(t)
                                                                 : "function" == typeof o.opt("columnHeaderText")
                                                                 ? r.htmlEscape(o.opt("columnHeaderText")(t))
                                                                 : r.htmlEscape(t.format(o.colHeadFormat))),
                                                       1 === o.rowCnt ? (l = l.concat(o.getDayClasses(t, !0))) : l.push("fc-" + r.dayIDs[t.day()]),
                                                       '<th class="' +
                                                            l.join(" ") +
                                                            '"' +
                                                            (1 === (s && o.rowCnt) ? ' data-date="' + t.format("YYYY-MM-DD") + '"' : "") +
                                                            (e > 1 ? ' colspan="' + e + '"' : "") +
                                                            (i ? " " + i : "") +
                                                            ">" +
                                                            (s ? a.buildGotoAnchorHtml({ date: t, forceOff: o.rowCnt > 1 || 1 === o.colCnt }, n) : n) +
                                                            "</th>"
                                                  );
                                             }),
                                             (e.prototype.renderBgTrHtml = function (t) {
                                                  return "<tr>" + (this.isRTL ? "" : this.renderBgIntroHtml(t)) + this.renderBgCellsHtml(t) + (this.isRTL ? this.renderBgIntroHtml(t) : "") + "</tr>";
                                             }),
                                             (e.prototype.renderBgIntroHtml = function (t) {
                                                  return this.renderIntroHtml();
                                             }),
                                             (e.prototype.renderBgCellsHtml = function (t) {
                                                  var e,
                                                       i,
                                                       n = [];
                                                  for (e = 0; e < this.colCnt; e++) (i = this.getCellDate(t, e)), n.push(this.renderBgCellHtml(i));
                                                  return n.join("");
                                             }),
                                             (e.prototype.renderBgCellHtml = function (t, e) {
                                                  var i = this,
                                                       n = i.view,
                                                       r = i.dateProfile.activeUnzonedRange.containsDate(t),
                                                       o = i.getDayClasses(t);
                                                  return (
                                                       o.unshift("fc-day", n.calendar.theme.getClass("widgetContent")),
                                                       '<td class="' + o.join(" ") + '"' + (r ? ' data-date="' + t.format("YYYY-MM-DD") + '"' : "") + (e ? " " + e : "") + "></td>"
                                                  );
                                             }),
                                             (e.prototype.renderIntroHtml = function () {}),
                                             (e.prototype.bookendCells = function (t) {
                                                  var e = this.renderIntroHtml();
                                                  e && (this.isRTL ? t.append(e) : t.prepend(e));
                                             }),
                                             e
                                        );
                                   })(i(15).default);
                              e.default = o;
                         },
                         function (t, e) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var i = (function () {
                                   function t(t, e) {
                                        (this.component = t), (this.fillRenderer = e);
                                   }
                                   return (
                                        (t.prototype.render = function (t) {
                                             var e = this.component,
                                                  i = e._getDateProfile().activeUnzonedRange,
                                                  n = t.buildEventInstanceGroup(e.hasAllDayBusinessHours, i),
                                                  r = n ? e.eventRangesToEventFootprints(n.sliceRenderRanges(i)) : [];
                                             this.renderEventFootprints(r);
                                        }),
                                        (t.prototype.renderEventFootprints = function (t) {
                                             var e = this.component.eventFootprintsToSegs(t);
                                             this.renderSegs(e), (this.segs = e);
                                        }),
                                        (t.prototype.renderSegs = function (t) {
                                             this.fillRenderer &&
                                                  this.fillRenderer.renderSegs("businessHours", t, {
                                                       getClasses: function (t) {
                                                            return ["fc-nonbusiness", "fc-bgevent"];
                                                       },
                                                  });
                                        }),
                                        (t.prototype.unrender = function () {
                                             this.fillRenderer && this.fillRenderer.unrender("businessHours"), (this.segs = null);
                                        }),
                                        (t.prototype.getSegs = function () {
                                             return this.segs || [];
                                        }),
                                        t
                                   );
                              })();
                              e.default = i;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(4),
                                   o = (function () {
                                        function t(t) {
                                             (this.fillSegTag = "div"), (this.component = t), (this.elsByFill = {});
                                        }
                                        return (
                                             (t.prototype.renderFootprint = function (t, e, i) {
                                                  this.renderSegs(t, this.component.componentFootprintToSegs(e), i);
                                             }),
                                             (t.prototype.renderSegs = function (t, e, i) {
                                                  var n;
                                                  return (e = this.buildSegEls(t, e, i)), (n = this.attachSegEls(t, e)) && this.reportEls(t, n), e;
                                             }),
                                             (t.prototype.unrender = function (t) {
                                                  var e = this.elsByFill[t];
                                                  e && (e.remove(), delete this.elsByFill[t]);
                                             }),
                                             (t.prototype.buildSegEls = function (t, e, i) {
                                                  var r,
                                                       o = this,
                                                       a = "",
                                                       s = [];
                                                  if (e.length) {
                                                       for (r = 0; r < e.length; r++) a += this.buildSegHtml(t, e[r], i);
                                                       n(a).each(function (t, r) {
                                                            var a = e[t],
                                                                 l = n(r);
                                                            i.filterEl && (l = i.filterEl(a, l)), l && (l = n(l)).is(o.fillSegTag) && ((a.el = l), s.push(a));
                                                       });
                                                  }
                                                  return s;
                                             }),
                                             (t.prototype.buildSegHtml = function (t, e, i) {
                                                  var n = i.getClasses ? i.getClasses(e) : [],
                                                       o = r.cssToStr(i.getCss ? i.getCss(e) : {});
                                                  return "<" + this.fillSegTag + (n.length ? ' class="' + n.join(" ") + '"' : "") + (o ? ' style="' + o + '"' : "") + "></" + this.fillSegTag + ">";
                                             }),
                                             (t.prototype.attachSegEls = function (t, e) {}),
                                             (t.prototype.reportEls = function (t, e) {
                                                  this.elsByFill[t] ? (this.elsByFill[t] = this.elsByFill[t].add(e)) : (this.elsByFill[t] = n(e));
                                             }),
                                             t
                                        );
                                   })();
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(9),
                                   r = i(34),
                                   o = i(6),
                                   a = (function () {
                                        function t(t, e) {
                                             (this.view = t._getView()), (this.component = t), (this.eventRenderer = e);
                                        }
                                        return (
                                             (t.prototype.renderComponentFootprint = function (t) {
                                                  this.renderEventFootprints([this.fabricateEventFootprint(t)]);
                                             }),
                                             (t.prototype.renderEventDraggingFootprints = function (t, e, i) {
                                                  this.renderEventFootprints(t, e, "fc-dragging", i ? null : this.view.opt("dragOpacity"));
                                             }),
                                             (t.prototype.renderEventResizingFootprints = function (t, e, i) {
                                                  this.renderEventFootprints(t, e, "fc-resizing");
                                             }),
                                             (t.prototype.renderEventFootprints = function (t, e, i, n) {
                                                  var r,
                                                       o = this.component.eventFootprintsToSegs(t),
                                                       a = "fc-helper " + (i || "");
                                                  for (o = this.eventRenderer.renderFgSegEls(o), r = 0; r < o.length; r++) o[r].el.addClass(a);
                                                  if (null != n) for (r = 0; r < o.length; r++) o[r].el.css("opacity", n);
                                                  this.helperEls = this.renderSegs(o, e);
                                             }),
                                             (t.prototype.renderSegs = function (t, e) {}),
                                             (t.prototype.unrender = function () {
                                                  this.helperEls && (this.helperEls.remove(), (this.helperEls = null));
                                             }),
                                             (t.prototype.fabricateEventFootprint = function (t) {
                                                  var e,
                                                       i = this.view.calendar,
                                                       a = i.footprintToDateProfile(t),
                                                       s = new n.default(new o.default(i));
                                                  return (s.dateProfile = a), (e = s.buildInstance()), new r.default(t, s, e);
                                             }),
                                             t
                                        );
                                   })();
                              e.default = a;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(23),
                                   o = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.bindToEl = function (t) {
                                                  var e = this.component;
                                                  e.bindSegHandlerToEl(t, "click", this.handleClick.bind(this)),
                                                       e.bindSegHandlerToEl(t, "mouseenter", this.handleMouseover.bind(this)),
                                                       e.bindSegHandlerToEl(t, "mouseleave", this.handleMouseout.bind(this));
                                             }),
                                             (e.prototype.handleClick = function (t, e) {
                                                  !1 === this.component.publiclyTrigger("eventClick", { context: t.el[0], args: [t.footprint.getEventLegacy(), e, this.view] }) && e.preventDefault();
                                             }),
                                             (e.prototype.handleMouseover = function (t, e) {
                                                  r.default.get().shouldIgnoreMouse() ||
                                                       this.mousedOverSeg ||
                                                       ((this.mousedOverSeg = t),
                                                       this.view.isEventDefResizable(t.footprint.eventDef) && t.el.addClass("fc-allow-mouse-resize"),
                                                       this.component.publiclyTrigger("eventMouseover", { context: t.el[0], args: [t.footprint.getEventLegacy(), e, this.view] }));
                                             }),
                                             (e.prototype.handleMouseout = function (t, e) {
                                                  this.mousedOverSeg &&
                                                       ((this.mousedOverSeg = null),
                                                       this.view.isEventDefResizable(t.footprint.eventDef) && t.el.removeClass("fc-allow-mouse-resize"),
                                                       this.component.publiclyTrigger("eventMouseout", { context: t.el[0], args: [t.footprint.getEventLegacy(), e || {}, this.view] }));
                                             }),
                                             (e.prototype.end = function () {
                                                  this.mousedOverSeg && this.handleMouseout(this.mousedOverSeg);
                                             }),
                                             e
                                        );
                                   })(i(14).default);
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(15),
                                   o = i(237),
                                   a = i(236),
                                   s = i(64),
                                   l = i(235),
                                   c = i(234),
                                   u = i(233),
                                   h = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return n.__extends(e, t), e;
                                   })(r.default);
                              (e.default = h),
                                   (h.prototype.dateClickingClass = o.default),
                                   (h.prototype.dateSelectingClass = a.default),
                                   (h.prototype.eventPointingClass = s.default),
                                   (h.prototype.eventDraggingClass = l.default),
                                   (h.prototype.eventResizingClass = c.default),
                                   (h.prototype.externalDroppingClass = u.default);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(4),
                                   a = i(58),
                                   s = i(227),
                                   l = i(5),
                                   c = i(12),
                                   u = i(34),
                                   h = i(61),
                                   d = i(65),
                                   p = i(42),
                                   f = i(60),
                                   m = i(243),
                                   g = i(244),
                                   v = i(245),
                                   y = (function (t) {
                                        function e(e) {
                                             var i = t.call(this, e) || this;
                                             return (i.cellWeekNumbersVisible = !1), (i.bottomCoordPadding = 0), (i.isRigid = !1), (i.hasAllDayBusinessHours = !0), i;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.componentFootprintToSegs = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.sliceRangeByRow(t.unzonedRange);
                                                  for (e = 0; e < n.length; e++)
                                                       (i = n[e]),
                                                            this.isRTL
                                                                 ? ((i.leftCol = this.daysPerRow - 1 - i.lastRowDayIndex), (i.rightCol = this.daysPerRow - 1 - i.firstRowDayIndex))
                                                                 : ((i.leftCol = i.firstRowDayIndex), (i.rightCol = i.lastRowDayIndex));
                                                  return n;
                                             }),
                                             (e.prototype.renderDates = function (t) {
                                                  (this.dateProfile = t), this.updateDayTable(), this.renderGrid();
                                             }),
                                             (e.prototype.unrenderDates = function () {
                                                  this.removeSegPopover();
                                             }),
                                             (e.prototype.renderGrid = function () {
                                                  var t,
                                                       e,
                                                       i = this.view,
                                                       n = this.rowCnt,
                                                       r = this.colCnt,
                                                       o = "";
                                                  for (this.headContainerEl && this.headContainerEl.html(this.renderHeadHtml()), t = 0; t < n; t++) o += this.renderDayRowHtml(t, this.isRigid);
                                                  for (
                                                       this.el.html(o),
                                                            this.rowEls = this.el.find(".fc-row"),
                                                            this.cellEls = this.el.find(".fc-day, .fc-disabled-day"),
                                                            this.rowCoordCache = new a.default({ els: this.rowEls, isVertical: !0 }),
                                                            this.colCoordCache = new a.default({ els: this.cellEls.slice(0, this.colCnt), isHorizontal: !0 }),
                                                            t = 0;
                                                       t < n;
                                                       t++
                                                  )
                                                       for (e = 0; e < r; e++) this.publiclyTrigger("dayRender", { context: i, args: [this.getCellDate(t, e), this.getCellEl(t, e), i] });
                                             }),
                                             (e.prototype.renderDayRowHtml = function (t, e) {
                                                  var i = this.view.calendar.theme,
                                                       n = ["fc-row", "fc-week", i.getClass("dayRow")];
                                                  return (
                                                       e && n.push("fc-rigid"),
                                                       '<div class="' +
                                                            n.join(" ") +
                                                            '"><div class="fc-bg"><table class="' +
                                                            i.getClass("tableGrid") +
                                                            '">' +
                                                            this.renderBgTrHtml(t) +
                                                            '</table></div><div class="fc-content-skeleton"><table>' +
                                                            (this.getIsNumbersVisible() ? "<thead>" + this.renderNumberTrHtml(t) + "</thead>" : "") +
                                                            "</table></div></div>"
                                                  );
                                             }),
                                             (e.prototype.getIsNumbersVisible = function () {
                                                  return this.getIsDayNumbersVisible() || this.cellWeekNumbersVisible;
                                             }),
                                             (e.prototype.getIsDayNumbersVisible = function () {
                                                  return this.rowCnt > 1;
                                             }),
                                             (e.prototype.renderNumberTrHtml = function (t) {
                                                  return "<tr>" + (this.isRTL ? "" : this.renderNumberIntroHtml(t)) + this.renderNumberCellsHtml(t) + (this.isRTL ? this.renderNumberIntroHtml(t) : "") + "</tr>";
                                             }),
                                             (e.prototype.renderNumberIntroHtml = function (t) {
                                                  return this.renderIntroHtml();
                                             }),
                                             (e.prototype.renderNumberCellsHtml = function (t) {
                                                  var e,
                                                       i,
                                                       n = [];
                                                  for (e = 0; e < this.colCnt; e++) (i = this.getCellDate(t, e)), n.push(this.renderNumberCellHtml(i));
                                                  return n.join("");
                                             }),
                                             (e.prototype.renderNumberCellHtml = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.view,
                                                       r = "",
                                                       o = this.dateProfile.activeUnzonedRange.containsDate(t),
                                                       a = this.getIsDayNumbersVisible() && o;
                                                  return a || this.cellWeekNumbersVisible
                                                       ? ((e = this.getDayClasses(t)).unshift("fc-day-top"),
                                                         this.cellWeekNumbersVisible && (i = "ISO" === t._locale._fullCalendar_weekCalc ? 1 : t._locale.firstDayOfWeek()),
                                                         (r += '<td class="' + e.join(" ") + '"' + (o ? ' data-date="' + t.format() + '"' : "") + ">"),
                                                         this.cellWeekNumbersVisible && t.day() === i && (r += n.buildGotoAnchorHtml({ date: t, type: "week" }, { class: "fc-week-number" }, t.format("w"))),
                                                         a && (r += n.buildGotoAnchorHtml(t, { class: "fc-day-number" }, t.format("D"))),
                                                         (r += "</td>"))
                                                       : "<td></td>";
                                             }),
                                             (e.prototype.prepareHits = function () {
                                                  this.colCoordCache.build(), this.rowCoordCache.build(), (this.rowCoordCache.bottoms[this.rowCnt - 1] += this.bottomCoordPadding);
                                             }),
                                             (e.prototype.releaseHits = function () {
                                                  this.colCoordCache.clear(), this.rowCoordCache.clear();
                                             }),
                                             (e.prototype.queryHit = function (t, e) {
                                                  if (this.colCoordCache.isLeftInBounds(t) && this.rowCoordCache.isTopInBounds(e)) {
                                                       var i = this.colCoordCache.getHorizontalIndex(t),
                                                            n = this.rowCoordCache.getVerticalIndex(e);
                                                       if (null != n && null != i) return this.getCellHit(n, i);
                                                  }
                                             }),
                                             (e.prototype.getHitFootprint = function (t) {
                                                  var e = this.getCellRange(t.row, t.col);
                                                  return new c.default(new l.default(e.start, e.end), !0);
                                             }),
                                             (e.prototype.getHitEl = function (t) {
                                                  return this.getCellEl(t.row, t.col);
                                             }),
                                             (e.prototype.getCellHit = function (t, e) {
                                                  return {
                                                       row: t,
                                                       col: e,
                                                       component: this,
                                                       left: this.colCoordCache.getLeftOffset(e),
                                                       right: this.colCoordCache.getRightOffset(e),
                                                       top: this.rowCoordCache.getTopOffset(t),
                                                       bottom: this.rowCoordCache.getBottomOffset(t),
                                                  };
                                             }),
                                             (e.prototype.getCellEl = function (t, e) {
                                                  return this.cellEls.eq(t * this.colCnt + e);
                                             }),
                                             (e.prototype.executeEventUnrender = function () {
                                                  this.removeSegPopover(), t.prototype.executeEventUnrender.call(this);
                                             }),
                                             (e.prototype.getOwnEventSegs = function () {
                                                  return t.prototype.getOwnEventSegs.call(this).concat(this.popoverSegs || []);
                                             }),
                                             (e.prototype.renderDrag = function (t, e, i) {
                                                  var n;
                                                  for (n = 0; n < t.length; n++) this.renderHighlight(t[n].componentFootprint);
                                                  if (t.length && e && e.component !== this) return this.helperRenderer.renderEventDraggingFootprints(t, e, i), !0;
                                             }),
                                             (e.prototype.unrenderDrag = function () {
                                                  this.unrenderHighlight(), this.helperRenderer.unrender();
                                             }),
                                             (e.prototype.renderEventResize = function (t, e, i) {
                                                  var n;
                                                  for (n = 0; n < t.length; n++) this.renderHighlight(t[n].componentFootprint);
                                                  this.helperRenderer.renderEventResizingFootprints(t, e, i);
                                             }),
                                             (e.prototype.unrenderEventResize = function () {
                                                  this.unrenderHighlight(), this.helperRenderer.unrender();
                                             }),
                                             (e.prototype.removeSegPopover = function () {
                                                  this.segPopover && this.segPopover.hide();
                                             }),
                                             (e.prototype.limitRows = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.eventRenderer.rowStructs || [];
                                                  for (e = 0; e < n.length; e++) this.unlimitRow(e), !1 !== (i = !!t && ("number" == typeof t ? t : this.computeRowLevelLimit(e))) && this.limitRow(e, i);
                                             }),
                                             (e.prototype.computeRowLevelLimit = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       o = this.rowEls.eq(t).height(),
                                                       a = this.eventRenderer.rowStructs[t].tbodyEl.children();
                                                  function s(t, e) {
                                                       n = Math.max(n, r(e).outerHeight());
                                                  }
                                                  for (e = 0; e < a.length; e++) if (((i = a.eq(e).removeClass("fc-limited")), (n = 0), i.find("> td > :first-child").each(s), i.position().top + n > o)) return e;
                                                  return !1;
                                             }),
                                             (e.prototype.limitRow = function (t, e) {
                                                  var i,
                                                       n,
                                                       o,
                                                       a,
                                                       s,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       d,
                                                       p,
                                                       f,
                                                       m,
                                                       g,
                                                       v,
                                                       y = this,
                                                       b = this.eventRenderer.rowStructs[t],
                                                       _ = [],
                                                       x = 0,
                                                       w = function (i) {
                                                            for (; x < i; ) (l = y.getCellSegs(t, x, e)).length && ((h = n[e - 1][x]), (v = y.renderMoreLink(t, x, l)), (g = r("<div>").append(v)), h.append(g), _.push(g[0])), x++;
                                                       };
                                                  if (e && e < b.segLevels.length) {
                                                       for (i = b.segLevels[e - 1], n = b.cellMatrix, o = b.tbodyEl.children().slice(e).addClass("fc-limited").get(), a = 0; a < i.length; a++) {
                                                            for (w((s = i[a]).leftCol), u = [], c = 0; x <= s.rightCol; ) (l = this.getCellSegs(t, x, e)), u.push(l), (c += l.length), x++;
                                                            if (c) {
                                                                 for (d = (h = n[e - 1][s.leftCol]).attr("rowspan") || 1, p = [], f = 0; f < u.length; f++)
                                                                      (m = r('<td class="fc-more-cell">').attr("rowspan", d)),
                                                                           (l = u[f]),
                                                                           (v = this.renderMoreLink(t, s.leftCol + f, [s].concat(l))),
                                                                           (g = r("<div>").append(v)),
                                                                           m.append(g),
                                                                           p.push(m[0]),
                                                                           _.push(m[0]);
                                                                 h.addClass("fc-limited").after(r(p)), o.push(h[0]);
                                                            }
                                                       }
                                                       w(this.colCnt), (b.moreEls = r(_)), (b.limitedEls = r(o));
                                                  }
                                             }),
                                             (e.prototype.unlimitRow = function (t) {
                                                  var e = this.eventRenderer.rowStructs[t];
                                                  e.moreEls && (e.moreEls.remove(), (e.moreEls = null)), e.limitedEls && (e.limitedEls.removeClass("fc-limited"), (e.limitedEls = null));
                                             }),
                                             (e.prototype.renderMoreLink = function (t, e, i) {
                                                  var n = this,
                                                       o = this.view;
                                                  return r('<a class="fc-more">')
                                                       .text(this.getMoreLinkText(i.length))
                                                       .on("click", function (a) {
                                                            var s = n.opt("eventLimitClick"),
                                                                 l = n.getCellDate(t, e),
                                                                 c = r(a.currentTarget),
                                                                 u = n.getCellEl(t, e),
                                                                 h = n.getCellSegs(t, e),
                                                                 d = n.resliceDaySegs(h, l),
                                                                 p = n.resliceDaySegs(i, l);
                                                            "function" == typeof s && (s = n.publiclyTrigger("eventLimitClick", { context: o, args: [{ date: l.clone(), dayEl: u, moreEl: c, segs: d, hiddenSegs: p }, a, o] })),
                                                                 "popover" === s ? n.showSegPopover(t, e, c, d) : "string" == typeof s && o.calendar.zoomTo(l, s);
                                                       });
                                             }),
                                             (e.prototype.showSegPopover = function (t, e, i, n) {
                                                  var r,
                                                       o,
                                                       a = this,
                                                       l = this.view,
                                                       c = i.parent();
                                                  (r = 1 === this.rowCnt ? l.el : this.rowEls.eq(t)),
                                                       (o = {
                                                            className: "fc-more-popover " + l.calendar.theme.getClass("popover"),
                                                            content: this.renderSegPopoverContent(t, e, n),
                                                            parentEl: l.el,
                                                            top: r.offset().top,
                                                            autoHide: !0,
                                                            viewportConstrain: this.opt("popoverViewportConstrain"),
                                                            hide: function () {
                                                                 a.popoverSegs && a.triggerBeforeEventSegsDestroyed(a.popoverSegs), a.segPopover.removeElement(), (a.segPopover = null), (a.popoverSegs = null);
                                                            },
                                                       }),
                                                       this.isRTL ? (o.right = c.offset().left + c.outerWidth() + 1) : (o.left = c.offset().left - 1),
                                                       (this.segPopover = new s.default(o)),
                                                       this.segPopover.show(),
                                                       this.bindAllSegHandlersToEl(this.segPopover.el),
                                                       this.triggerAfterEventSegsRendered(n);
                                             }),
                                             (e.prototype.renderSegPopoverContent = function (t, e, i) {
                                                  var n,
                                                       a = this.view.calendar.theme,
                                                       s = this.getCellDate(t, e).format(this.opt("dayPopoverFormat")),
                                                       l = r(
                                                            '<div class="fc-header ' +
                                                                 a.getClass("popoverHeader") +
                                                                 '"><span class="fc-close ' +
                                                                 a.getIconClass("close") +
                                                                 '"></span><span class="fc-title">' +
                                                                 o.htmlEscape(s) +
                                                                 '</span><div class="fc-clear"></div></div><div class="fc-body ' +
                                                                 a.getClass("popoverContent") +
                                                                 '"><div class="fc-event-container"></div></div>'
                                                       ),
                                                       c = l.find(".fc-event-container");
                                                  for (i = this.eventRenderer.renderFgSegEls(i, !0), this.popoverSegs = i, n = 0; n < i.length; n++)
                                                       this.hitsNeeded(), (i[n].hit = this.getCellHit(t, e)), this.hitsNotNeeded(), c.append(i[n].el);
                                                  return l;
                                             }),
                                             (e.prototype.resliceDaySegs = function (t, e) {
                                                  var i,
                                                       n,
                                                       o,
                                                       a = e.clone(),
                                                       s = a.clone().add(1, "days"),
                                                       h = new l.default(a, s),
                                                       d = [];
                                                  for (i = 0; i < t.length; i++)
                                                       (o = (n = t[i]).footprint.componentFootprint.unzonedRange.intersect(h)) &&
                                                            d.push(
                                                                 r.extend({}, n, {
                                                                      footprint: new u.default(new c.default(o, n.footprint.componentFootprint.isAllDay), n.footprint.eventDef, n.footprint.eventInstance),
                                                                      isStart: n.isStart && o.isStart,
                                                                      isEnd: n.isEnd && o.isEnd,
                                                                 })
                                                            );
                                                  return this.eventRenderer.sortEventSegs(d), d;
                                             }),
                                             (e.prototype.getMoreLinkText = function (t) {
                                                  var e = this.opt("eventLimitText");
                                                  return "function" == typeof e ? e(t) : "+" + t + " " + e;
                                             }),
                                             (e.prototype.getCellSegs = function (t, e, i) {
                                                  for (var n, r = this.eventRenderer.rowStructs[t].segMatrix, o = i || 0, a = []; o < r.length; ) (n = r[o][e]) && a.push(n), o++;
                                                  return a;
                                             }),
                                             e
                                        );
                                   })(p.default);
                              (e.default = y),
                                   (y.prototype.eventRendererClass = m.default),
                                   (y.prototype.businessHourRendererClass = h.default),
                                   (y.prototype.helperRendererClass = g.default),
                                   (y.prototype.fillRendererClass = v.default),
                                   d.default.mixInto(y),
                                   f.default.mixInto(y);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(4),
                                   a = i(41),
                                   s = i(43),
                                   l = i(68),
                                   c = i(66),
                                   u = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this, e, i) || this;
                                             return (
                                                  (n.dayGrid = n.instantiateDayGrid()),
                                                  (n.dayGrid.isRigid = n.hasRigidRows()),
                                                  n.opt("weekNumbers") &&
                                                       (n.opt("weekNumbersWithinDays")
                                                            ? ((n.dayGrid.cellWeekNumbersVisible = !0), (n.dayGrid.colWeekNumbersVisible = !1))
                                                            : ((n.dayGrid.cellWeekNumbersVisible = !1), (n.dayGrid.colWeekNumbersVisible = !0))),
                                                  n.addChild(n.dayGrid),
                                                  (n.scroller = new a.default({ overflowX: "hidden", overflowY: "auto" })),
                                                  n
                                             );
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.instantiateDayGrid = function () {
                                                  return new ((function (t) {
                                                       function e() {
                                                            var e = (null !== t && t.apply(this, arguments)) || this;
                                                            return (e.colWeekNumbersVisible = !1), e;
                                                       }
                                                       return (
                                                            n.__extends(e, t),
                                                            (e.prototype.renderHeadIntroHtml = function () {
                                                                 var t = this.view;
                                                                 return this.colWeekNumbersVisible
                                                                      ? '<th class="fc-week-number ' +
                                                                             t.calendar.theme.getClass("widgetHeader") +
                                                                             '" ' +
                                                                             t.weekNumberStyleAttr() +
                                                                             "><span>" +
                                                                             o.htmlEscape(this.opt("weekNumberTitle")) +
                                                                             "</span></th>"
                                                                      : "";
                                                            }),
                                                            (e.prototype.renderNumberIntroHtml = function (t) {
                                                                 var e = this.view,
                                                                      i = this.getCellDate(t, 0);
                                                                 return this.colWeekNumbersVisible
                                                                      ? '<td class="fc-week-number" ' + e.weekNumberStyleAttr() + ">" + e.buildGotoAnchorHtml({ date: i, type: "week", forceOff: 1 === this.colCnt }, i.format("w")) + "</td>"
                                                                      : "";
                                                            }),
                                                            (e.prototype.renderBgIntroHtml = function () {
                                                                 var t = this.view;
                                                                 return this.colWeekNumbersVisible ? '<td class="fc-week-number ' + t.calendar.theme.getClass("widgetContent") + '" ' + t.weekNumberStyleAttr() + "></td>" : "";
                                                            }),
                                                            (e.prototype.renderIntroHtml = function () {
                                                                 var t = this.view;
                                                                 return this.colWeekNumbersVisible ? '<td class="fc-week-number" ' + t.weekNumberStyleAttr() + "></td>" : "";
                                                            }),
                                                            (e.prototype.getIsNumbersVisible = function () {
                                                                 return c.default.prototype.getIsNumbersVisible.apply(this, arguments) || this.colWeekNumbersVisible;
                                                            }),
                                                            e
                                                       );
                                                  })(this.dayGridClass))(this);
                                             }),
                                             (e.prototype.executeDateRender = function (e) {
                                                  (this.dayGrid.breakOnWeeks = /year|month|week/.test(e.currentRangeUnit)), t.prototype.executeDateRender.call(this, e);
                                             }),
                                             (e.prototype.renderSkeleton = function () {
                                                  var t, e;
                                                  this.el.addClass("fc-basic-view").html(this.renderSkeletonHtml()),
                                                       this.scroller.render(),
                                                       (t = this.scroller.el.addClass("fc-day-grid-container")),
                                                       (e = r('<div class="fc-day-grid">').appendTo(t)),
                                                       this.el.find(".fc-body > tr > td").append(t),
                                                       (this.dayGrid.headContainerEl = this.el.find(".fc-head-container")),
                                                       this.dayGrid.setElement(e);
                                             }),
                                             (e.prototype.unrenderSkeleton = function () {
                                                  this.dayGrid.removeElement(), this.scroller.destroy();
                                             }),
                                             (e.prototype.renderSkeletonHtml = function () {
                                                  var t = this.calendar.theme;
                                                  return (
                                                       '<table class="' +
                                                       t.getClass("tableGrid") +
                                                       '">' +
                                                       (this.opt("columnHeader") ? '<thead class="fc-head"><tr><td class="fc-head-container ' + t.getClass("widgetHeader") + '">&nbsp;</td></tr></thead>' : "") +
                                                       '<tbody class="fc-body"><tr><td class="' +
                                                       t.getClass("widgetContent") +
                                                       '"></td></tr></tbody></table>'
                                                  );
                                             }),
                                             (e.prototype.weekNumberStyleAttr = function () {
                                                  return null != this.weekNumberWidth ? 'style="width:' + this.weekNumberWidth + 'px"' : "";
                                             }),
                                             (e.prototype.hasRigidRows = function () {
                                                  var t = this.opt("eventLimit");
                                                  return t && "number" != typeof t;
                                             }),
                                             (e.prototype.updateSize = function (e, i, n) {
                                                  var r,
                                                       a,
                                                       s = this.opt("eventLimit"),
                                                       l = this.dayGrid.headContainerEl.find(".fc-row");
                                                  this.dayGrid.rowEls
                                                       ? (t.prototype.updateSize.call(this, e, i, n),
                                                         this.dayGrid.colWeekNumbersVisible && (this.weekNumberWidth = o.matchCellWidths(this.el.find(".fc-week-number"))),
                                                         this.scroller.clear(),
                                                         o.uncompensateScroll(l),
                                                         this.dayGrid.removeSegPopover(),
                                                         s && "number" == typeof s && this.dayGrid.limitRows(s),
                                                         (r = this.computeScrollerHeight(e)),
                                                         this.setGridHeight(r, i),
                                                         s && "number" != typeof s && this.dayGrid.limitRows(s),
                                                         i ||
                                                              (this.scroller.setHeight(r),
                                                              ((a = this.scroller.getScrollbarWidths()).left || a.right) && (o.compensateScroll(l, a), (r = this.computeScrollerHeight(e)), this.scroller.setHeight(r)),
                                                              this.scroller.lockOverflow(a)))
                                                       : i || ((r = this.computeScrollerHeight(e)), this.scroller.setHeight(r));
                                             }),
                                             (e.prototype.computeScrollerHeight = function (t) {
                                                  return t - o.subtractInnerElHeight(this.el, this.scroller.el);
                                             }),
                                             (e.prototype.setGridHeight = function (t, e) {
                                                  e ? o.undistributeHeight(this.dayGrid.rowEls) : o.distributeHeight(this.dayGrid.rowEls, t, !0);
                                             }),
                                             (e.prototype.computeInitialDateScroll = function () {
                                                  return { top: 0 };
                                             }),
                                             (e.prototype.queryDateScroll = function () {
                                                  return { top: this.scroller.getScrollTop() };
                                             }),
                                             (e.prototype.applyDateScroll = function (t) {
                                                  void 0 !== t.top && this.scroller.setScrollTop(t.top);
                                             }),
                                             e
                                        );
                                   })(s.default);
                              (e.default = u), (u.prototype.dateProfileGeneratorClass = l.default), (u.prototype.dayGridClass = c.default);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(5),
                                   o = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.buildRenderRange = function (e, i, n) {
                                                  var o = t.prototype.buildRenderRange.call(this, e, i, n),
                                                       a = this.msToUtcMoment(o.startMs, n),
                                                       s = this.msToUtcMoment(o.endMs, n);
                                                  return /^(year|month)$/.test(i) && (a.startOf("week"), s.weekday() && s.add(1, "week").startOf("week")), new r.default(a, s);
                                             }),
                                             e
                                        );
                                   })(i(55).default);
                              e.default = o;
                         },
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         ,
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(5),
                                   r = i(12),
                                   o = i(36),
                                   a = i(6),
                                   s = i(19),
                                   l = (function () {
                                        function t(t, e) {
                                             (this.eventManager = t), (this._calendar = e);
                                        }
                                        return (
                                             (t.prototype.opt = function (t) {
                                                  return this._calendar.opt(t);
                                             }),
                                             (t.prototype.isEventInstanceGroupAllowed = function (t) {
                                                  var e,
                                                       i = t.getEventDef(),
                                                       n = this.eventRangesToEventFootprints(t.getAllEventRanges()),
                                                       r = this.getPeerEventInstances(i).map(s.eventInstanceToEventRange),
                                                       o = this.eventRangesToEventFootprints(r),
                                                       a = i.getConstraint(),
                                                       l = i.getOverlap(),
                                                       c = this.opt("eventAllow");
                                                  for (e = 0; e < n.length; e++) if (!this.isFootprintAllowed(n[e].componentFootprint, o, a, l, n[e].eventInstance)) return !1;
                                                  if (c) for (e = 0; e < n.length; e++) if (!1 === c(n[e].componentFootprint.toLegacy(this._calendar), n[e].getEventLegacy())) return !1;
                                                  return !0;
                                             }),
                                             (t.prototype.getPeerEventInstances = function (t) {
                                                  return this.eventManager.getEventInstancesWithoutId(t.id);
                                             }),
                                             (t.prototype.isSelectionFootprintAllowed = function (t) {
                                                  var e,
                                                       i = this.eventManager.getEventInstances().map(s.eventInstanceToEventRange),
                                                       n = this.eventRangesToEventFootprints(i);
                                                  return !(!this.isFootprintAllowed(t, n, this.opt("selectConstraint"), this.opt("selectOverlap")) || ((e = this.opt("selectAllow")) && !1 === e(t.toLegacy(this._calendar))));
                                             }),
                                             (t.prototype.isFootprintAllowed = function (t, e, i, n, r) {
                                                  var o, a;
                                                  if (null != i && ((o = this.constraintValToFootprints(i, t.isAllDay)), !this.isFootprintWithinConstraints(t, o))) return !1;
                                                  if (((a = this.collectOverlapEventFootprints(e, t)), !1 === n)) {
                                                       if (a.length) return !1;
                                                  } else if (
                                                       "function" == typeof n &&
                                                       !(function (t, e, i) {
                                                            var n;
                                                            for (n = 0; n < t.length; n++) if (!e(t[n].eventInstance.toLegacy(), i ? i.toLegacy() : null)) return !1;
                                                            return !0;
                                                       })(a, n, r)
                                                  )
                                                       return !1;
                                                  return !(
                                                       r &&
                                                       !(function (t, e) {
                                                            var i,
                                                                 n,
                                                                 r,
                                                                 o,
                                                                 a = e.toLegacy();
                                                            for (i = 0; i < t.length; i++) {
                                                                 if (((n = t[i].eventInstance), (r = n.def), !1 === (o = r.getOverlap()))) return !1;
                                                                 if ("function" == typeof o && !o(n.toLegacy(), a)) return !1;
                                                            }
                                                            return !0;
                                                       })(a, r)
                                                  );
                                             }),
                                             (t.prototype.isFootprintWithinConstraints = function (t, e) {
                                                  var i;
                                                  for (i = 0; i < e.length; i++) if (this.footprintContainsFootprint(e[i], t)) return !0;
                                                  return !1;
                                             }),
                                             (t.prototype.constraintValToFootprints = function (t, e) {
                                                  var i;
                                                  return "businessHours" === t
                                                       ? this.buildCurrentBusinessFootprints(e)
                                                       : "object" == typeof t
                                                       ? (i = this.parseEventDefToInstances(t))
                                                            ? this.eventInstancesToFootprints(i)
                                                            : this.parseFootprints(t)
                                                       : null != t
                                                       ? ((i = this.eventManager.getEventInstancesWithId(t)), this.eventInstancesToFootprints(i))
                                                       : void 0;
                                             }),
                                             (t.prototype.buildCurrentBusinessFootprints = function (t) {
                                                  var e = this._calendar.view,
                                                       i = e.get("businessHourGenerator"),
                                                       n = e.dateProfile.activeUnzonedRange,
                                                       r = i.buildEventInstanceGroup(t, n);
                                                  return r ? this.eventInstancesToFootprints(r.eventInstances) : [];
                                             }),
                                             (t.prototype.eventInstancesToFootprints = function (t) {
                                                  var e = t.map(s.eventInstanceToEventRange);
                                                  return this.eventRangesToEventFootprints(e).map(s.eventFootprintToComponentFootprint);
                                             }),
                                             (t.prototype.collectOverlapEventFootprints = function (t, e) {
                                                  var i,
                                                       n = [];
                                                  for (i = 0; i < t.length; i++) this.footprintsIntersect(e, t[i].componentFootprint) && n.push(t[i]);
                                                  return n;
                                             }),
                                             (t.prototype.parseEventDefToInstances = function (t) {
                                                  var e = this.eventManager,
                                                       i = o.default.parse(t, new a.default(this._calendar));
                                                  return !!i && i.buildInstances(e.currentPeriod.unzonedRange);
                                             }),
                                             (t.prototype.eventRangesToEventFootprints = function (t) {
                                                  var e,
                                                       i = [];
                                                  for (e = 0; e < t.length; e++) i.push.apply(i, this.eventRangeToEventFootprints(t[e]));
                                                  return i;
                                             }),
                                             (t.prototype.eventRangeToEventFootprints = function (t) {
                                                  return [s.eventRangeToEventFootprint(t)];
                                             }),
                                             (t.prototype.parseFootprints = function (t) {
                                                  var e, i;
                                                  return (
                                                       t.start && ((e = this._calendar.moment(t.start)).isValid() || (e = null)),
                                                       t.end && ((i = this._calendar.moment(t.end)).isValid() || (i = null)),
                                                       [new r.default(new n.default(e, i), (e && !e.hasTime()) || (i && !i.hasTime()))]
                                                  );
                                             }),
                                             (t.prototype.footprintContainsFootprint = function (t, e) {
                                                  return t.unzonedRange.containsRange(e.unzonedRange);
                                             }),
                                             (t.prototype.footprintsIntersect = function (t, e) {
                                                  return t.unzonedRange.intersectsWith(e.unzonedRange);
                                             }),
                                             t
                                        );
                                   })();
                              e.default = l;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(19),
                                   o = i(20),
                                   a = i(54),
                                   s = i(6),
                                   l = { start: "09:00", end: "17:00", dow: [1, 2, 3, 4, 5], rendering: "inverse-background" },
                                   c = (function () {
                                        function t(t, e) {
                                             (this.rawComplexDef = t), (this.calendar = e);
                                        }
                                        return (
                                             (t.prototype.buildEventInstanceGroup = function (t, e) {
                                                  var i,
                                                       n = this.buildEventDefs(t);
                                                  if (n.length) return ((i = new o.default(r.eventDefsToEventInstances(n, e))).explicitEventDef = n[0]), i;
                                             }),
                                             (t.prototype.buildEventDefs = function (t) {
                                                  var e,
                                                       i = this.rawComplexDef,
                                                       r = [],
                                                       o = !1,
                                                       a = [];
                                                  for (!0 === i ? (r = [{}]) : n.isPlainObject(i) ? (r = [i]) : n.isArray(i) && ((r = i), (o = !0)), e = 0; e < r.length; e++) (o && !r[e].dow) || a.push(this.buildEventDef(t, r[e]));
                                                  return a;
                                             }),
                                             (t.prototype.buildEventDef = function (t, e) {
                                                  var i = n.extend({}, l, e);
                                                  return t && ((i.start = null), (i.end = null)), a.default.parse(i, new s.default(this.calendar));
                                             }),
                                             t
                                        );
                                   })();
                              e.default = c;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(4),
                                   o = i(21),
                                   a = i(13),
                                   s = i(5),
                                   l = i(20),
                                   c = (function () {
                                        function t(t, e, i) {
                                             (this.pendingCnt = 0),
                                                  (this.freezeDepth = 0),
                                                  (this.stuntedReleaseCnt = 0),
                                                  (this.releaseCnt = 0),
                                                  (this.start = t),
                                                  (this.end = e),
                                                  (this.timezone = i),
                                                  (this.unzonedRange = new s.default(t.clone().stripZone(), e.clone().stripZone())),
                                                  (this.requestsByUid = {}),
                                                  (this.eventDefsByUid = {}),
                                                  (this.eventDefsById = {}),
                                                  (this.eventInstanceGroupsById = {});
                                        }
                                        return (
                                             (t.prototype.isWithinRange = function (t, e) {
                                                  return !t.isBefore(this.start) && !e.isAfter(this.end);
                                             }),
                                             (t.prototype.requestSources = function (t) {
                                                  this.freeze();
                                                  for (var e = 0; e < t.length; e++) this.requestSource(t[e]);
                                                  this.thaw();
                                             }),
                                             (t.prototype.requestSource = function (t) {
                                                  var e = this,
                                                       i = { source: t, status: "pending", eventDefs: null };
                                                  (this.requestsByUid[t.uid] = i),
                                                       (this.pendingCnt += 1),
                                                       t.fetch(this.start, this.end, this.timezone).then(
                                                            function (t) {
                                                                 "cancelled" !== i.status && ((i.status = "completed"), (i.eventDefs = t), e.addEventDefs(t), e.pendingCnt--, e.tryRelease());
                                                            },
                                                            function () {
                                                                 "cancelled" !== i.status && ((i.status = "failed"), e.pendingCnt--, e.tryRelease());
                                                            }
                                                       );
                                             }),
                                             (t.prototype.purgeSource = function (t) {
                                                  var e = this.requestsByUid[t.uid];
                                                  e &&
                                                       (delete this.requestsByUid[t.uid],
                                                       "pending" === e.status ? ((e.status = "cancelled"), this.pendingCnt--, this.tryRelease()) : "completed" === e.status && e.eventDefs.forEach(this.removeEventDef.bind(this)));
                                             }),
                                             (t.prototype.purgeAllSources = function () {
                                                  var t,
                                                       e,
                                                       i = this.requestsByUid,
                                                       n = 0;
                                                  for (t in i) "pending" === (e = i[t]).status ? (e.status = "cancelled") : "completed" === e.status && n++;
                                                  (this.requestsByUid = {}), (this.pendingCnt = 0), n && this.removeAllEventDefs();
                                             }),
                                             (t.prototype.getEventDefByUid = function (t) {
                                                  return this.eventDefsByUid[t];
                                             }),
                                             (t.prototype.getEventDefsById = function (t) {
                                                  var e = this.eventDefsById[t];
                                                  return e ? e.slice() : [];
                                             }),
                                             (t.prototype.addEventDefs = function (t) {
                                                  for (var e = 0; e < t.length; e++) this.addEventDef(t[e]);
                                             }),
                                             (t.prototype.addEventDef = function (t) {
                                                  var e,
                                                       i = this.eventDefsById,
                                                       n = t.id,
                                                       r = i[n] || (i[n] = []),
                                                       o = t.buildInstances(this.unzonedRange);
                                                  for (r.push(t), this.eventDefsByUid[t.uid] = t, e = 0; e < o.length; e++) this.addEventInstance(o[e], n);
                                             }),
                                             (t.prototype.removeEventDefsById = function (t) {
                                                  var e = this;
                                                  this.getEventDefsById(t).forEach(function (t) {
                                                       e.removeEventDef(t);
                                                  });
                                             }),
                                             (t.prototype.removeAllEventDefs = function () {
                                                  var t = n.isEmptyObject(this.eventDefsByUid);
                                                  (this.eventDefsByUid = {}), (this.eventDefsById = {}), (this.eventInstanceGroupsById = {}), t || this.tryRelease();
                                             }),
                                             (t.prototype.removeEventDef = function (t) {
                                                  var e = this.eventDefsById,
                                                       i = e[t.id];
                                                  delete this.eventDefsByUid[t.uid], i && (r.removeExact(i, t), i.length || delete e[t.id], this.removeEventInstancesForDef(t));
                                             }),
                                             (t.prototype.getEventInstances = function () {
                                                  var t,
                                                       e = this.eventInstanceGroupsById,
                                                       i = [];
                                                  for (t in e) i.push.apply(i, e[t].eventInstances);
                                                  return i;
                                             }),
                                             (t.prototype.getEventInstancesWithId = function (t) {
                                                  var e = this.eventInstanceGroupsById[t];
                                                  return e ? e.eventInstances.slice() : [];
                                             }),
                                             (t.prototype.getEventInstancesWithoutId = function (t) {
                                                  var e,
                                                       i = this.eventInstanceGroupsById,
                                                       n = [];
                                                  for (e in i) e !== t && n.push.apply(n, i[e].eventInstances);
                                                  return n;
                                             }),
                                             (t.prototype.addEventInstance = function (t, e) {
                                                  var i = this.eventInstanceGroupsById;
                                                  (i[e] || (i[e] = new l.default())).eventInstances.push(t), this.tryRelease();
                                             }),
                                             (t.prototype.removeEventInstancesForDef = function (t) {
                                                  var e,
                                                       i = this.eventInstanceGroupsById,
                                                       n = i[t.id];
                                                  n &&
                                                       ((e = r.removeMatching(n.eventInstances, function (e) {
                                                            return e.def === t;
                                                       })),
                                                       n.eventInstances.length || delete i[t.id],
                                                       e && this.tryRelease());
                                             }),
                                             (t.prototype.tryRelease = function () {
                                                  this.pendingCnt || (this.freezeDepth ? this.stuntedReleaseCnt++ : this.release());
                                             }),
                                             (t.prototype.release = function () {
                                                  this.releaseCnt++, this.trigger("release", this.eventInstanceGroupsById);
                                             }),
                                             (t.prototype.whenReleased = function () {
                                                  var t = this;
                                                  return this.releaseCnt
                                                       ? o.default.resolve(this.eventInstanceGroupsById)
                                                       : o.default.construct(function (e) {
                                                              t.one("release", e);
                                                         });
                                             }),
                                             (t.prototype.freeze = function () {
                                                  this.freezeDepth++ || (this.stuntedReleaseCnt = 0);
                                             }),
                                             (t.prototype.thaw = function () {
                                                  --this.freezeDepth || !this.stuntedReleaseCnt || this.pendingCnt || this.release();
                                             }),
                                             t
                                        );
                                   })();
                              (e.default = c), a.default.mixInto(c);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(4),
                                   o = i(219),
                                   a = i(56),
                                   s = i(6),
                                   l = i(38),
                                   c = i(9),
                                   u = i(20),
                                   h = i(13),
                                   d = i(7),
                                   p = (function () {
                                        function t(t) {
                                             (this.calendar = t), (this.stickySource = new a.default(t)), (this.otherSources = []);
                                        }
                                        return (
                                             (t.prototype.requestEvents = function (t, e, i, n) {
                                                  return (!n && this.currentPeriod && this.currentPeriod.isWithinRange(t, e) && i === this.currentPeriod.timezone) || this.setPeriod(new o.default(t, e, i)), this.currentPeriod.whenReleased();
                                             }),
                                             (t.prototype.addSource = function (t) {
                                                  this.otherSources.push(t), this.currentPeriod && this.currentPeriod.requestSource(t);
                                             }),
                                             (t.prototype.removeSource = function (t) {
                                                  r.removeExact(this.otherSources, t), this.currentPeriod && this.currentPeriod.purgeSource(t);
                                             }),
                                             (t.prototype.removeAllSources = function () {
                                                  (this.otherSources = []), this.currentPeriod && this.currentPeriod.purgeAllSources();
                                             }),
                                             (t.prototype.refetchSource = function (t) {
                                                  var e = this.currentPeriod;
                                                  e && (e.freeze(), e.purgeSource(t), e.requestSource(t), e.thaw());
                                             }),
                                             (t.prototype.refetchAllSources = function () {
                                                  var t = this.currentPeriod;
                                                  t && (t.freeze(), t.purgeAllSources(), t.requestSources(this.getSources()), t.thaw());
                                             }),
                                             (t.prototype.getSources = function () {
                                                  return [this.stickySource].concat(this.otherSources);
                                             }),
                                             (t.prototype.multiQuerySources = function (t) {
                                                  t ? n.isArray(t) || (t = [t]) : (t = []);
                                                  var e,
                                                       i = [];
                                                  for (e = 0; e < t.length; e++) i.push.apply(i, this.querySources(t[e]));
                                                  return i;
                                             }),
                                             (t.prototype.querySources = function (t) {
                                                  var e,
                                                       i,
                                                       r = this.otherSources;
                                                  for (e = 0; e < r.length; e++) if ((i = r[e]) === t) return [i];
                                                  return (i = this.getSourceById(s.default.normalizeId(t)))
                                                       ? [i]
                                                       : (t = l.default.parse(t, this.calendar))
                                                       ? n.grep(r, function (e) {
                                                              return (i = e), t.getPrimitive() === i.getPrimitive();
                                                              var i;
                                                         })
                                                       : void 0;
                                             }),
                                             (t.prototype.getSourceById = function (t) {
                                                  return n.grep(this.otherSources, function (e) {
                                                       return e.id && e.id === t;
                                                  })[0];
                                             }),
                                             (t.prototype.setPeriod = function (t) {
                                                  this.currentPeriod && (this.unbindPeriod(this.currentPeriod), (this.currentPeriod = null)), (this.currentPeriod = t), this.bindPeriod(t), t.requestSources(this.getSources());
                                             }),
                                             (t.prototype.bindPeriod = function (t) {
                                                  this.listenTo(t, "release", function (t) {
                                                       this.trigger("release", t);
                                                  });
                                             }),
                                             (t.prototype.unbindPeriod = function (t) {
                                                  this.stopListeningTo(t);
                                             }),
                                             (t.prototype.getEventDefByUid = function (t) {
                                                  if (this.currentPeriod) return this.currentPeriod.getEventDefByUid(t);
                                             }),
                                             (t.prototype.addEventDef = function (t, e) {
                                                  e && this.stickySource.addEventDef(t), this.currentPeriod && this.currentPeriod.addEventDef(t);
                                             }),
                                             (t.prototype.removeEventDefsById = function (t) {
                                                  this.getSources().forEach(function (e) {
                                                       e.removeEventDefsById(t);
                                                  }),
                                                       this.currentPeriod && this.currentPeriod.removeEventDefsById(t);
                                             }),
                                             (t.prototype.removeAllEventDefs = function () {
                                                  this.getSources().forEach(function (t) {
                                                       t.removeAllEventDefs();
                                                  }),
                                                       this.currentPeriod && this.currentPeriod.removeAllEventDefs();
                                             }),
                                             (t.prototype.mutateEventsWithId = function (t, e) {
                                                  var i,
                                                       n = this.currentPeriod,
                                                       r = [];
                                                  return n
                                                       ? (n.freeze(),
                                                         (i = n.getEventDefsById(t)).forEach(function (t) {
                                                              n.removeEventDef(t), r.push(e.mutateSingle(t)), n.addEventDef(t);
                                                         }),
                                                         n.thaw(),
                                                         function () {
                                                              n.freeze();
                                                              for (var t = 0; t < i.length; t++) n.removeEventDef(i[t]), r[t](), n.addEventDef(i[t]);
                                                              n.thaw();
                                                         })
                                                       : function () {};
                                             }),
                                             (t.prototype.buildMutatedEventInstanceGroup = function (t, e) {
                                                  var i,
                                                       n,
                                                       r = this.getEventDefsById(t),
                                                       o = [];
                                                  for (i = 0; i < r.length; i++) (n = r[i].clone()) instanceof c.default && (e.mutateSingle(n), o.push.apply(o, n.buildInstances()));
                                                  return new u.default(o);
                                             }),
                                             (t.prototype.freeze = function () {
                                                  this.currentPeriod && this.currentPeriod.freeze();
                                             }),
                                             (t.prototype.thaw = function () {
                                                  this.currentPeriod && this.currentPeriod.thaw();
                                             }),
                                             (t.prototype.getEventDefsById = function (t) {
                                                  return this.currentPeriod.getEventDefsById(t);
                                             }),
                                             (t.prototype.getEventInstances = function () {
                                                  return this.currentPeriod.getEventInstances();
                                             }),
                                             (t.prototype.getEventInstancesWithId = function (t) {
                                                  return this.currentPeriod.getEventInstancesWithId(t);
                                             }),
                                             (t.prototype.getEventInstancesWithoutId = function (t) {
                                                  return this.currentPeriod.getEventInstancesWithoutId(t);
                                             }),
                                             t
                                        );
                                   })();
                              (e.default = p), h.default.mixInto(p), d.default.mixInto(p);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return n.__extends(e, t), e;
                                   })(i(22).default);
                              (e.default = r),
                                   (r.prototype.classes = {
                                        widget: "fc-unthemed",
                                        widgetHeader: "fc-widget-header",
                                        widgetContent: "fc-widget-content",
                                        buttonGroup: "fc-button-group",
                                        button: "fc-button",
                                        cornerLeft: "fc-corner-left",
                                        cornerRight: "fc-corner-right",
                                        stateDefault: "fc-state-default",
                                        stateActive: "fc-state-active",
                                        stateDisabled: "fc-state-disabled",
                                        stateHover: "fc-state-hover",
                                        stateDown: "fc-state-down",
                                        popoverHeader: "fc-widget-header",
                                        popoverContent: "fc-widget-content",
                                        headerRow: "fc-widget-header",
                                        dayRow: "fc-widget-content",
                                        listView: "fc-widget-content",
                                   }),
                                   (r.prototype.baseIconClass = "fc-icon"),
                                   (r.prototype.iconClasses = { close: "fc-icon-x", prev: "fc-icon-left-single-arrow", next: "fc-icon-right-single-arrow", prevYear: "fc-icon-left-double-arrow", nextYear: "fc-icon-right-double-arrow" }),
                                   (r.prototype.iconOverrideOption = "buttonIcons"),
                                   (r.prototype.iconOverrideCustomButtonOption = "icon"),
                                   (r.prototype.iconOverridePrefix = "fc-icon-");
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return n.__extends(e, t), e;
                                   })(i(22).default);
                              (e.default = r),
                                   (r.prototype.classes = {
                                        widget: "ui-widget",
                                        widgetHeader: "ui-widget-header",
                                        widgetContent: "ui-widget-content",
                                        buttonGroup: "fc-button-group",
                                        button: "ui-button",
                                        cornerLeft: "ui-corner-left",
                                        cornerRight: "ui-corner-right",
                                        stateDefault: "ui-state-default",
                                        stateActive: "ui-state-active",
                                        stateDisabled: "ui-state-disabled",
                                        stateHover: "ui-state-hover",
                                        stateDown: "ui-state-down",
                                        today: "ui-state-highlight",
                                        popoverHeader: "ui-widget-header",
                                        popoverContent: "ui-widget-content",
                                        headerRow: "ui-widget-header",
                                        dayRow: "ui-widget-content",
                                        listView: "ui-widget-content",
                                   }),
                                   (r.prototype.baseIconClass = "ui-icon"),
                                   (r.prototype.iconClasses = { close: "ui-icon-closethick", prev: "ui-icon-circle-triangle-w", next: "ui-icon-circle-triangle-e", prevYear: "ui-icon-seek-prev", nextYear: "ui-icon-seek-next" }),
                                   (r.prototype.iconOverrideOption = "themeButtonIcons"),
                                   (r.prototype.iconOverrideCustomButtonOption = "themeIcon"),
                                   (r.prototype.iconOverridePrefix = "ui-icon-");
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(21),
                                   a = i(6),
                                   s = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.parse = function (t, e) {
                                                  var i;
                                                  return r.isFunction(t.events) ? (i = t) : r.isFunction(t) && (i = { events: t }), !!i && a.default.parse.call(this, i, e);
                                             }),
                                             (e.prototype.fetch = function (t, e, i) {
                                                  var n = this;
                                                  return (
                                                       this.calendar.pushLoading(),
                                                       o.default.construct(function (r) {
                                                            n.func.call(n.calendar, t.clone(), e.clone(), i, function (t) {
                                                                 n.calendar.popLoading(), r(n.parseEventDefs(t));
                                                            });
                                                       })
                                                  );
                                             }),
                                             (e.prototype.getPrimitive = function () {
                                                  return this.func;
                                             }),
                                             (e.prototype.applyManualStandardProps = function (e) {
                                                  var i = t.prototype.applyManualStandardProps.call(this, e);
                                                  return (this.func = e.events), i;
                                             }),
                                             e
                                        );
                                   })(a.default);
                              (e.default = s), s.defineStandardProps({ events: !1 });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(4),
                                   a = i(21),
                                   s = i(6),
                                   l = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.parse = function (t, e) {
                                                  var i;
                                                  return "string" == typeof t.url ? (i = t) : "string" == typeof t && (i = { url: t }), !!i && s.default.parse.call(this, i, e);
                                             }),
                                             (e.prototype.fetch = function (t, i, n) {
                                                  var s = this,
                                                       l = this.ajaxSettings,
                                                       c = l.success,
                                                       u = l.error,
                                                       h = this.buildRequestParams(t, i, n);
                                                  return (
                                                       this.calendar.pushLoading(),
                                                       a.default.construct(function (t, i) {
                                                            r.ajax(
                                                                 r.extend({}, e.AJAX_DEFAULTS, l, {
                                                                      url: s.url,
                                                                      data: h,
                                                                      success: function (e, n, a) {
                                                                           var l;
                                                                           s.calendar.popLoading(), e ? ((l = o.applyAll(c, s, [e, n, a])), r.isArray(l) && (e = l), t(s.parseEventDefs(e))) : i();
                                                                      },
                                                                      error: function (t, e, n) {
                                                                           s.calendar.popLoading(), o.applyAll(u, s, [t, e, n]), i();
                                                                      },
                                                                 })
                                                            );
                                                       })
                                                  );
                                             }),
                                             (e.prototype.buildRequestParams = function (t, e, i) {
                                                  var n,
                                                       o,
                                                       a,
                                                       s,
                                                       l = this.calendar,
                                                       c = this.ajaxSettings,
                                                       u = {};
                                                  return (
                                                       null == (n = this.startParam) && (n = l.opt("startParam")),
                                                       null == (o = this.endParam) && (o = l.opt("endParam")),
                                                       null == (a = this.timezoneParam) && (a = l.opt("timezoneParam")),
                                                       (s = r.isFunction(c.data) ? c.data() : c.data || {}),
                                                       r.extend(u, s),
                                                       (u[n] = t.format()),
                                                       (u[o] = e.format()),
                                                       i && "local" !== i && (u[a] = i),
                                                       u
                                                  );
                                             }),
                                             (e.prototype.getPrimitive = function () {
                                                  return this.url;
                                             }),
                                             (e.prototype.applyMiscProps = function (t) {
                                                  this.ajaxSettings = t;
                                             }),
                                             (e.AJAX_DEFAULTS = { dataType: "json", cache: !1 }),
                                             e
                                        );
                                   })(s.default);
                              (e.default = l), l.defineStandardProps({ url: !0, startParam: !0, endParam: !0, timezoneParam: !0 });
                         },
                         function (t, e) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var i = (function () {
                                   function t(t) {
                                        this.items = t || [];
                                   }
                                   return (
                                        (t.prototype.proxyCall = function (t) {
                                             for (var e = [], i = 1; i < arguments.length; i++) e[i - 1] = arguments[i];
                                             var n = [];
                                             return (
                                                  this.items.forEach(function (i) {
                                                       n.push(i[t].apply(i, e));
                                                  }),
                                                  n
                                             );
                                        }),
                                        t
                                   );
                              })();
                              e.default = i;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(4),
                                   o = i(7),
                                   a = (function () {
                                        function t(t, e) {
                                             (this.isFollowing = !1), (this.isHidden = !1), (this.isAnimating = !1), (this.options = e = e || {}), (this.sourceEl = t), (this.parentEl = e.parentEl ? n(e.parentEl) : t.parent());
                                        }
                                        return (
                                             (t.prototype.start = function (t) {
                                                  this.isFollowing ||
                                                       ((this.isFollowing = !0),
                                                       (this.y0 = r.getEvY(t)),
                                                       (this.x0 = r.getEvX(t)),
                                                       (this.topDelta = 0),
                                                       (this.leftDelta = 0),
                                                       this.isHidden || this.updatePosition(),
                                                       r.getEvIsTouch(t) ? this.listenTo(n(document), "touchmove", this.handleMove) : this.listenTo(n(document), "mousemove", this.handleMove));
                                             }),
                                             (t.prototype.stop = function (t, e) {
                                                  var i = this,
                                                       r = this.options.revertDuration,
                                                       o = function () {
                                                            (i.isAnimating = !1), i.removeElement(), (i.top0 = i.left0 = null), e && e();
                                                       };
                                                  this.isFollowing &&
                                                       !this.isAnimating &&
                                                       ((this.isFollowing = !1),
                                                       this.stopListeningTo(n(document)),
                                                       t && r && !this.isHidden ? ((this.isAnimating = !0), this.el.animate({ top: this.top0, left: this.left0 }, { duration: r, complete: o })) : o());
                                             }),
                                             (t.prototype.getEl = function () {
                                                  var t = this.el;
                                                  return (
                                                       t ||
                                                            ((t = this.el = this.sourceEl
                                                                 .clone()
                                                                 .addClass(this.options.additionalClass || "")
                                                                 .css({
                                                                      position: "absolute",
                                                                      visibility: "",
                                                                      display: this.isHidden ? "none" : "",
                                                                      margin: 0,
                                                                      right: "auto",
                                                                      bottom: "auto",
                                                                      width: this.sourceEl.width(),
                                                                      height: this.sourceEl.height(),
                                                                      opacity: this.options.opacity || "",
                                                                      zIndex: this.options.zIndex,
                                                                 })).addClass("fc-unselectable"),
                                                            t.appendTo(this.parentEl)),
                                                       t
                                                  );
                                             }),
                                             (t.prototype.removeElement = function () {
                                                  this.el && (this.el.remove(), (this.el = null));
                                             }),
                                             (t.prototype.updatePosition = function () {
                                                  var t, e;
                                                  this.getEl(),
                                                       null == this.top0 && ((t = this.sourceEl.offset()), (e = this.el.offsetParent().offset()), (this.top0 = t.top - e.top), (this.left0 = t.left - e.left)),
                                                       this.el.css({ top: this.top0 + this.topDelta, left: this.left0 + this.leftDelta });
                                             }),
                                             (t.prototype.handleMove = function (t) {
                                                  (this.topDelta = r.getEvY(t) - this.y0), (this.leftDelta = r.getEvX(t) - this.x0), this.isHidden || this.updatePosition();
                                             }),
                                             (t.prototype.hide = function () {
                                                  this.isHidden || ((this.isHidden = !0), this.el && this.el.hide());
                                             }),
                                             (t.prototype.show = function () {
                                                  this.isHidden && ((this.isHidden = !1), this.updatePosition(), this.getEl().show());
                                             }),
                                             t
                                        );
                                   })();
                              (e.default = a), o.default.mixInto(a);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(4),
                                   o = i(7),
                                   a = (function () {
                                        function t(t) {
                                             (this.isHidden = !0), (this.margin = 10), (this.options = t || {});
                                        }
                                        return (
                                             (t.prototype.show = function () {
                                                  this.isHidden && (this.el || this.render(), this.el.show(), this.position(), (this.isHidden = !1), this.trigger("show"));
                                             }),
                                             (t.prototype.hide = function () {
                                                  this.isHidden || (this.el.hide(), (this.isHidden = !0), this.trigger("hide"));
                                             }),
                                             (t.prototype.render = function () {
                                                  var t = this,
                                                       e = this.options;
                                                  (this.el = n('<div class="fc-popover">')
                                                       .addClass(e.className || "")
                                                       .css({ top: 0, left: 0 })
                                                       .append(e.content)
                                                       .appendTo(e.parentEl)),
                                                       this.el.on("click", ".fc-close", function () {
                                                            t.hide();
                                                       }),
                                                       e.autoHide && this.listenTo(n(document), "mousedown", this.documentMousedown);
                                             }),
                                             (t.prototype.documentMousedown = function (t) {
                                                  this.el && !n(t.target).closest(this.el).length && this.hide();
                                             }),
                                             (t.prototype.removeElement = function () {
                                                  this.hide(), this.el && (this.el.remove(), (this.el = null)), this.stopListeningTo(n(document), "mousedown");
                                             }),
                                             (t.prototype.position = function () {
                                                  var t,
                                                       e,
                                                       i,
                                                       o,
                                                       a,
                                                       s = this.options,
                                                       l = this.el.offsetParent().offset(),
                                                       c = this.el.outerWidth(),
                                                       u = this.el.outerHeight(),
                                                       h = n(window),
                                                       d = r.getScrollParent(this.el);
                                                  (o = s.top || 0),
                                                       (a = void 0 !== s.left ? s.left : void 0 !== s.right ? s.right - c : 0),
                                                       d.is(window) || d.is(document) ? ((d = h), (t = 0), (e = 0)) : ((t = (i = d.offset()).top), (e = i.left)),
                                                       (t += h.scrollTop()),
                                                       (e += h.scrollLeft()),
                                                       !1 !== s.viewportConstrain &&
                                                            ((o = Math.min(o, t + d.outerHeight() - u - this.margin)),
                                                            (o = Math.max(o, t + this.margin)),
                                                            (a = Math.min(a, e + d.outerWidth() - c - this.margin)),
                                                            (a = Math.max(a, e + this.margin))),
                                                       this.el.css({ top: o - l.top, left: a - l.left });
                                             }),
                                             (t.prototype.trigger = function (t) {
                                                  this.options[t] && this.options[t].apply(this, Array.prototype.slice.call(arguments, 1));
                                             }),
                                             t
                                        );
                                   })();
                              (e.default = a), o.default.mixInto(a);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(13),
                                   r = (function () {
                                        function t() {
                                             (this.q = []), (this.isPaused = !1), (this.isRunning = !1);
                                        }
                                        return (
                                             (t.prototype.queue = function () {
                                                  for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                                                  this.q.push.apply(this.q, t), this.tryStart();
                                             }),
                                             (t.prototype.pause = function () {
                                                  this.isPaused = !0;
                                             }),
                                             (t.prototype.resume = function () {
                                                  (this.isPaused = !1), this.tryStart();
                                             }),
                                             (t.prototype.getIsIdle = function () {
                                                  return !this.isRunning && !this.isPaused;
                                             }),
                                             (t.prototype.tryStart = function () {
                                                  !this.isRunning && this.canRunNext() && ((this.isRunning = !0), this.trigger("start"), this.runRemaining());
                                             }),
                                             (t.prototype.canRunNext = function () {
                                                  return !this.isPaused && this.q.length;
                                             }),
                                             (t.prototype.runRemaining = function () {
                                                  var t,
                                                       e,
                                                       i = this;
                                                  do {
                                                       if (((t = this.q.shift()), (e = this.runTask(t)) && e.then))
                                                            return void e.then(function () {
                                                                 i.canRunNext() && i.runRemaining();
                                                            });
                                                  } while (this.canRunNext());
                                                  this.trigger("stop"), (this.isRunning = !1), this.tryStart();
                                             }),
                                             (t.prototype.runTask = function (t) {
                                                  return t();
                                             }),
                                             t
                                        );
                                   })();
                              (e.default = r), n.default.mixInto(r);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = (function (t) {
                                        function e(e) {
                                             var i = t.call(this) || this;
                                             return (i.waitsByNamespace = e || {}), i;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.queue = function (t, e, i) {
                                                  var n,
                                                       r = { func: t, namespace: e, type: i };
                                                  e && (n = this.waitsByNamespace[e]),
                                                       this.waitNamespace && (e === this.waitNamespace && null != n ? this.delayWait(n) : (this.clearWait(), this.tryStart())),
                                                       this.compoundTask(r) && (this.waitNamespace || null == n ? this.tryStart() : this.startWait(e, n));
                                             }),
                                             (e.prototype.startWait = function (t, e) {
                                                  (this.waitNamespace = t), this.spawnWait(e);
                                             }),
                                             (e.prototype.delayWait = function (t) {
                                                  clearTimeout(this.waitId), this.spawnWait(t);
                                             }),
                                             (e.prototype.spawnWait = function (t) {
                                                  var e = this;
                                                  this.waitId = setTimeout(function () {
                                                       (e.waitNamespace = null), e.tryStart();
                                                  }, t);
                                             }),
                                             (e.prototype.clearWait = function () {
                                                  this.waitNamespace && (clearTimeout(this.waitId), (this.waitId = null), (this.waitNamespace = null));
                                             }),
                                             (e.prototype.canRunNext = function () {
                                                  if (!t.prototype.canRunNext.call(this)) return !1;
                                                  if (this.waitNamespace) {
                                                       for (var e = this.q, i = 0; i < e.length; i++) if (e[i].namespace !== this.waitNamespace) return !0;
                                                       return !1;
                                                  }
                                                  return !0;
                                             }),
                                             (e.prototype.runTask = function (t) {
                                                  t.func();
                                             }),
                                             (e.prototype.compoundTask = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.q,
                                                       r = !0;
                                                  if (t.namespace && "destroy" === t.type)
                                                       for (e = n.length - 1; e >= 0; e--)
                                                            if ((i = n[e]).namespace === t.namespace)
                                                                 switch (i.type) {
                                                                      case "init":
                                                                           r = !1;
                                                                      case "add":
                                                                      case "remove":
                                                                           n.splice(e, 1);
                                                                 }
                                                  return r && n.push(t), r;
                                             }),
                                             e
                                        );
                                   })(i(228).default);
                              e.default = r;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.setElement = function (t) {
                                                  (this.el = t), this.bindGlobalHandlers(), this.renderSkeleton(), this.set("isInDom", !0);
                                             }),
                                             (e.prototype.removeElement = function () {
                                                  this.unset("isInDom"), this.unrenderSkeleton(), this.unbindGlobalHandlers(), this.el.remove();
                                             }),
                                             (e.prototype.bindGlobalHandlers = function () {}),
                                             (e.prototype.unbindGlobalHandlers = function () {}),
                                             (e.prototype.renderSkeleton = function () {}),
                                             (e.prototype.unrenderSkeleton = function () {}),
                                             e
                                        );
                                   })(i(51).default);
                              e.default = r;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(0),
                                   a = i(4),
                                   s = i(11),
                                   l = i(49),
                                   c = i(230),
                                   u = i(19),
                                   h = (function (t) {
                                        function e(i, n) {
                                             var r = t.call(this) || this;
                                             return (
                                                  (r.isRTL = !1),
                                                  (r.hitsNeededDepth = 0),
                                                  (r.hasAllDayBusinessHours = !1),
                                                  (r.isDatesRendered = !1),
                                                  i && (r.view = i),
                                                  n && (r.options = n),
                                                  (r.uid = String(e.guid++)),
                                                  (r.childrenByUid = {}),
                                                  (r.nextDayThreshold = o.duration(r.opt("nextDayThreshold"))),
                                                  (r.isRTL = r.opt("isRTL")),
                                                  r.fillRendererClass && (r.fillRenderer = new r.fillRendererClass(r)),
                                                  r.eventRendererClass && (r.eventRenderer = new r.eventRendererClass(r, r.fillRenderer)),
                                                  r.helperRendererClass && r.eventRenderer && (r.helperRenderer = new r.helperRendererClass(r, r.eventRenderer)),
                                                  r.businessHourRendererClass && r.fillRenderer && (r.businessHourRenderer = new r.businessHourRendererClass(r, r.fillRenderer)),
                                                  r
                                             );
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.addChild = function (t) {
                                                  return !this.childrenByUid[t.uid] && ((this.childrenByUid[t.uid] = t), !0);
                                             }),
                                             (e.prototype.removeChild = function (t) {
                                                  return !!this.childrenByUid[t.uid] && (delete this.childrenByUid[t.uid], !0);
                                             }),
                                             (e.prototype.updateSize = function (t, e, i) {
                                                  this.callChildren("updateSize", arguments);
                                             }),
                                             (e.prototype.opt = function (t) {
                                                  return this._getView().opt(t);
                                             }),
                                             (e.prototype.publiclyTrigger = function () {
                                                  for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                                                  var i = this._getCalendar();
                                                  return i.publiclyTrigger.apply(i, t);
                                             }),
                                             (e.prototype.hasPublicHandlers = function () {
                                                  for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                                                  var i = this._getCalendar();
                                                  return i.hasPublicHandlers.apply(i, t);
                                             }),
                                             (e.prototype.executeDateRender = function (t) {
                                                  (this.dateProfile = t), this.renderDates(t), (this.isDatesRendered = !0), this.callChildren("executeDateRender", arguments);
                                             }),
                                             (e.prototype.executeDateUnrender = function () {
                                                  this.callChildren("executeDateUnrender", arguments), (this.dateProfile = null), this.unrenderDates(), (this.isDatesRendered = !1);
                                             }),
                                             (e.prototype.renderDates = function (t) {}),
                                             (e.prototype.unrenderDates = function () {}),
                                             (e.prototype.getNowIndicatorUnit = function () {}),
                                             (e.prototype.renderNowIndicator = function (t) {
                                                  this.callChildren("renderNowIndicator", arguments);
                                             }),
                                             (e.prototype.unrenderNowIndicator = function () {
                                                  this.callChildren("unrenderNowIndicator", arguments);
                                             }),
                                             (e.prototype.renderBusinessHours = function (t) {
                                                  this.businessHourRenderer && this.businessHourRenderer.render(t), this.callChildren("renderBusinessHours", arguments);
                                             }),
                                             (e.prototype.unrenderBusinessHours = function () {
                                                  this.callChildren("unrenderBusinessHours", arguments), this.businessHourRenderer && this.businessHourRenderer.unrender();
                                             }),
                                             (e.prototype.executeEventRender = function (t) {
                                                  this.eventRenderer ? (this.eventRenderer.rangeUpdated(), this.eventRenderer.render(t)) : this.renderEvents && this.renderEvents(d(t)), this.callChildren("executeEventRender", arguments);
                                             }),
                                             (e.prototype.executeEventUnrender = function () {
                                                  this.callChildren("executeEventUnrender", arguments), this.eventRenderer ? this.eventRenderer.unrender() : this.destroyEvents && this.destroyEvents();
                                             }),
                                             (e.prototype.getBusinessHourSegs = function () {
                                                  var t = this.getOwnBusinessHourSegs();
                                                  return (
                                                       this.iterChildren(function (e) {
                                                            t.push.apply(t, e.getBusinessHourSegs());
                                                       }),
                                                       t
                                                  );
                                             }),
                                             (e.prototype.getOwnBusinessHourSegs = function () {
                                                  return this.businessHourRenderer ? this.businessHourRenderer.getSegs() : [];
                                             }),
                                             (e.prototype.getEventSegs = function () {
                                                  var t = this.getOwnEventSegs();
                                                  return (
                                                       this.iterChildren(function (e) {
                                                            t.push.apply(t, e.getEventSegs());
                                                       }),
                                                       t
                                                  );
                                             }),
                                             (e.prototype.getOwnEventSegs = function () {
                                                  return this.eventRenderer ? this.eventRenderer.getSegs() : [];
                                             }),
                                             (e.prototype.triggerAfterEventsRendered = function () {
                                                  this.triggerAfterEventSegsRendered(this.getEventSegs()), this.publiclyTrigger("eventAfterAllRender", { context: this, args: [this] });
                                             }),
                                             (e.prototype.triggerAfterEventSegsRendered = function (t) {
                                                  var e = this;
                                                  this.hasPublicHandlers("eventAfterRender") &&
                                                       t.forEach(function (t) {
                                                            var i;
                                                            t.el && ((i = t.footprint.getEventLegacy()), e.publiclyTrigger("eventAfterRender", { context: i, args: [i, t.el, e] }));
                                                       });
                                             }),
                                             (e.prototype.triggerBeforeEventsDestroyed = function () {
                                                  this.triggerBeforeEventSegsDestroyed(this.getEventSegs());
                                             }),
                                             (e.prototype.triggerBeforeEventSegsDestroyed = function (t) {
                                                  var e = this;
                                                  this.hasPublicHandlers("eventDestroy") &&
                                                       t.forEach(function (t) {
                                                            var i;
                                                            t.el && ((i = t.footprint.getEventLegacy()), e.publiclyTrigger("eventDestroy", { context: i, args: [i, t.el, e] }));
                                                       });
                                             }),
                                             (e.prototype.showEventsWithId = function (t) {
                                                  this.getEventSegs().forEach(function (e) {
                                                       e.footprint.eventDef.id === t && e.el && e.el.css("visibility", "");
                                                  }),
                                                       this.callChildren("showEventsWithId", arguments);
                                             }),
                                             (e.prototype.hideEventsWithId = function (t) {
                                                  this.getEventSegs().forEach(function (e) {
                                                       e.footprint.eventDef.id === t && e.el && e.el.css("visibility", "hidden");
                                                  }),
                                                       this.callChildren("hideEventsWithId", arguments);
                                             }),
                                             (e.prototype.renderDrag = function (t, e, i) {
                                                  var n = !1;
                                                  return (
                                                       this.iterChildren(function (r) {
                                                            r.renderDrag(t, e, i) && (n = !0);
                                                       }),
                                                       n
                                                  );
                                             }),
                                             (e.prototype.unrenderDrag = function () {
                                                  this.callChildren("unrenderDrag", arguments);
                                             }),
                                             (e.prototype.renderEventResize = function (t, e, i) {
                                                  this.callChildren("renderEventResize", arguments);
                                             }),
                                             (e.prototype.unrenderEventResize = function () {
                                                  this.callChildren("unrenderEventResize", arguments);
                                             }),
                                             (e.prototype.renderSelectionFootprint = function (t) {
                                                  this.renderHighlight(t), this.callChildren("renderSelectionFootprint", arguments);
                                             }),
                                             (e.prototype.unrenderSelection = function () {
                                                  this.unrenderHighlight(), this.callChildren("unrenderSelection", arguments);
                                             }),
                                             (e.prototype.renderHighlight = function (t) {
                                                  this.fillRenderer &&
                                                       this.fillRenderer.renderFootprint("highlight", t, {
                                                            getClasses: function () {
                                                                 return ["fc-highlight"];
                                                            },
                                                       }),
                                                       this.callChildren("renderHighlight", arguments);
                                             }),
                                             (e.prototype.unrenderHighlight = function () {
                                                  this.fillRenderer && this.fillRenderer.unrender("highlight"), this.callChildren("unrenderHighlight", arguments);
                                             }),
                                             (e.prototype.hitsNeeded = function () {
                                                  this.hitsNeededDepth++ || this.prepareHits(), this.callChildren("hitsNeeded", arguments);
                                             }),
                                             (e.prototype.hitsNotNeeded = function () {
                                                  this.hitsNeededDepth && !--this.hitsNeededDepth && this.releaseHits(), this.callChildren("hitsNotNeeded", arguments);
                                             }),
                                             (e.prototype.prepareHits = function () {}),
                                             (e.prototype.releaseHits = function () {}),
                                             (e.prototype.queryHit = function (t, e) {
                                                  var i,
                                                       n,
                                                       r = this.childrenByUid;
                                                  for (i in r) if ((n = r[i].queryHit(t, e))) break;
                                                  return n;
                                             }),
                                             (e.prototype.getSafeHitFootprint = function (t) {
                                                  var e = this.getHitFootprint(t);
                                                  return this.dateProfile.activeUnzonedRange.containsRange(e.unzonedRange) ? e : null;
                                             }),
                                             (e.prototype.getHitFootprint = function (t) {}),
                                             (e.prototype.getHitEl = function (t) {}),
                                             (e.prototype.eventRangesToEventFootprints = function (t) {
                                                  var e,
                                                       i = [];
                                                  for (e = 0; e < t.length; e++) i.push.apply(i, this.eventRangeToEventFootprints(t[e]));
                                                  return i;
                                             }),
                                             (e.prototype.eventRangeToEventFootprints = function (t) {
                                                  return [u.eventRangeToEventFootprint(t)];
                                             }),
                                             (e.prototype.eventFootprintsToSegs = function (t) {
                                                  var e,
                                                       i = [];
                                                  for (e = 0; e < t.length; e++) i.push.apply(i, this.eventFootprintToSegs(t[e]));
                                                  return i;
                                             }),
                                             (e.prototype.eventFootprintToSegs = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r = t.componentFootprint.unzonedRange;
                                                  for (e = this.componentFootprintToSegs(t.componentFootprint), i = 0; i < e.length; i++) (n = e[i]), r.isStart || (n.isStart = !1), r.isEnd || (n.isEnd = !1), (n.footprint = t);
                                                  return e;
                                             }),
                                             (e.prototype.componentFootprintToSegs = function (t) {
                                                  return [];
                                             }),
                                             (e.prototype.callChildren = function (t, e) {
                                                  this.iterChildren(function (i) {
                                                       i[t].apply(i, e);
                                                  });
                                             }),
                                             (e.prototype.iterChildren = function (t) {
                                                  var e,
                                                       i = this.childrenByUid;
                                                  for (e in i) t(i[e]);
                                             }),
                                             (e.prototype._getCalendar = function () {
                                                  return this.calendar || this.view.calendar;
                                             }),
                                             (e.prototype._getView = function () {
                                                  return this.view;
                                             }),
                                             (e.prototype._getDateProfile = function () {
                                                  return this._getView().get("dateProfile");
                                             }),
                                             (e.prototype.buildGotoAnchorHtml = function (t, e, i) {
                                                  var n, o, l, c;
                                                  return (
                                                       r.isPlainObject(t) ? ((n = t.date), (o = t.type), (l = t.forceOff)) : (n = t),
                                                       (c = { date: (n = s.default(n)).format("YYYY-MM-DD"), type: o || "day" }),
                                                       "string" == typeof e && ((i = e), (e = null)),
                                                       (e = e ? " " + a.attrsToStr(e) : ""),
                                                       (i = i || ""),
                                                       !l && this.opt("navLinks") ? "<a" + e + ' data-goto="' + a.htmlEscape(JSON.stringify(c)) + '">' + i + "</a>" : "<span" + e + ">" + i + "</span>"
                                                  );
                                             }),
                                             (e.prototype.getAllDayHtml = function () {
                                                  return this.opt("allDayHtml") || a.htmlEscape(this.opt("allDayText"));
                                             }),
                                             (e.prototype.getDayClasses = function (t, e) {
                                                  var i,
                                                       n = this._getView(),
                                                       r = [];
                                                  return (
                                                       this.dateProfile.activeUnzonedRange.containsDate(t)
                                                            ? (r.push("fc-" + a.dayIDs[t.day()]),
                                                              n.isDateInOtherMonth(t, this.dateProfile) && r.push("fc-other-month"),
                                                              (i = n.calendar.getNow()),
                                                              t.isSame(i, "day") ? (r.push("fc-today"), !0 !== e && r.push(n.calendar.theme.getClass("today"))) : t < i ? r.push("fc-past") : r.push("fc-future"))
                                                            : r.push("fc-disabled-day"),
                                                       r
                                                  );
                                             }),
                                             (e.prototype.formatRange = function (t, e, i, n) {
                                                  var r = t.end;
                                                  return e && (r = r.clone().subtract(1)), l.formatRange(t.start, r, i, n, this.isRTL);
                                             }),
                                             (e.prototype.currentRangeAs = function (t) {
                                                  return this._getDateProfile().currentUnzonedRange.as(t);
                                             }),
                                             (e.prototype.computeDayRange = function (t) {
                                                  var e = this._getCalendar(),
                                                       i = e.msToUtcMoment(t.startMs, !0),
                                                       n = e.msToUtcMoment(t.endMs),
                                                       r = +n.time(),
                                                       o = n.clone().stripTime();
                                                  return r && r >= this.nextDayThreshold && o.add(1, "days"), o <= i && (o = i.clone().add(1, "days")), { start: i, end: o };
                                             }),
                                             (e.prototype.isMultiDayRange = function (t) {
                                                  var e = this.computeDayRange(t);
                                                  return e.end.diff(e.start, "days") > 1;
                                             }),
                                             (e.guid = 0),
                                             e
                                        );
                                   })(c.default);
                              function d(t) {
                                   var e,
                                        i,
                                        n,
                                        r = [];
                                   for (e in t) for (i = t[e].eventInstances, n = 0; n < i.length; n++) r.push(i[n].toLegacy());
                                   return r;
                              }
                              e.default = h;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(0),
                                   o = i(4),
                                   a = i(33),
                                   s = i(225),
                                   l = i(23),
                                   c = i(13),
                                   u = i(7),
                                   h = i(257),
                                   d = i(258),
                                   p = i(259),
                                   f = i(217),
                                   m = i(32),
                                   g = i(11),
                                   v = i(5),
                                   y = i(12),
                                   b = i(16),
                                   _ = i(220),
                                   x = i(218),
                                   w = i(38),
                                   k = i(36),
                                   S = i(9),
                                   M = i(39),
                                   T = i(6),
                                   C = i(57),
                                   D = (function () {
                                        function t(t, e) {
                                             (this.loadingLevel = 0),
                                                  (this.ignoreUpdateViewSize = 0),
                                                  (this.freezeContentHeightDepth = 0),
                                                  l.default.needed(),
                                                  (this.el = t),
                                                  (this.viewsByType = {}),
                                                  (this.optionsManager = new d.default(this, e)),
                                                  (this.viewSpecManager = new p.default(this.optionsManager, this)),
                                                  this.initMomentInternals(),
                                                  this.initCurrentDate(),
                                                  this.initEventManager(),
                                                  (this.constraints = new f.default(this.eventManager, this)),
                                                  this.constructed();
                                        }
                                        return (
                                             (t.prototype.constructed = function () {}),
                                             (t.prototype.getView = function () {
                                                  return this.view;
                                             }),
                                             (t.prototype.publiclyTrigger = function (t, e) {
                                                  var i,
                                                       r,
                                                       o = this.opt(t);
                                                  if ((n.isPlainObject(e) ? ((i = e.context), (r = e.args)) : n.isArray(e) && (r = e), null == i && (i = this.el[0]), r || (r = []), this.triggerWith(t, i, r), o)) return o.apply(i, r);
                                             }),
                                             (t.prototype.hasPublicHandlers = function (t) {
                                                  return this.hasHandlers(t) || this.opt(t);
                                             }),
                                             (t.prototype.option = function (t, e) {
                                                  var i;
                                                  if ("string" == typeof t) {
                                                       if (void 0 === e) return this.optionsManager.get(t);
                                                       ((i = {})[t] = e), this.optionsManager.add(i);
                                                  } else "object" == typeof t && this.optionsManager.add(t);
                                             }),
                                             (t.prototype.opt = function (t) {
                                                  return this.optionsManager.get(t);
                                             }),
                                             (t.prototype.instantiateView = function (t) {
                                                  var e = this.viewSpecManager.getViewSpec(t);
                                                  if (!e) throw new Error('View type "' + t + '" is not valid');
                                                  return new e.class(this, e);
                                             }),
                                             (t.prototype.isValidViewType = function (t) {
                                                  return Boolean(this.viewSpecManager.getViewSpec(t));
                                             }),
                                             (t.prototype.changeView = function (t, e) {
                                                  e && (e.start && e.end ? this.optionsManager.recordOverrides({ visibleRange: e }) : (this.currentDate = this.moment(e).stripZone())), this.renderView(t);
                                             }),
                                             (t.prototype.zoomTo = function (t, e) {
                                                  var i;
                                                  (e = e || "day"), (i = this.viewSpecManager.getViewSpec(e) || this.viewSpecManager.getUnitViewSpec(e)), (this.currentDate = t.clone()), this.renderView(i ? i.type : null);
                                             }),
                                             (t.prototype.initCurrentDate = function () {
                                                  var t = this.opt("defaultDate");
                                                  this.currentDate = null != t ? this.moment(t).stripZone() : this.getNow();
                                             }),
                                             (t.prototype.prev = function () {
                                                  var t = this.view,
                                                       e = t.dateProfileGenerator.buildPrev(t.get("dateProfile"));
                                                  e.isValid && ((this.currentDate = e.date), this.renderView());
                                             }),
                                             (t.prototype.next = function () {
                                                  var t = this.view,
                                                       e = t.dateProfileGenerator.buildNext(t.get("dateProfile"));
                                                  e.isValid && ((this.currentDate = e.date), this.renderView());
                                             }),
                                             (t.prototype.prevYear = function () {
                                                  this.currentDate.add(-1, "years"), this.renderView();
                                             }),
                                             (t.prototype.nextYear = function () {
                                                  this.currentDate.add(1, "years"), this.renderView();
                                             }),
                                             (t.prototype.today = function () {
                                                  (this.currentDate = this.getNow()), this.renderView();
                                             }),
                                             (t.prototype.gotoDate = function (t) {
                                                  (this.currentDate = this.moment(t).stripZone()), this.renderView();
                                             }),
                                             (t.prototype.incrementDate = function (t) {
                                                  this.currentDate.add(r.duration(t)), this.renderView();
                                             }),
                                             (t.prototype.getDate = function () {
                                                  return this.applyTimezone(this.currentDate);
                                             }),
                                             (t.prototype.pushLoading = function () {
                                                  this.loadingLevel++ || this.publiclyTrigger("loading", [!0, this.view]);
                                             }),
                                             (t.prototype.popLoading = function () {
                                                  --this.loadingLevel || this.publiclyTrigger("loading", [!1, this.view]);
                                             }),
                                             (t.prototype.render = function () {
                                                  this.contentEl ? this.elementVisible() && (this.calcSize(), this.updateViewSize()) : this.initialRender();
                                             }),
                                             (t.prototype.initialRender = function () {
                                                  var t = this,
                                                       e = this.el;
                                                  e.addClass("fc"),
                                                       e.on("click.fc", "a[data-goto]", function (e) {
                                                            var i = n(e.currentTarget).data("goto"),
                                                                 r = t.moment(i.date),
                                                                 a = i.type,
                                                                 s = t.view.opt("navLink" + o.capitaliseFirstLetter(a) + "Click");
                                                            "function" == typeof s ? s(r, e) : ("string" == typeof s && (a = s), t.zoomTo(r, a));
                                                       }),
                                                       this.optionsManager.watch(
                                                            "settingTheme",
                                                            ["?theme", "?themeSystem"],
                                                            function (i) {
                                                                 var n = new (C.getThemeSystemClass(i.themeSystem || i.theme))(t.optionsManager),
                                                                      r = n.getClass("widget");
                                                                 (t.theme = n), r && e.addClass(r);
                                                            },
                                                            function () {
                                                                 var i = t.theme.getClass("widget");
                                                                 (t.theme = null), i && e.removeClass(i);
                                                            }
                                                       ),
                                                       this.optionsManager.watch(
                                                            "settingBusinessHourGenerator",
                                                            ["?businessHours"],
                                                            function (e) {
                                                                 (t.businessHourGenerator = new x.default(e.businessHours, t)), t.view && t.view.set("businessHourGenerator", t.businessHourGenerator);
                                                            },
                                                            function () {
                                                                 t.businessHourGenerator = null;
                                                            }
                                                       ),
                                                       this.optionsManager.watch("applyingDirClasses", ["?isRTL", "?locale"], function (t) {
                                                            e.toggleClass("fc-ltr", !t.isRTL), e.toggleClass("fc-rtl", t.isRTL);
                                                       }),
                                                       (this.contentEl = n("<div class='fc-view-container'>").prependTo(e)),
                                                       this.initToolbars(),
                                                       this.renderHeader(),
                                                       this.renderFooter(),
                                                       this.renderView(this.opt("defaultView")),
                                                       this.opt("handleWindowResize") && n(window).resize((this.windowResizeProxy = o.debounce(this.windowResize.bind(this), this.opt("windowResizeDelay"))));
                                             }),
                                             (t.prototype.destroy = function () {
                                                  this.view && this.clearView(),
                                                       this.toolbarsManager.proxyCall("removeElement"),
                                                       this.contentEl.remove(),
                                                       this.el.removeClass("fc fc-ltr fc-rtl"),
                                                       this.optionsManager.unwatch("settingTheme"),
                                                       this.optionsManager.unwatch("settingBusinessHourGenerator"),
                                                       this.el.off(".fc"),
                                                       this.windowResizeProxy && (n(window).unbind("resize", this.windowResizeProxy), (this.windowResizeProxy = null)),
                                                       l.default.unneeded();
                                             }),
                                             (t.prototype.elementVisible = function () {
                                                  return this.el.is(":visible");
                                             }),
                                             (t.prototype.bindViewHandlers = function (t) {
                                                  var e = this;
                                                  t.watch("titleForCalendar", ["title"], function (i) {
                                                       t === e.view && e.setToolbarsTitle(i.title);
                                                  }),
                                                       t.watch("dateProfileForCalendar", ["dateProfile"], function (i) {
                                                            t === e.view && ((e.currentDate = i.dateProfile.date), e.updateToolbarButtons(i.dateProfile));
                                                       });
                                             }),
                                             (t.prototype.unbindViewHandlers = function (t) {
                                                  t.unwatch("titleForCalendar"), t.unwatch("dateProfileForCalendar");
                                             }),
                                             (t.prototype.renderView = function (t) {
                                                  var e,
                                                       i = this.view;
                                                  this.freezeContentHeight(),
                                                       i && t && i.type !== t && this.clearView(),
                                                       !this.view &&
                                                            t &&
                                                            ((e = this.view = this.viewsByType[t] || (this.viewsByType[t] = this.instantiateView(t))),
                                                            this.bindViewHandlers(e),
                                                            e.startBatchRender(),
                                                            e.setElement(n("<div class='fc-view fc-" + t + "-view'>").appendTo(this.contentEl)),
                                                            this.toolbarsManager.proxyCall("activateButton", t)),
                                                       this.view &&
                                                            (this.view.get("businessHourGenerator") !== this.businessHourGenerator && this.view.set("businessHourGenerator", this.businessHourGenerator),
                                                            this.view.setDate(this.currentDate),
                                                            e && e.stopBatchRender()),
                                                       this.thawContentHeight();
                                             }),
                                             (t.prototype.clearView = function () {
                                                  var t = this.view;
                                                  this.toolbarsManager.proxyCall("deactivateButton", t.type), this.unbindViewHandlers(t), t.removeElement(), t.unsetDate(), (this.view = null);
                                             }),
                                             (t.prototype.reinitView = function () {
                                                  var t = this.view,
                                                       e = t.queryScroll();
                                                  this.freezeContentHeight(), this.clearView(), this.calcSize(), this.renderView(t.type), this.view.applyScroll(e), this.thawContentHeight();
                                             }),
                                             (t.prototype.getSuggestedViewHeight = function () {
                                                  return null == this.suggestedViewHeight && this.calcSize(), this.suggestedViewHeight;
                                             }),
                                             (t.prototype.isHeightAuto = function () {
                                                  return "auto" === this.opt("contentHeight") || "auto" === this.opt("height");
                                             }),
                                             (t.prototype.updateViewSize = function (t) {
                                                  void 0 === t && (t = !1);
                                                  var e,
                                                       i = this.view;
                                                  if (!this.ignoreUpdateViewSize && i)
                                                       return (
                                                            t && (this.calcSize(), (e = i.queryScroll())),
                                                            this.ignoreUpdateViewSize++,
                                                            i.updateSize(this.getSuggestedViewHeight(), this.isHeightAuto(), t),
                                                            this.ignoreUpdateViewSize--,
                                                            t && i.applyScroll(e),
                                                            !0
                                                       );
                                             }),
                                             (t.prototype.calcSize = function () {
                                                  this.elementVisible() && this._calcSize();
                                             }),
                                             (t.prototype._calcSize = function () {
                                                  var t = this.opt("contentHeight"),
                                                       e = this.opt("height");
                                                  this.suggestedViewHeight =
                                                       "number" == typeof t
                                                            ? t
                                                            : "function" == typeof t
                                                            ? t()
                                                            : "number" == typeof e
                                                            ? e - this.queryToolbarsHeight()
                                                            : "function" == typeof e
                                                            ? e() - this.queryToolbarsHeight()
                                                            : "parent" === e
                                                            ? this.el.parent().height() - this.queryToolbarsHeight()
                                                            : Math.round(this.contentEl.width() / Math.max(this.opt("aspectRatio"), 0.5));
                                             }),
                                             (t.prototype.windowResize = function (t) {
                                                  t.target === window && this.view && this.view.isDatesRendered && this.updateViewSize(!0) && this.publiclyTrigger("windowResize", [this.view]);
                                             }),
                                             (t.prototype.freezeContentHeight = function () {
                                                  this.freezeContentHeightDepth++ || this.forceFreezeContentHeight();
                                             }),
                                             (t.prototype.forceFreezeContentHeight = function () {
                                                  this.contentEl.css({ width: "100%", height: this.contentEl.height(), overflow: "hidden" });
                                             }),
                                             (t.prototype.thawContentHeight = function () {
                                                  this.freezeContentHeightDepth--, this.contentEl.css({ width: "", height: "", overflow: "" }), this.freezeContentHeightDepth && this.forceFreezeContentHeight();
                                             }),
                                             (t.prototype.initToolbars = function () {
                                                  (this.header = new h.default(this, this.computeHeaderOptions())),
                                                       (this.footer = new h.default(this, this.computeFooterOptions())),
                                                       (this.toolbarsManager = new s.default([this.header, this.footer]));
                                             }),
                                             (t.prototype.computeHeaderOptions = function () {
                                                  return { extraClasses: "fc-header-toolbar", layout: this.opt("header") };
                                             }),
                                             (t.prototype.computeFooterOptions = function () {
                                                  return { extraClasses: "fc-footer-toolbar", layout: this.opt("footer") };
                                             }),
                                             (t.prototype.renderHeader = function () {
                                                  var t = this.header;
                                                  t.setToolbarOptions(this.computeHeaderOptions()), t.render(), t.el && this.el.prepend(t.el);
                                             }),
                                             (t.prototype.renderFooter = function () {
                                                  var t = this.footer;
                                                  t.setToolbarOptions(this.computeFooterOptions()), t.render(), t.el && this.el.append(t.el);
                                             }),
                                             (t.prototype.setToolbarsTitle = function (t) {
                                                  this.toolbarsManager.proxyCall("updateTitle", t);
                                             }),
                                             (t.prototype.updateToolbarButtons = function (t) {
                                                  var e = this.getNow(),
                                                       i = this.view,
                                                       n = i.dateProfileGenerator.build(e),
                                                       r = i.dateProfileGenerator.buildPrev(i.get("dateProfile")),
                                                       o = i.dateProfileGenerator.buildNext(i.get("dateProfile"));
                                                  this.toolbarsManager.proxyCall(n.isValid && !t.currentUnzonedRange.containsDate(e) ? "enableButton" : "disableButton", "today"),
                                                       this.toolbarsManager.proxyCall(r.isValid ? "enableButton" : "disableButton", "prev"),
                                                       this.toolbarsManager.proxyCall(o.isValid ? "enableButton" : "disableButton", "next");
                                             }),
                                             (t.prototype.queryToolbarsHeight = function () {
                                                  return this.toolbarsManager.items.reduce(function (t, e) {
                                                       return t + (e.el ? e.el.outerHeight(!0) : 0);
                                                  }, 0);
                                             }),
                                             (t.prototype.select = function (t, e) {
                                                  this.view.select(this.buildSelectFootprint.apply(this, arguments));
                                             }),
                                             (t.prototype.unselect = function () {
                                                  this.view && this.view.unselect();
                                             }),
                                             (t.prototype.buildSelectFootprint = function (t, e) {
                                                  var i,
                                                       n = this.moment(t).stripZone();
                                                  return (
                                                       (i = e ? this.moment(e).stripZone() : n.hasTime() ? n.clone().add(this.defaultTimedEventDuration) : n.clone().add(this.defaultAllDayEventDuration)),
                                                       new y.default(new v.default(n, i), !n.hasTime())
                                                  );
                                             }),
                                             (t.prototype.initMomentInternals = function () {
                                                  var t = this;
                                                  (this.defaultAllDayEventDuration = r.duration(this.opt("defaultAllDayEventDuration"))),
                                                       (this.defaultTimedEventDuration = r.duration(this.opt("defaultTimedEventDuration"))),
                                                       this.optionsManager.watch("buildingMomentLocale", ["?locale", "?monthNames", "?monthNamesShort", "?dayNames", "?dayNamesShort", "?firstDay", "?weekNumberCalculation"], function (e) {
                                                            var i,
                                                                 n = e.weekNumberCalculation,
                                                                 r = e.firstDay;
                                                            "iso" === n && (n = "ISO");
                                                            var o = Object.create(m.getMomentLocaleData(e.locale));
                                                            e.monthNames && (o._months = e.monthNames),
                                                                 e.monthNamesShort && (o._monthsShort = e.monthNamesShort),
                                                                 e.dayNames && (o._weekdays = e.dayNames),
                                                                 e.dayNamesShort && (o._weekdaysShort = e.dayNamesShort),
                                                                 null == r && "ISO" === n && (r = 1),
                                                                 null != r && (((i = Object.create(o._week)).dow = r), (o._week = i)),
                                                                 ("ISO" !== n && "local" !== n && "function" != typeof n) || (o._fullCalendar_weekCalc = n),
                                                                 (t.localeData = o),
                                                                 t.currentDate && t.localizeMoment(t.currentDate);
                                                       });
                                             }),
                                             (t.prototype.moment = function () {
                                                  for (var t, e = [], i = 0; i < arguments.length; i++) e[i] = arguments[i];
                                                  return (
                                                       "local" === this.opt("timezone")
                                                            ? (t = g.default.apply(null, e)).hasTime() && t.local()
                                                            : (t = "UTC" === this.opt("timezone") ? g.default.utc.apply(null, e) : g.default.parseZone.apply(null, e)),
                                                       this.localizeMoment(t),
                                                       t
                                                  );
                                             }),
                                             (t.prototype.msToMoment = function (t, e) {
                                                  var i = g.default.utc(t);
                                                  return e ? i.stripTime() : (i = this.applyTimezone(i)), this.localizeMoment(i), i;
                                             }),
                                             (t.prototype.msToUtcMoment = function (t, e) {
                                                  var i = g.default.utc(t);
                                                  return e && i.stripTime(), this.localizeMoment(i), i;
                                             }),
                                             (t.prototype.localizeMoment = function (t) {
                                                  t._locale = this.localeData;
                                             }),
                                             (t.prototype.getIsAmbigTimezone = function () {
                                                  return "local" !== this.opt("timezone") && "UTC" !== this.opt("timezone");
                                             }),
                                             (t.prototype.applyTimezone = function (t) {
                                                  if (!t.hasTime()) return t.clone();
                                                  var e,
                                                       i = this.moment(t.toArray()),
                                                       n = t.time().asMilliseconds() - i.time().asMilliseconds();
                                                  return n && ((e = i.clone().add(n)), t.time().asMilliseconds() - e.time().asMilliseconds() == 0 && (i = e)), i;
                                             }),
                                             (t.prototype.footprintToDateProfile = function (t, e) {
                                                  void 0 === e && (e = !1);
                                                  var i,
                                                       n = g.default.utc(t.unzonedRange.startMs);
                                                  return (
                                                       e || (i = g.default.utc(t.unzonedRange.endMs)),
                                                       t.isAllDay ? (n.stripTime(), i && i.stripTime()) : ((n = this.applyTimezone(n)), i && (i = this.applyTimezone(i))),
                                                       this.localizeMoment(n),
                                                       i && this.localizeMoment(i),
                                                       new b.default(n, i, this)
                                                  );
                                             }),
                                             (t.prototype.getNow = function () {
                                                  var t = this.opt("now");
                                                  return "function" == typeof t && (t = t()), this.moment(t).stripZone();
                                             }),
                                             (t.prototype.humanizeDuration = function (t) {
                                                  return t.locale(this.opt("locale")).humanize();
                                             }),
                                             (t.prototype.parseUnzonedRange = function (t) {
                                                  var e = null,
                                                       i = null;
                                                  return t.start && (e = this.moment(t.start).stripZone()), t.end && (i = this.moment(t.end).stripZone()), e || i ? (e && i && i.isBefore(e) ? null : new v.default(e, i)) : null;
                                             }),
                                             (t.prototype.initEventManager = function () {
                                                  var t = this,
                                                       e = new _.default(this),
                                                       i = this.opt("eventSources") || [],
                                                       n = this.opt("events");
                                                  (this.eventManager = e),
                                                       n && i.unshift(n),
                                                       e.on("release", function (e) {
                                                            t.trigger("eventsReset", e);
                                                       }),
                                                       e.freeze(),
                                                       i.forEach(function (i) {
                                                            var n = w.default.parse(i, t);
                                                            n && e.addSource(n);
                                                       }),
                                                       e.thaw();
                                             }),
                                             (t.prototype.requestEvents = function (t, e) {
                                                  return this.eventManager.requestEvents(t, e, this.opt("timezone"), !this.opt("lazyFetching"));
                                             }),
                                             (t.prototype.getEventEnd = function (t) {
                                                  return t.end ? t.end.clone() : this.getDefaultEventEnd(t.allDay, t.start);
                                             }),
                                             (t.prototype.getDefaultEventEnd = function (t, e) {
                                                  var i = e.clone();
                                                  return t ? i.stripTime().add(this.defaultAllDayEventDuration) : i.add(this.defaultTimedEventDuration), this.getIsAmbigTimezone() && i.stripZone(), i;
                                             }),
                                             (t.prototype.rerenderEvents = function () {
                                                  this.view.flash("displayingEvents");
                                             }),
                                             (t.prototype.refetchEvents = function () {
                                                  this.eventManager.refetchAllSources();
                                             }),
                                             (t.prototype.renderEvents = function (t, e) {
                                                  this.eventManager.freeze();
                                                  for (var i = 0; i < t.length; i++) this.renderEvent(t[i], e);
                                                  this.eventManager.thaw();
                                             }),
                                             (t.prototype.renderEvent = function (t, e) {
                                                  void 0 === e && (e = !1);
                                                  var i = this.eventManager,
                                                       n = k.default.parse(t, t.source || i.stickySource);
                                                  n && i.addEventDef(n, e);
                                             }),
                                             (t.prototype.removeEvents = function (t) {
                                                  var e,
                                                       i = this.eventManager,
                                                       n = [],
                                                       r = {};
                                                  if (null == t) i.removeAllEventDefs();
                                                  else {
                                                       for (
                                                            i.getEventInstances().forEach(function (t) {
                                                                 n.push(t.toLegacy());
                                                            }),
                                                                 n = L(n, t),
                                                                 e = 0;
                                                            e < n.length;
                                                            e++
                                                       )
                                                            r[this.eventManager.getEventDefByUid(n[e]._id).id] = !0;
                                                       for (e in (i.freeze(), r)) i.removeEventDefsById(e);
                                                       i.thaw();
                                                  }
                                             }),
                                             (t.prototype.clientEvents = function (t) {
                                                  var e = [];
                                                  return (
                                                       this.eventManager.getEventInstances().forEach(function (t) {
                                                            e.push(t.toLegacy());
                                                       }),
                                                       L(e, t)
                                                  );
                                             }),
                                             (t.prototype.updateEvents = function (t) {
                                                  this.eventManager.freeze();
                                                  for (var e = 0; e < t.length; e++) this.updateEvent(t[e]);
                                                  this.eventManager.thaw();
                                             }),
                                             (t.prototype.updateEvent = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.eventManager.getEventDefByUid(t._id);
                                                  n instanceof S.default && ((e = n.buildInstance()), (i = M.default.createFromRawProps(e, t, null)), this.eventManager.mutateEventsWithId(n.id, i));
                                             }),
                                             (t.prototype.getEventSources = function () {
                                                  return this.eventManager.otherSources.slice();
                                             }),
                                             (t.prototype.getEventSourceById = function (t) {
                                                  return this.eventManager.getSourceById(T.default.normalizeId(t));
                                             }),
                                             (t.prototype.addEventSource = function (t) {
                                                  var e = w.default.parse(t, this);
                                                  e && this.eventManager.addSource(e);
                                             }),
                                             (t.prototype.removeEventSources = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.eventManager;
                                                  if (null == t) this.eventManager.removeAllSources();
                                                  else {
                                                       for (e = n.multiQuerySources(t), n.freeze(), i = 0; i < e.length; i++) n.removeSource(e[i]);
                                                       n.thaw();
                                                  }
                                             }),
                                             (t.prototype.removeEventSource = function (t) {
                                                  var e,
                                                       i = this.eventManager,
                                                       n = i.querySources(t);
                                                  for (i.freeze(), e = 0; e < n.length; e++) i.removeSource(n[e]);
                                                  i.thaw();
                                             }),
                                             (t.prototype.refetchEventSources = function (t) {
                                                  var e,
                                                       i = this.eventManager,
                                                       n = i.multiQuerySources(t);
                                                  for (i.freeze(), e = 0; e < n.length; e++) i.refetchSource(n[e]);
                                                  i.thaw();
                                             }),
                                             (t.defaults = a.globalDefaults),
                                             (t.englishDefaults = a.englishDefaults),
                                             (t.rtlDefaults = a.rtlDefaults),
                                             t
                                        );
                                   })();
                              function L(t, e) {
                                   return null == e
                                        ? t
                                        : n.isFunction(e)
                                        ? t.filter(e)
                                        : ((e += ""),
                                          t.filter(function (t) {
                                               return t.id == e || t._id === e;
                                          }));
                              }
                              (e.default = D), c.default.mixInto(D), u.default.mixInto(D);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(0),
                                   a = i(18),
                                   s = i(4),
                                   l = i(11),
                                   c = i(7),
                                   u = i(17),
                                   h = i(9),
                                   d = i(20),
                                   p = i(6),
                                   f = (function (t) {
                                        function e() {
                                             var e = (null !== t && t.apply(this, arguments)) || this;
                                             return (e.isDragging = !1), e;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.end = function () {
                                                  this.dragListener && this.dragListener.endInteraction();
                                             }),
                                             (e.prototype.bindToDocument = function () {
                                                  this.listenTo(r(document), { dragstart: this.handleDragStart, sortstart: this.handleDragStart });
                                             }),
                                             (e.prototype.unbindFromDocument = function () {
                                                  this.stopListeningTo(r(document));
                                             }),
                                             (e.prototype.handleDragStart = function (t, e) {
                                                  var i, n;
                                                  this.opt("droppable") &&
                                                       ((i = r((e ? e.item : null) || t.target)), (n = this.opt("dropAccept")), (r.isFunction(n) ? n.call(i[0], i) : i.is(n)) && (this.isDragging || this.listenToExternalDrag(i, t, e)));
                                             }),
                                             (e.prototype.listenToExternalDrag = function (t, e, i) {
                                                  var n,
                                                       l = this,
                                                       c = this.component,
                                                       h = this.view,
                                                       p = (function (t) {
                                                            var e,
                                                                 i,
                                                                 n,
                                                                 s,
                                                                 l = a.dataAttrPrefix;
                                                            return (
                                                                 l && (l += "-"),
                                                                 (e = t.data(l + "event") || null) &&
                                                                      ((e = "object" == typeof e ? r.extend({}, e) : {}),
                                                                      null == (i = e.start) && (i = e.time),
                                                                      (n = e.duration),
                                                                      (s = e.stick),
                                                                      delete e.start,
                                                                      delete e.time,
                                                                      delete e.duration,
                                                                      delete e.stick),
                                                                 null == i && (i = t.data(l + "start")),
                                                                 null == i && (i = t.data(l + "time")),
                                                                 null == n && (n = t.data(l + "duration")),
                                                                 null == s && (s = t.data(l + "stick")),
                                                                 (i = null != i ? o.duration(i) : null),
                                                                 (n = null != n ? o.duration(n) : null),
                                                                 (s = Boolean(s)),
                                                                 { eventProps: e, startTime: i, duration: n, stick: s }
                                                            );
                                                       })(t);
                                                  (this.dragListener = new u.default(c, {
                                                       interactionStart: function () {
                                                            l.isDragging = !0;
                                                       },
                                                       hitOver: function (t) {
                                                            var e,
                                                                 i = !0,
                                                                 r = t.component.getSafeHitFootprint(t);
                                                            r && (n = l.computeExternalDrop(r, p))
                                                                 ? ((e = new d.default(n.buildInstances())), (i = p.eventProps ? c.isEventInstanceGroupAllowed(e) : c.isExternalInstanceGroupAllowed(e)))
                                                                 : (i = !1),
                                                                 i || ((n = null), s.disableCursor()),
                                                                 n && c.renderDrag(c.eventRangesToEventFootprints(e.sliceRenderRanges(c.dateProfile.renderUnzonedRange, h.calendar)));
                                                       },
                                                       hitOut: function () {
                                                            n = null;
                                                       },
                                                       hitDone: function () {
                                                            s.enableCursor(), c.unrenderDrag();
                                                       },
                                                       interactionEnd: function (e) {
                                                            n && h.reportExternalDrop(n, Boolean(p.eventProps), Boolean(p.stick), t, e, i), (l.isDragging = !1), (l.dragListener = null);
                                                       },
                                                  })).startDrag(e);
                                             }),
                                             (e.prototype.computeExternalDrop = function (t, e) {
                                                  var i,
                                                       n = this.view.calendar,
                                                       o = l.default.utc(t.unzonedRange.startMs).stripZone();
                                                  return (
                                                       t.isAllDay && (e.startTime ? o.time(e.startTime) : o.stripTime()),
                                                       e.duration && (i = o.clone().add(e.duration)),
                                                       (o = n.applyTimezone(o)),
                                                       i && (i = n.applyTimezone(i)),
                                                       h.default.parse(r.extend({}, e.eventProps, { start: o, end: i }), new p.default(n))
                                                  );
                                             }),
                                             e
                                        );
                                   })(i(14).default);
                              (e.default = f), c.default.mixInto(f), (a.dataAttrPrefix = "");
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(4),
                                   a = i(39),
                                   s = i(40),
                                   l = i(17),
                                   c = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this, e) || this;
                                             return (n.isResizing = !1), (n.eventPointing = i), n;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.end = function () {
                                                  this.dragListener && this.dragListener.endInteraction();
                                             }),
                                             (e.prototype.bindToEl = function (t) {
                                                  var e = this.component;
                                                  e.bindSegHandlerToEl(t, "mousedown", this.handleMouseDown.bind(this)), e.bindSegHandlerToEl(t, "touchstart", this.handleTouchStart.bind(this));
                                             }),
                                             (e.prototype.handleMouseDown = function (t, e) {
                                                  this.component.canStartResize(t, e) && this.buildDragListener(t, r(e.target).is(".fc-start-resizer")).startInteraction(e, { distance: 5 });
                                             }),
                                             (e.prototype.handleTouchStart = function (t, e) {
                                                  this.component.canStartResize(t, e) && this.buildDragListener(t, r(e.target).is(".fc-start-resizer")).startInteraction(e);
                                             }),
                                             (e.prototype.buildDragListener = function (t, e) {
                                                  var i,
                                                       n,
                                                       r = this,
                                                       a = this.component,
                                                       s = this.view,
                                                       c = s.calendar,
                                                       u = c.eventManager,
                                                       h = t.el,
                                                       d = t.footprint.eventDef,
                                                       p = t.footprint.eventInstance;
                                                  return (this.dragListener = new l.default(a, {
                                                       scroll: this.opt("dragScroll"),
                                                       subjectEl: h,
                                                       interactionStart: function () {
                                                            i = !1;
                                                       },
                                                       dragStart: function (e) {
                                                            (i = !0), r.eventPointing.handleMouseout(t, e), r.segResizeStart(t, e);
                                                       },
                                                       hitOver: function (i, l, h) {
                                                            var p,
                                                                 f = !0,
                                                                 m = a.getSafeHitFootprint(h),
                                                                 g = a.getSafeHitFootprint(i);
                                                            m && g && (n = e ? r.computeEventStartResizeMutation(m, g, t.footprint) : r.computeEventEndResizeMutation(m, g, t.footprint))
                                                                 ? ((p = u.buildMutatedEventInstanceGroup(d.id, n)), (f = a.isEventInstanceGroupAllowed(p)))
                                                                 : (f = !1),
                                                                 f ? n.isEmpty() && (n = null) : ((n = null), o.disableCursor()),
                                                                 n && (s.hideEventsWithId(t.footprint.eventDef.id), s.renderEventResize(a.eventRangesToEventFootprints(p.sliceRenderRanges(a.dateProfile.renderUnzonedRange, c)), t));
                                                       },
                                                       hitOut: function () {
                                                            n = null;
                                                       },
                                                       hitDone: function () {
                                                            s.unrenderEventResize(t), s.showEventsWithId(t.footprint.eventDef.id), o.enableCursor();
                                                       },
                                                       interactionEnd: function (e) {
                                                            i && r.segResizeStop(t, e), n && s.reportEventResize(p, n, h, e), (r.dragListener = null);
                                                       },
                                                  }));
                                             }),
                                             (e.prototype.segResizeStart = function (t, e) {
                                                  (this.isResizing = !0), this.component.publiclyTrigger("eventResizeStart", { context: t.el[0], args: [t.footprint.getEventLegacy(), e, {}, this.view] });
                                             }),
                                             (e.prototype.segResizeStop = function (t, e) {
                                                  (this.isResizing = !1), this.component.publiclyTrigger("eventResizeStop", { context: t.el[0], args: [t.footprint.getEventLegacy(), e, {}, this.view] });
                                             }),
                                             (e.prototype.computeEventStartResizeMutation = function (t, e, i) {
                                                  var n,
                                                       r,
                                                       o = i.componentFootprint.unzonedRange,
                                                       l = this.component.diffDates(e.unzonedRange.getStart(), t.unzonedRange.getStart());
                                                  return o.getStart().add(l) < o.getEnd() && ((n = new s.default()).setStartDelta(l), (r = new a.default()).setDateMutation(n), r);
                                             }),
                                             (e.prototype.computeEventEndResizeMutation = function (t, e, i) {
                                                  var n,
                                                       r,
                                                       o = i.componentFootprint.unzonedRange,
                                                       l = this.component.diffDates(e.unzonedRange.getEnd(), t.unzonedRange.getEnd());
                                                  return o.getEnd().add(l) > o.getStart() && ((n = new s.default()).setEndDelta(l), (r = new a.default()).setDateMutation(n), r);
                                             }),
                                             e
                                        );
                                   })(i(14).default);
                              e.default = c;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(4),
                                   o = i(39),
                                   a = i(40),
                                   s = i(59),
                                   l = i(17),
                                   c = i(226),
                                   u = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this, e) || this;
                                             return (n.isDragging = !1), (n.eventPointing = i), n;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.end = function () {
                                                  this.dragListener && this.dragListener.endInteraction();
                                             }),
                                             (e.prototype.getSelectionDelay = function () {
                                                  var t = this.opt("eventLongPressDelay");
                                                  return null == t && (t = this.opt("longPressDelay")), t;
                                             }),
                                             (e.prototype.bindToEl = function (t) {
                                                  var e = this.component;
                                                  e.bindSegHandlerToEl(t, "mousedown", this.handleMousedown.bind(this)), e.bindSegHandlerToEl(t, "touchstart", this.handleTouchStart.bind(this));
                                             }),
                                             (e.prototype.handleMousedown = function (t, e) {
                                                  !this.component.shouldIgnoreMouse() && this.component.canStartDrag(t, e) && this.buildDragListener(t).startInteraction(e, { distance: 5 });
                                             }),
                                             (e.prototype.handleTouchStart = function (t, e) {
                                                  var i = this.component,
                                                       n = { delay: this.view.isEventDefSelected(t.footprint.eventDef) ? 0 : this.getSelectionDelay() };
                                                  i.canStartDrag(t, e) ? this.buildDragListener(t).startInteraction(e, n) : i.canStartSelection(t, e) && this.buildSelectListener(t).startInteraction(e, n);
                                             }),
                                             (e.prototype.buildSelectListener = function (t) {
                                                  var e = this,
                                                       i = this.view,
                                                       n = t.footprint.eventDef,
                                                       r = t.footprint.eventInstance;
                                                  if (this.dragListener) return this.dragListener;
                                                  var o = (this.dragListener = new s.default({
                                                       dragStart: function (t) {
                                                            o.isTouch && !i.isEventDefSelected(n) && r && i.selectEventInstance(r);
                                                       },
                                                       interactionEnd: function (t) {
                                                            e.dragListener = null;
                                                       },
                                                  }));
                                                  return o;
                                             }),
                                             (e.prototype.buildDragListener = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       o = this,
                                                       a = this.component,
                                                       s = this.view,
                                                       u = s.calendar,
                                                       h = u.eventManager,
                                                       d = t.el,
                                                       p = t.footprint.eventDef,
                                                       f = t.footprint.eventInstance;
                                                  if (this.dragListener) return this.dragListener;
                                                  var m = (this.dragListener = new l.default(s, {
                                                       scroll: this.opt("dragScroll"),
                                                       subjectEl: d,
                                                       subjectCenter: !0,
                                                       interactionStart: function (n) {
                                                            (t.component = a),
                                                                 (e = !1),
                                                                 (i = new c.default(t.el, {
                                                                      additionalClass: "fc-dragging",
                                                                      parentEl: s.el,
                                                                      opacity: m.isTouch ? null : o.opt("dragOpacity"),
                                                                      revertDuration: o.opt("dragRevertDuration"),
                                                                      zIndex: 2,
                                                                 })).hide(),
                                                                 i.start(n);
                                                       },
                                                       dragStart: function (i) {
                                                            m.isTouch && !s.isEventDefSelected(p) && f && s.selectEventInstance(f),
                                                                 (e = !0),
                                                                 o.eventPointing.handleMouseout(t, i),
                                                                 o.segDragStart(t, i),
                                                                 s.hideEventsWithId(t.footprint.eventDef.id);
                                                       },
                                                       hitOver: function (e, l, c) {
                                                            var d,
                                                                 f,
                                                                 g,
                                                                 v = !0;
                                                            t.hit && (c = t.hit),
                                                                 (d = c.component.getSafeHitFootprint(c)),
                                                                 (f = e.component.getSafeHitFootprint(e)),
                                                                 d && f && (n = o.computeEventDropMutation(d, f, p)) ? ((g = h.buildMutatedEventInstanceGroup(p.id, n)), (v = a.isEventInstanceGroupAllowed(g))) : (v = !1),
                                                                 v || ((n = null), r.disableCursor()),
                                                                 n && s.renderDrag(a.eventRangesToEventFootprints(g.sliceRenderRanges(a.dateProfile.renderUnzonedRange, u)), t, m.isTouch) ? i.hide() : i.show(),
                                                                 l && (n = null);
                                                       },
                                                       hitOut: function () {
                                                            s.unrenderDrag(t), i.show(), (n = null);
                                                       },
                                                       hitDone: function () {
                                                            r.enableCursor();
                                                       },
                                                       interactionEnd: function (r) {
                                                            delete t.component,
                                                                 i.stop(!n, function () {
                                                                      e && (s.unrenderDrag(t), o.segDragStop(t, r)), s.showEventsWithId(t.footprint.eventDef.id), n && s.reportEventDrop(f, n, d, r);
                                                                 }),
                                                                 (o.dragListener = null);
                                                       },
                                                  }));
                                                  return m;
                                             }),
                                             (e.prototype.segDragStart = function (t, e) {
                                                  (this.isDragging = !0), this.component.publiclyTrigger("eventDragStart", { context: t.el[0], args: [t.footprint.getEventLegacy(), e, {}, this.view] });
                                             }),
                                             (e.prototype.segDragStop = function (t, e) {
                                                  (this.isDragging = !1), this.component.publiclyTrigger("eventDragStop", { context: t.el[0], args: [t.footprint.getEventLegacy(), e, {}, this.view] });
                                             }),
                                             (e.prototype.computeEventDropMutation = function (t, e, i) {
                                                  var n = new o.default();
                                                  return n.setDateMutation(this.computeEventDateMutation(t, e)), n;
                                             }),
                                             (e.prototype.computeEventDateMutation = function (t, e) {
                                                  var i,
                                                       n,
                                                       r = t.unzonedRange.getStart(),
                                                       o = e.unzonedRange.getStart(),
                                                       s = !1,
                                                       l = !1,
                                                       c = !1;
                                                  return (
                                                       t.isAllDay !== e.isAllDay && ((s = !0), e.isAllDay ? ((c = !0), r.stripTime()) : (l = !0)),
                                                       (i = this.component.diffDates(o, r)),
                                                       ((n = new a.default()).clearEnd = s),
                                                       (n.forceTimed = l),
                                                       (n.forceAllDay = c),
                                                       n.setDateDelta(i),
                                                       n
                                                  );
                                             }),
                                             e
                                        );
                                   })(i(14).default);
                              e.default = u;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(4),
                                   o = i(17),
                                   a = i(12),
                                   s = i(5),
                                   l = (function (t) {
                                        function e(e) {
                                             var i = t.call(this, e) || this;
                                             return (i.dragListener = i.buildDragListener()), i;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.end = function () {
                                                  this.dragListener.endInteraction();
                                             }),
                                             (e.prototype.getDelay = function () {
                                                  var t = this.opt("selectLongPressDelay");
                                                  return null == t && (t = this.opt("longPressDelay")), t;
                                             }),
                                             (e.prototype.bindToEl = function (t) {
                                                  var e = this,
                                                       i = this.component,
                                                       n = this.dragListener;
                                                  i.bindDateHandlerToEl(t, "mousedown", function (t) {
                                                       e.opt("selectable") && !i.shouldIgnoreMouse() && n.startInteraction(t, { distance: e.opt("selectMinDistance") });
                                                  }),
                                                       i.bindDateHandlerToEl(t, "touchstart", function (t) {
                                                            e.opt("selectable") && !i.shouldIgnoreTouch() && n.startInteraction(t, { delay: e.getDelay() });
                                                       }),
                                                       r.preventSelection(t);
                                             }),
                                             (e.prototype.buildDragListener = function () {
                                                  var t,
                                                       e = this,
                                                       i = this.component;
                                                  return new o.default(i, {
                                                       scroll: this.opt("dragScroll"),
                                                       interactionStart: function () {
                                                            t = null;
                                                       },
                                                       dragStart: function (t) {
                                                            e.view.unselect(t);
                                                       },
                                                       hitOver: function (n, o, a) {
                                                            var s, l;
                                                            a &&
                                                                 ((s = i.getSafeHitFootprint(a)),
                                                                 (l = i.getSafeHitFootprint(n)),
                                                                 (t = s && l ? e.computeSelection(s, l) : null) ? i.renderSelectionFootprint(t) : !1 === t && r.disableCursor());
                                                       },
                                                       hitOut: function () {
                                                            (t = null), i.unrenderSelection();
                                                       },
                                                       hitDone: function () {
                                                            r.enableCursor();
                                                       },
                                                       interactionEnd: function (i, n) {
                                                            !n && t && e.view.reportSelection(t, i);
                                                       },
                                                  });
                                             }),
                                             (e.prototype.computeSelection = function (t, e) {
                                                  var i = this.computeSelectionFootprint(t, e);
                                                  return !(i && !this.isSelectionFootprintAllowed(i)) && i;
                                             }),
                                             (e.prototype.computeSelectionFootprint = function (t, e) {
                                                  var i = [t.unzonedRange.startMs, t.unzonedRange.endMs, e.unzonedRange.startMs, e.unzonedRange.endMs];
                                                  return i.sort(r.compareNumbers), new a.default(new s.default(i[0], i[3]), t.isAllDay);
                                             }),
                                             (e.prototype.isSelectionFootprintAllowed = function (t) {
                                                  return this.component.dateProfile.validUnzonedRange.containsRange(t.unzonedRange) && this.view.calendar.constraints.isSelectionFootprintAllowed(t);
                                             }),
                                             e
                                        );
                                   })(i(14).default);
                              e.default = l;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(17),
                                   o = (function (t) {
                                        function e(e) {
                                             var i = t.call(this, e) || this;
                                             return (i.dragListener = i.buildDragListener()), i;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.end = function () {
                                                  this.dragListener.endInteraction();
                                             }),
                                             (e.prototype.bindToEl = function (t) {
                                                  var e = this.component,
                                                       i = this.dragListener;
                                                  e.bindDateHandlerToEl(t, "mousedown", function (t) {
                                                       e.shouldIgnoreMouse() || i.startInteraction(t);
                                                  }),
                                                       e.bindDateHandlerToEl(t, "touchstart", function (t) {
                                                            e.shouldIgnoreTouch() || i.startInteraction(t);
                                                       });
                                             }),
                                             (e.prototype.buildDragListener = function () {
                                                  var t,
                                                       e = this,
                                                       i = this.component,
                                                       n = new r.default(i, {
                                                            scroll: this.opt("dragScroll"),
                                                            interactionStart: function () {
                                                                 t = n.origHit;
                                                            },
                                                            hitOver: function (e, i, n) {
                                                                 i || (t = null);
                                                            },
                                                            hitOut: function () {
                                                                 t = null;
                                                            },
                                                            interactionEnd: function (n, r) {
                                                                 var o;
                                                                 !r && t && (o = i.getSafeHitFootprint(t)) && e.view.triggerDayClick(o, i.getHitEl(t), n);
                                                            },
                                                       });
                                                  return (n.shouldCancelTouchScroll = !1), (n.scrollAlwaysKills = !0), n;
                                             }),
                                             e
                                        );
                                   })(i(14).default);
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n,
                                   r,
                                   o = i(2),
                                   a = i(0),
                                   s = i(3),
                                   l = i(4),
                                   c = i(41),
                                   u = i(43),
                                   h = i(239),
                                   d = i(66),
                                   p = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this, e, i) || this;
                                             return (
                                                  (n.usesMinMaxTime = !0),
                                                  (n.timeGrid = n.instantiateTimeGrid()),
                                                  n.addChild(n.timeGrid),
                                                  n.opt("allDaySlot") && ((n.dayGrid = n.instantiateDayGrid()), n.addChild(n.dayGrid)),
                                                  (n.scroller = new c.default({ overflowX: "hidden", overflowY: "auto" })),
                                                  n
                                             );
                                        }
                                        return (
                                             o.__extends(e, t),
                                             (e.prototype.instantiateTimeGrid = function () {
                                                  var t = new this.timeGridClass(this);
                                                  return l.copyOwnProps(n, t), t;
                                             }),
                                             (e.prototype.instantiateDayGrid = function () {
                                                  var t = new this.dayGridClass(this);
                                                  return l.copyOwnProps(r, t), t;
                                             }),
                                             (e.prototype.renderSkeleton = function () {
                                                  var t, e;
                                                  this.el.addClass("fc-agenda-view").html(this.renderSkeletonHtml()),
                                                       this.scroller.render(),
                                                       (t = this.scroller.el.addClass("fc-time-grid-container")),
                                                       (e = s('<div class="fc-time-grid">').appendTo(t)),
                                                       this.el.find(".fc-body > tr > td").append(t),
                                                       (this.timeGrid.headContainerEl = this.el.find(".fc-head-container")),
                                                       this.timeGrid.setElement(e),
                                                       this.dayGrid && (this.dayGrid.setElement(this.el.find(".fc-day-grid")), (this.dayGrid.bottomCoordPadding = this.dayGrid.el.next("hr").outerHeight()));
                                             }),
                                             (e.prototype.unrenderSkeleton = function () {
                                                  this.timeGrid.removeElement(), this.dayGrid && this.dayGrid.removeElement(), this.scroller.destroy();
                                             }),
                                             (e.prototype.renderSkeletonHtml = function () {
                                                  var t = this.calendar.theme;
                                                  return (
                                                       '<table class="' +
                                                       t.getClass("tableGrid") +
                                                       '">' +
                                                       (this.opt("columnHeader") ? '<thead class="fc-head"><tr><td class="fc-head-container ' + t.getClass("widgetHeader") + '">&nbsp;</td></tr></thead>' : "") +
                                                       '<tbody class="fc-body"><tr><td class="' +
                                                       t.getClass("widgetContent") +
                                                       '">' +
                                                       (this.dayGrid ? '<div class="fc-day-grid"></div><hr class="fc-divider ' + t.getClass("widgetHeader") + '"></hr>' : "") +
                                                       "</td></tr></tbody></table>"
                                                  );
                                             }),
                                             (e.prototype.axisStyleAttr = function () {
                                                  return null != this.axisWidth ? 'style="width:' + this.axisWidth + 'px"' : "";
                                             }),
                                             (e.prototype.getNowIndicatorUnit = function () {
                                                  return this.timeGrid.getNowIndicatorUnit();
                                             }),
                                             (e.prototype.updateSize = function (e, i, n) {
                                                  var r, o, a;
                                                  if ((t.prototype.updateSize.call(this, e, i, n), (this.axisWidth = l.matchCellWidths(this.el.find(".fc-axis"))), this.timeGrid.colEls)) {
                                                       var s = this.el.find(".fc-row:not(.fc-scroller *)");
                                                       this.timeGrid.bottomRuleEl.hide(),
                                                            this.scroller.clear(),
                                                            l.uncompensateScroll(s),
                                                            this.dayGrid && (this.dayGrid.removeSegPopover(), (r = this.opt("eventLimit")) && "number" != typeof r && (r = 5), r && this.dayGrid.limitRows(r)),
                                                            i ||
                                                                 ((o = this.computeScrollerHeight(e)),
                                                                 this.scroller.setHeight(o),
                                                                 ((a = this.scroller.getScrollbarWidths()).left || a.right) && (l.compensateScroll(s, a), (o = this.computeScrollerHeight(e)), this.scroller.setHeight(o)),
                                                                 this.scroller.lockOverflow(a),
                                                                 this.timeGrid.getTotalSlatHeight() < o && this.timeGrid.bottomRuleEl.show());
                                                  } else i || ((o = this.computeScrollerHeight(e)), this.scroller.setHeight(o));
                                             }),
                                             (e.prototype.computeScrollerHeight = function (t) {
                                                  return t - l.subtractInnerElHeight(this.el, this.scroller.el);
                                             }),
                                             (e.prototype.computeInitialDateScroll = function () {
                                                  var t = a.duration(this.opt("scrollTime")),
                                                       e = this.timeGrid.computeTimeTop(t);
                                                  return (e = Math.ceil(e)) && e++, { top: e };
                                             }),
                                             (e.prototype.queryDateScroll = function () {
                                                  return { top: this.scroller.getScrollTop() };
                                             }),
                                             (e.prototype.applyDateScroll = function (t) {
                                                  void 0 !== t.top && this.scroller.setScrollTop(t.top);
                                             }),
                                             (e.prototype.getHitFootprint = function (t) {
                                                  return t.component.getHitFootprint(t);
                                             }),
                                             (e.prototype.getHitEl = function (t) {
                                                  return t.component.getHitEl(t);
                                             }),
                                             (e.prototype.executeEventRender = function (t) {
                                                  var e,
                                                       i,
                                                       n = {},
                                                       r = {};
                                                  for (e in t) (i = t[e]).getEventDef().isAllDay() ? (n[e] = i) : (r[e] = i);
                                                  this.timeGrid.executeEventRender(r), this.dayGrid && this.dayGrid.executeEventRender(n);
                                             }),
                                             (e.prototype.renderDrag = function (t, e, i) {
                                                  var n = f(t),
                                                       r = !1;
                                                  return (r = this.timeGrid.renderDrag(n.timed, e, i)), this.dayGrid && (r = this.dayGrid.renderDrag(n.allDay, e, i) || r), r;
                                             }),
                                             (e.prototype.renderEventResize = function (t, e, i) {
                                                  var n = f(t);
                                                  this.timeGrid.renderEventResize(n.timed, e, i), this.dayGrid && this.dayGrid.renderEventResize(n.allDay, e, i);
                                             }),
                                             (e.prototype.renderSelectionFootprint = function (t) {
                                                  t.isAllDay ? this.dayGrid && this.dayGrid.renderSelectionFootprint(t) : this.timeGrid.renderSelectionFootprint(t);
                                             }),
                                             e
                                        );
                                   })(u.default);
                              function f(t) {
                                   var e,
                                        i = [],
                                        n = [];
                                   for (e = 0; e < t.length; e++) t[e].componentFootprint.isAllDay ? i.push(t[e]) : n.push(t[e]);
                                   return { allDay: i, timed: n };
                              }
                              (e.default = p),
                                   (p.prototype.timeGridClass = h.default),
                                   (p.prototype.dayGridClass = d.default),
                                   (n = {
                                        renderHeadIntroHtml: function () {
                                             var t,
                                                  e = this.view,
                                                  i = e.calendar,
                                                  n = i.msToUtcMoment(this.dateProfile.renderUnzonedRange.startMs, !0);
                                             return this.opt("weekNumbers")
                                                  ? ((t = n.format(this.opt("smallWeekFormat"))),
                                                    '<th class="fc-axis fc-week-number ' +
                                                         i.theme.getClass("widgetHeader") +
                                                         '" ' +
                                                         e.axisStyleAttr() +
                                                         ">" +
                                                         e.buildGotoAnchorHtml({ date: n, type: "week", forceOff: this.colCnt > 1 }, l.htmlEscape(t)) +
                                                         "</th>")
                                                  : '<th class="fc-axis ' + i.theme.getClass("widgetHeader") + '" ' + e.axisStyleAttr() + "></th>";
                                        },
                                        renderBgIntroHtml: function () {
                                             var t = this.view;
                                             return '<td class="fc-axis ' + t.calendar.theme.getClass("widgetContent") + '" ' + t.axisStyleAttr() + "></td>";
                                        },
                                        renderIntroHtml: function () {
                                             return '<td class="fc-axis" ' + this.view.axisStyleAttr() + "></td>";
                                        },
                                   }),
                                   (r = {
                                        renderBgIntroHtml: function () {
                                             var t = this.view;
                                             return '<td class="fc-axis ' + t.calendar.theme.getClass("widgetContent") + '" ' + t.axisStyleAttr() + "><span>" + t.getAllDayHtml() + "</span></td>";
                                        },
                                        renderIntroHtml: function () {
                                             return '<td class="fc-axis" ' + this.view.axisStyleAttr() + "></td>";
                                        },
                                   });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(0),
                                   a = i(4),
                                   s = i(42),
                                   l = i(61),
                                   c = i(65),
                                   u = i(60),
                                   h = i(58),
                                   d = i(5),
                                   p = i(12),
                                   f = i(240),
                                   m = i(241),
                                   g = i(242),
                                   v = [{ hours: 1 }, { minutes: 30 }, { minutes: 15 }, { seconds: 30 }, { seconds: 15 }],
                                   y = (function (t) {
                                        function e(e) {
                                             var i = t.call(this, e) || this;
                                             return i.processOptions(), i;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.componentFootprintToSegs = function (t) {
                                                  var e,
                                                       i = this.sliceRangeByTimes(t.unzonedRange);
                                                  for (e = 0; e < i.length; e++) this.isRTL ? (i[e].col = this.daysPerRow - 1 - i[e].dayIndex) : (i[e].col = i[e].dayIndex);
                                                  return i;
                                             }),
                                             (e.prototype.sliceRangeByTimes = function (t) {
                                                  var e,
                                                       i,
                                                       n = [];
                                                  for (i = 0; i < this.daysPerRow; i++) (e = t.intersect(this.dayRanges[i])) && n.push({ startMs: e.startMs, endMs: e.endMs, isStart: e.isStart, isEnd: e.isEnd, dayIndex: i });
                                                  return n;
                                             }),
                                             (e.prototype.processOptions = function () {
                                                  var t,
                                                       e = this.opt("slotDuration"),
                                                       i = this.opt("snapDuration");
                                                  (e = o.duration(e)),
                                                       (i = i ? o.duration(i) : e),
                                                       (this.slotDuration = e),
                                                       (this.snapDuration = i),
                                                       (this.snapsPerSlot = e / i),
                                                       (t = this.opt("slotLabelFormat")),
                                                       r.isArray(t) && (t = t[t.length - 1]),
                                                       (this.labelFormat = t || this.opt("smallTimeFormat")),
                                                       (t = this.opt("slotLabelInterval")),
                                                       (this.labelInterval = t ? o.duration(t) : this.computeLabelInterval(e));
                                             }),
                                             (e.prototype.computeLabelInterval = function (t) {
                                                  var e, i, n;
                                                  for (e = v.length - 1; e >= 0; e--) if (((i = o.duration(v[e])), (n = a.divideDurationByDuration(i, t)), a.isInt(n) && n > 1)) return i;
                                                  return o.duration(t);
                                             }),
                                             (e.prototype.renderDates = function (t) {
                                                  (this.dateProfile = t), this.updateDayTable(), this.renderSlats(), this.renderColumns();
                                             }),
                                             (e.prototype.unrenderDates = function () {
                                                  this.unrenderColumns();
                                             }),
                                             (e.prototype.renderSkeleton = function () {
                                                  var t = this.view.calendar.theme;
                                                  this.el.html('<div class="fc-bg"></div><div class="fc-slats"></div><hr class="fc-divider ' + t.getClass("widgetHeader") + '" style="display:none"></hr>'),
                                                       (this.bottomRuleEl = this.el.find("hr"));
                                             }),
                                             (e.prototype.renderSlats = function () {
                                                  var t = this.view.calendar.theme;
                                                  (this.slatContainerEl = this.el.find("> .fc-slats").html('<table class="' + t.getClass("tableGrid") + '">' + this.renderSlatRowHtml() + "</table>")),
                                                       (this.slatEls = this.slatContainerEl.find("tr")),
                                                       (this.slatCoordCache = new h.default({ els: this.slatEls, isVertical: !0 }));
                                             }),
                                             (e.prototype.renderSlatRowHtml = function () {
                                                  for (var t, e, i, n = this.view, r = n.calendar, s = r.theme, l = this.isRTL, c = this.dateProfile, u = "", h = o.duration(+c.minTime), d = o.duration(0); h < c.maxTime; )
                                                       (t = r.msToUtcMoment(c.renderUnzonedRange.startMs).time(h)),
                                                            (e = a.isInt(a.divideDurationByDuration(d, this.labelInterval))),
                                                            (i =
                                                                 '<td class="fc-axis fc-time ' +
                                                                 s.getClass("widgetContent") +
                                                                 '" ' +
                                                                 n.axisStyleAttr() +
                                                                 ">" +
                                                                 (e ? "<span>" + a.htmlEscape(t.format(this.labelFormat)) + "</span>" : "") +
                                                                 "</td>"),
                                                            (u +=
                                                                 '<tr data-time="' +
                                                                 t.format("HH:mm:ss") +
                                                                 '"' +
                                                                 (e ? "" : ' class="fc-minor"') +
                                                                 ">" +
                                                                 (l ? "" : i) +
                                                                 '<td class="' +
                                                                 s.getClass("widgetContent") +
                                                                 '"></td>' +
                                                                 (l ? i : "") +
                                                                 "</tr>"),
                                                            h.add(this.slotDuration),
                                                            d.add(this.slotDuration);
                                                  return u;
                                             }),
                                             (e.prototype.renderColumns = function () {
                                                  var t = this.dateProfile,
                                                       e = this.view.calendar.theme;
                                                  (this.dayRanges = this.dayDates.map(function (e) {
                                                       return new d.default(e.clone().add(t.minTime), e.clone().add(t.maxTime));
                                                  })),
                                                       this.headContainerEl && this.headContainerEl.html(this.renderHeadHtml()),
                                                       this.el.find("> .fc-bg").html('<table class="' + e.getClass("tableGrid") + '">' + this.renderBgTrHtml(0) + "</table>"),
                                                       (this.colEls = this.el.find(".fc-day, .fc-disabled-day")),
                                                       (this.colCoordCache = new h.default({ els: this.colEls, isHorizontal: !0 })),
                                                       this.renderContentSkeleton();
                                             }),
                                             (e.prototype.unrenderColumns = function () {
                                                  this.unrenderContentSkeleton();
                                             }),
                                             (e.prototype.renderContentSkeleton = function () {
                                                  var t,
                                                       e,
                                                       i = "";
                                                  for (t = 0; t < this.colCnt; t++)
                                                       i +=
                                                            '<td><div class="fc-content-col"><div class="fc-event-container fc-helper-container"></div><div class="fc-event-container"></div><div class="fc-highlight-container"></div><div class="fc-bgevent-container"></div><div class="fc-business-container"></div></div></td>';
                                                  (e = this.contentSkeletonEl = r('<div class="fc-content-skeleton"><table><tr>' + i + "</tr></table></div>")),
                                                       (this.colContainerEls = e.find(".fc-content-col")),
                                                       (this.helperContainerEls = e.find(".fc-helper-container")),
                                                       (this.fgContainerEls = e.find(".fc-event-container:not(.fc-helper-container)")),
                                                       (this.bgContainerEls = e.find(".fc-bgevent-container")),
                                                       (this.highlightContainerEls = e.find(".fc-highlight-container")),
                                                       (this.businessContainerEls = e.find(".fc-business-container")),
                                                       this.bookendCells(e.find("tr")),
                                                       this.el.append(e);
                                             }),
                                             (e.prototype.unrenderContentSkeleton = function () {
                                                  this.contentSkeletonEl &&
                                                       (this.contentSkeletonEl.remove(),
                                                       (this.contentSkeletonEl = null),
                                                       (this.colContainerEls = null),
                                                       (this.helperContainerEls = null),
                                                       (this.fgContainerEls = null),
                                                       (this.bgContainerEls = null),
                                                       (this.highlightContainerEls = null),
                                                       (this.businessContainerEls = null));
                                             }),
                                             (e.prototype.groupSegsByCol = function (t) {
                                                  var e,
                                                       i = [];
                                                  for (e = 0; e < this.colCnt; e++) i.push([]);
                                                  for (e = 0; e < t.length; e++) i[t[e].col].push(t[e]);
                                                  return i;
                                             }),
                                             (e.prototype.attachSegsByCol = function (t, e) {
                                                  var i, n, r;
                                                  for (i = 0; i < this.colCnt; i++) for (n = t[i], r = 0; r < n.length; r++) e.eq(i).append(n[r].el);
                                             }),
                                             (e.prototype.getNowIndicatorUnit = function () {
                                                  return "minute";
                                             }),
                                             (e.prototype.renderNowIndicator = function (t) {
                                                  if (this.colContainerEls) {
                                                       var e,
                                                            i = this.componentFootprintToSegs(new p.default(new d.default(t, t.valueOf() + 1), !1)),
                                                            n = this.computeDateTop(t, t),
                                                            o = [];
                                                       for (e = 0; e < i.length; e++) o.push(r('<div class="fc-now-indicator fc-now-indicator-line"></div>').css("top", n).appendTo(this.colContainerEls.eq(i[e].col))[0]);
                                                       i.length > 0 && o.push(r('<div class="fc-now-indicator fc-now-indicator-arrow"></div>').css("top", n).appendTo(this.el.find(".fc-content-skeleton"))[0]), (this.nowIndicatorEls = r(o));
                                                  }
                                             }),
                                             (e.prototype.unrenderNowIndicator = function () {
                                                  this.nowIndicatorEls && (this.nowIndicatorEls.remove(), (this.nowIndicatorEls = null));
                                             }),
                                             (e.prototype.updateSize = function (e, i, n) {
                                                  t.prototype.updateSize.call(this, e, i, n), this.slatCoordCache.build(), n && this.updateSegVerticals([].concat(this.eventRenderer.getSegs(), this.businessSegs || []));
                                             }),
                                             (e.prototype.getTotalSlatHeight = function () {
                                                  return this.slatContainerEl.outerHeight();
                                             }),
                                             (e.prototype.computeDateTop = function (t, e) {
                                                  return this.computeTimeTop(o.duration(t - e.clone().stripTime()));
                                             }),
                                             (e.prototype.computeTimeTop = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.slatEls.length,
                                                       r = (t - this.dateProfile.minTime) / this.slotDuration;
                                                  return (r = Math.max(0, r)), (r = Math.min(n, r)), (e = Math.floor(r)), (i = r - (e = Math.min(e, n - 1))), this.slatCoordCache.getTopPosition(e) + this.slatCoordCache.getHeight(e) * i;
                                             }),
                                             (e.prototype.updateSegVerticals = function (t) {
                                                  this.computeSegVerticals(t), this.assignSegVerticals(t);
                                             }),
                                             (e.prototype.computeSegVerticals = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r = this.opt("agendaEventMinHeight");
                                                  for (e = 0; e < t.length; e++) (i = t[e]), (n = this.dayDates[i.dayIndex]), (i.top = this.computeDateTop(i.startMs, n)), (i.bottom = Math.max(i.top + r, this.computeDateTop(i.endMs, n)));
                                             }),
                                             (e.prototype.assignSegVerticals = function (t) {
                                                  var e, i;
                                                  for (e = 0; e < t.length; e++) (i = t[e]).el.css(this.generateSegVerticalCss(i));
                                             }),
                                             (e.prototype.generateSegVerticalCss = function (t) {
                                                  return { top: t.top, bottom: -t.bottom };
                                             }),
                                             (e.prototype.prepareHits = function () {
                                                  this.colCoordCache.build(), this.slatCoordCache.build();
                                             }),
                                             (e.prototype.releaseHits = function () {
                                                  this.colCoordCache.clear();
                                             }),
                                             (e.prototype.queryHit = function (t, e) {
                                                  var i = this.snapsPerSlot,
                                                       n = this.colCoordCache,
                                                       r = this.slatCoordCache;
                                                  if (n.isLeftInBounds(t) && r.isTopInBounds(e)) {
                                                       var o = n.getHorizontalIndex(t),
                                                            a = r.getVerticalIndex(e);
                                                       if (null != o && null != a) {
                                                            var s = r.getTopOffset(a),
                                                                 l = r.getHeight(a),
                                                                 c = (e - s) / l,
                                                                 u = Math.floor(c * i),
                                                                 h = s + (u / i) * l,
                                                                 d = s + ((u + 1) / i) * l;
                                                            return { col: o, snap: a * i + u, component: this, left: n.getLeftOffset(o), right: n.getRightOffset(o), top: h, bottom: d };
                                                       }
                                                  }
                                             }),
                                             (e.prototype.getHitFootprint = function (t) {
                                                  var e,
                                                       i = this.getCellDate(0, t.col),
                                                       n = this.computeSnapTime(t.snap);
                                                  return i.time(n), (e = i.clone().add(this.snapDuration)), new p.default(new d.default(i, e), !1);
                                             }),
                                             (e.prototype.computeSnapTime = function (t) {
                                                  return o.duration(this.dateProfile.minTime + this.snapDuration * t);
                                             }),
                                             (e.prototype.getHitEl = function (t) {
                                                  return this.colEls.eq(t.col);
                                             }),
                                             (e.prototype.renderDrag = function (t, e, i) {
                                                  var n;
                                                  if (e) {
                                                       if (t.length) return this.helperRenderer.renderEventDraggingFootprints(t, e, i), !0;
                                                  } else for (n = 0; n < t.length; n++) this.renderHighlight(t[n].componentFootprint);
                                             }),
                                             (e.prototype.unrenderDrag = function () {
                                                  this.unrenderHighlight(), this.helperRenderer.unrender();
                                             }),
                                             (e.prototype.renderEventResize = function (t, e, i) {
                                                  this.helperRenderer.renderEventResizingFootprints(t, e, i);
                                             }),
                                             (e.prototype.unrenderEventResize = function () {
                                                  this.helperRenderer.unrender();
                                             }),
                                             (e.prototype.renderSelectionFootprint = function (t) {
                                                  this.opt("selectHelper") ? this.helperRenderer.renderComponentFootprint(t) : this.renderHighlight(t);
                                             }),
                                             (e.prototype.unrenderSelection = function () {
                                                  this.helperRenderer.unrender(), this.unrenderHighlight();
                                             }),
                                             e
                                        );
                                   })(s.default);
                              (e.default = y),
                                   (y.prototype.eventRendererClass = f.default),
                                   (y.prototype.businessHourRendererClass = l.default),
                                   (y.prototype.helperRendererClass = m.default),
                                   (y.prototype.fillRendererClass = g.default),
                                   c.default.mixInto(y),
                                   u.default.mixInto(y);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(4),
                                   o = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this, e, i) || this;
                                             return (n.timeGrid = e), n;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.renderFgSegs = function (t) {
                                                  this.renderFgSegsIntoContainers(t, this.timeGrid.fgContainerEls);
                                             }),
                                             (e.prototype.renderFgSegsIntoContainers = function (t, e) {
                                                  var i, n;
                                                  for (i = this.timeGrid.groupSegsByCol(t), n = 0; n < this.timeGrid.colCnt; n++) this.updateFgSegCoords(i[n]);
                                                  this.timeGrid.attachSegsByCol(i, e);
                                             }),
                                             (e.prototype.unrenderFgSegs = function () {
                                                  this.fgSegs &&
                                                       this.fgSegs.forEach(function (t) {
                                                            t.el.remove();
                                                       });
                                             }),
                                             (e.prototype.computeEventTimeFormat = function () {
                                                  return this.opt("noMeridiemTimeFormat");
                                             }),
                                             (e.prototype.computeDisplayEventEnd = function () {
                                                  return !0;
                                             }),
                                             (e.prototype.fgSegHtml = function (t, e) {
                                                  var i,
                                                       n,
                                                       o,
                                                       a = this.view,
                                                       s = a.calendar,
                                                       l = t.footprint.componentFootprint,
                                                       c = l.isAllDay,
                                                       u = t.footprint.eventDef,
                                                       h = a.isEventDefDraggable(u),
                                                       d = !e && t.isStart && a.isEventDefResizableFromStart(u),
                                                       p = !e && t.isEnd && a.isEventDefResizableFromEnd(u),
                                                       f = this.getSegClasses(t, h, d || p),
                                                       m = r.cssToStr(this.getSkinCss(u));
                                                  if ((f.unshift("fc-time-grid-event", "fc-v-event"), a.isMultiDayRange(l.unzonedRange))) {
                                                       if (t.isStart || t.isEnd) {
                                                            var g = s.msToMoment(t.startMs),
                                                                 v = s.msToMoment(t.endMs);
                                                            (i = this._getTimeText(g, v, c)), (n = this._getTimeText(g, v, c, "LT")), (o = this._getTimeText(g, v, c, null, !1));
                                                       }
                                                  } else (i = this.getTimeText(t.footprint)), (n = this.getTimeText(t.footprint, "LT")), (o = this.getTimeText(t.footprint, null, !1));
                                                  return (
                                                       '<a class="' +
                                                       f.join(" ") +
                                                       '"' +
                                                       (u.url ? ' href="' + r.htmlEscape(u.url) + '"' : "") +
                                                       (m ? ' style="' + m + '"' : "") +
                                                       '><div class="fc-content">' +
                                                       (i ? '<div class="fc-time" data-start="' + r.htmlEscape(o) + '" data-full="' + r.htmlEscape(n) + '"><span>' + r.htmlEscape(i) + "</span></div>" : "") +
                                                       (u.title ? '<div class="fc-title">' + r.htmlEscape(u.title) + "</div>" : "") +
                                                       '</div><div class="fc-bg"></div>' +
                                                       (p ? '<div class="fc-resizer fc-end-resizer"></div>' : "") +
                                                       "</a>"
                                                  );
                                             }),
                                             (e.prototype.updateFgSegCoords = function (t) {
                                                  this.timeGrid.computeSegVerticals(t), this.computeFgSegHorizontals(t), this.timeGrid.assignSegVerticals(t), this.assignFgSegHorizontals(t);
                                             }),
                                             (e.prototype.computeFgSegHorizontals = function (t) {
                                                  var e, i, n;
                                                  if (
                                                       (this.sortEventSegs(t),
                                                       (function (t) {
                                                            var e, i, n, r, o;
                                                            for (e = 0; e < t.length; e++) for (i = t[e], n = 0; n < i.length; n++) for ((r = i[n]).forwardSegs = [], o = e + 1; o < t.length; o++) s(r, t[o], r.forwardSegs);
                                                       })(
                                                            (e = (function (t) {
                                                                 var e,
                                                                      i,
                                                                      n,
                                                                      r = [];
                                                                 for (e = 0; e < t.length; e++) {
                                                                      for (i = t[e], n = 0; n < r.length && s(i, r[n]).length; n++);
                                                                      (i.level = n), (r[n] || (r[n] = [])).push(i);
                                                                 }
                                                                 return r;
                                                            })(t))
                                                       ),
                                                       (i = e[0]))
                                                  ) {
                                                       for (n = 0; n < i.length; n++) a(i[n]);
                                                       for (n = 0; n < i.length; n++) this.computeFgSegForwardBack(i[n], 0, 0);
                                                  }
                                             }),
                                             (e.prototype.computeFgSegForwardBack = function (t, e, i) {
                                                  var n,
                                                       r = t.forwardSegs;
                                                  if (void 0 === t.forwardCoord)
                                                       for (
                                                            r.length ? (this.sortForwardSegs(r), this.computeFgSegForwardBack(r[0], e + 1, i), (t.forwardCoord = r[0].backwardCoord)) : (t.forwardCoord = 1),
                                                                 t.backwardCoord = t.forwardCoord - (t.forwardCoord - i) / (e + 1),
                                                                 n = 0;
                                                            n < r.length;
                                                            n++
                                                       )
                                                            this.computeFgSegForwardBack(r[n], 0, t.forwardCoord);
                                             }),
                                             (e.prototype.sortForwardSegs = function (t) {
                                                  t.sort(r.proxy(this, "compareForwardSegs"));
                                             }),
                                             (e.prototype.compareForwardSegs = function (t, e) {
                                                  return e.forwardPressure - t.forwardPressure || (t.backwardCoord || 0) - (e.backwardCoord || 0) || this.compareEventSegs(t, e);
                                             }),
                                             (e.prototype.assignFgSegHorizontals = function (t) {
                                                  var e, i;
                                                  for (e = 0; e < t.length; e++) (i = t[e]).el.css(this.generateFgSegHorizontalCss(i)), i.footprint.eventDef.title && i.bottom - i.top < 30 && i.el.addClass("fc-short");
                                             }),
                                             (e.prototype.generateFgSegHorizontalCss = function (t) {
                                                  var e,
                                                       i,
                                                       n = this.opt("slotEventOverlap"),
                                                       r = t.backwardCoord,
                                                       o = t.forwardCoord,
                                                       a = this.timeGrid.generateSegVerticalCss(t),
                                                       s = this.timeGrid.isRTL;
                                                  return (
                                                       n && (o = Math.min(1, r + 2 * (o - r))),
                                                       s ? ((e = 1 - o), (i = r)) : ((e = r), (i = 1 - o)),
                                                       (a.zIndex = t.level + 1),
                                                       (a.left = 100 * e + "%"),
                                                       (a.right = 100 * i + "%"),
                                                       n && t.forwardPressure && (a[s ? "marginLeft" : "marginRight"] = 20),
                                                       a
                                                  );
                                             }),
                                             e
                                        );
                                   })(i(44).default);
                              function a(t) {
                                   var e,
                                        i,
                                        n = t.forwardSegs,
                                        r = 0;
                                   if (void 0 === t.forwardPressure) {
                                        for (e = 0; e < n.length; e++) a((i = n[e])), (r = Math.max(r, 1 + i.forwardPressure));
                                        t.forwardPressure = r;
                                   }
                              }
                              function s(t, e, i) {
                                   void 0 === i && (i = []);
                                   for (var n = 0; n < e.length; n++) (r = t), (o = e[n]), r.bottom > o.top && r.top < o.bottom && i.push(e[n]);
                                   var r, o;
                                   return i;
                              }
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.renderSegs = function (t, e) {
                                                  var i,
                                                       n,
                                                       o,
                                                       a = [];
                                                  for (this.eventRenderer.renderFgSegsIntoContainers(t, this.component.helperContainerEls), i = 0; i < t.length; i++)
                                                       (n = t[i]),
                                                            e && e.col === n.col && ((o = e.el), n.el.css({ left: o.css("left"), right: o.css("right"), "margin-left": o.css("margin-left"), "margin-right": o.css("margin-right") })),
                                                            a.push(n.el[0]);
                                                  return r(a);
                                             }),
                                             e
                                        );
                                   })(i(63).default);
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.attachSegEls = function (t, e) {
                                                  var i,
                                                       n = this.component;
                                                  return (
                                                       "bgEvent" === t ? (i = n.bgContainerEls) : "businessHours" === t ? (i = n.businessContainerEls) : "highlight" === t && (i = n.highlightContainerEls),
                                                       n.updateSegVerticals(e),
                                                       n.attachSegsByCol(n.groupSegsByCol(e), i),
                                                       e.map(function (t) {
                                                            return t.el[0];
                                                       })
                                                  );
                                             }),
                                             e
                                        );
                                   })(i(62).default);
                              e.default = r;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(4),
                                   a = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this, e, i) || this;
                                             return (n.dayGrid = e), n;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.renderBgRanges = function (e) {
                                                  (e = r.grep(e, function (t) {
                                                       return t.eventDef.isAllDay();
                                                  })),
                                                       t.prototype.renderBgRanges.call(this, e);
                                             }),
                                             (e.prototype.renderFgSegs = function (t) {
                                                  var e = (this.rowStructs = this.renderSegRows(t));
                                                  this.dayGrid.rowEls.each(function (t, i) {
                                                       r(i).find(".fc-content-skeleton > table").append(e[t].tbodyEl);
                                                  });
                                             }),
                                             (e.prototype.unrenderFgSegs = function () {
                                                  for (var t, e = this.rowStructs || []; (t = e.pop()); ) t.tbodyEl.remove();
                                                  this.rowStructs = null;
                                             }),
                                             (e.prototype.renderSegRows = function (t) {
                                                  var e,
                                                       i,
                                                       n = [];
                                                  for (e = this.groupSegRows(t), i = 0; i < e.length; i++) n.push(this.renderSegRow(i, e[i]));
                                                  return n;
                                             }),
                                             (e.prototype.renderSegRow = function (t, e) {
                                                  var i,
                                                       n,
                                                       o,
                                                       a,
                                                       s,
                                                       l,
                                                       c,
                                                       u = this.dayGrid.colCnt,
                                                       h = this.buildSegLevels(e),
                                                       d = Math.max(1, h.length),
                                                       p = r("<tbody>"),
                                                       f = [],
                                                       m = [],
                                                       g = [];
                                                  function v(t) {
                                                       for (; o < t; ) (c = (g[i - 1] || [])[o]) ? c.attr("rowspan", parseInt(c.attr("rowspan") || 1, 10) + 1) : ((c = r("<td>")), a.append(c)), (m[i][o] = c), (g[i][o] = c), o++;
                                                  }
                                                  for (i = 0; i < d; i++) {
                                                       if (((n = h[i]), (o = 0), (a = r("<tr>")), f.push([]), m.push([]), g.push([]), n))
                                                            for (s = 0; s < n.length; s++) {
                                                                 for (
                                                                      v((l = n[s]).leftCol), c = r('<td class="fc-event-container">').append(l.el), l.leftCol !== l.rightCol ? c.attr("colspan", l.rightCol - l.leftCol + 1) : (g[i][o] = c);
                                                                      o <= l.rightCol;

                                                                 )
                                                                      (m[i][o] = c), (f[i][o] = l), o++;
                                                                 a.append(c);
                                                            }
                                                       v(u), this.dayGrid.bookendCells(a), p.append(a);
                                                  }
                                                  return { row: t, tbodyEl: p, cellMatrix: m, segMatrix: f, segLevels: h, segs: e };
                                             }),
                                             (e.prototype.buildSegLevels = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r = [];
                                                  for (this.sortEventSegs(t), e = 0; e < t.length; e++) {
                                                       for (i = t[e], n = 0; n < r.length && s(i, r[n]); n++);
                                                       (i.level = n), (r[n] || (r[n] = [])).push(i);
                                                  }
                                                  for (n = 0; n < r.length; n++) r[n].sort(l);
                                                  return r;
                                             }),
                                             (e.prototype.groupSegRows = function (t) {
                                                  var e,
                                                       i = [];
                                                  for (e = 0; e < this.dayGrid.rowCnt; e++) i.push([]);
                                                  for (e = 0; e < t.length; e++) i[t[e].row].push(t[e]);
                                                  return i;
                                             }),
                                             (e.prototype.computeEventTimeFormat = function () {
                                                  return this.opt("extraSmallTimeFormat");
                                             }),
                                             (e.prototype.computeDisplayEventEnd = function () {
                                                  return 1 === this.dayGrid.colCnt;
                                             }),
                                             (e.prototype.fgSegHtml = function (t, e) {
                                                  var i,
                                                       n,
                                                       r = this.view,
                                                       a = t.footprint.eventDef,
                                                       s = t.footprint.componentFootprint.isAllDay,
                                                       l = r.isEventDefDraggable(a),
                                                       c = !e && s && t.isStart && r.isEventDefResizableFromStart(a),
                                                       u = !e && s && t.isEnd && r.isEventDefResizableFromEnd(a),
                                                       h = this.getSegClasses(t, l, c || u),
                                                       d = o.cssToStr(this.getSkinCss(a)),
                                                       p = "";
                                                  return (
                                                       h.unshift("fc-day-grid-event", "fc-h-event"),
                                                       t.isStart && (i = this.getTimeText(t.footprint)) && (p = '<span class="fc-time">' + o.htmlEscape(i) + "</span>"),
                                                       (n = '<span class="fc-title">' + (o.htmlEscape(a.title || "") || "&nbsp;") + "</span>"),
                                                       '<a class="' +
                                                            h.join(" ") +
                                                            '"' +
                                                            (a.url ? ' href="' + o.htmlEscape(a.url) + '"' : "") +
                                                            (d ? ' style="' + d + '"' : "") +
                                                            '><div class="fc-content">' +
                                                            (this.dayGrid.isRTL ? n + " " + p : p + " " + n) +
                                                            "</div>" +
                                                            (c ? '<div class="fc-resizer fc-start-resizer"></div>' : "") +
                                                            (u ? '<div class="fc-resizer fc-end-resizer"></div>' : "") +
                                                            "</a>"
                                                  );
                                             }),
                                             e
                                        );
                                   })(i(44).default);
                              function s(t, e) {
                                   var i, n;
                                   for (i = 0; i < e.length; i++) if ((n = e[i]).leftCol <= t.rightCol && n.rightCol >= t.leftCol) return !0;
                                   return !1;
                              }
                              function l(t, e) {
                                   return t.leftCol - e.leftCol;
                              }
                              e.default = a;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.renderSegs = function (t, e) {
                                                  var i,
                                                       n = [];
                                                  return (
                                                       (i = this.eventRenderer.renderSegRows(t)),
                                                       this.component.rowEls.each(function (t, o) {
                                                            var a,
                                                                 s,
                                                                 l = r(o),
                                                                 c = r('<div class="fc-helper-skeleton"><table></table></div>');
                                                            e && e.row === t ? (s = e.el.position().top) : ((a = l.find(".fc-content-skeleton tbody")).length || (a = l.find(".fc-content-skeleton table")), (s = a.position().top)),
                                                                 c.css("top", s).find("table").append(i[t].tbodyEl),
                                                                 l.append(c),
                                                                 n.push(c[0]);
                                                       }),
                                                       r(n)
                                                  );
                                             }),
                                             e
                                        );
                                   })(i(63).default);
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = (function (t) {
                                        function e() {
                                             var e = (null !== t && t.apply(this, arguments)) || this;
                                             return (e.fillSegTag = "td"), e;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.attachSegEls = function (t, e) {
                                                  var i,
                                                       n,
                                                       r,
                                                       o = [];
                                                  for (i = 0; i < e.length; i++) (n = e[i]), (r = this.renderFillRow(t, n)), this.component.rowEls.eq(n.row).append(r), o.push(r[0]);
                                                  return o;
                                             }),
                                             (e.prototype.renderFillRow = function (t, e) {
                                                  var i,
                                                       n,
                                                       o,
                                                       a = this.component.colCnt,
                                                       s = e.leftCol,
                                                       l = e.rightCol + 1;
                                                  return (
                                                       (i = "businessHours" === t ? "bgevent" : t.toLowerCase()),
                                                       (o = (n = r('<div class="fc-' + i + '-skeleton"><table><tr></tr></table></div>')).find("tr")),
                                                       s > 0 && o.append(new Array(s + 1).join("<td></td>")),
                                                       o.append(e.el.attr("colspan", l - s)),
                                                       l < a && o.append(new Array(a - l + 1).join("<td></td>")),
                                                       this.component.bookendCells(o),
                                                       n
                                                  );
                                             }),
                                             e
                                        );
                                   })(i(62).default);
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(0),
                                   o = i(4),
                                   a = i(67),
                                   s = i(247),
                                   l = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.setGridHeight = function (t, e) {
                                                  e && (t *= this.dayGrid.rowCnt / 6), o.distributeHeight(this.dayGrid.rowEls, t, !e);
                                             }),
                                             (e.prototype.isDateInOtherMonth = function (t, e) {
                                                  return t.month() !== r.utc(e.currentUnzonedRange.startMs).month();
                                             }),
                                             e
                                        );
                                   })(a.default);
                              (e.default = l), (l.prototype.dateProfileGeneratorClass = s.default);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(68),
                                   o = i(5),
                                   a = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.buildRenderRange = function (e, i, n) {
                                                  var r,
                                                       a = t.prototype.buildRenderRange.call(this, e, i, n),
                                                       s = this.msToUtcMoment(a.startMs, n),
                                                       l = this.msToUtcMoment(a.endMs, n);
                                                  return this.opt("fixedWeekCount") && ((r = Math.ceil(l.diff(s, "weeks", !0))), l.add(6 - r, "weeks")), new o.default(s, l);
                                             }),
                                             e
                                        );
                                   })(r.default);
                              e.default = a;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(4),
                                   a = i(5),
                                   s = i(43),
                                   l = i(41),
                                   c = i(249),
                                   u = i(250),
                                   h = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this, e, i) || this;
                                             return (n.segSelector = ".fc-list-item"), (n.scroller = new l.default({ overflowX: "hidden", overflowY: "auto" })), n;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.renderSkeleton = function () {
                                                  this.el.addClass("fc-list-view " + this.calendar.theme.getClass("listView")), this.scroller.render(), this.scroller.el.appendTo(this.el), (this.contentEl = this.scroller.scrollEl);
                                             }),
                                             (e.prototype.unrenderSkeleton = function () {
                                                  this.scroller.destroy();
                                             }),
                                             (e.prototype.updateSize = function (e, i, n) {
                                                  t.prototype.updateSize.call(this, e, i, n), this.scroller.clear(), i || this.scroller.setHeight(this.computeScrollerHeight(e));
                                             }),
                                             (e.prototype.computeScrollerHeight = function (t) {
                                                  return t - o.subtractInnerElHeight(this.el, this.scroller.el);
                                             }),
                                             (e.prototype.renderDates = function (t) {
                                                  for (var e = this.calendar, i = e.msToUtcMoment(t.renderUnzonedRange.startMs, !0), n = e.msToUtcMoment(t.renderUnzonedRange.endMs, !0), r = [], o = []; i < n; )
                                                       r.push(i.clone()), o.push(new a.default(i, i.clone().add(1, "day"))), i.add(1, "day");
                                                  (this.dayDates = r), (this.dayRanges = o);
                                             }),
                                             (e.prototype.componentFootprintToSegs = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r = this.dayRanges,
                                                       o = [];
                                                  for (e = 0; e < r.length; e++)
                                                       if (
                                                            (i = t.unzonedRange.intersect(r[e])) &&
                                                            ((n = { startMs: i.startMs, endMs: i.endMs, isStart: i.isStart, isEnd: i.isEnd, dayIndex: e }),
                                                            o.push(n),
                                                            !n.isEnd && !t.isAllDay && e + 1 < r.length && t.unzonedRange.endMs < r[e + 1].startMs + this.nextDayThreshold)
                                                       ) {
                                                            (n.endMs = t.unzonedRange.endMs), (n.isEnd = !0);
                                                            break;
                                                       }
                                                  return o;
                                             }),
                                             (e.prototype.renderEmptyMessage = function () {
                                                  this.contentEl.html('<div class="fc-list-empty-wrap2"><div class="fc-list-empty-wrap1"><div class="fc-list-empty">' + o.htmlEscape(this.opt("noEventsMessage")) + "</div></div></div>");
                                             }),
                                             (e.prototype.renderSegList = function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       o = this.groupSegsByDay(t),
                                                       a = r('<table class="fc-list-table ' + this.calendar.theme.getClass("tableList") + '"><tbody></tbody></table>'),
                                                       s = a.find("tbody");
                                                  for (e = 0; e < o.length; e++) if ((i = o[e])) for (s.append(this.dayHeaderHtml(this.dayDates[e])), this.eventRenderer.sortEventSegs(i), n = 0; n < i.length; n++) s.append(i[n].el);
                                                  this.contentEl.empty().append(a);
                                             }),
                                             (e.prototype.groupSegsByDay = function (t) {
                                                  var e,
                                                       i,
                                                       n = [];
                                                  for (e = 0; e < t.length; e++) (n[(i = t[e]).dayIndex] || (n[i.dayIndex] = [])).push(i);
                                                  return n;
                                             }),
                                             (e.prototype.dayHeaderHtml = function (t) {
                                                  var e = this.opt("listDayFormat"),
                                                       i = this.opt("listDayAltFormat");
                                                  return (
                                                       '<tr class="fc-list-heading" data-date="' +
                                                       t.format("YYYY-MM-DD") +
                                                       '"><td class="' +
                                                       (this.calendar.theme.getClass("tableListHeading") || this.calendar.theme.getClass("widgetHeader")) +
                                                       '" colspan="3">' +
                                                       (e ? this.buildGotoAnchorHtml(t, { class: "fc-list-heading-main" }, o.htmlEscape(t.format(e))) : "") +
                                                       (i ? this.buildGotoAnchorHtml(t, { class: "fc-list-heading-alt" }, o.htmlEscape(t.format(i))) : "") +
                                                       "</td></tr>"
                                                  );
                                             }),
                                             e
                                        );
                                   })(s.default);
                              (e.default = h), (h.prototype.eventRendererClass = c.default), (h.prototype.eventPointingClass = u.default);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(4),
                                   o = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.renderFgSegs = function (t) {
                                                  t.length ? this.component.renderSegList(t) : this.component.renderEmptyMessage();
                                             }),
                                             (e.prototype.fgSegHtml = function (t) {
                                                  var e,
                                                       i = this.view,
                                                       n = i.calendar,
                                                       o = n.theme,
                                                       a = t.footprint,
                                                       s = a.eventDef,
                                                       l = a.componentFootprint,
                                                       c = s.url,
                                                       u = ["fc-list-item"].concat(this.getClasses(s)),
                                                       h = this.getBgColor(s);
                                                  return (
                                                       (e = l.isAllDay
                                                            ? i.getAllDayHtml()
                                                            : i.isMultiDayRange(l.unzonedRange)
                                                            ? t.isStart || t.isEnd
                                                                 ? r.htmlEscape(this._getTimeText(n.msToMoment(t.startMs), n.msToMoment(t.endMs), l.isAllDay))
                                                                 : i.getAllDayHtml()
                                                            : r.htmlEscape(this.getTimeText(a))),
                                                       c && u.push("fc-has-url"),
                                                       '<tr class="' +
                                                            u.join(" ") +
                                                            '">' +
                                                            (this.displayEventTime ? '<td class="fc-list-item-time ' + o.getClass("widgetContent") + '">' + (e || "") + "</td>" : "") +
                                                            '<td class="fc-list-item-marker ' +
                                                            o.getClass("widgetContent") +
                                                            '"><span class="fc-event-dot"' +
                                                            (h ? ' style="background-color:' + h + '"' : "") +
                                                            '></span></td><td class="fc-list-item-title ' +
                                                            o.getClass("widgetContent") +
                                                            '"><a' +
                                                            (c ? ' href="' + r.htmlEscape(c) + '"' : "") +
                                                            ">" +
                                                            r.htmlEscape(s.title || "") +
                                                            "</a></td></tr>"
                                                  );
                                             }),
                                             (e.prototype.computeEventTimeFormat = function () {
                                                  return this.opt("mediumTimeFormat");
                                             }),
                                             e
                                        );
                                   })(i(44).default);
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.handleClick = function (e, i) {
                                                  var n;
                                                  t.prototype.handleClick.call(this, e, i), r(i.target).closest("a[href]").length || ((n = e.footprint.eventDef.url) && !i.isDefaultPrevented() && (window.location.href = n));
                                             }),
                                             e
                                        );
                                   })(i(64).default);
                              e.default = o;
                         },
                         ,
                         ,
                         ,
                         ,
                         ,
                         function (t, e, i) {
                              var n = i(3),
                                   r = i(18),
                                   o = i(4),
                                   a = i(232);
                              i(11),
                                   i(49),
                                   i(260),
                                   i(261),
                                   i(264),
                                   i(265),
                                   i(266),
                                   i(267),
                                   (n.fullCalendar = r),
                                   (n.fn.fullCalendar = function (t) {
                                        var e = Array.prototype.slice.call(arguments, 1),
                                             i = this;
                                        return (
                                             this.each(function (r, s) {
                                                  var l,
                                                       c = n(s),
                                                       u = c.data("fullCalendar");
                                                  "string" == typeof t
                                                       ? "getCalendar" === t
                                                            ? r || (i = u)
                                                            : "destroy" === t
                                                            ? u && (u.destroy(), c.removeData("fullCalendar"))
                                                            : u
                                                            ? n.isFunction(u[t])
                                                                 ? ((l = u[t].apply(u, e)), r || (i = l), "destroy" === t && c.removeData("fullCalendar"))
                                                                 : o.warn("'" + t + "' is an unknown FullCalendar method.")
                                                            : o.warn("Attempting to call a FullCalendar method on an element with no calendar.")
                                                       : u || ((u = new a.default(c, t)), c.data("fullCalendar", u), u.render());
                                             }),
                                             i
                                        );
                                   }),
                                   (t.exports = r);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(3),
                                   r = i(4),
                                   o = (function () {
                                        function t(t, e) {
                                             (this.el = null), (this.viewsWithButtons = []), (this.calendar = t), (this.toolbarOptions = e);
                                        }
                                        return (
                                             (t.prototype.setToolbarOptions = function (t) {
                                                  this.toolbarOptions = t;
                                             }),
                                             (t.prototype.render = function () {
                                                  var t = this.toolbarOptions.layout,
                                                       e = this.el;
                                                  t
                                                       ? (e ? e.empty() : (e = this.el = n("<div class='fc-toolbar " + this.toolbarOptions.extraClasses + "'>")),
                                                         e.append(this.renderSection("left")).append(this.renderSection("right")).append(this.renderSection("center")).append('<div class="fc-clear"></div>'))
                                                       : this.removeElement();
                                             }),
                                             (t.prototype.removeElement = function () {
                                                  this.el && (this.el.remove(), (this.el = null));
                                             }),
                                             (t.prototype.renderSection = function (t) {
                                                  var e = this,
                                                       i = this.calendar,
                                                       o = i.theme,
                                                       a = i.optionsManager,
                                                       s = i.viewSpecManager,
                                                       l = n('<div class="fc-' + t + '">'),
                                                       c = this.toolbarOptions.layout[t],
                                                       u = a.get("customButtons") || {},
                                                       h = a.overrides.buttonText || {},
                                                       d = a.get("buttonText") || {};
                                                  return (
                                                       c &&
                                                            n.each(c.split(" "), function (t, a) {
                                                                 var c,
                                                                      p = n(),
                                                                      f = !0;
                                                                 n.each(a.split(","), function (t, a) {
                                                                      var l, c, m, g, v, y, b, _, x;
                                                                      "title" === a
                                                                           ? ((p = p.add(n("<h2>&nbsp;</h2>"))), (f = !1))
                                                                           : ((l = u[a])
                                                                                  ? ((m = function (t) {
                                                                                         l.click && l.click.call(_[0], t);
                                                                                    }),
                                                                                    (g = o.getCustomButtonIconClass(l)) || (g = o.getIconClass(a)) || (v = l.text))
                                                                                  : (c = s.getViewSpec(a))
                                                                                  ? (e.viewsWithButtons.push(a),
                                                                                    (m = function () {
                                                                                         i.changeView(a);
                                                                                    }),
                                                                                    (v = c.buttonTextOverride) || (g = o.getIconClass(a)) || (v = c.buttonTextDefault))
                                                                                  : i[a] &&
                                                                                    ((m = function () {
                                                                                         i[a]();
                                                                                    }),
                                                                                    (v = h[a]) || (g = o.getIconClass(a)) || (v = d[a])),
                                                                             m &&
                                                                                  ((b = ["fc-" + a + "-button", o.getClass("button"), o.getClass("stateDefault")]),
                                                                                  v ? ((y = r.htmlEscape(v)), (x = "")) : g && ((y = "<span class='" + g + "'></span>"), (x = ' aria-label="' + a + '"')),
                                                                                  (_ = n('<button type="button" class="' + b.join(" ") + '"' + x + ">" + y + "</button>")
                                                                                       .click(function (t) {
                                                                                            _.hasClass(o.getClass("stateDisabled")) ||
                                                                                                 (m(t), (_.hasClass(o.getClass("stateActive")) || _.hasClass(o.getClass("stateDisabled"))) && _.removeClass(o.getClass("stateHover")));
                                                                                       })
                                                                                       .mousedown(function () {
                                                                                            _.not("." + o.getClass("stateActive"))
                                                                                                 .not("." + o.getClass("stateDisabled"))
                                                                                                 .addClass(o.getClass("stateDown"));
                                                                                       })
                                                                                       .mouseup(function () {
                                                                                            _.removeClass(o.getClass("stateDown"));
                                                                                       })
                                                                                       .hover(
                                                                                            function () {
                                                                                                 _.not("." + o.getClass("stateActive"))
                                                                                                      .not("." + o.getClass("stateDisabled"))
                                                                                                      .addClass(o.getClass("stateHover"));
                                                                                            },
                                                                                            function () {
                                                                                                 _.removeClass(o.getClass("stateHover")).removeClass(o.getClass("stateDown"));
                                                                                            }
                                                                                       )),
                                                                                  (p = p.add(_))));
                                                                 }),
                                                                      f && p.first().addClass(o.getClass("cornerLeft")).end().last().addClass(o.getClass("cornerRight")).end(),
                                                                      p.length > 1 ? ((c = n("<div>")), f && c.addClass(o.getClass("buttonGroup")), c.append(p), l.append(c)) : l.append(p);
                                                            }),
                                                       l
                                                  );
                                             }),
                                             (t.prototype.updateTitle = function (t) {
                                                  this.el && this.el.find("h2").text(t);
                                             }),
                                             (t.prototype.activateButton = function (t) {
                                                  this.el && this.el.find(".fc-" + t + "-button").addClass(this.calendar.theme.getClass("stateActive"));
                                             }),
                                             (t.prototype.deactivateButton = function (t) {
                                                  this.el && this.el.find(".fc-" + t + "-button").removeClass(this.calendar.theme.getClass("stateActive"));
                                             }),
                                             (t.prototype.disableButton = function (t) {
                                                  this.el &&
                                                       this.el
                                                            .find(".fc-" + t + "-button")
                                                            .prop("disabled", !0)
                                                            .addClass(this.calendar.theme.getClass("stateDisabled"));
                                             }),
                                             (t.prototype.enableButton = function (t) {
                                                  this.el &&
                                                       this.el
                                                            .find(".fc-" + t + "-button")
                                                            .prop("disabled", !1)
                                                            .removeClass(this.calendar.theme.getClass("stateDisabled"));
                                             }),
                                             (t.prototype.getViewsWithButtons = function () {
                                                  return this.viewsWithButtons;
                                             }),
                                             t
                                        );
                                   })();
                              e.default = o;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = i(3),
                                   o = i(4),
                                   a = i(33),
                                   s = i(32),
                                   l = (function (t) {
                                        function e(e, i) {
                                             var n = t.call(this) || this;
                                             return (n._calendar = e), (n.overrides = r.extend({}, i)), (n.dynamicOverrides = {}), n.compute(), n;
                                        }
                                        return (
                                             n.__extends(e, t),
                                             (e.prototype.add = function (t) {
                                                  var e,
                                                       i = 0;
                                                  for (e in (this.recordOverrides(t), t)) i++;
                                                  if (1 === i) {
                                                       if ("height" === e || "contentHeight" === e || "aspectRatio" === e) return void this._calendar.updateViewSize(!0);
                                                       if ("defaultDate" === e) return;
                                                       if ("businessHours" === e) return;
                                                       if (/^(event|select)(Overlap|Constraint|Allow)$/.test(e)) return;
                                                       if ("timezone" === e) return void this._calendar.view.flash("initialEvents");
                                                  }
                                                  this._calendar.renderHeader(), this._calendar.renderFooter(), (this._calendar.viewsByType = {}), this._calendar.reinitView();
                                             }),
                                             (e.prototype.compute = function () {
                                                  var t, e, i, n;
                                                  (t = o.firstDefined(this.dynamicOverrides.locale, this.overrides.locale)),
                                                       (e = s.localeOptionHash[t]) || ((t = a.globalDefaults.locale), (e = s.localeOptionHash[t] || {})),
                                                       (i = o.firstDefined(this.dynamicOverrides.isRTL, this.overrides.isRTL, e.isRTL, a.globalDefaults.isRTL) ? a.rtlDefaults : {}),
                                                       (this.dirDefaults = i),
                                                       (this.localeDefaults = e),
                                                       (n = a.mergeOptions([a.globalDefaults, i, e, this.overrides, this.dynamicOverrides])),
                                                       s.populateInstanceComputableOptions(n),
                                                       this.reset(n);
                                             }),
                                             (e.prototype.recordOverrides = function (t) {
                                                  var e;
                                                  for (e in t) this.dynamicOverrides[e] = t[e];
                                                  this._calendar.viewSpecManager.clearCache(), this.compute();
                                             }),
                                             e
                                        );
                                   })(i(51).default);
                              e.default = l;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(0),
                                   r = i(3),
                                   o = i(24),
                                   a = i(4),
                                   s = i(33),
                                   l = i(32),
                                   c = (function () {
                                        function t(t, e) {
                                             (this.optionsManager = t), (this._calendar = e), this.clearCache();
                                        }
                                        return (
                                             (t.prototype.clearCache = function () {
                                                  this.viewSpecCache = {};
                                             }),
                                             (t.prototype.getViewSpec = function (t) {
                                                  var e = this.viewSpecCache;
                                                  return e[t] || (e[t] = this.buildViewSpec(t));
                                             }),
                                             (t.prototype.getUnitViewSpec = function (t) {
                                                  var e, i, n;
                                                  if (-1 !== r.inArray(t, a.unitsDesc))
                                                       for (
                                                            e = this._calendar.header.getViewsWithButtons(),
                                                                 r.each(o.viewHash, function (t) {
                                                                      e.push(t);
                                                                 }),
                                                                 i = 0;
                                                            i < e.length;
                                                            i++
                                                       )
                                                            if ((n = this.getViewSpec(e[i])) && n.singleUnit === t) return n;
                                             }),
                                             (t.prototype.buildViewSpec = function (t) {
                                                  for (var e, i, r, l, c, u = this.optionsManager.overrides.views || {}, h = [], d = [], p = [], f = t; f; )
                                                       (e = o.viewHash[f]),
                                                            (i = u[f]),
                                                            (f = null),
                                                            "function" == typeof e && (e = { class: e }),
                                                            e && (h.unshift(e), d.unshift(e.defaults || {}), (r = r || e.duration), (f = f || e.type)),
                                                            i && (p.unshift(i), (r = r || i.duration), (f = f || i.type));
                                                  return (
                                                       ((e = a.mergeProps(h)).type = t),
                                                       !!e.class &&
                                                            ((r = r || this.optionsManager.dynamicOverrides.duration || this.optionsManager.overrides.duration) &&
                                                                 (l = n.duration(r)).valueOf() &&
                                                                 ((c = a.computeDurationGreatestUnit(l, r)), (e.duration = l), (e.durationUnit = c), 1 === l.as(c) && ((e.singleUnit = c), p.unshift(u[c] || {}))),
                                                            (e.defaults = s.mergeOptions(d)),
                                                            (e.overrides = s.mergeOptions(p)),
                                                            this.buildViewSpecOptions(e),
                                                            this.buildViewSpecButtonText(e, t),
                                                            e)
                                                  );
                                             }),
                                             (t.prototype.buildViewSpecOptions = function (t) {
                                                  var e = this.optionsManager;
                                                  (t.options = s.mergeOptions([s.globalDefaults, t.defaults, e.dirDefaults, e.localeDefaults, e.overrides, t.overrides, e.dynamicOverrides])), l.populateInstanceComputableOptions(t.options);
                                             }),
                                             (t.prototype.buildViewSpecButtonText = function (t, e) {
                                                  var i = this.optionsManager;
                                                  function n(i) {
                                                       var n = i.buttonText || {};
                                                       return n[e] || (t.buttonTextKey ? n[t.buttonTextKey] : null) || (t.singleUnit ? n[t.singleUnit] : null);
                                                  }
                                                  (t.buttonTextOverride = n(i.dynamicOverrides) || n(i.overrides) || t.overrides.buttonText),
                                                       (t.buttonTextDefault =
                                                            n(i.localeDefaults) || n(i.dirDefaults) || t.defaults.buttonText || n(s.globalDefaults) || (t.duration ? this._calendar.humanizeDuration(t.duration) : null) || e);
                                             }),
                                             t
                                        );
                                   })();
                              e.default = c;
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(38),
                                   r = i(56),
                                   o = i(223),
                                   a = i(224);
                              n.default.registerClass(r.default), n.default.registerClass(o.default), n.default.registerClass(a.default);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(57),
                                   r = i(221),
                                   o = i(222),
                                   a = i(262),
                                   s = i(263);
                              n.defineThemeSystem("standard", r.default), n.defineThemeSystem("jquery-ui", o.default), n.defineThemeSystem("bootstrap3", a.default), n.defineThemeSystem("bootstrap4", s.default);
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return n.__extends(e, t), e;
                                   })(i(22).default);
                              (e.default = r),
                                   (r.prototype.classes = {
                                        widget: "fc-bootstrap3",
                                        tableGrid: "table-bordered",
                                        tableList: "table",
                                        tableListHeading: "active",
                                        buttonGroup: "btn-group",
                                        button: "btn btn-default",
                                        stateActive: "active",
                                        stateDisabled: "disabled",
                                        today: "alert alert-info",
                                        popover: "panel panel-default",
                                        popoverHeader: "panel-heading",
                                        popoverContent: "panel-body",
                                        headerRow: "panel-default",
                                        dayRow: "panel-default",
                                        listView: "panel panel-default",
                                   }),
                                   (r.prototype.baseIconClass = "glyphicon"),
                                   (r.prototype.iconClasses = { close: "glyphicon-remove", prev: "glyphicon-chevron-left", next: "glyphicon-chevron-right", prevYear: "glyphicon-backward", nextYear: "glyphicon-forward" }),
                                   (r.prototype.iconOverrideOption = "bootstrapGlyphicons"),
                                   (r.prototype.iconOverrideCustomButtonOption = "bootstrapGlyphicon"),
                                   (r.prototype.iconOverridePrefix = "glyphicon-");
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(2),
                                   r = (function (t) {
                                        function e() {
                                             return (null !== t && t.apply(this, arguments)) || this;
                                        }
                                        return n.__extends(e, t), e;
                                   })(i(22).default);
                              (e.default = r),
                                   (r.prototype.classes = {
                                        widget: "fc-bootstrap4",
                                        tableGrid: "table-bordered",
                                        tableList: "table",
                                        tableListHeading: "table-active",
                                        buttonGroup: "btn-group",
                                        button: "btn btn-primary",
                                        stateActive: "active",
                                        stateDisabled: "disabled",
                                        today: "alert alert-info",
                                        popover: "card card-primary",
                                        popoverHeader: "card-header",
                                        popoverContent: "card-body",
                                        headerRow: "table-bordered",
                                        dayRow: "table-bordered",
                                        listView: "card card-primary",
                                   }),
                                   (r.prototype.baseIconClass = "fa"),
                                   (r.prototype.iconClasses = { close: "fa-times", prev: "fa-chevron-left", next: "fa-chevron-right", prevYear: "fa-angle-double-left", nextYear: "fa-angle-double-right" }),
                                   (r.prototype.iconOverrideOption = "bootstrapFontAwesome"),
                                   (r.prototype.iconOverrideCustomButtonOption = "bootstrapFontAwesome"),
                                   (r.prototype.iconOverridePrefix = "fa-");
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(24),
                                   r = i(67),
                                   o = i(246);
                              n.defineView("basic", { class: r.default }),
                                   n.defineView("basicDay", { type: "basic", duration: { days: 1 } }),
                                   n.defineView("basicWeek", { type: "basic", duration: { weeks: 1 } }),
                                   n.defineView("month", { class: o.default, duration: { months: 1 }, defaults: { fixedWeekCount: !0 } });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(24),
                                   r = i(238);
                              n.defineView("agenda", { class: r.default, defaults: { allDaySlot: !0, slotDuration: "00:30:00", slotEventOverlap: !0 } }),
                                   n.defineView("agendaDay", { type: "agenda", duration: { days: 1 } }),
                                   n.defineView("agendaWeek", { type: "agenda", duration: { weeks: 1 } });
                         },
                         function (t, e, i) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                              var n = i(24),
                                   r = i(248);
                              n.defineView("list", { class: r.default, buttonTextKey: "list", defaults: { buttonText: "list", listDayFormat: "LL", noEventsMessage: "No events to display" } }),
                                   n.defineView("listDay", { type: "list", duration: { days: 1 }, defaults: { listDayFormat: "dddd" } }),
                                   n.defineView("listWeek", { type: "list", duration: { weeks: 1 }, defaults: { listDayFormat: "dddd", listDayAltFormat: "LL" } }),
                                   n.defineView("listMonth", { type: "list", duration: { month: 1 }, defaults: { listDayAltFormat: "dddd" } }),
                                   n.defineView("listYear", { type: "list", duration: { year: 1 }, defaults: { listDayAltFormat: "dddd" } });
                         },
                         function (t, e) {
                              Object.defineProperty(e, "__esModule", { value: !0 });
                         },
                    ]);
               }),
               (t.exports = n(i(0), i(1)));
     },
     function (t, e) {
          t.exports = function (t) {
               return (
                    t.webpackPolyfill ||
                         ((t.deprecate = function () {}),
                         (t.paths = []),
                         t.children || (t.children = []),
                         Object.defineProperty(t, "loaded", {
                              enumerable: !0,
                              get: function () {
                                   return t.l;
                              },
                         }),
                         Object.defineProperty(t, "id", {
                              enumerable: !0,
                              get: function () {
                                   return t.i;
                              },
                         }),
                         (t.webpackPolyfill = 1)),
                    t
               );
          };
     },
     function (t, e, i) {
          var n = {
               "./af": 13,
               "./af.js": 13,
               "./ar": 14,
               "./ar-dz": 15,
               "./ar-dz.js": 15,
               "./ar-kw": 16,
               "./ar-kw.js": 16,
               "./ar-ly": 17,
               "./ar-ly.js": 17,
               "./ar-ma": 18,
               "./ar-ma.js": 18,
               "./ar-sa": 19,
               "./ar-sa.js": 19,
               "./ar-tn": 20,
               "./ar-tn.js": 20,
               "./ar.js": 14,
               "./az": 21,
               "./az.js": 21,
               "./be": 22,
               "./be.js": 22,
               "./bg": 23,
               "./bg.js": 23,
               "./bm": 24,
               "./bm.js": 24,
               "./bn": 25,
               "./bn.js": 25,
               "./bo": 26,
               "./bo.js": 26,
               "./br": 27,
               "./br.js": 27,
               "./bs": 28,
               "./bs.js": 28,
               "./ca": 29,
               "./ca.js": 29,
               "./cs": 30,
               "./cs.js": 30,
               "./cv": 31,
               "./cv.js": 31,
               "./cy": 32,
               "./cy.js": 32,
               "./da": 33,
               "./da.js": 33,
               "./de": 34,
               "./de-at": 35,
               "./de-at.js": 35,
               "./de-ch": 36,
               "./de-ch.js": 36,
               "./de.js": 34,
               "./dv": 37,
               "./dv.js": 37,
               "./el": 38,
               "./el.js": 38,
               "./en-au": 39,
               "./en-au.js": 39,
               "./en-ca": 40,
               "./en-ca.js": 40,
               "./en-gb": 41,
               "./en-gb.js": 41,
               "./en-ie": 42,
               "./en-ie.js": 42,
               "./en-il": 43,
               "./en-il.js": 43,
               "./en-in": 44,
               "./en-in.js": 44,
               "./en-nz": 45,
               "./en-nz.js": 45,
               "./en-sg": 46,
               "./en-sg.js": 46,
               "./eo": 47,
               "./eo.js": 47,
               "./es": 48,
               "./es-do": 49,
               "./es-do.js": 49,
               "./es-us": 50,
               "./es-us.js": 50,
               "./es.js": 48,
               "./et": 51,
               "./et.js": 51,
               "./eu": 52,
               "./eu.js": 52,
               "./fa": 53,
               "./fa.js": 53,
               "./fi": 54,
               "./fi.js": 54,
               "./fil": 55,
               "./fil.js": 55,
               "./fo": 56,
               "./fo.js": 56,
               "./fr": 57,
               "./fr-ca": 58,
               "./fr-ca.js": 58,
               "./fr-ch": 59,
               "./fr-ch.js": 59,
               "./fr.js": 57,
               "./fy": 60,
               "./fy.js": 60,
               "./ga": 61,
               "./ga.js": 61,
               "./gd": 62,
               "./gd.js": 62,
               "./gl": 63,
               "./gl.js": 63,
               "./gom-deva": 64,
               "./gom-deva.js": 64,
               "./gom-latn": 65,
               "./gom-latn.js": 65,
               "./gu": 66,
               "./gu.js": 66,
               "./he": 67,
               "./he.js": 67,
               "./hi": 68,
               "./hi.js": 68,
               "./hr": 69,
               "./hr.js": 69,
               "./hu": 70,
               "./hu.js": 70,
               "./hy-am": 71,
               "./hy-am.js": 71,
               "./id": 72,
               "./id.js": 72,
               "./is": 73,
               "./is.js": 73,
               "./it": 74,
               "./it-ch": 75,
               "./it-ch.js": 75,
               "./it.js": 74,
               "./ja": 76,
               "./ja.js": 76,
               "./jv": 77,
               "./jv.js": 77,
               "./ka": 78,
               "./ka.js": 78,
               "./kk": 79,
               "./kk.js": 79,
               "./km": 80,
               "./km.js": 80,
               "./kn": 81,
               "./kn.js": 81,
               "./ko": 82,
               "./ko.js": 82,
               "./ku": 83,
               "./ku.js": 83,
               "./ky": 84,
               "./ky.js": 84,
               "./lb": 85,
               "./lb.js": 85,
               "./lo": 86,
               "./lo.js": 86,
               "./lt": 87,
               "./lt.js": 87,
               "./lv": 88,
               "./lv.js": 88,
               "./me": 89,
               "./me.js": 89,
               "./mi": 90,
               "./mi.js": 90,
               "./mk": 91,
               "./mk.js": 91,
               "./ml": 92,
               "./ml.js": 92,
               "./mn": 93,
               "./mn.js": 93,
               "./mr": 94,
               "./mr.js": 94,
               "./ms": 95,
               "./ms-my": 96,
               "./ms-my.js": 96,
               "./ms.js": 95,
               "./mt": 97,
               "./mt.js": 97,
               "./my": 98,
               "./my.js": 98,
               "./nb": 99,
               "./nb.js": 99,
               "./ne": 100,
               "./ne.js": 100,
               "./nl": 101,
               "./nl-be": 102,
               "./nl-be.js": 102,
               "./nl.js": 101,
               "./nn": 103,
               "./nn.js": 103,
               "./oc-lnc": 104,
               "./oc-lnc.js": 104,
               "./pa-in": 105,
               "./pa-in.js": 105,
               "./pl": 106,
               "./pl.js": 106,
               "./pt": 107,
               "./pt-br": 108,
               "./pt-br.js": 108,
               "./pt.js": 107,
               "./ro": 109,
               "./ro.js": 109,
               "./ru": 110,
               "./ru.js": 110,
               "./sd": 111,
               "./sd.js": 111,
               "./se": 112,
               "./se.js": 112,
               "./si": 113,
               "./si.js": 113,
               "./sk": 114,
               "./sk.js": 114,
               "./sl": 115,
               "./sl.js": 115,
               "./sq": 116,
               "./sq.js": 116,
               "./sr": 117,
               "./sr-cyrl": 118,
               "./sr-cyrl.js": 118,
               "./sr.js": 117,
               "./ss": 119,
               "./ss.js": 119,
               "./sv": 120,
               "./sv.js": 120,
               "./sw": 121,
               "./sw.js": 121,
               "./ta": 122,
               "./ta.js": 122,
               "./te": 123,
               "./te.js": 123,
               "./tet": 124,
               "./tet.js": 124,
               "./tg": 125,
               "./tg.js": 125,
               "./th": 126,
               "./th.js": 126,
               "./tl-ph": 127,
               "./tl-ph.js": 127,
               "./tlh": 128,
               "./tlh.js": 128,
               "./tr": 129,
               "./tr.js": 129,
               "./tzl": 130,
               "./tzl.js": 130,
               "./tzm": 131,
               "./tzm-latn": 132,
               "./tzm-latn.js": 132,
               "./tzm.js": 131,
               "./ug-cn": 133,
               "./ug-cn.js": 133,
               "./uk": 134,
               "./uk.js": 134,
               "./ur": 135,
               "./ur.js": 135,
               "./uz": 136,
               "./uz-latn": 137,
               "./uz-latn.js": 137,
               "./uz.js": 136,
               "./vi": 138,
               "./vi.js": 138,
               "./x-pseudo": 139,
               "./x-pseudo.js": 139,
               "./yo": 140,
               "./yo.js": 140,
               "./zh-cn": 141,
               "./zh-cn.js": 141,
               "./zh-hk": 142,
               "./zh-hk.js": 142,
               "./zh-mo": 143,
               "./zh-mo.js": 143,
               "./zh-tw": 144,
               "./zh-tw.js": 144,
          };
          function r(t) {
               var e = o(t);
               return i(e);
          }
          function o(t) {
               if (!i.o(n, t)) {
                    var e = new Error("Cannot find module '" + t + "'");
                    throw ((e.code = "MODULE_NOT_FOUND"), e);
               }
               return n[t];
          }
          (r.keys = function () {
               return Object.keys(n);
          }),
               (r.resolve = o),
               (t.exports = r),
               (r.id = 174);
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(176), i(491);
                    t(document).ready(function () {
                         t("#tree").fancytree({
                              checkbox: !0,
                              selectMode: 3,
                              source: { url: "https://cdn.rawgit.com/mar10/fancytree/72e03685/demo/ajax-tree-products.json" },
                              lazyLoad: function (t, e) {
                                   e.result = { url: "https://cdn.rawgit.com/mar10/fancytree/72e03685/demo/ajax-sub2.json" };
                              },
                              activate: function (e, i) {
                                   t("#statusLine").text(e.type + ": " + i.node);
                              },
                              select: function (e, i) {
                                   t("#statusLine").text(e.type + ": " + i.node.isSelected() + " " + i.node);
                              },
                         }),
                              t("#button1").click(function () {
                                   t.ui.fancytree
                                        .getTree()
                                        .findFirst(function (t) {
                                             return "The Hobbit" === t.title;
                                        })
                                        .toggleSelected();
                              });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          var n, r, o;
          /*!
           * jquery.fancytree.js
           * Tree view control with support for lazy loading and much more.
           * https://github.com/mar10/fancytree/
           *
           * Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
           * Released under the MIT license
           * https://github.com/mar10/fancytree/wiki/LicenseInfo
           *
           * @version 2.35.0
           * @date 2020-03-27T22:41:58Z
           */ (r = [i(1), i(177)]),
               void 0 ===
                    (o =
                         "function" ==
                         typeof (n = function (t) {
                              "use strict";
                              if (!t.ui || !t.ui.fancytree) {
                                   var e,
                                        i,
                                        n = null,
                                        r = new RegExp(/\.|\//),
                                        o = /[&<>"'/]/g,
                                        a = /[<>"'/]/g,
                                        s = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;", "/": "&#x2F;" },
                                        l = { 16: !0, 17: !0, 18: !0 },
                                        c = {
                                             8: "backspace",
                                             9: "tab",
                                             10: "return",
                                             13: "return",
                                             19: "pause",
                                             20: "capslock",
                                             27: "esc",
                                             32: "space",
                                             33: "pageup",
                                             34: "pagedown",
                                             35: "end",
                                             36: "home",
                                             37: "left",
                                             38: "up",
                                             39: "right",
                                             40: "down",
                                             45: "insert",
                                             46: "del",
                                             59: ";",
                                             61: "=",
                                             96: "0",
                                             97: "1",
                                             98: "2",
                                             99: "3",
                                             100: "4",
                                             101: "5",
                                             102: "6",
                                             103: "7",
                                             104: "8",
                                             105: "9",
                                             106: "*",
                                             107: "+",
                                             109: "-",
                                             110: ".",
                                             111: "/",
                                             112: "f1",
                                             113: "f2",
                                             114: "f3",
                                             115: "f4",
                                             116: "f5",
                                             117: "f6",
                                             118: "f7",
                                             119: "f8",
                                             120: "f9",
                                             121: "f10",
                                             122: "f11",
                                             123: "f12",
                                             144: "numlock",
                                             145: "scroll",
                                             173: "-",
                                             186: ";",
                                             187: "=",
                                             188: ",",
                                             189: "-",
                                             190: ".",
                                             191: "/",
                                             192: "`",
                                             219: "[",
                                             220: "\\",
                                             221: "]",
                                             222: "'",
                                        },
                                        u = { 16: "shift", 17: "ctrl", 18: "alt", 91: "meta", 93: "meta" },
                                        h = { 0: "", 1: "left", 2: "middle", 3: "right" },
                                        d = "active expanded focus folder lazy radiogroup selected unselectable unselectableIgnore".split(" "),
                                        p = {},
                                        f = "columns types".split(" "),
                                        m = "checkbox expanded extraClasses folder icon iconTooltip key lazy partsel radiogroup refKey selected statusNodeType title tooltip type unselectable unselectableIgnore unselectableStatus".split(
                                             " "
                                        ),
                                        g = {},
                                        v = {},
                                        y = { active: !0, children: !0, data: !0, focus: !0 };
                                   for (e = 0; e < d.length; e++) p[d[e]] = !0;
                                   for (e = 0; e < m.length; e++) (i = m[e]), (g[i] = !0), i !== i.toLowerCase() && (v[i.toLowerCase()] = i);
                                   return (
                                        b(t.ui, "Fancytree requires jQuery UI (http://jqueryui.com)"),
                                        Date.now ||
                                             (Date.now = function () {
                                                  return new Date().getTime();
                                             }),
                                        (E.prototype = {
                                             _findDirectChild: function (t) {
                                                  var e,
                                                       i,
                                                       n = this.children;
                                                  if (n)
                                                       if ("string" == typeof t) {
                                                            for (e = 0, i = n.length; e < i; e++) if (n[e].key === t) return n[e];
                                                       } else {
                                                            if ("number" == typeof t) return this.children[t];
                                                            if (t.parent === this) return t;
                                                       }
                                                  return null;
                                             },
                                             _setChildren: function (t) {
                                                  b(t && (!this.children || 0 === this.children.length), "only init supported"), (this.children = []);
                                                  for (var e = 0, i = t.length; e < i; e++) this.children.push(new E(this, t[e]));
                                                  this.tree._callHook("treeStructureChanged", this.tree, "setChildren");
                                             },
                                             addChildren: function (e, i) {
                                                  var n,
                                                       r,
                                                       o,
                                                       a,
                                                       s = this.getFirstChild(),
                                                       l = this.getLastChild(),
                                                       c = [];
                                                  for (t.isPlainObject(e) && (e = [e]), this.children || (this.children = []), n = 0, r = e.length; n < r; n++) c.push(new E(this, e[n]));
                                                  if (
                                                       ((a = c[0]),
                                                       null == i
                                                            ? (this.children = this.children.concat(c))
                                                            : ((i = this._findDirectChild(i)),
                                                              b((o = t.inArray(i, this.children)) >= 0, "insertBefore must be an existing child"),
                                                              this.children.splice.apply(this.children, [o, 0].concat(c))),
                                                       s && !i)
                                                  ) {
                                                       for (n = 0, r = c.length; n < r; n++) c[n].render();
                                                       s !== this.getFirstChild() && s.renderStatus(), l !== this.getLastChild() && l.renderStatus();
                                                  } else (!this.parent || this.parent.ul || this.tr) && this.render();
                                                  return 3 === this.tree.options.selectMode && this.fixSelection3FromEndNodes(), this.triggerModifyChild("add", 1 === c.length ? c[0] : null), a;
                                             },
                                             addClass: function (t) {
                                                  return this.toggleClass(t, !0);
                                             },
                                             addNode: function (t, e) {
                                                  switch (((void 0 !== e && "over" !== e) || (e = "child"), e)) {
                                                       case "after":
                                                            return this.getParent().addChildren(t, this.getNextSibling());
                                                       case "before":
                                                            return this.getParent().addChildren(t, this);
                                                       case "firstChild":
                                                            var i = this.children ? this.children[0] : null;
                                                            return this.addChildren(t, i);
                                                       case "child":
                                                       case "over":
                                                            return this.addChildren(t);
                                                  }
                                                  b(!1, "Invalid mode: " + e);
                                             },
                                             addPagingNode: function (e, i) {
                                                  var n, r;
                                                  if (((i = i || "child"), !1 !== e)) return (e = t.extend({ title: this.tree.options.strings.moreData, statusNodeType: "paging", icon: !1 }, e)), (this.partload = !0), this.addNode(e, i);
                                                  for (n = this.children.length - 1; n >= 0; n--) "paging" === (r = this.children[n]).statusNodeType && this.removeChild(r);
                                                  this.partload = !1;
                                             },
                                             appendSibling: function (t) {
                                                  return this.addNode(t, "after");
                                             },
                                             applyCommand: function (t, e) {
                                                  return this.tree.applyCommand(t, this, e);
                                             },
                                             applyPatch: function (e) {
                                                  if (null === e) return this.remove(), S(this);
                                                  var i,
                                                       n,
                                                       r = { children: !0, expanded: !0, parent: !0 };
                                                  for (i in e) e.hasOwnProperty(i) && ((n = e[i]), r[i] || t.isFunction(n) || (g[i] ? (this[i] = n) : (this.data[i] = n)));
                                                  return (
                                                       e.hasOwnProperty("children") && (this.removeChildren(), e.children && this._setChildren(e.children)),
                                                       this.isVisible() && (this.renderTitle(), this.renderStatus()),
                                                       e.hasOwnProperty("expanded") ? this.setExpanded(e.expanded) : S(this)
                                                  );
                                             },
                                             collapseSiblings: function () {
                                                  return this.tree._callHook("nodeCollapseSiblings", this);
                                             },
                                             copyTo: function (t, e, i) {
                                                  return t.addNode(this.toDict(!0, i), e);
                                             },
                                             countChildren: function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r = this.children;
                                                  if (!r) return 0;
                                                  if (((n = r.length), !1 !== t)) for (e = 0, i = n; e < i; e++) n += r[e].countChildren();
                                                  return n;
                                             },
                                             debug: function (t) {
                                                  this.tree.options.debugLevel >= 4 && (Array.prototype.unshift.call(arguments, this.toString()), _("log", arguments));
                                             },
                                             discard: function () {
                                                  return this.warn("FancytreeNode.discard() is deprecated since 2014-02-16. Use .resetLazy() instead."), this.resetLazy();
                                             },
                                             discardMarkup: function (t) {
                                                  var e = t ? "nodeRemoveMarkup" : "nodeRemoveChildMarkup";
                                                  this.tree._callHook(e, this);
                                             },
                                             error: function (t) {
                                                  this.tree.options.debugLevel >= 1 && (Array.prototype.unshift.call(arguments, this.toString()), _("error", arguments));
                                             },
                                             findAll: function (e) {
                                                  e = t.isFunction(e) ? e : L(e);
                                                  var i = [];
                                                  return (
                                                       this.visit(function (t) {
                                                            e(t) && i.push(t);
                                                       }),
                                                       i
                                                  );
                                             },
                                             findFirst: function (e) {
                                                  e = t.isFunction(e) ? e : L(e);
                                                  var i = null;
                                                  return (
                                                       this.visit(function (t) {
                                                            if (e(t)) return (i = t), !1;
                                                       }),
                                                       i
                                                  );
                                             },
                                             findRelatedNode: function (t, e) {
                                                  return this.tree.findRelatedNode(this, t, e);
                                             },
                                             _changeSelectStatusAttrs: function (t) {
                                                  var e = !1,
                                                       i = this.tree.options,
                                                       r = n.evalOption("unselectable", this, this, i, !1),
                                                       o = n.evalOption("unselectableStatus", this, this, i, void 0);
                                                  switch ((r && null != o && (t = o), t)) {
                                                       case !1:
                                                            (e = this.selected || this.partsel), (this.selected = !1), (this.partsel = !1);
                                                            break;
                                                       case !0:
                                                            (e = !this.selected || !this.partsel), (this.selected = !0), (this.partsel = !0);
                                                            break;
                                                       case void 0:
                                                            (e = this.selected || !this.partsel), (this.selected = !1), (this.partsel = !0);
                                                            break;
                                                       default:
                                                            b(!1, "invalid state: " + t);
                                                  }
                                                  return e && this.renderStatus(), e;
                                             },
                                             fixSelection3AfterClick: function (t) {
                                                  var e = this.isSelected();
                                                  this.visit(function (t) {
                                                       if ((t._changeSelectStatusAttrs(e), t.radiogroup)) return "skip";
                                                  }),
                                                       this.fixSelection3FromEndNodes(t);
                                             },
                                             fixSelection3FromEndNodes: function (t) {
                                                  var e = this.tree.options;
                                                  b(3 === e.selectMode, "expected selectMode 3"),
                                                       (function t(i) {
                                                            var r,
                                                                 o,
                                                                 a,
                                                                 s,
                                                                 l,
                                                                 c,
                                                                 u,
                                                                 h,
                                                                 d = i.children;
                                                            if (d && d.length) {
                                                                 for (c = !0, u = !1, r = 0, o = d.length; r < o; r++) (s = t((a = d[r]))), n.evalOption("unselectableIgnore", a, a, e, !1) || (!1 !== s && (u = !0), !0 !== s && (c = !1));
                                                                 l = !!c || (!!u && void 0);
                                                            } else l = null == (h = n.evalOption("unselectableStatus", i, i, e, void 0)) ? !!i.selected : !!h;
                                                            return i.partsel && !i.selected && i.lazy && null == i.children && (l = void 0), i._changeSelectStatusAttrs(l), l;
                                                       })(this),
                                                       this.visitParents(function (t) {
                                                            var i,
                                                                 r,
                                                                 o,
                                                                 a,
                                                                 s,
                                                                 l = t.children,
                                                                 c = !0,
                                                                 u = !1;
                                                            for (i = 0, r = l.length; i < r; i++)
                                                                 (o = l[i]),
                                                                      n.evalOption("unselectableIgnore", o, o, e, !1) ||
                                                                           (((a = null == (s = n.evalOption("unselectableStatus", o, o, e, void 0)) ? !!o.selected : !!s) || o.partsel) && (u = !0), a || (c = !1));
                                                            (a = !!c || (!!u && void 0)), t._changeSelectStatusAttrs(a);
                                                       });
                                             },
                                             fromDict: function (e) {
                                                  for (var i in e) g[i] ? (this[i] = e[i]) : "data" === i ? t.extend(this.data, e.data) : t.isFunction(e[i]) || y[i] || (this.data[i] = e[i]);
                                                  e.children && (this.removeChildren(), this.addChildren(e.children)), this.renderTitle();
                                             },
                                             getChildren: function () {
                                                  if (void 0 !== this.hasChildren()) return this.children;
                                             },
                                             getFirstChild: function () {
                                                  return this.children ? this.children[0] : null;
                                             },
                                             getIndex: function () {
                                                  return t.inArray(this, this.parent.children);
                                             },
                                             getIndexHier: function (e, i) {
                                                  e = e || ".";
                                                  var n,
                                                       r = [];
                                                  return (
                                                       t.each(this.getParentList(!1, !0), function (t, e) {
                                                            (n = "" + (e.getIndex() + 1)), i && (n = ("0000000" + n).substr(-i)), r.push(n);
                                                       }),
                                                       r.join(e)
                                                  );
                                             },
                                             getKeyPath: function (t) {
                                                  var e = this.tree.options.keyPathSeparator;
                                                  return e + this.getPath(!t, "key", e);
                                             },
                                             getLastChild: function () {
                                                  return this.children ? this.children[this.children.length - 1] : null;
                                             },
                                             getLevel: function () {
                                                  for (var t = 0, e = this.parent; e; ) t++, (e = e.parent);
                                                  return t;
                                             },
                                             getNextSibling: function () {
                                                  if (this.parent) {
                                                       var t,
                                                            e,
                                                            i = this.parent.children;
                                                       for (t = 0, e = i.length - 1; t < e; t++) if (i[t] === this) return i[t + 1];
                                                  }
                                                  return null;
                                             },
                                             getParent: function () {
                                                  return this.parent;
                                             },
                                             getParentList: function (t, e) {
                                                  for (var i = [], n = e ? this : this.parent; n; ) (t || n.parent) && i.unshift(n), (n = n.parent);
                                                  return i;
                                             },
                                             getPath: function (e, i, n) {
                                                  (e = !1 !== e), (i = i || "title"), (n = n || "/");
                                                  var r,
                                                       o = [],
                                                       a = t.isFunction(i);
                                                  return (
                                                       this.visitParents(function (t) {
                                                            t.parent && ((r = a ? i(t) : t[i]), o.unshift(r));
                                                       }, e),
                                                       o.join(n)
                                                  );
                                             },
                                             getPrevSibling: function () {
                                                  if (this.parent) {
                                                       var t,
                                                            e,
                                                            i = this.parent.children;
                                                       for (t = 1, e = i.length; t < e; t++) if (i[t] === this) return i[t - 1];
                                                  }
                                                  return null;
                                             },
                                             getSelectedNodes: function (t) {
                                                  var e = [];
                                                  return (
                                                       this.visit(function (i) {
                                                            if (i.selected && (e.push(i), !0 === t)) return "skip";
                                                       }),
                                                       e
                                                  );
                                             },
                                             hasChildren: function () {
                                                  if (this.lazy) {
                                                       if (null == this.children) return;
                                                       if (0 === this.children.length) return !1;
                                                       if (1 === this.children.length && this.children[0].isStatusNode()) return;
                                                       return !0;
                                                  }
                                                  return !(!this.children || !this.children.length);
                                             },
                                             hasClass: function (t) {
                                                  return (" " + (this.extraClasses || "") + " ").indexOf(" " + t + " ") >= 0;
                                             },
                                             hasFocus: function () {
                                                  return this.tree.hasFocus() && this.tree.focusNode === this;
                                             },
                                             info: function (t) {
                                                  this.tree.options.debugLevel >= 3 && (Array.prototype.unshift.call(arguments, this.toString()), _("info", arguments));
                                             },
                                             isActive: function () {
                                                  return this.tree.activeNode === this;
                                             },
                                             isBelowOf: function (t) {
                                                  return this.getIndexHier(".", 5) > t.getIndexHier(".", 5);
                                             },
                                             isChildOf: function (t) {
                                                  return this.parent && this.parent === t;
                                             },
                                             isDescendantOf: function (e) {
                                                  if (!e || e.tree !== this.tree) return !1;
                                                  for (var i = this.parent; i; ) {
                                                       if (i === e) return !0;
                                                       i === i.parent && t.error("Recursive parent link: " + i), (i = i.parent);
                                                  }
                                                  return !1;
                                             },
                                             isExpanded: function () {
                                                  return !!this.expanded;
                                             },
                                             isFirstSibling: function () {
                                                  var t = this.parent;
                                                  return !t || t.children[0] === this;
                                             },
                                             isFolder: function () {
                                                  return !!this.folder;
                                             },
                                             isLastSibling: function () {
                                                  var t = this.parent;
                                                  return !t || t.children[t.children.length - 1] === this;
                                             },
                                             isLazy: function () {
                                                  return !!this.lazy;
                                             },
                                             isLoaded: function () {
                                                  return !this.lazy || void 0 !== this.hasChildren();
                                             },
                                             isLoading: function () {
                                                  return !!this._isLoading;
                                             },
                                             isRoot: function () {
                                                  return this.isRootNode();
                                             },
                                             isPartsel: function () {
                                                  return !this.selected && !!this.partsel;
                                             },
                                             isPartload: function () {
                                                  return !!this.partload;
                                             },
                                             isRootNode: function () {
                                                  return this.tree.rootNode === this;
                                             },
                                             isSelected: function () {
                                                  return !!this.selected;
                                             },
                                             isStatusNode: function () {
                                                  return !!this.statusNodeType;
                                             },
                                             isPagingNode: function () {
                                                  return "paging" === this.statusNodeType;
                                             },
                                             isTopLevel: function () {
                                                  return this.tree.rootNode === this.parent;
                                             },
                                             isUndefined: function () {
                                                  return void 0 === this.hasChildren();
                                             },
                                             isVisible: function () {
                                                  var t,
                                                       e,
                                                       i = this.tree.enableFilter,
                                                       n = this.getParentList(!1, !1);
                                                  if (i && !this.match && !this.subMatchCount) return !1;
                                                  for (t = 0, e = n.length; t < e; t++) if (!n[t].expanded) return !1;
                                                  return !0;
                                             },
                                             lazyLoad: function (e) {
                                                  t.error("FancytreeNode.lazyLoad() is deprecated since 2014-02-16. Use .load() instead.");
                                             },
                                             load: function (t) {
                                                  var e,
                                                       i,
                                                       n = this,
                                                       r = this.isExpanded();
                                                  return (
                                                       b(this.isLazy(), "load() requires a lazy node"),
                                                       t || this.isUndefined()
                                                            ? (this.isLoaded() && this.resetLazy(),
                                                              !1 === (i = this.tree._triggerNodeEvent("lazyLoad", this))
                                                                   ? S(this)
                                                                   : (b("boolean" != typeof i, "lazyLoad event must return source in data.result"),
                                                                     (e = this.tree._callHook("nodeLoadChildren", this, i)),
                                                                     r
                                                                          ? ((this.expanded = !0),
                                                                            e.always(function () {
                                                                                 n.render();
                                                                            }))
                                                                          : e.always(function () {
                                                                                 n.renderStatus();
                                                                            }),
                                                                     e))
                                                            : S(this)
                                                  );
                                             },
                                             makeVisible: function (e) {
                                                  var i,
                                                       n = this,
                                                       r = [],
                                                       o = new t.Deferred(),
                                                       a = this.getParentList(!1, !1),
                                                       s = a.length,
                                                       l = !(e && !0 === e.noAnimation),
                                                       c = !(e && !1 === e.scrollIntoView);
                                                  for (i = s - 1; i >= 0; i--) r.push(a[i].setExpanded(!0, e));
                                                  return (
                                                       t.when.apply(t, r).done(function () {
                                                            c
                                                                 ? n.scrollIntoView(l).done(function () {
                                                                        o.resolve();
                                                                   })
                                                                 : o.resolve();
                                                       }),
                                                       o.promise()
                                                  );
                                             },
                                             moveTo: function (e, i, n) {
                                                  void 0 === i || "over" === i ? (i = "child") : "firstChild" === i && (e.children && e.children.length ? ((i = "before"), (e = e.children[0])) : (i = "child"));
                                                  var r,
                                                       o = this.tree,
                                                       a = this.parent,
                                                       s = "child" === i ? e : e.parent;
                                                  if (this !== e) {
                                                       if (
                                                            (this.parent ? s.isDescendantOf(this) && t.error("Cannot move a node to its own descendant") : t.error("Cannot move system root"),
                                                            s !== a && a.triggerModifyChild("remove", this),
                                                            1 === this.parent.children.length)
                                                       ) {
                                                            if (this.parent === s) return;
                                                            (this.parent.children = this.parent.lazy ? [] : null), (this.parent.expanded = !1);
                                                       } else b((r = t.inArray(this, this.parent.children)) >= 0, "invalid source parent"), this.parent.children.splice(r, 1);
                                                       if (((this.parent = s), s.hasChildren()))
                                                            switch (i) {
                                                                 case "child":
                                                                      s.children.push(this);
                                                                      break;
                                                                 case "before":
                                                                      b((r = t.inArray(e, s.children)) >= 0, "invalid target parent"), s.children.splice(r, 0, this);
                                                                      break;
                                                                 case "after":
                                                                      b((r = t.inArray(e, s.children)) >= 0, "invalid target parent"), s.children.splice(r + 1, 0, this);
                                                                      break;
                                                                 default:
                                                                      t.error("Invalid mode " + i);
                                                            }
                                                       else s.children = [this];
                                                       n && e.visit(n, !0),
                                                            s === a ? s.triggerModifyChild("move", this) : s.triggerModifyChild("add", this),
                                                            o !== e.tree &&
                                                                 (this.warn("Cross-tree moveTo is experimental!"),
                                                                 this.visit(function (t) {
                                                                      t.tree = e.tree;
                                                                 }, !0)),
                                                            o._callHook("treeStructureChanged", o, "moveTo"),
                                                            a.isDescendantOf(s) || a.render(),
                                                            s.isDescendantOf(a) || s === a || s.render();
                                                  }
                                             },
                                             navigate: function (e, i) {
                                                  var n,
                                                       r = t.ui.keyCode;
                                                  switch (e) {
                                                       case "left":
                                                       case r.LEFT:
                                                            if (this.expanded) return this.setExpanded(!1);
                                                            break;
                                                       case "right":
                                                       case r.RIGHT:
                                                            if (!this.expanded && (this.children || this.lazy)) return this.setExpanded();
                                                  }
                                                  if ((n = this.findRelatedNode(e))) {
                                                       try {
                                                            n.makeVisible({ scrollIntoView: !1 });
                                                       } catch (t) {}
                                                       return !1 === i ? (n.setFocus(), S()) : n.setActive();
                                                  }
                                                  return this.warn("Could not find related node '" + e + "'."), S();
                                             },
                                             remove: function () {
                                                  return this.parent.removeChild(this);
                                             },
                                             removeChild: function (t) {
                                                  return this.tree._callHook("nodeRemoveChild", this, t);
                                             },
                                             removeChildren: function () {
                                                  return this.tree._callHook("nodeRemoveChildren", this);
                                             },
                                             removeClass: function (t) {
                                                  return this.toggleClass(t, !1);
                                             },
                                             render: function (t, e) {
                                                  return this.tree._callHook("nodeRender", this, t, e);
                                             },
                                             renderTitle: function () {
                                                  return this.tree._callHook("nodeRenderTitle", this);
                                             },
                                             renderStatus: function () {
                                                  return this.tree._callHook("nodeRenderStatus", this);
                                             },
                                             replaceWith: function (i) {
                                                  var n,
                                                       r = this.parent,
                                                       o = t.inArray(this, r.children),
                                                       a = this;
                                                  return (
                                                       b(this.isPagingNode(), "replaceWith() currently requires a paging status node"),
                                                       (n = this.tree._callHook("nodeLoadChildren", this, i))
                                                            .done(function (t) {
                                                                 var i = a.children;
                                                                 for (e = 0; e < i.length; e++) i[e].parent = r;
                                                                 r.children.splice.apply(r.children, [o + 1, 0].concat(i)), (a.children = null), a.remove(), r.render();
                                                            })
                                                            .fail(function () {
                                                                 a.setExpanded();
                                                            }),
                                                       n
                                                  );
                                             },
                                             resetLazy: function () {
                                                  this.removeChildren(), (this.expanded = !1), (this.lazy = !0), (this.children = void 0), this.renderStatus();
                                             },
                                             scheduleAction: function (e, i) {
                                                  this.tree.timer && (clearTimeout(this.tree.timer), this.tree.debug("clearTimeout(%o)", this.tree.timer)), (this.tree.timer = null);
                                                  var n = this;
                                                  switch (e) {
                                                       case "cancel":
                                                            break;
                                                       case "expand":
                                                            this.tree.timer = setTimeout(function () {
                                                                 n.tree.debug("setTimeout: trigger expand"), n.setExpanded(!0);
                                                            }, i);
                                                            break;
                                                       case "activate":
                                                            this.tree.timer = setTimeout(function () {
                                                                 n.tree.debug("setTimeout: trigger activate"), n.setActive(!0);
                                                            }, i);
                                                            break;
                                                       default:
                                                            t.error("Invalid mode " + e);
                                                  }
                                             },
                                             scrollIntoView: function (e, i) {
                                                  if (void 0 !== i && (n = i).tree && void 0 !== n.statusNodeType) throw Error("scrollIntoView() with 'topNode' option is deprecated since 2014-05-08. Use 'options.topNode' instead.");
                                                  var n,
                                                       r = t.extend({ effects: !0 === e ? { duration: 200, queue: !1 } : e, scrollOfs: this.tree.options.scrollOfs, scrollParent: this.tree.options.scrollParent, topNode: null }, i),
                                                       o = r.scrollParent,
                                                       a = this.tree.$container,
                                                       s = a.css("overflow-y");
                                                  o ? o.jquery || (o = t(o)) : (o = this.tree.tbody ? a.scrollParent() : "scroll" === s || "auto" === s ? a : a.scrollParent()),
                                                       (o[0] !== document && o[0] !== document.body) || (this.debug("scrollIntoView(): normalizing scrollParent to 'window':", o[0]), (o = t(window)));
                                                  var l,
                                                       c,
                                                       u,
                                                       h = new t.Deferred(),
                                                       d = this,
                                                       p = t(this.span).height(),
                                                       f = r.scrollOfs.top || 0,
                                                       m = r.scrollOfs.bottom || 0,
                                                       g = o.height(),
                                                       v = o.scrollTop(),
                                                       y = o,
                                                       _ = o[0] === window,
                                                       x = r.topNode || null,
                                                       w = null;
                                                  return this.isRootNode() || !this.isVisible()
                                                       ? (this.info("scrollIntoView(): node is invisible."), S())
                                                       : (_
                                                              ? ((c = t(this.span).offset().top), (l = x && x.span ? t(x.span).offset().top : 0), (y = t("html,body")))
                                                              : (b(o[0] !== document && o[0] !== document.body, "scrollParent should be a simple element or `window`, not document or body."),
                                                                (u = o.offset().top),
                                                                (c = t(this.span).offset().top - u + v),
                                                                (l = x ? t(x.span).offset().top - u + v : 0),
                                                                (g -= Math.max(0, o.innerHeight() - o[0].clientHeight))),
                                                         c < v + f ? (w = c - f) : c + p > v + g - m && ((w = c + p - g + m), x && (b(x.isRootNode() || x.isVisible(), "topNode must be visible"), l < w && (w = l - f))),
                                                         null === w
                                                              ? h.resolveWith(this)
                                                              : r.effects
                                                              ? ((r.effects.complete = function () {
                                                                     h.resolveWith(d);
                                                                }),
                                                                y.stop(!0).animate({ scrollTop: w }, r.effects))
                                                              : ((y[0].scrollTop = w), h.resolveWith(this)),
                                                         h.promise());
                                             },
                                             setActive: function (t, e) {
                                                  return this.tree._callHook("nodeSetActive", this, t, e);
                                             },
                                             setExpanded: function (t, e) {
                                                  return this.tree._callHook("nodeSetExpanded", this, t, e);
                                             },
                                             setFocus: function (t) {
                                                  return this.tree._callHook("nodeSetFocus", this, t);
                                             },
                                             setSelected: function (t, e) {
                                                  return this.tree._callHook("nodeSetSelected", this, t, e);
                                             },
                                             setStatus: function (t, e, i) {
                                                  return this.tree._callHook("nodeSetStatus", this, t, e, i);
                                             },
                                             setTitle: function (t) {
                                                  (this.title = t), this.renderTitle(), this.triggerModify("rename");
                                             },
                                             sortChildren: function (t, e) {
                                                  var i,
                                                       n,
                                                       r = this.children;
                                                  if (r) {
                                                       if (
                                                            ((t =
                                                                 t ||
                                                                 function (t, e) {
                                                                      var i = t.title.toLowerCase(),
                                                                           n = e.title.toLowerCase();
                                                                      return i === n ? 0 : i > n ? 1 : -1;
                                                                 }),
                                                            r.sort(t),
                                                            e)
                                                       )
                                                            for (i = 0, n = r.length; i < n; i++) r[i].children && r[i].sortChildren(t, "$norender$");
                                                       "$norender$" !== e && this.render(), this.triggerModifyChild("sort");
                                                  }
                                             },
                                             toDict: function (e, i) {
                                                  var n,
                                                       r,
                                                       o,
                                                       a,
                                                       s = {},
                                                       l = this;
                                                  if (
                                                       (t.each(m, function (t, e) {
                                                            (l[e] || !1 === l[e]) && (s[e] = l[e]);
                                                       }),
                                                       t.isEmptyObject(this.data) || ((s.data = t.extend({}, this.data)), t.isEmptyObject(s.data) && delete s.data),
                                                       i)
                                                  ) {
                                                       if (!1 === (a = i(s, l))) return !1;
                                                       "skip" === a && (e = !1);
                                                  }
                                                  if (e && t.isArray(this.children))
                                                       for (s.children = [], n = 0, r = this.children.length; n < r; n++) (o = this.children[n]).isStatusNode() || (!1 !== (a = o.toDict(!0, i)) && s.children.push(a));
                                                  return s;
                                             },
                                             toggleClass: function (e, i) {
                                                  var n,
                                                       r,
                                                       o = e.match(/\S+/g) || [],
                                                       a = 0,
                                                       s = !1,
                                                       l = this[this.tree.statusClassPropName],
                                                       c = " " + (this.extraClasses || "") + " ";
                                                  for (l && t(l).toggleClass(e, i); (n = o[a++]); )
                                                       if (((r = c.indexOf(" " + n + " ") >= 0), (i = void 0 === i ? !r : !!i))) r || ((c += n + " "), (s = !0));
                                                       else for (; c.indexOf(" " + n + " ") > -1; ) c = c.replace(" " + n + " ", " ");
                                                  return (this.extraClasses = t.trim(c)), s;
                                             },
                                             toggleExpanded: function () {
                                                  return this.tree._callHook("nodeToggleExpanded", this);
                                             },
                                             toggleSelected: function () {
                                                  return this.tree._callHook("nodeToggleSelected", this);
                                             },
                                             toString: function () {
                                                  return "FancytreeNode@" + this.key + "[title='" + this.title + "']";
                                             },
                                             triggerModifyChild: function (e, i, n) {
                                                  var r,
                                                       o = this.tree.options.modifyChild;
                                                  o &&
                                                       (i && i.parent !== this && t.error("childNode " + i + " is not a child of " + this),
                                                       (r = { node: this, tree: this.tree, operation: e, childNode: i || null }),
                                                       n && t.extend(r, n),
                                                       o({ type: "modifyChild" }, r));
                                             },
                                             triggerModify: function (t, e) {
                                                  this.parent.triggerModifyChild(t, this, e);
                                             },
                                             visit: function (t, e) {
                                                  var i,
                                                       n,
                                                       r = !0,
                                                       o = this.children;
                                                  if (!0 === e && (!1 === (r = t(this)) || "skip" === r)) return r;
                                                  if (o) for (i = 0, n = o.length; i < n && !1 !== (r = o[i].visit(t, !0)); i++);
                                                  return r;
                                             },
                                             visitAndLoad: function (e, i, n) {
                                                  var r,
                                                       o,
                                                       a,
                                                       s = this;
                                                  return !e || !0 !== i || (!1 !== (o = e(s)) && "skip" !== o)
                                                       ? s.children || s.lazy
                                                            ? ((r = new t.Deferred()),
                                                              (a = []),
                                                              s.load().done(function () {
                                                                   for (var i = 0, n = s.children.length; i < n; i++) {
                                                                        if (!1 === (o = s.children[i].visitAndLoad(e, !0, !0))) {
                                                                             r.reject();
                                                                             break;
                                                                        }
                                                                        "skip" !== o && a.push(o);
                                                                   }
                                                                   t.when.apply(this, a).then(function () {
                                                                        r.resolve();
                                                                   });
                                                              }),
                                                              r.promise())
                                                            : S()
                                                       : n
                                                       ? o
                                                       : S();
                                             },
                                             visitParents: function (t, e) {
                                                  if (e && !1 === t(this)) return !1;
                                                  for (var i = this.parent; i; ) {
                                                       if (!1 === t(i)) return !1;
                                                       i = i.parent;
                                                  }
                                                  return !0;
                                             },
                                             visitSiblings: function (t, e) {
                                                  var i,
                                                       n,
                                                       r,
                                                       o = this.parent.children;
                                                  for (i = 0, n = o.length; i < n; i++) if (((r = o[i]), (e || r !== this) && !1 === t(r))) return !1;
                                                  return !0;
                                             },
                                             warn: function (t) {
                                                  this.tree.options.debugLevel >= 2 && (Array.prototype.unshift.call(arguments, this.toString()), _("warn", arguments));
                                             },
                                        }),
                                        (A.prototype = {
                                             _makeHookContext: function (e, i, n) {
                                                  var r, o;
                                                  return (
                                                       void 0 !== e.node
                                                            ? (i && e.originalEvent !== i && t.error("invalid args"), (r = e))
                                                            : e.tree
                                                            ? (r = { node: e, tree: (o = e.tree), widget: o.widget, options: o.widget.options, originalEvent: i, typeInfo: o.types[e.type] || {} })
                                                            : e.widget
                                                            ? (r = { node: null, tree: e, widget: e.widget, options: e.widget.options, originalEvent: i })
                                                            : t.error("invalid args"),
                                                       n && t.extend(r, n),
                                                       r
                                                  );
                                             },
                                             _callHook: function (e, i, n) {
                                                  var r = this._makeHookContext(i),
                                                       o = this[e],
                                                       a = Array.prototype.slice.call(arguments, 2);
                                                  return t.isFunction(o) || t.error("_callHook('" + e + "') is not a function"), a.unshift(r), o.apply(this, a);
                                             },
                                             _setExpiringValue: function (t, e, i) {
                                                  this._tempCache[t] = { value: e, expire: Date.now() + (+i || 50) };
                                             },
                                             _getExpiringValue: function (t) {
                                                  var e = this._tempCache[t];
                                                  return e && e.expire > Date.now() ? e.value : (delete this._tempCache[t], null);
                                             },
                                             _usesExtension: function (e) {
                                                  return t.inArray(e, this.options.extensions) >= 0;
                                             },
                                             _requireExtension: function (e, i, n, r) {
                                                  null != n && (n = !!n);
                                                  var o = this._local.name,
                                                       a = this.options.extensions,
                                                       s = t.inArray(e, a) < t.inArray(o, a),
                                                       l = i && null == this.ext[e],
                                                       c = !l && null != n && n !== s;
                                                  return (
                                                       b(o && o !== e, "invalid or same name '" + o + "' (require yourself?)"),
                                                       (!l && !c) ||
                                                            (r ||
                                                                 (l || i
                                                                      ? ((r = "'" + o + "' extension requires '" + e + "'"), c && (r += " to be registered " + (n ? "before" : "after") + " itself"))
                                                                      : (r = "If used together, `" + e + "` must be registered " + (n ? "before" : "after") + " `" + o + "`")),
                                                            t.error(r),
                                                            !1)
                                                  );
                                             },
                                             activateKey: function (t, e) {
                                                  var i = this.getNodeByKey(t);
                                                  return i ? i.setActive(!0, e) : this.activeNode && this.activeNode.setActive(!1, e), i;
                                             },
                                             addPagingNode: function (t, e) {
                                                  return this.rootNode.addPagingNode(t, e);
                                             },
                                             applyCommand: function (e, i, n) {
                                                  var r;
                                                  switch (((i = i || this.getActiveNode()), e)) {
                                                       case "moveUp":
                                                            (r = i.getPrevSibling()) && (i.moveTo(r, "before"), i.setActive());
                                                            break;
                                                       case "moveDown":
                                                            (r = i.getNextSibling()) && (i.moveTo(r, "after"), i.setActive());
                                                            break;
                                                       case "indent":
                                                            (r = i.getPrevSibling()) && (i.moveTo(r, "child"), r.setExpanded(), i.setActive());
                                                            break;
                                                       case "outdent":
                                                            i.isTopLevel() || (i.moveTo(i.getParent(), "after"), i.setActive());
                                                            break;
                                                       case "remove":
                                                            (r = i.getPrevSibling() || i.getParent()), i.remove(), r && r.setActive();
                                                            break;
                                                       case "addChild":
                                                            i.editCreateNode("child", "");
                                                            break;
                                                       case "addSibling":
                                                            i.editCreateNode("after", "");
                                                            break;
                                                       case "rename":
                                                            i.editStart();
                                                            break;
                                                       case "down":
                                                       case "first":
                                                       case "last":
                                                       case "left":
                                                       case "parent":
                                                       case "right":
                                                       case "up":
                                                            return i.navigate(e);
                                                       default:
                                                            t.error("Unhandled command: '" + e + "'");
                                                  }
                                             },
                                             applyPatch: function (e) {
                                                  var i,
                                                       n,
                                                       r,
                                                       o,
                                                       a,
                                                       s,
                                                       l = e.length,
                                                       c = [];
                                                  for (n = 0; n < l; n++)
                                                       b(2 === (r = e[n]).length, "patchList must be an array of length-2-arrays"),
                                                            (o = r[0]),
                                                            (a = r[1]),
                                                            (s = null === o ? this.rootNode : this.getNodeByKey(o))
                                                                 ? ((i = new t.Deferred()), c.push(i), s.applyPatch(a).always(T(i, s)))
                                                                 : this.warn("could not find node with key '" + o + "'");
                                                  return t.when.apply(t, c).promise();
                                             },
                                             clear: function (t) {
                                                  this._callHook("treeClear", this);
                                             },
                                             count: function () {
                                                  return this.rootNode.countChildren();
                                             },
                                             debug: function (t) {
                                                  this.options.debugLevel >= 4 && (Array.prototype.unshift.call(arguments, this.toString()), _("log", arguments));
                                             },
                                             destroy: function () {
                                                  this.widget.destroy();
                                             },
                                             enable: function (t) {
                                                  !1 === t ? this.widget.disable() : this.widget.enable();
                                             },
                                             enableUpdate: function (t) {
                                                  return (
                                                       (t = !1 !== t),
                                                       !!this._enableUpdate == !!t
                                                            ? t
                                                            : ((this._enableUpdate = t),
                                                              t ? (this.debug("enableUpdate(true): redraw "), this._callHook("treeStructureChanged", this, "enableUpdate"), this.render()) : this.debug("enableUpdate(false)..."),
                                                              !t)
                                                  );
                                             },
                                             error: function (t) {
                                                  this.options.debugLevel >= 1 && (Array.prototype.unshift.call(arguments, this.toString()), _("error", arguments));
                                             },
                                             expandAll: function (t, e) {
                                                  var i = this.enableUpdate(!1);
                                                  (t = !1 !== t),
                                                       this.visit(function (i) {
                                                            !1 !== i.hasChildren() && i.isExpanded() !== t && i.setExpanded(t, e);
                                                       }),
                                                       this.enableUpdate(i);
                                             },
                                             findAll: function (t) {
                                                  return this.rootNode.findAll(t);
                                             },
                                             findFirst: function (t) {
                                                  return this.rootNode.findFirst(t);
                                             },
                                             findNextNode: function (t, e) {
                                                  var i,
                                                       n = null,
                                                       r = this.getFirstChild();
                                                  function o(i) {
                                                       if ((t(i) && (n = i), n || i === e)) return !1;
                                                  }
                                                  return (
                                                       (t =
                                                            "string" == typeof t
                                                                 ? ((i = new RegExp("^" + t, "i")),
                                                                   function (t) {
                                                                        return i.test(t.title);
                                                                   })
                                                                 : t),
                                                       (e = e || r),
                                                       this.visitRows(o, { start: e, includeSelf: !1 }),
                                                       n || e === r || this.visitRows(o, { start: r, includeSelf: !0 }),
                                                       n
                                                  );
                                             },
                                             findRelatedNode: function (e, i, n) {
                                                  var r = null,
                                                       o = t.ui.keyCode;
                                                  switch (i) {
                                                       case "parent":
                                                       case o.BACKSPACE:
                                                            e.parent && e.parent.parent && (r = e.parent);
                                                            break;
                                                       case "first":
                                                       case o.HOME:
                                                            this.visit(function (t) {
                                                                 if (t.isVisible()) return (r = t), !1;
                                                            });
                                                            break;
                                                       case "last":
                                                       case o.END:
                                                            this.visit(function (t) {
                                                                 t.isVisible() && (r = t);
                                                            });
                                                            break;
                                                       case "left":
                                                       case o.LEFT:
                                                            e.expanded ? e.setExpanded(!1) : e.parent && e.parent.parent && (r = e.parent);
                                                            break;
                                                       case "right":
                                                       case o.RIGHT:
                                                            e.expanded || (!e.children && !e.lazy) ? e.children && e.children.length && (r = e.children[0]) : (e.setExpanded(), (r = e));
                                                            break;
                                                       case "up":
                                                       case o.UP:
                                                            this.visitRows(
                                                                 function (t) {
                                                                      return (r = t), !1;
                                                                 },
                                                                 { start: e, reverse: !0, includeSelf: !1 }
                                                            );
                                                            break;
                                                       case "down":
                                                       case o.DOWN:
                                                            this.visitRows(
                                                                 function (t) {
                                                                      return (r = t), !1;
                                                                 },
                                                                 { start: e, includeSelf: !1 }
                                                            );
                                                            break;
                                                       default:
                                                            this.tree.warn("Unknown relation '" + i + "'.");
                                                  }
                                                  return r;
                                             },
                                             generateFormElements: function (e, i, n) {
                                                  n = n || {};
                                                  var r,
                                                       o = "string" == typeof e ? e : "ft_" + this._id + "[]",
                                                       a = "string" == typeof i ? i : "ft_" + this._id + "_active",
                                                       s = "fancytree_result_" + this._id,
                                                       l = t("#" + s),
                                                       c = 3 === this.options.selectMode && !1 !== n.stopOnParents;
                                                  function u(e) {
                                                       l.append(t("<input>", { type: "checkbox", name: o, value: e.key, checked: !0 }));
                                                  }
                                                  l.length ? l.empty() : (l = t("<div>", { id: s }).hide().insertAfter(this.$container)),
                                                       !1 !== i && this.activeNode && l.append(t("<input>", { type: "radio", name: a, value: this.activeNode.key, checked: !0 })),
                                                       n.filter
                                                            ? this.visit(function (t) {
                                                                   var e = n.filter(t);
                                                                   if ("skip" === e) return e;
                                                                   !1 !== e && u(t);
                                                              })
                                                            : !1 !== e &&
                                                              ((r = this.getSelectedNodes(c)),
                                                              t.each(r, function (t, e) {
                                                                   u(e);
                                                              }));
                                             },
                                             getActiveNode: function () {
                                                  return this.activeNode;
                                             },
                                             getFirstChild: function () {
                                                  return this.rootNode.getFirstChild();
                                             },
                                             getFocusNode: function () {
                                                  return this.focusNode;
                                             },
                                             getOption: function (t) {
                                                  return this.widget.option(t);
                                             },
                                             getNodeByKey: function (t, e) {
                                                  var i, n;
                                                  return !e && (i = document.getElementById(this.options.idPrefix + t))
                                                       ? i.ftnode
                                                            ? i.ftnode
                                                            : null
                                                       : ((e = e || this.rootNode),
                                                         (n = null),
                                                         e.visit(function (e) {
                                                              if (e.key === t) return (n = e), !1;
                                                         }, !0),
                                                         n);
                                             },
                                             getRootNode: function () {
                                                  return this.rootNode;
                                             },
                                             getSelectedNodes: function (t) {
                                                  return this.rootNode.getSelectedNodes(t);
                                             },
                                             hasFocus: function () {
                                                  return !!this._hasFocus;
                                             },
                                             info: function (t) {
                                                  this.options.debugLevel >= 3 && (Array.prototype.unshift.call(arguments, this.toString()), _("info", arguments));
                                             },
                                             isLoading: function () {
                                                  var t = !1;
                                                  return (
                                                       this.rootNode.visit(function (e) {
                                                            if (e._isLoading || e._requestId) return (t = !0), !1;
                                                       }, !0),
                                                       t
                                                  );
                                             },
                                             loadKeyPath: function (e, i) {
                                                  var n,
                                                       r,
                                                       o,
                                                       a = this,
                                                       s = new t.Deferred(),
                                                       l = this.getRootNode(),
                                                       c = this.options.keyPathSeparator,
                                                       u = [],
                                                       h = t.extend({}, i);
                                                  for (
                                                       "function" == typeof i ? (n = i) : i && i.callback && (n = i.callback),
                                                            h.callback = function (t, e, i) {
                                                                 n && n.call(t, e, i), s.notifyWith(t, [{ node: e, status: i }]);
                                                            },
                                                            null == h.matchKey &&
                                                                 (h.matchKey = function (t, e) {
                                                                      return t.key === e;
                                                                 }),
                                                            t.isArray(e) || (e = [e]),
                                                            r = 0;
                                                       r < e.length;
                                                       r++
                                                  )
                                                       (o = e[r]).charAt(0) === c && (o = o.substr(1)), u.push(o.split(c));
                                                  return (
                                                       setTimeout(function () {
                                                            a._loadKeyPathImpl(s, h, l, u).done(function () {
                                                                 s.resolve();
                                                            });
                                                       }, 0),
                                                       s.promise()
                                                  );
                                             },
                                             _loadKeyPathImpl: function (e, i, n, r) {
                                                  var o,
                                                       a,
                                                       s,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       d,
                                                       p,
                                                       f,
                                                       m = this;
                                                  function g(t, e) {
                                                       var n,
                                                            r,
                                                            o = t.children;
                                                       if (o) for (n = 0, r = o.length; n < r; n++) if (i.matchKey(o[n], e)) return o[n];
                                                       return null;
                                                  }
                                                  for (h = {}, a = 0; a < r.length; a++)
                                                       for (p = r[a], d = n; p.length; ) {
                                                            if (((s = p.shift()), !(l = g(d, s)))) {
                                                                 this.warn("loadKeyPath: key not found: " + s + " (parent: " + d + ")"), i.callback(this, s, "error");
                                                                 break;
                                                            }
                                                            if (0 === p.length) {
                                                                 i.callback(this, l, "ok");
                                                                 break;
                                                            }
                                                            if (l.lazy && void 0 === l.hasChildren()) {
                                                                 i.callback(this, l, "loaded"), h[(s = l.key)] ? h[s].pathSegList.push(p) : (h[s] = { parent: l, pathSegList: [p] });
                                                                 break;
                                                            }
                                                            i.callback(this, l, "loaded"), (d = l);
                                                       }
                                                  function v(t, e, n) {
                                                       i.callback(m, e, "loading"),
                                                            e
                                                                 .load()
                                                                 .done(function () {
                                                                      m._loadKeyPathImpl.call(m, t, i, e, n).always(T(t, m));
                                                                 })
                                                                 .fail(function (n) {
                                                                      m.warn("loadKeyPath: error loading lazy " + e), i.callback(m, l, "error"), t.rejectWith(m);
                                                                 });
                                                  }
                                                  for (c in ((o = []), h)) h.hasOwnProperty(c) && ((u = h[c]), (f = new t.Deferred()), o.push(f), v(f, u.parent, u.pathSegList));
                                                  return t.when.apply(t, o).promise();
                                             },
                                             reactivate: function (t) {
                                                  var e,
                                                       i = this.activeNode;
                                                  return i ? ((this.activeNode = null), (e = i.setActive(!0, { noFocus: !0 })), t && i.setFocus(), e) : S();
                                             },
                                             reload: function (t) {
                                                  return this._callHook("treeClear", this), this._callHook("treeLoad", this, t);
                                             },
                                             render: function (t, e) {
                                                  return this.rootNode.render(t, e);
                                             },
                                             selectAll: function (t) {
                                                  this.visit(function (e) {
                                                       e.setSelected(t);
                                                  });
                                             },
                                             setFocus: function (t) {
                                                  return this._callHook("treeSetFocus", this, t);
                                             },
                                             setOption: function (t, e) {
                                                  return this.widget.option(t, e);
                                             },
                                             debugTime: function (t) {
                                                  this.options.debugLevel >= 4 && window.console.time(this + " - " + t);
                                             },
                                             debugTimeEnd: function (t) {
                                                  this.options.debugLevel >= 4 && window.console.timeEnd(this + " - " + t);
                                             },
                                             toDict: function (t, e) {
                                                  var i = this.rootNode.toDict(!0, e);
                                                  return t ? i : i.children;
                                             },
                                             toString: function () {
                                                  return "Fancytree@" + this._id;
                                             },
                                             _triggerNodeEvent: function (t, e, i, n) {
                                                  var r = this._makeHookContext(e, i, n),
                                                       o = this.widget._trigger(t, i, r);
                                                  return !1 !== o && void 0 !== r.result ? r.result : o;
                                             },
                                             _triggerTreeEvent: function (t, e, i) {
                                                  var n = this._makeHookContext(this, e, i),
                                                       r = this.widget._trigger(t, e, n);
                                                  return !1 !== r && void 0 !== n.result ? n.result : r;
                                             },
                                             visit: function (t) {
                                                  return this.rootNode.visit(t, !1);
                                             },
                                             visitRows: function (t, e) {
                                                  if (!this.rootNode.hasChildren()) return !1;
                                                  if (e && e.reverse) return delete e.reverse, this._visitRowsUp(t, e);
                                                  var i,
                                                       n,
                                                       r,
                                                       o = 0,
                                                       a = !1 === (e = e || {}).includeSelf,
                                                       s = !!e.includeHidden,
                                                       l = !s && this.enableFilter,
                                                       c = e.start || this.rootNode.children[0];
                                                  for (n = c.parent; n; ) {
                                                       for (i = (r = n.children).indexOf(c) + o; i < r.length; i++)
                                                            if (((c = r[i]), !l || c.match || c.subMatchCount)) {
                                                                 if (!a && !1 === t(c)) return !1;
                                                                 if (
                                                                      ((a = !1),
                                                                      c.children &&
                                                                           c.children.length &&
                                                                           (s || c.expanded) &&
                                                                           !1 ===
                                                                                c.visit(function (e) {
                                                                                     return !l || e.match || e.subMatchCount ? !1 !== t(e) && (s || !e.children || e.expanded ? void 0 : "skip") : "skip";
                                                                                }, !1))
                                                                 )
                                                                      return !1;
                                                            }
                                                       (c = n), (n = n.parent), (o = 1);
                                                  }
                                                  return !0;
                                             },
                                             _visitRowsUp: function (t, e) {
                                                  for (var i, n, r, o = !!e.includeHidden, a = e.start || this.rootNode.children[0]; ; ) {
                                                       if ((i = (r = a.parent).children)[0] === a) {
                                                            if (!(a = r).parent) break;
                                                            i = r.children;
                                                       } else for (n = i.indexOf(a), a = i[n - 1]; (o || a.expanded) && a.children && a.children.length; ) (r = a), (a = (i = a.children)[i.length - 1]);
                                                       if ((o || a.isVisible()) && !1 === t(a)) return !1;
                                                  }
                                             },
                                             warn: function (t) {
                                                  this.options.debugLevel >= 2 && (Array.prototype.unshift.call(arguments, this.toString()), _("warn", arguments));
                                             },
                                        }),
                                        t.extend(A.prototype, {
                                             nodeClick: function (t) {
                                                  var e,
                                                       i,
                                                       n = t.targetType,
                                                       r = t.node;
                                                  if ("expander" === n) {
                                                       if (r.isLoading()) return void r.debug("Got 2nd click while loading: ignored");
                                                       this._callHook("nodeToggleExpanded", t);
                                                  } else if ("checkbox" === n) this._callHook("nodeToggleSelected", t), t.options.focusOnSelect && this._callHook("nodeSetFocus", t, !0);
                                                  else {
                                                       if (((i = !1), (e = !0), r.folder))
                                                            switch (t.options.clickFolderMode) {
                                                                 case 2:
                                                                      (i = !0), (e = !1);
                                                                      break;
                                                                 case 3:
                                                                      (e = !0), (i = !0);
                                                            }
                                                       e && (this.nodeSetFocus(t), this._callHook("nodeSetActive", t, !0)), i && this._callHook("nodeToggleExpanded", t);
                                                  }
                                             },
                                             nodeCollapseSiblings: function (t, e) {
                                                  var i,
                                                       n,
                                                       r,
                                                       o = t.node;
                                                  if (o.parent) for (n = 0, r = (i = o.parent.children).length; n < r; n++) i[n] !== o && i[n].expanded && this._callHook("nodeSetExpanded", i[n], !1, e);
                                             },
                                             nodeDblclick: function (t) {
                                                  "title" === t.targetType && 4 === t.options.clickFolderMode && this._callHook("nodeToggleExpanded", t), "title" === t.targetType && t.originalEvent.preventDefault();
                                             },
                                             nodeKeydown: function (e) {
                                                  var i,
                                                       r,
                                                       o,
                                                       a = e.originalEvent,
                                                       s = e.node,
                                                       l = e.tree,
                                                       h = e.options,
                                                       d = a.which,
                                                       p = a.key || String.fromCharCode(d),
                                                       f = !!(a.altKey || a.ctrlKey || a.metaKey),
                                                       m = !u[d] && !c[d] && !f,
                                                       g = t(a.target),
                                                       v = !0,
                                                       y = !(a.ctrlKey || !h.autoActivate);
                                                  if (
                                                       (s || ((o = this.getActiveNode() || this.getFirstChild()) && (o.setFocus(), (s = e.node = this.focusNode).debug("Keydown force focus on active node"))),
                                                       h.quicksearch && m && !g.is(":input:enabled"))
                                                  )
                                                       return (
                                                            (r = Date.now()) - l.lastQuicksearchTime > 500 && (l.lastQuicksearchTerm = ""),
                                                            (l.lastQuicksearchTime = r),
                                                            (l.lastQuicksearchTerm += p),
                                                            (i = l.findNextNode(l.lastQuicksearchTerm, l.getActiveNode())) && i.setActive(),
                                                            void a.preventDefault()
                                                       );
                                                  switch (n.eventToString(a)) {
                                                       case "+":
                                                       case "=":
                                                            l.nodeSetExpanded(e, !0);
                                                            break;
                                                       case "-":
                                                            l.nodeSetExpanded(e, !1);
                                                            break;
                                                       case "space":
                                                            s.isPagingNode() ? l._triggerNodeEvent("clickPaging", e, a) : n.evalOption("checkbox", s, s, h, !1) ? l.nodeToggleSelected(e) : l.nodeSetActive(e, !0);
                                                            break;
                                                       case "return":
                                                            l.nodeSetActive(e, !0);
                                                            break;
                                                       case "home":
                                                       case "end":
                                                       case "backspace":
                                                       case "left":
                                                       case "right":
                                                       case "up":
                                                       case "down":
                                                            s.navigate(a.which, y);
                                                            break;
                                                       default:
                                                            v = !1;
                                                  }
                                                  v && a.preventDefault();
                                             },
                                             nodeLoadChildren: function (e, i) {
                                                  var n,
                                                       r,
                                                       o,
                                                       a = null,
                                                       s = !0,
                                                       l = e.tree,
                                                       c = e.node,
                                                       u = c.parent,
                                                       h = "nodeLoadChildren",
                                                       d = Date.now();
                                                  return (
                                                       t.isFunction(i) && ((i = i.call(l, { type: "source" }, e)), b(!t.isFunction(i), "source callback must not return another function")),
                                                       t.isFunction(i.then)
                                                            ? (a = i)
                                                            : i.url
                                                            ? (n = t.extend({}, e.options.ajax, i)).debugDelay
                                                                 ? ((r = n.debugDelay),
                                                                   delete n.debugDelay,
                                                                   t.isArray(r) && (r = r[0] + Math.random() * (r[1] - r[0])),
                                                                   c.warn("nodeLoadChildren waiting debugDelay " + Math.round(r) + " ms ..."),
                                                                   (a = t.Deferred(function (e) {
                                                                        setTimeout(function () {
                                                                             t.ajax(n)
                                                                                  .done(function () {
                                                                                       e.resolveWith(this, arguments);
                                                                                  })
                                                                                  .fail(function () {
                                                                                       e.rejectWith(this, arguments);
                                                                                  });
                                                                        }, r);
                                                                   })))
                                                                 : (a = t.ajax(n))
                                                            : t.isPlainObject(i) || t.isArray(i)
                                                            ? ((a = {
                                                                   then: function (t, e) {
                                                                        t(i, null, null);
                                                                   },
                                                              }),
                                                              (s = !1))
                                                            : t.error("Invalid source type: " + i),
                                                       c._requestId && (c.warn("Recursive load request #" + d + " while #" + c._requestId + " is pending."), (c._requestId = d)),
                                                       s && (l.debugTime(h), l.nodeSetStatus(e, "loading")),
                                                       (o = new t.Deferred()),
                                                       a.then(
                                                            function (n, r, a) {
                                                                 var s, h;
                                                                 if (
                                                                      (("json" !== i.dataType && "jsonp" !== i.dataType) || "string" != typeof n || t.error("Ajax request returned a string (did you get the JSON dataType wrong?)."),
                                                                      c._requestId && c._requestId > d)
                                                                 )
                                                                      o.rejectWith(this, ["$recursive_request"]);
                                                                 else if (null !== c.parent || null === u) {
                                                                      if (e.options.postProcess) {
                                                                           try {
                                                                                h = l._triggerNodeEvent("postProcess", e, e.originalEvent, { response: n, error: null, dataType: i.dataType });
                                                                           } catch (t) {
                                                                                h = { error: t, message: "" + t, details: "postProcess failed" };
                                                                           }
                                                                           if (h.error) return (s = t.isPlainObject(h.error) ? h.error : { message: h.error }), (s = l._makeHookContext(c, null, s)), void o.rejectWith(this, [s]);
                                                                           (t.isArray(h) || (t.isPlainObject(h) && t.isArray(h.children))) && (n = h);
                                                                      } else
                                                                           n &&
                                                                                n.hasOwnProperty("d") &&
                                                                                e.options.enableAspx &&
                                                                                (42 === e.options.enableAspx &&
                                                                                     l.warn("The default for enableAspx will change to `false` in the fututure. Pass `enableAspx: true` or implement postProcess to silence this warning."),
                                                                                (n = "string" == typeof n.d ? t.parseJSON(n.d) : n.d));
                                                                      o.resolveWith(this, [n]);
                                                                 } else o.rejectWith(this, ["$request_target_invalid"]);
                                                            },
                                                            function (t, e, i) {
                                                                 var n = l._makeHookContext(c, null, { error: t, args: Array.prototype.slice.call(arguments), message: i, details: t.status + ": " + i });
                                                                 o.rejectWith(this, [n]);
                                                            }
                                                       ),
                                                       o
                                                            .done(function (i) {
                                                                 var n, r, o;
                                                                 l.nodeSetStatus(e, "ok"),
                                                                      t.isPlainObject(i)
                                                                           ? (b(c.isRootNode(), "source may only be an object for root nodes (expecting an array of child objects otherwise)"),
                                                                             b(t.isArray(i.children), "if an object is passed as source, it must contain a 'children' array (all other properties are added to 'tree.data')"),
                                                                             (r = i),
                                                                             (n = i.children),
                                                                             delete r.children,
                                                                             t.each(f, function (t, e) {
                                                                                  void 0 !== r[e] && ((l[e] = r[e]), delete r[e]);
                                                                             }),
                                                                             t.extend(l.data, r))
                                                                           : (n = i),
                                                                      b(t.isArray(n), "expected array of children"),
                                                                      c._setChildren(n),
                                                                      l.options.nodata &&
                                                                           0 === n.length &&
                                                                           (t.isFunction(l.options.nodata)
                                                                                ? (o = l.options.nodata.call(l, { type: "nodata" }, e))
                                                                                : !0 === l.options.nodata && c.isRootNode()
                                                                                ? (o = l.options.strings.noData)
                                                                                : "string" == typeof l.options.nodata && c.isRootNode() && (o = l.options.nodata),
                                                                           o && c.setStatus("nodata", o)),
                                                                      l._triggerNodeEvent("loadChildren", c);
                                                            })
                                                            .fail(function (t) {
                                                                 var i;
                                                                 "$recursive_request" !== t
                                                                      ? "$request_target_invalid" !== t
                                                                           ? (t.node && t.error && t.message
                                                                                  ? (i = t)
                                                                                  : "[object Object]" ===
                                                                                         (i = l._makeHookContext(c, null, { error: t, args: Array.prototype.slice.call(arguments), message: t ? t.message || t.toString() : "" })).message &&
                                                                                    (i.message = ""),
                                                                             c.warn("Load children failed (" + i.message + ")", i),
                                                                             !1 !== l._triggerNodeEvent("loadError", i, null) && l.nodeSetStatus(e, "error", i.message, i.details))
                                                                           : c.warn("Lazy parent node was removed while loading: discarding response.")
                                                                      : c.warn("Ignored response for obsolete load request #" + d + " (expected #" + c._requestId + ")");
                                                            })
                                                            .always(function () {
                                                                 (c._requestId = null), s && l.debugTimeEnd(h);
                                                            }),
                                                       o.promise()
                                                  );
                                             },
                                             nodeLoadKeyPath: function (t, e) {},
                                             nodeRemoveChild: function (e, i) {
                                                  var n,
                                                       r = e.node,
                                                       o = t.extend({}, e, { node: i }),
                                                       a = r.children;
                                                  if (1 === a.length) return b(i === a[0], "invalid single child"), this.nodeRemoveChildren(e);
                                                  this.activeNode && (i === this.activeNode || this.activeNode.isDescendantOf(i)) && this.activeNode.setActive(!1),
                                                       this.focusNode && (i === this.focusNode || this.focusNode.isDescendantOf(i)) && (this.focusNode = null),
                                                       this.nodeRemoveMarkup(o),
                                                       this.nodeRemoveChildren(o),
                                                       b((n = t.inArray(i, a)) >= 0, "invalid child"),
                                                       r.triggerModifyChild("remove", i),
                                                       i.visit(function (t) {
                                                            t.parent = null;
                                                       }, !0),
                                                       this._callHook("treeRegisterNode", this, !1, i),
                                                       a.splice(n, 1);
                                             },
                                             nodeRemoveChildMarkup: function (e) {
                                                  var i = e.node;
                                                  i.ul &&
                                                       (i.isRootNode() ? t(i.ul).empty() : (t(i.ul).remove(), (i.ul = null)),
                                                       i.visit(function (t) {
                                                            t.li = t.ul = null;
                                                       }));
                                             },
                                             nodeRemoveChildren: function (t) {
                                                  var e = t.tree,
                                                       i = t.node;
                                                  i.children &&
                                                       (this.activeNode && this.activeNode.isDescendantOf(i) && this.activeNode.setActive(!1),
                                                       this.focusNode && this.focusNode.isDescendantOf(i) && (this.focusNode = null),
                                                       this.nodeRemoveChildMarkup(t),
                                                       i.triggerModifyChild("remove", null),
                                                       i.visit(function (t) {
                                                            (t.parent = null), e._callHook("treeRegisterNode", e, !1, t);
                                                       }),
                                                       i.lazy ? (i.children = []) : (i.children = null),
                                                       i.isRootNode() || (i.expanded = !1),
                                                       this.nodeRenderStatus(t));
                                             },
                                             nodeRemoveMarkup: function (e) {
                                                  var i = e.node;
                                                  i.li && (t(i.li).remove(), (i.li = null)), this.nodeRemoveChildMarkup(e);
                                             },
                                             nodeRender: function (e, i, n, r, o) {
                                                  var a,
                                                       s,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       d,
                                                       p = e.node,
                                                       f = e.tree,
                                                       m = e.options,
                                                       g = m.aria,
                                                       v = !1,
                                                       y = p.parent,
                                                       _ = !y,
                                                       x = p.children,
                                                       w = null;
                                                  if (!1 !== f._enableUpdate && (_ || y.ul)) {
                                                       if (
                                                            (b(_ || y.ul, "parent UL must exist"),
                                                            _ ||
                                                                 (p.li &&
                                                                      (i || p.li.parentNode !== p.parent.ul) &&
                                                                      (p.li.parentNode === p.parent.ul ? (w = p.li.nextSibling) : this.debug("Unlinking " + p + " (must be child of " + p.parent + ")"), this.nodeRemoveMarkup(e)),
                                                                 p.li
                                                                      ? this.nodeRenderStatus(e)
                                                                      : ((v = !0),
                                                                        (p.li = document.createElement("li")),
                                                                        (p.li.ftnode = p),
                                                                        p.key && m.generateIds && (p.li.id = m.idPrefix + p.key),
                                                                        (p.span = document.createElement("span")),
                                                                        (p.span.className = "fancytree-node"),
                                                                        g && !p.tr && t(p.li).attr("role", "treeitem"),
                                                                        p.li.appendChild(p.span),
                                                                        this.nodeRenderTitle(e),
                                                                        m.createNode && m.createNode.call(f, { type: "createNode" }, e)),
                                                                 m.renderNode && m.renderNode.call(f, { type: "renderNode" }, e)),
                                                            x)
                                                       ) {
                                                            if (_ || p.expanded || !0 === n) {
                                                                 for (
                                                                      p.ul ||
                                                                           ((p.ul = document.createElement("ul")),
                                                                           ((!0 !== r || o) && p.expanded) || (p.ul.style.display = "none"),
                                                                           g && t(p.ul).attr("role", "group"),
                                                                           p.li ? p.li.appendChild(p.ul) : p.tree.$div.append(p.ul)),
                                                                           c = 0,
                                                                           u = x.length;
                                                                      c < u;
                                                                      c++
                                                                 )
                                                                      (d = t.extend({}, e, { node: x[c] })), this.nodeRender(d, i, n, !1, !0);
                                                                 for (a = p.ul.firstChild; a; )
                                                                      (l = a.ftnode) && l.parent !== p ? (p.debug("_fixParent: remove missing " + l, a), (h = a.nextSibling), a.parentNode.removeChild(a), (a = h)) : (a = a.nextSibling);
                                                                 for (a = p.ul.firstChild, c = 0, u = x.length - 1; c < u; c++) (s = x[c]) === (l = a.ftnode) ? (a = a.nextSibling) : p.ul.insertBefore(s.li, l.li);
                                                            }
                                                       } else p.ul && (this.warn("remove child markup for " + p), this.nodeRemoveChildMarkup(e));
                                                       _ || (v && y.ul.insertBefore(p.li, w));
                                                  }
                                             },
                                             nodeRenderTitle: function (e, i) {
                                                  var o,
                                                       a,
                                                       s,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       d = e.node,
                                                       p = e.tree,
                                                       f = e.options,
                                                       m = f.aria,
                                                       g = d.getLevel(),
                                                       v = [];
                                                  void 0 !== i && (d.title = i),
                                                       d.span &&
                                                            !1 !== p._enableUpdate &&
                                                            ((c = m && !1 !== d.hasChildren() ? " role='button'" : ""),
                                                            g < f.minExpandLevel
                                                                 ? (d.lazy || (d.expanded = !0), g > 1 && v.push("<span " + c + " class='fancytree-expander fancytree-expander-fixed'></span>"))
                                                                 : v.push("<span " + c + " class='fancytree-expander'></span>"),
                                                            (o = n.evalOption("checkbox", d, d, f, !1)) &&
                                                                 !d.isStatusNode() &&
                                                                 ((c = m ? " role='checkbox'" : ""),
                                                                 (a = "fancytree-checkbox"),
                                                                 ("radio" === o || (d.parent && d.parent.radiogroup)) && (a += " fancytree-radio"),
                                                                 v.push("<span " + c + " class='" + a + "'></span>")),
                                                            void 0 !== d.data.iconClass &&
                                                                 (d.icon
                                                                      ? t.error("'iconClass' node option is deprecated since v2.14.0: use 'icon' only instead")
                                                                      : (d.warn("'iconClass' node option is deprecated since v2.14.0: use 'icon' instead"), (d.icon = d.data.iconClass))),
                                                            !1 !== (s = n.evalOption("icon", d, d, f, !0)) &&
                                                                 ((c = m ? " role='presentation'" : ""),
                                                                 (h = (h = n.evalOption("iconTooltip", d, d, f, null)) ? " title='" + D(h) + "'" : ""),
                                                                 "string" == typeof s
                                                                      ? r.test(s)
                                                                           ? ((s = "/" === s.charAt(0) ? s : (f.imagePath || "") + s), v.push("<img src='" + s + "' class='fancytree-icon'" + h + " alt='' />"))
                                                                           : v.push("<span " + c + " class='fancytree-custom-icon " + s + "'" + h + "></span>")
                                                                      : s.text
                                                                      ? v.push("<span " + c + " class='fancytree-custom-icon " + (s.addClass || "") + "'" + h + ">" + n.escapeHtml(s.text) + "</span>")
                                                                      : s.html
                                                                      ? v.push("<span " + c + " class='fancytree-custom-icon " + (s.addClass || "") + "'" + h + ">" + s.html + "</span>")
                                                                      : v.push("<span " + c + " class='fancytree-icon'" + h + "></span>")),
                                                            (l = ""),
                                                            f.renderTitle && (l = f.renderTitle.call(p, { type: "renderTitle" }, e) || ""),
                                                            l ||
                                                                 (!0 === (u = n.evalOption("tooltip", d, d, f, null)) && (u = d.title),
                                                                 (l =
                                                                      "<span class='fancytree-title'" +
                                                                      (u = u ? " title='" + D(u) + "'" : "") +
                                                                      (f.titlesTabbable ? " tabindex='0'" : "") +
                                                                      ">" +
                                                                      (f.escapeTitles ? n.escapeHtml(d.title) : d.title) +
                                                                      "</span>")),
                                                            v.push(l),
                                                            (d.span.innerHTML = v.join("")),
                                                            this.nodeRenderStatus(e),
                                                            f.enhanceTitle && ((e.$title = t(">span.fancytree-title", d.span)), (l = f.enhanceTitle.call(p, { type: "enhanceTitle" }, e) || "")));
                                             },
                                             nodeRenderStatus: function (e) {
                                                  var i,
                                                       r = e.node,
                                                       o = e.tree,
                                                       a = e.options,
                                                       s = r.hasChildren(),
                                                       l = r.isLastSibling(),
                                                       c = a.aria,
                                                       u = a._classNames,
                                                       h = [],
                                                       d = r[o.statusClassPropName];
                                                  d &&
                                                       !1 !== o._enableUpdate &&
                                                       (c && (i = t(r.tr || r.li)),
                                                       h.push(u.node),
                                                       o.activeNode === r && h.push(u.active),
                                                       o.focusNode === r && h.push(u.focused),
                                                       r.expanded && h.push(u.expanded),
                                                       c && (!1 === s ? i.removeAttr("aria-expanded") : i.attr("aria-expanded", Boolean(r.expanded))),
                                                       r.folder && h.push(u.folder),
                                                       !1 !== s && h.push(u.hasChildren),
                                                       l && h.push(u.lastsib),
                                                       r.lazy && null == r.children && h.push(u.lazy),
                                                       r.partload && h.push(u.partload),
                                                       r.partsel && h.push(u.partsel),
                                                       n.evalOption("unselectable", r, r, a, !1) && h.push(u.unselectable),
                                                       r._isLoading && h.push(u.loading),
                                                       r._error && h.push(u.error),
                                                       r.statusNodeType && h.push(u.statusNodePrefix + r.statusNodeType),
                                                       r.selected ? (h.push(u.selected), c && i.attr("aria-selected", !0)) : c && i.attr("aria-selected", !1),
                                                       r.extraClasses && h.push(r.extraClasses),
                                                       !1 === s
                                                            ? h.push(u.combinedExpanderPrefix + "n" + (l ? "l" : ""))
                                                            : h.push(u.combinedExpanderPrefix + (r.expanded ? "e" : "c") + (r.lazy && null == r.children ? "d" : "") + (l ? "l" : "")),
                                                       h.push(u.combinedIconPrefix + (r.expanded ? "e" : "c") + (r.folder ? "f" : "")),
                                                       (d.className = h.join(" ")),
                                                       r.li && t(r.li).toggleClass(u.lastsib, l));
                                             },
                                             nodeSetActive: function (e, i, n) {
                                                  n = n || {};
                                                  var r,
                                                       o = e.node,
                                                       a = e.tree,
                                                       s = e.options,
                                                       l = !0 === n.noEvents,
                                                       c = !0 === n.noFocus,
                                                       u = !1 !== n.scrollIntoView;
                                                  return (o === a.activeNode) == (i = !1 !== i)
                                                       ? S(o)
                                                       : i && !l && !1 === this._triggerNodeEvent("beforeActivate", o, e.originalEvent)
                                                       ? M(o, ["rejected"])
                                                       : (i
                                                              ? (a.activeNode &&
                                                                     (b(a.activeNode !== o, "node was active (inconsistency)"),
                                                                     (r = t.extend({}, e, { node: a.activeNode })),
                                                                     a.nodeSetActive(r, !1),
                                                                     b(null === a.activeNode, "deactivate was out of sync?")),
                                                                s.activeVisible && o.makeVisible({ scrollIntoView: u }),
                                                                (a.activeNode = o),
                                                                a.nodeRenderStatus(e),
                                                                c || a.nodeSetFocus(e),
                                                                l || a._triggerNodeEvent("activate", o, e.originalEvent))
                                                              : (b(a.activeNode === o, "node was not active (inconsistency)"),
                                                                (a.activeNode = null),
                                                                this.nodeRenderStatus(e),
                                                                l || e.tree._triggerNodeEvent("deactivate", o, e.originalEvent)),
                                                         S(o));
                                             },
                                             nodeSetExpanded: function (e, i, n) {
                                                  n = n || {};
                                                  var r,
                                                       o,
                                                       a,
                                                       s,
                                                       l,
                                                       c,
                                                       u = e.node,
                                                       h = e.tree,
                                                       d = e.options,
                                                       p = !0 === n.noAnimation,
                                                       f = !0 === n.noEvents;
                                                  if (((i = !1 !== i), (u.expanded && i) || (!u.expanded && !i))) return S(u);
                                                  if (i && !u.lazy && !u.hasChildren()) return S(u);
                                                  if (!i && u.getLevel() < d.minExpandLevel) return M(u, ["locked"]);
                                                  if (!f && !1 === this._triggerNodeEvent("beforeExpand", u, e.originalEvent)) return M(u, ["rejected"]);
                                                  if ((p || u.isVisible() || (p = n.noAnimation = !0), (o = new t.Deferred()), i && !u.expanded && d.autoCollapse)) {
                                                       (l = u.getParentList(!1, !0)), (c = d.autoCollapse);
                                                       try {
                                                            for (d.autoCollapse = !1, a = 0, s = l.length; a < s; a++) this._callHook("nodeCollapseSiblings", l[a], n);
                                                       } finally {
                                                            d.autoCollapse = c;
                                                       }
                                                  }
                                                  return (
                                                       o.done(function () {
                                                            var t = u.getLastChild();
                                                            i && d.autoScroll && !p && t && h._enableUpdate
                                                                 ? t.scrollIntoView(!0, { topNode: u }).always(function () {
                                                                        f || e.tree._triggerNodeEvent(i ? "expand" : "collapse", e);
                                                                   })
                                                                 : f || e.tree._triggerNodeEvent(i ? "expand" : "collapse", e);
                                                       }),
                                                       (r = function (n) {
                                                            var r = d._classNames,
                                                                 o = d.toggleEffect;
                                                            if (((u.expanded = i), h._callHook("treeStructureChanged", e, i ? "expand" : "collapse"), h._callHook("nodeRender", e, !1, !1, !0), u.ul))
                                                                 if (("none" !== u.ul.style.display) == !!u.expanded) u.warn("nodeSetExpanded: UL.style.display already set");
                                                                 else {
                                                                      if (o && !p)
                                                                           return (
                                                                                t(u.li).addClass(r.animating),
                                                                                void (t.isFunction(t(u.ul)[o.effect])
                                                                                     ? t(u.ul)[o.effect]({
                                                                                            duration: o.duration,
                                                                                            always: function () {
                                                                                                 t(this).removeClass(r.animating), t(u.li).removeClass(r.animating), n();
                                                                                            },
                                                                                       })
                                                                                     : (t(u.ul).stop(!0, !0),
                                                                                       t(u.ul).parent().find(".ui-effects-placeholder").remove(),
                                                                                       t(u.ul).toggle(o.effect, o.options, o.duration, function () {
                                                                                            t(this).removeClass(r.animating), t(u.li).removeClass(r.animating), n();
                                                                                       })))
                                                                           );
                                                                      u.ul.style.display = u.expanded || !parent ? "" : "none";
                                                                 }
                                                            n();
                                                       }),
                                                       i && u.lazy && void 0 === u.hasChildren()
                                                            ? u
                                                                   .load()
                                                                   .done(function () {
                                                                        o.notifyWith && o.notifyWith(u, ["loaded"]),
                                                                             r(function () {
                                                                                  o.resolveWith(u);
                                                                             });
                                                                   })
                                                                   .fail(function (t) {
                                                                        r(function () {
                                                                             o.rejectWith(u, ["load failed (" + t + ")"]);
                                                                        });
                                                                   })
                                                            : r(function () {
                                                                   o.resolveWith(u);
                                                              }),
                                                       o.promise()
                                                  );
                                             },
                                             nodeSetFocus: function (e, i) {
                                                  var n,
                                                       r = e.tree,
                                                       o = e.node,
                                                       a = r.options,
                                                       s = !!e.originalEvent && t(e.originalEvent.target).is(":input");
                                                  if (((i = !1 !== i), r.focusNode)) {
                                                       if (r.focusNode === o && i) return;
                                                       (n = t.extend({}, e, { node: r.focusNode })), (r.focusNode = null), this._triggerNodeEvent("blur", n), this._callHook("nodeRenderStatus", n);
                                                  }
                                                  i &&
                                                       (this.hasFocus() || (o.debug("nodeSetFocus: forcing container focus"), this._callHook("treeSetFocus", e, !0, { calledByNode: !0 })),
                                                       o.makeVisible({ scrollIntoView: !1 }),
                                                       (r.focusNode = o),
                                                       a.titlesTabbable && (s || t(o.span).find(".fancytree-title").focus()),
                                                       a.aria &&
                                                            t(r.$container).attr(
                                                                 "aria-activedescendant",
                                                                 t(o.tr || o.li)
                                                                      .uniqueId()
                                                                      .attr("id")
                                                            ),
                                                       this._triggerNodeEvent("focus", e),
                                                       document.activeElement === r.$container.get(0) || t(document.activeElement, r.$container).length >= 1 || t(r.$container).focus(),
                                                       a.autoScroll && o.scrollIntoView(),
                                                       this._callHook("nodeRenderStatus", e));
                                             },
                                             nodeSetSelected: function (t, e, i) {
                                                  i = i || {};
                                                  var r = t.node,
                                                       o = t.tree,
                                                       a = t.options,
                                                       s = !0 === i.noEvents,
                                                       l = r.parent;
                                                  if (((e = !1 !== e), !n.evalOption("unselectable", r, r, a, !1))) {
                                                       if (((r._lastSelectIntent = e), !!r.selected === e && (3 !== a.selectMode || !r.partsel || e))) return e;
                                                       if (!s && !1 === this._triggerNodeEvent("beforeSelect", r, t.originalEvent)) return !!r.selected;
                                                       e && 1 === a.selectMode
                                                            ? (o.lastSelectedNode && o.lastSelectedNode.setSelected(!1), (r.selected = e))
                                                            : 3 !== a.selectMode || !l || l.radiogroup || r.radiogroup
                                                            ? l && l.radiogroup
                                                                 ? r.visitSiblings(function (t) {
                                                                        t._changeSelectStatusAttrs(e && t === r);
                                                                   }, !0)
                                                                 : (r.selected = e)
                                                            : ((r.selected = e), r.fixSelection3AfterClick(i)),
                                                            this.nodeRenderStatus(t),
                                                            (o.lastSelectedNode = e ? r : null),
                                                            s || o._triggerNodeEvent("select", t);
                                                  }
                                             },
                                             nodeSetStatus: function (e, i, n, r) {
                                                  var o = e.node,
                                                       a = e.tree;
                                                  function s(i, n) {
                                                       var r = o.children ? o.children[0] : null;
                                                       return (
                                                            r && r.isStatusNode()
                                                                 ? (t.extend(r, i), (r.statusNodeType = n), a._callHook("nodeRenderTitle", r))
                                                                 : (o._setChildren([i]), a._callHook("treeStructureChanged", e, "setStatusNode"), (o.children[0].statusNodeType = n), a.render()),
                                                            o.children[0]
                                                       );
                                                  }
                                                  switch (i) {
                                                       case "ok":
                                                            !(function () {
                                                                 var t = o.children ? o.children[0] : null;
                                                                 if (t && t.isStatusNode()) {
                                                                      try {
                                                                           o.ul && (o.ul.removeChild(t.li), (t.li = null));
                                                                      } catch (t) {}
                                                                      1 === o.children.length ? (o.children = []) : o.children.shift(), a._callHook("treeStructureChanged", e, "clearStatusNode");
                                                                 }
                                                            })(),
                                                                 (o._isLoading = !1),
                                                                 (o._error = null),
                                                                 o.renderStatus();
                                                            break;
                                                       case "loading":
                                                            o.parent || s({ title: a.options.strings.loading + (n ? " (" + n + ")" : ""), checkbox: !1, tooltip: r }, i), (o._isLoading = !0), (o._error = null), o.renderStatus();
                                                            break;
                                                       case "error":
                                                            s({ title: a.options.strings.loadError + (n ? " (" + n + ")" : ""), checkbox: !1, tooltip: r }, i), (o._isLoading = !1), (o._error = { message: n, details: r }), o.renderStatus();
                                                            break;
                                                       case "nodata":
                                                            s({ title: n || a.options.strings.noData, checkbox: !1, tooltip: r }, i), (o._isLoading = !1), (o._error = null), o.renderStatus();
                                                            break;
                                                       default:
                                                            t.error("invalid node status " + i);
                                                  }
                                             },
                                             nodeToggleExpanded: function (t) {
                                                  return this.nodeSetExpanded(t, !t.node.expanded);
                                             },
                                             nodeToggleSelected: function (t) {
                                                  var e = t.node,
                                                       i = !e.selected;
                                                  return e.partsel && !e.selected && !0 === e._lastSelectIntent && ((i = !1), (e.selected = !0)), (e._lastSelectIntent = i), this.nodeSetSelected(t, i);
                                             },
                                             treeClear: function (t) {
                                                  var e = t.tree;
                                                  (e.activeNode = null), (e.focusNode = null), e.$div.find(">ul.fancytree-container").empty(), (e.rootNode.children = null), e._callHook("treeStructureChanged", t, "clear");
                                             },
                                             treeCreate: function (t) {},
                                             treeDestroy: function (t) {
                                                  this.$div.find(">ul.fancytree-container").remove(), this.$source && this.$source.removeClass("fancytree-helper-hidden");
                                             },
                                             treeInit: function (e) {
                                                  var i = e.tree,
                                                       n = i.options;
                                                  i.$container.attr("tabindex", n.tabindex),
                                                       t.each(f, function (t, e) {
                                                            void 0 !== n[e] && (i.info("Move option " + e + " to tree"), (i[e] = n[e]), delete n[e]);
                                                       }),
                                                       n.checkboxAutoHide && i.$container.addClass("fancytree-checkbox-auto-hide"),
                                                       n.rtl ? i.$container.attr("DIR", "RTL").addClass("fancytree-rtl") : i.$container.removeAttr("DIR").removeClass("fancytree-rtl"),
                                                       n.aria && (i.$container.attr("role", "tree"), 1 !== n.selectMode && i.$container.attr("aria-multiselectable", !0)),
                                                       this.treeLoad(e);
                                             },
                                             treeLoad: function (e, i) {
                                                  var r,
                                                       o,
                                                       a,
                                                       s = e.tree,
                                                       l = e.widget.element,
                                                       c = t.extend({}, e, { node: this.rootNode });
                                                  if ((s.rootNode.children && this.treeClear(e), (i = i || this.options.source))) "string" == typeof i && t.error("Not implemented");
                                                  else
                                                       switch ((o = l.data("type") || "html")) {
                                                            case "html":
                                                                 (a = l.find(">ul").not(".fancytree-container").first()).length
                                                                      ? (a.addClass("ui-fancytree-source fancytree-helper-hidden"), (i = t.ui.fancytree.parseHtml(a)), (this.data = t.extend(this.data, C(a))))
                                                                      : (n.warn("No `source` option was passed and container does not contain `<ul>`: assuming `source: []`."), (i = []));
                                                                 break;
                                                            case "json":
                                                                 (i = t.parseJSON(l.text())),
                                                                      l
                                                                           .contents()
                                                                           .filter(function () {
                                                                                return 3 === this.nodeType;
                                                                           })
                                                                           .remove(),
                                                                      t.isPlainObject(i) &&
                                                                           (b(t.isArray(i.children), "if an object is passed as source, it must contain a 'children' array (all other properties are added to 'tree.data')"),
                                                                           (r = i),
                                                                           (i = i.children),
                                                                           delete r.children,
                                                                           t.each(f, function (t, e) {
                                                                                void 0 !== r[e] && ((s[e] = r[e]), delete r[e]);
                                                                           }),
                                                                           t.extend(s.data, r));
                                                                 break;
                                                            default:
                                                                 t.error("Invalid data-type: " + o);
                                                       }
                                                  return (
                                                       s._triggerTreeEvent("preInit", null),
                                                       this.nodeLoadChildren(c, i)
                                                            .done(function () {
                                                                 s._callHook("treeStructureChanged", e, "loadChildren"),
                                                                      s.render(),
                                                                      3 === e.options.selectMode && s.rootNode.fixSelection3FromEndNodes(),
                                                                      s.activeNode && s.options.activeVisible && s.activeNode.makeVisible(),
                                                                      s._triggerTreeEvent("init", null, { status: !0 });
                                                            })
                                                            .fail(function () {
                                                                 s.render(), s._triggerTreeEvent("init", null, { status: !1 });
                                                            })
                                                  );
                                             },
                                             treeRegisterNode: function (t, e, i) {
                                                  t.tree._callHook("treeStructureChanged", t, e ? "addNode" : "removeNode");
                                             },
                                             treeSetFocus: function (e, i, n) {
                                                  var r;
                                                  (i = !1 !== i) !== this.hasFocus() &&
                                                       ((this._hasFocus = i),
                                                       !i && this.focusNode ? this.focusNode.setFocus(!1) : !i || (n && n.calledByNode) || t(this.$container).focus(),
                                                       this.$container.toggleClass("fancytree-treefocus", i),
                                                       this._triggerTreeEvent(i ? "focusTree" : "blurTree"),
                                                       i && !this.activeNode && (r = this._lastMousedownNode || this.getFirstChild()) && r.setFocus());
                                             },
                                             treeSetOption: function (e, i, n) {
                                                  var r = e.tree,
                                                       o = !0,
                                                       a = !1,
                                                       s = !1;
                                                  switch (i) {
                                                       case "aria":
                                                       case "checkbox":
                                                       case "icon":
                                                       case "minExpandLevel":
                                                       case "tabindex":
                                                            (a = !0), (s = !0);
                                                            break;
                                                       case "checkboxAutoHide":
                                                            r.$container.toggleClass("fancytree-checkbox-auto-hide", !!n);
                                                            break;
                                                       case "escapeTitles":
                                                       case "tooltip":
                                                            s = !0;
                                                            break;
                                                       case "rtl":
                                                            !1 === n ? r.$container.removeAttr("DIR").removeClass("fancytree-rtl") : r.$container.attr("DIR", "RTL").addClass("fancytree-rtl"), (s = !0);
                                                            break;
                                                       case "source":
                                                            (o = !1), r._callHook("treeLoad", r, n), (s = !0);
                                                  }
                                                  r.debug("set option " + i + "=" + n + " <" + typeof n + ">"),
                                                       o && (this.widget._super ? this.widget._super.call(this.widget, i, n) : t.Widget.prototype._setOption.call(this.widget, i, n)),
                                                       a && r._callHook("treeCreate", r),
                                                       s && r.render(!0, !1);
                                             },
                                             treeStructureChanged: function (t, e) {},
                                        }),
                                        t.widget("ui.fancytree", {
                                             options: {
                                                  activeVisible: !0,
                                                  ajax: { type: "GET", cache: !1, dataType: "json" },
                                                  aria: !0,
                                                  autoActivate: !0,
                                                  autoCollapse: !1,
                                                  autoScroll: !1,
                                                  checkbox: !1,
                                                  clickFolderMode: 4,
                                                  debugLevel: null,
                                                  disabled: !1,
                                                  enableAspx: 42,
                                                  escapeTitles: !1,
                                                  extensions: [],
                                                  toggleEffect: { effect: "slideToggle", duration: 200 },
                                                  generateIds: !1,
                                                  icon: !0,
                                                  idPrefix: "ft_",
                                                  focusOnSelect: !1,
                                                  keyboard: !0,
                                                  keyPathSeparator: "/",
                                                  minExpandLevel: 1,
                                                  nodata: !0,
                                                  quicksearch: !1,
                                                  rtl: !1,
                                                  scrollOfs: { top: 0, bottom: 0 },
                                                  scrollParent: null,
                                                  selectMode: 2,
                                                  strings: { loading: "Loading...", loadError: "Load error!", moreData: "More...", noData: "No data." },
                                                  tabindex: "0",
                                                  titlesTabbable: !1,
                                                  tooltip: !1,
                                                  treeId: null,
                                                  _classNames: {
                                                       node: "fancytree-node",
                                                       folder: "fancytree-folder",
                                                       animating: "fancytree-animating",
                                                       combinedExpanderPrefix: "fancytree-exp-",
                                                       combinedIconPrefix: "fancytree-ico-",
                                                       hasChildren: "fancytree-has-children",
                                                       active: "fancytree-active",
                                                       selected: "fancytree-selected",
                                                       expanded: "fancytree-expanded",
                                                       lazy: "fancytree-lazy",
                                                       focused: "fancytree-focused",
                                                       partload: "fancytree-partload",
                                                       partsel: "fancytree-partsel",
                                                       radio: "fancytree-radio",
                                                       unselectable: "fancytree-unselectable",
                                                       lastsib: "fancytree-lastsib",
                                                       loading: "fancytree-loading",
                                                       error: "fancytree-error",
                                                       statusNodePrefix: "fancytree-statusnode-",
                                                  },
                                                  lazyLoad: null,
                                                  postProcess: null,
                                             },
                                             _deprecationWarning: function (t) {
                                                  var e = this.tree;
                                                  e && e.options.debugLevel >= 3 && e.warn("$().fancytree('" + t + "') is deprecated (see https://wwwendt.de/tech/fancytree/doc/jsdoc/Fancytree_Widget.html");
                                             },
                                             _create: function () {
                                                  (this.tree = new A(this)), (this.$source = this.source || "json" === this.element.data("type") ? this.element : this.element.find(">ul").first());
                                                  var e,
                                                       i,
                                                       n,
                                                       r = this.options,
                                                       o = r.extensions;
                                                  this.tree;
                                                  for (n = 0; n < o.length; n++)
                                                       (i = o[n]),
                                                            (e = t.ui.fancytree._extensions[i]) || t.error("Could not apply extension '" + i + "' (it is not registered, did you forget to include it?)"),
                                                            (this.tree.options[i] = x({}, e.options, this.tree.options[i])),
                                                            b(void 0 === this.tree.ext[i], "Extension name must not exist as Fancytree.ext attribute: '" + i + "'"),
                                                            (this.tree.ext[i] = {}),
                                                            k(this.tree, 0, e, i),
                                                            e;
                                                  void 0 !== r.icons &&
                                                       (!0 === r.icon
                                                            ? (this.tree.warn("'icons' tree option is deprecated since v2.14.0: use 'icon' instead"), (r.icon = r.icons))
                                                            : t.error("'icons' tree option is deprecated since v2.14.0: use 'icon' only instead")),
                                                       void 0 !== r.iconClass &&
                                                            (r.icon
                                                                 ? t.error("'iconClass' tree option is deprecated since v2.14.0: use 'icon' only instead")
                                                                 : (this.tree.warn("'iconClass' tree option is deprecated since v2.14.0: use 'icon' instead"), (r.icon = r.iconClass))),
                                                       void 0 !== r.tabbable && ((r.tabindex = r.tabbable ? "0" : "-1"), this.tree.warn("'tabbable' tree option is deprecated since v2.17.0: use 'tabindex='" + r.tabindex + "' instead")),
                                                       this.tree._callHook("treeCreate", this.tree);
                                             },
                                             _init: function () {
                                                  this.tree._callHook("treeInit", this.tree), this._bind();
                                             },
                                             _setOption: function (t, e) {
                                                  return this.tree._callHook("treeSetOption", this.tree, t, e);
                                             },
                                             _destroy: function () {
                                                  this._unbind(), this.tree._callHook("treeDestroy", this.tree);
                                             },
                                             _unbind: function () {
                                                  var e = this.tree._ns;
                                                  this.element.off(e), this.tree.$container.off(e), t(document).off(e);
                                             },
                                             _bind: function () {
                                                  var e = this,
                                                       i = this.options,
                                                       r = this.tree,
                                                       o = r._ns;
                                                  this._unbind(),
                                                       r.$container
                                                            .on("focusin" + o + " focusout" + o, function (e) {
                                                                 var i = n.getNode(e),
                                                                      o = "focusin" === e.type;
                                                                 if (!o && i && t(e.target).is("a")) i.debug("Ignored focusout on embedded <a> element.");
                                                                 else {
                                                                      if (o) {
                                                                           if (r._getExpiringValue("focusin")) return void r.debug("Ignored double focusin.");
                                                                           r._setExpiringValue("focusin", !0, 50), i || ((i = r._getExpiringValue("mouseDownNode")) && r.debug("Reconstruct mouse target for focusin from recent event."));
                                                                      }
                                                                      i
                                                                           ? r._callHook("nodeSetFocus", r._makeHookContext(i, e), o)
                                                                           : r.tbody && t(e.target).parents("table.fancytree-container > thead").length
                                                                           ? r.debug("Ignore focus event outside table body.", e)
                                                                           : r._callHook("treeSetFocus", r, o);
                                                                 }
                                                            })
                                                            .on("selectstart" + o, "span.fancytree-title", function (t) {
                                                                 t.preventDefault();
                                                            })
                                                            .on("keydown" + o, function (t) {
                                                                 if (i.disabled || !1 === i.keyboard) return !0;
                                                                 var e,
                                                                      n = r.focusNode,
                                                                      o = r._makeHookContext(n || r, t),
                                                                      a = r.phase;
                                                                 try {
                                                                      return (
                                                                           (r.phase = "userEvent"),
                                                                           "preventNav" === (e = n ? r._triggerNodeEvent("keydown", n, t) : r._triggerTreeEvent("keydown", t)) ? (e = !0) : !1 !== e && (e = r._callHook("nodeKeydown", o)),
                                                                           e
                                                                      );
                                                                 } finally {
                                                                      r.phase = a;
                                                                 }
                                                            })
                                                            .on("mousedown" + o, function (t) {
                                                                 var e = n.getEventTarget(t);
                                                                 (r._lastMousedownNode = e ? e.node : null), r._setExpiringValue("mouseDownNode", r._lastMousedownNode);
                                                            })
                                                            .on("click" + o + " dblclick" + o, function (t) {
                                                                 if (i.disabled) return !0;
                                                                 var r,
                                                                      o = n.getEventTarget(t),
                                                                      a = o.node,
                                                                      s = e.tree,
                                                                      l = s.phase;
                                                                 if (!a) return !0;
                                                                 r = s._makeHookContext(a, t);
                                                                 try {
                                                                      switch (((s.phase = "userEvent"), t.type)) {
                                                                           case "click":
                                                                                return (
                                                                                     (r.targetType = o.type),
                                                                                     a.isPagingNode() ? !0 === s._triggerNodeEvent("clickPaging", r, t) : !1 !== s._triggerNodeEvent("click", r, t) && s._callHook("nodeClick", r)
                                                                                );
                                                                           case "dblclick":
                                                                                return (r.targetType = o.type), !1 !== s._triggerNodeEvent("dblclick", r, t) && s._callHook("nodeDblclick", r);
                                                                      }
                                                                 } finally {
                                                                      s.phase = l;
                                                                 }
                                                            });
                                             },
                                             getActiveNode: function () {
                                                  return this._deprecationWarning("getActiveNode"), this.tree.activeNode;
                                             },
                                             getNodeByKey: function (t) {
                                                  return this._deprecationWarning("getNodeByKey"), this.tree.getNodeByKey(t);
                                             },
                                             getRootNode: function () {
                                                  return this._deprecationWarning("getRootNode"), this.tree.rootNode;
                                             },
                                             getTree: function () {
                                                  return this._deprecationWarning("getTree"), this.tree;
                                             },
                                        }),
                                        (n = t.ui.fancytree),
                                        t.extend(t.ui.fancytree, {
                                             version: "2.35.0",
                                             buildType: "production",
                                             debugLevel: 3,
                                             _nextId: 1,
                                             _nextNodeKey: 1,
                                             _extensions: {},
                                             _FancytreeClass: A,
                                             _FancytreeNodeClass: E,
                                             jquerySupports: {
                                                  positionMyOfs: (function (e, i, n, r) {
                                                       var o,
                                                            a,
                                                            s,
                                                            l = t.map(t.trim(e).split("."), function (t) {
                                                                 return parseInt(t, 10);
                                                            }),
                                                            c = t.map(Array.prototype.slice.call(arguments, 1), function (t) {
                                                                 return parseInt(t, 10);
                                                            });
                                                       for (o = 0; o < c.length; o++) if (((a = l[o] || 0), (s = c[o] || 0), a !== s)) return a > s;
                                                       return !0;
                                                  })(t.ui.version, 1, 9),
                                             },
                                             assert: function (t, e) {
                                                  return b(t, e);
                                             },
                                             createTree: function (e, i) {
                                                  var r = t(e).fancytree(i);
                                                  return n.getTree(r);
                                             },
                                             debounce: function (t, e, i, n) {
                                                  var r;
                                                  return (
                                                       3 === arguments.length && "boolean" != typeof i && ((n = i), (i = !1)),
                                                       function () {
                                                            var o = arguments;
                                                            (n = n || this),
                                                                 i && !r && e.apply(n, o),
                                                                 clearTimeout(r),
                                                                 (r = setTimeout(function () {
                                                                      i || e.apply(n, o), (r = null);
                                                                 }, t));
                                                       }
                                                  );
                                             },
                                             debug: function (e) {
                                                  t.ui.fancytree.debugLevel >= 4 && _("log", arguments);
                                             },
                                             error: function (e) {
                                                  t.ui.fancytree.debugLevel >= 1 && _("error", arguments);
                                             },
                                             escapeHtml: function (t) {
                                                  return ("" + t).replace(o, function (t) {
                                                       return s[t];
                                                  });
                                             },
                                             fixPositionOptions: function (e) {
                                                  if (((e.offset || ("" + e.my + e.at).indexOf("%") >= 0) && t.error("expected new position syntax (but '%' is not supported)"), !t.ui.fancytree.jquerySupports.positionMyOfs)) {
                                                       var i = /(\w+)([+-]?\d+)?\s+(\w+)([+-]?\d+)?/.exec(e.my),
                                                            n = /(\w+)([+-]?\d+)?\s+(\w+)([+-]?\d+)?/.exec(e.at),
                                                            r = (i[2] ? +i[2] : 0) + (n[2] ? +n[2] : 0),
                                                            o = (i[4] ? +i[4] : 0) + (n[4] ? +n[4] : 0);
                                                       (e = t.extend({}, e, { my: i[1] + " " + i[3], at: n[1] + " " + n[3] })), (r || o) && (e.offset = r + " " + o);
                                                  }
                                                  return e;
                                             },
                                             getEventTarget: function (e) {
                                                  var i,
                                                       r = e && e.target ? e.target.className : "",
                                                       o = { node: this.getNode(e.target), type: void 0 };
                                                  return (
                                                       /\bfancytree-title\b/.test(r)
                                                            ? (o.type = "title")
                                                            : /\bfancytree-expander\b/.test(r)
                                                            ? (o.type = !1 === o.node.hasChildren() ? "prefix" : "expander")
                                                            : /\bfancytree-checkbox\b/.test(r)
                                                            ? (o.type = "checkbox")
                                                            : /\bfancytree(-custom)?-icon\b/.test(r)
                                                            ? (o.type = "icon")
                                                            : /\bfancytree-node\b/.test(r)
                                                            ? (o.type = "title")
                                                            : e &&
                                                              e.target &&
                                                              ((i = t(e.target)).is("ul[role=group]")
                                                                   ? (((o.node && o.node.tree) || n).debug("Ignoring click on outer UL."), (o.node = null))
                                                                   : i.closest(".fancytree-title").length
                                                                   ? (o.type = "title")
                                                                   : i.closest(".fancytree-checkbox").length
                                                                   ? (o.type = "checkbox")
                                                                   : i.closest(".fancytree-expander").length && (o.type = "expander")),
                                                       o
                                                  );
                                             },
                                             getEventTargetType: function (t) {
                                                  return this.getEventTarget(t).type;
                                             },
                                             getNode: function (e) {
                                                  if (e instanceof E) return e;
                                                  for (e instanceof t ? (e = e[0]) : void 0 !== e.originalEvent && (e = e.target); e; ) {
                                                       if (e.ftnode) return e.ftnode;
                                                       e = e.parentNode;
                                                  }
                                                  return null;
                                             },
                                             getTree: function (e) {
                                                  var i,
                                                       n = e;
                                                  return e instanceof A
                                                       ? e
                                                       : (void 0 === e && (e = 0),
                                                         "number" == typeof e
                                                              ? (e = t(".fancytree-container").eq(e))
                                                              : "string" == typeof e
                                                              ? (e = t("#ft-id-" + n).eq(0)).length || (e = t(n).eq(0))
                                                              : e instanceof Element || e instanceof HTMLDocument
                                                              ? (e = t(e))
                                                              : e instanceof t
                                                              ? (e = e.eq(0))
                                                              : void 0 !== e.originalEvent && (e = t(e.target)),
                                                         (i = (e = e.closest(":ui-fancytree")).data("ui-fancytree") || e.data("fancytree")) ? i.tree : null);
                                             },
                                             evalOption: function (e, i, n, r, o) {
                                                  var a,
                                                       s,
                                                       l = i.tree,
                                                       c = r[e],
                                                       u = n[e];
                                                  return (
                                                       t.isFunction(c)
                                                            ? ((a = { node: i, tree: l, widget: l.widget, options: l.widget.options, typeInfo: l.types[i.type] || {} }), null == (s = c.call(l, { type: e }, a)) && (s = u))
                                                            : (s = null == u ? c : u),
                                                       null == s && (s = o),
                                                       s
                                                  );
                                             },
                                             setSpanIcon: function (e, i, n) {
                                                  var r = t(e);
                                                  "string" == typeof n ? r.attr("class", i + " " + n) : (n.text ? r.text("" + n.text) : n.html && (e.innerHTML = n.html), r.attr("class", i + " " + (n.addClass || "")));
                                             },
                                             eventToString: function (t) {
                                                  var e = t.which,
                                                       i = t.type,
                                                       n = [];
                                                  return (
                                                       t.altKey && n.push("alt"),
                                                       t.ctrlKey && n.push("ctrl"),
                                                       t.metaKey && n.push("meta"),
                                                       t.shiftKey && n.push("shift"),
                                                       "click" === i || "dblclick" === i ? n.push(h[t.button] + i) : "wheel" === i ? n.push(i) : l[e] || n.push(c[e] || String.fromCharCode(e).toLowerCase()),
                                                       n.join("+")
                                                  );
                                             },
                                             info: function (e) {
                                                  t.ui.fancytree.debugLevel >= 3 && _("info", arguments);
                                             },
                                             keyEventToString: function (t) {
                                                  return this.warn("keyEventToString() is deprecated: use eventToString()"), this.eventToString(t);
                                             },
                                             overrideMethod: function (e, i, n, r) {
                                                  var o,
                                                       a = e[i] || t.noop;
                                                  e[i] = function () {
                                                       var t = r || this;
                                                       try {
                                                            return (o = t._super), (t._super = a), n.apply(t, arguments);
                                                       } finally {
                                                            t._super = o;
                                                       }
                                                  };
                                             },
                                             parseHtml: function (e) {
                                                  var i,
                                                       n,
                                                       r,
                                                       o,
                                                       a,
                                                       s,
                                                       l,
                                                       c,
                                                       u = e.find(">li"),
                                                       h = [];
                                                  return (
                                                       u.each(function () {
                                                            var u,
                                                                 f,
                                                                 g = t(this),
                                                                 y = g.find(">span", this).first(),
                                                                 b = y.length ? null : g.find(">a").first(),
                                                                 _ = { tooltip: null, data: {} };
                                                            for (
                                                                 y.length
                                                                      ? (_.title = y.html())
                                                                      : b && b.length
                                                                      ? ((_.title = b.html()), (_.data.href = b.attr("href")), (_.data.target = b.attr("target")), (_.tooltip = b.attr("title")))
                                                                      : ((_.title = g.html()), (a = _.title.search(/<ul/i)) >= 0 && (_.title = _.title.substring(0, a))),
                                                                      _.title = t.trim(_.title),
                                                                      o = 0,
                                                                      s = d.length;
                                                                 o < s;
                                                                 o++
                                                            )
                                                                 _[d[o]] = void 0;
                                                            for (i = this.className.split(" "), r = [], o = 0, s = i.length; o < s; o++) (n = i[o]), p[n] ? (_[n] = !0) : r.push(n);
                                                            if (
                                                                 ((_.extraClasses = r.join(" ")),
                                                                 (l = g.attr("title")) && (_.tooltip = l),
                                                                 (l = g.attr("id")) && (_.key = l),
                                                                 g.attr("hideCheckbox") && (_.checkbox = !1),
                                                                 (u = C(g)) && !t.isEmptyObject(u))
                                                            ) {
                                                                 for (f in v) u.hasOwnProperty(f) && ((u[v[f]] = u[f]), delete u[f]);
                                                                 for (o = 0, s = m.length; o < s; o++) (l = m[o]), null != (c = u[l]) && (delete u[l], (_[l] = c));
                                                                 t.extend(_.data, u);
                                                            }
                                                            (e = g.find(">ul").first()).length ? (_.children = t.ui.fancytree.parseHtml(e)) : (_.children = _.lazy ? void 0 : null), h.push(_);
                                                       }),
                                                       h
                                                  );
                                             },
                                             registerExtension: function (e) {
                                                  b(null != e.name, "extensions must have a `name` property."), b(null != e.version, "extensions must have a `version` property."), (t.ui.fancytree._extensions[e.name] = e);
                                             },
                                             unescapeHtml: function (t) {
                                                  var e = document.createElement("div");
                                                  return (e.innerHTML = t), 0 === e.childNodes.length ? "" : e.childNodes[0].nodeValue;
                                             },
                                             warn: function (e) {
                                                  t.ui.fancytree.debugLevel >= 2 && _("warn", arguments);
                                             },
                                        }),
                                        t.ui.fancytree
                                   );
                              }
                              function b(e, i) {
                                   e || ((i = i ? ": " + i : ""), t.error("Fancytree assertion failed" + i));
                              }
                              function _(t, e) {
                                   var i,
                                        n,
                                        r = window.console ? window.console[t] : null;
                                   if (r)
                                        try {
                                             r.apply(window.console, e);
                                        } catch (t) {
                                             for (n = "", i = 0; i < e.length; i++) n += e[i];
                                             r(n);
                                        }
                              }
                              function x() {
                                   var e,
                                        i,
                                        n,
                                        r,
                                        o,
                                        a = arguments[0] || {},
                                        s = 1,
                                        l = arguments.length;
                                   if (("object" == typeof a || t.isFunction(a) || (a = {}), s === l)) throw Error("need at least two args");
                                   for (; s < l; s++)
                                        if (null != (e = arguments[s]))
                                             for (i in e)
                                                  if (e.hasOwnProperty(i)) {
                                                       if (((n = a[i]), a === (r = e[i]))) continue;
                                                       r && t.isPlainObject(r) ? ((o = n && t.isPlainObject(n) ? n : {}), (a[i] = x(o, r))) : void 0 !== r && (a[i] = r);
                                                  }
                                   return a;
                              }
                              function w(t, e, i, n, r) {
                                   var o, a, s, l, c;
                                   return (
                                        (o = e[t]),
                                        (a = n[t]),
                                        (s = e.ext[r]),
                                        (l = function () {
                                             return o.apply(e, arguments);
                                        }),
                                        (c = function (t) {
                                             return o.apply(e, t);
                                        }),
                                        function () {
                                             var t = e._local,
                                                  i = e._super,
                                                  n = e._superApply;
                                             try {
                                                  return (e._local = s), (e._super = l), (e._superApply = c), a.apply(e, arguments);
                                             } finally {
                                                  (e._local = t), (e._super = i), (e._superApply = n);
                                             }
                                        }
                                   );
                              }
                              function k(e, i, n, r) {
                                   for (var o in n)
                                        "function" == typeof n[o]
                                             ? "function" == typeof e[o]
                                                  ? (e[o] = w(o, e, 0, n, r))
                                                  : "_" === o.charAt(0)
                                                  ? (e.ext[r][o] = w(o, e, 0, n, r))
                                                  : t.error("Could not override tree." + o + ". Use prefix '_' to create tree." + r + "._" + o)
                                             : "options" !== o && (e.ext[r][o] = n[o]);
                              }
                              function S(e, i) {
                                   return void 0 === e
                                        ? t
                                               .Deferred(function () {
                                                    this.resolve();
                                               })
                                               .promise()
                                        : t
                                               .Deferred(function () {
                                                    this.resolveWith(e, i);
                                               })
                                               .promise();
                              }
                              function M(e, i) {
                                   return void 0 === e
                                        ? t
                                               .Deferred(function () {
                                                    this.reject();
                                               })
                                               .promise()
                                        : t
                                               .Deferred(function () {
                                                    this.rejectWith(e, i);
                                               })
                                               .promise();
                              }
                              function T(t, e) {
                                   return function () {
                                        t.resolveWith(e);
                                   };
                              }
                              function C(e) {
                                   var i = t.extend({}, e.data()),
                                        n = i.json;
                                   return delete i.fancytree, delete i.uiFancytree, n && (delete i.json, (i = t.extend(i, n))), i;
                              }
                              function D(t) {
                                   return ("" + t).replace(a, function (t) {
                                        return s[t];
                                   });
                              }
                              function L(t) {
                                   return (
                                        (t = t.toLowerCase()),
                                        function (e) {
                                             return e.title.toLowerCase().indexOf(t) >= 0;
                                        }
                                   );
                              }
                              function E(e, i) {
                                   var r, o, a, s;
                                   for (this.parent = e, this.tree = e.tree, this.ul = null, this.li = null, this.statusNodeType = null, this._isLoading = !1, this._error = null, this.data = {}, r = 0, o = m.length; r < o; r++)
                                        this[(a = m[r])] = i[a];
                                   for (a in ((null == this.unselectableIgnore && null == this.unselectableStatus) || (this.unselectable = !0),
                                   i.hideCheckbox && t.error("'hideCheckbox' node option was removed in v2.23.0: use 'checkbox: false'"),
                                   i.data && t.extend(this.data, i.data),
                                   i))
                                        g[a] || t.isFunction(i[a]) || y[a] || (this.data[a] = i[a]);
                                   null == this.key
                                        ? this.tree.options.defaultKey
                                             ? ((this.key = this.tree.options.defaultKey(this)), b(this.key, "defaultKey() must return a unique key"))
                                             : (this.key = "_" + n._nextNodeKey++)
                                        : (this.key = "" + this.key),
                                        i.active && (b(null === this.tree.activeNode, "only one active node allowed"), (this.tree.activeNode = this)),
                                        i.selected && (this.tree.lastSelectedNode = this),
                                        (s = i.children) ? (s.length ? this._setChildren(s) : (this.children = this.lazy ? [] : null)) : (this.children = null),
                                        this.tree._callHook("treeRegisterNode", this.tree, !0, this);
                              }
                              function A(e) {
                                   (this.widget = e),
                                        (this.$div = e.element),
                                        (this.options = e.options),
                                        this.options &&
                                             (void 0 !== this.options.lazyload && t.error("The 'lazyload' event is deprecated since 2014-02-25. Use 'lazyLoad' (with uppercase L) instead."),
                                             void 0 !== this.options.loaderror && t.error("The 'loaderror' event was renamed since 2014-07-03. Use 'loadError' (with uppercase E) instead."),
                                             void 0 !== this.options.fx && t.error("The 'fx' option was replaced by 'toggleEffect' since 2014-11-30."),
                                             void 0 !== this.options.removeNode && t.error("The 'removeNode' event was replaced by 'modifyChild' since 2.20 (2016-09-10).")),
                                        (this.ext = {}),
                                        (this.types = {}),
                                        (this.columns = {}),
                                        (this.data = C(this.$div)),
                                        (this._id = "" + (this.options.treeId || t.ui.fancytree._nextId++)),
                                        (this._ns = ".fancytree-" + this._id),
                                        (this.activeNode = null),
                                        (this.focusNode = null),
                                        (this._hasFocus = null),
                                        (this._tempCache = {}),
                                        (this._lastMousedownNode = null),
                                        (this._enableUpdate = !0),
                                        (this.lastSelectedNode = null),
                                        (this.systemFocusElement = null),
                                        (this.lastQuicksearchTerm = ""),
                                        (this.lastQuicksearchTime = 0),
                                        (this.viewport = null),
                                        (this.statusClassPropName = "span"),
                                        (this.ariaPropName = "li"),
                                        (this.nodeContainerAttrName = "li"),
                                        this.$div.find(">ul.fancytree-container").remove();
                                   var i,
                                        r = { tree: this };
                                   (this.rootNode = new E(r, { title: "root", key: "root_" + this._id, children: null, expanded: !0 })),
                                        (this.rootNode.parent = null),
                                        (i = t("<ul>", { id: "ft-id-" + this._id, class: "ui-fancytree fancytree-container fancytree-plain" }).appendTo(this.$div)),
                                        (this.$container = i),
                                        (this.rootNode.ul = i[0]),
                                        null == this.options.debugLevel && (this.options.debugLevel = n.debugLevel);
                              }
                              t.ui.fancytree.warn("Fancytree: ignored duplicate include");
                         })
                              ? n.apply(e, r)
                              : n) || (t.exports = o);
     },
     function (t, e, i) {
          var n, r, o;
          /*! jQuery UI - v1.12.1 - 2018-05-20
           * http://jqueryui.com
           * Includes: widget.js, position.js, keycode.js, scroll-parent.js, unique-id.js
           * Copyright jQuery Foundation and other contributors; Licensed MIT */ (r = [i(1)]),
               void 0 ===
                    (o =
                         "function" ==
                         typeof (n = function (t) {
                              (t.ui = t.ui || {}), (t.ui.version = "1.12.1");
                              var e,
                                   i,
                                   n = 0,
                                   r = Array.prototype.slice;
                              /*!
                               * jQuery UI Widget 1.12.1
                               * http://jqueryui.com
                               *
                               * Copyright jQuery Foundation and other contributors
                               * Released under the MIT license.
                               * http://jquery.org/license
                               */ (t.cleanData =
                                   t.cleanData ||
                                   ((e = t.cleanData),
                                   function (i) {
                                        var n, r, o;
                                        for (o = 0; null != (r = i[o]); o++)
                                             try {
                                                  (n = t._data(r, "events")) && n.remove && t(r).triggerHandler("remove");
                                             } catch (t) {}
                                        e(i);
                                   })),
                                   (t.widget =
                                        t.widget ||
                                        function (e, i, n) {
                                             var r,
                                                  o,
                                                  a,
                                                  s = {},
                                                  l = e.split(".")[0],
                                                  c = l + "-" + (e = e.split(".")[1]);
                                             return (
                                                  n || ((n = i), (i = t.Widget)),
                                                  t.isArray(n) && (n = t.extend.apply(null, [{}].concat(n))),
                                                  (t.expr[":"][c.toLowerCase()] = function (e) {
                                                       return !!t.data(e, c);
                                                  }),
                                                  (t[l] = t[l] || {}),
                                                  (r = t[l][e]),
                                                  (o = t[l][e] = function (t, e) {
                                                       if (!this._createWidget) return new o(t, e);
                                                       arguments.length && this._createWidget(t, e);
                                                  }),
                                                  t.extend(o, r, { version: n.version, _proto: t.extend({}, n), _childConstructors: [] }),
                                                  ((a = new i()).options = t.widget.extend({}, a.options)),
                                                  t.each(n, function (e, n) {
                                                       t.isFunction(n)
                                                            ? (s[e] = (function () {
                                                                   function t() {
                                                                        return i.prototype[e].apply(this, arguments);
                                                                   }
                                                                   function r(t) {
                                                                        return i.prototype[e].apply(this, t);
                                                                   }
                                                                   return function () {
                                                                        var e,
                                                                             i = this._super,
                                                                             o = this._superApply;
                                                                        return (this._super = t), (this._superApply = r), (e = n.apply(this, arguments)), (this._super = i), (this._superApply = o), e;
                                                                   };
                                                              })())
                                                            : (s[e] = n);
                                                  }),
                                                  (o.prototype = t.widget.extend(a, { widgetEventPrefix: (r && a.widgetEventPrefix) || e }, s, { constructor: o, namespace: l, widgetName: e, widgetFullName: c })),
                                                  r
                                                       ? (t.each(r._childConstructors, function (e, i) {
                                                              var n = i.prototype;
                                                              t.widget(n.namespace + "." + n.widgetName, o, i._proto);
                                                         }),
                                                         delete r._childConstructors)
                                                       : i._childConstructors.push(o),
                                                  t.widget.bridge(e, o),
                                                  o
                                             );
                                        }),
                                   (t.widget.extend = function (e) {
                                        for (var i, n, o = r.call(arguments, 1), a = 0, s = o.length; a < s; a++)
                                             for (i in o[a])
                                                  (n = o[a][i]), o[a].hasOwnProperty(i) && void 0 !== n && (t.isPlainObject(n) ? (e[i] = t.isPlainObject(e[i]) ? t.widget.extend({}, e[i], n) : t.widget.extend({}, n)) : (e[i] = n));
                                        return e;
                                   }),
                                   (t.widget.bridge = function (e, i) {
                                        var n = i.prototype.widgetFullName || e;
                                        t.fn[e] = function (o) {
                                             var a = "string" == typeof o,
                                                  s = r.call(arguments, 1),
                                                  l = this;
                                             return (
                                                  a
                                                       ? this.length || "instance" !== o
                                                            ? this.each(function () {
                                                                   var i,
                                                                        r = t.data(this, n);
                                                                   return "instance" === o
                                                                        ? ((l = r), !1)
                                                                        : r
                                                                        ? t.isFunction(r[o]) && "_" !== o.charAt(0)
                                                                             ? (i = r[o].apply(r, s)) !== r && void 0 !== i
                                                                                  ? ((l = i && i.jquery ? l.pushStack(i.get()) : i), !1)
                                                                                  : void 0
                                                                             : t.error("no such method '" + o + "' for " + e + " widget instance")
                                                                        : t.error("cannot call methods on " + e + " prior to initialization; attempted to call method '" + o + "'");
                                                              })
                                                            : (l = void 0)
                                                       : (s.length && (o = t.widget.extend.apply(null, [o].concat(s))),
                                                         this.each(function () {
                                                              var e = t.data(this, n);
                                                              e ? (e.option(o || {}), e._init && e._init()) : t.data(this, n, new i(o, this));
                                                         })),
                                                  l
                                             );
                                        };
                                   }),
                                   (t.Widget = t.Widget || function () {}),
                                   (t.Widget._childConstructors = []),
                                   (t.Widget.prototype = {
                                        widgetName: "widget",
                                        widgetEventPrefix: "",
                                        defaultElement: "<div>",
                                        options: { classes: {}, disabled: !1, create: null },
                                        _createWidget: function (e, i) {
                                             (i = t(i || this.defaultElement || this)[0]),
                                                  (this.element = t(i)),
                                                  (this.uuid = n++),
                                                  (this.eventNamespace = "." + this.widgetName + this.uuid),
                                                  (this.bindings = t()),
                                                  (this.hoverable = t()),
                                                  (this.focusable = t()),
                                                  (this.classesElementLookup = {}),
                                                  i !== this &&
                                                       (t.data(i, this.widgetFullName, this),
                                                       this._on(!0, this.element, {
                                                            remove: function (t) {
                                                                 t.target === i && this.destroy();
                                                            },
                                                       }),
                                                       (this.document = t(i.style ? i.ownerDocument : i.document || i)),
                                                       (this.window = t(this.document[0].defaultView || this.document[0].parentWindow))),
                                                  (this.options = t.widget.extend({}, this.options, this._getCreateOptions(), e)),
                                                  this._create(),
                                                  this.options.disabled && this._setOptionDisabled(this.options.disabled),
                                                  this._trigger("create", null, this._getCreateEventData()),
                                                  this._init();
                                        },
                                        _getCreateOptions: function () {
                                             return {};
                                        },
                                        _getCreateEventData: t.noop,
                                        _create: t.noop,
                                        _init: t.noop,
                                        destroy: function () {
                                             var e = this;
                                             this._destroy(),
                                                  t.each(this.classesElementLookup, function (t, i) {
                                                       e._removeClass(i, t);
                                                  }),
                                                  this.element.off(this.eventNamespace).removeData(this.widgetFullName),
                                                  this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),
                                                  this.bindings.off(this.eventNamespace);
                                        },
                                        _destroy: t.noop,
                                        widget: function () {
                                             return this.element;
                                        },
                                        option: function (e, i) {
                                             var n,
                                                  r,
                                                  o,
                                                  a = e;
                                             if (0 === arguments.length) return t.widget.extend({}, this.options);
                                             if ("string" == typeof e)
                                                  if (((a = {}), (n = e.split(".")), (e = n.shift()), n.length)) {
                                                       for (r = a[e] = t.widget.extend({}, this.options[e]), o = 0; o < n.length - 1; o++) (r[n[o]] = r[n[o]] || {}), (r = r[n[o]]);
                                                       if (((e = n.pop()), 1 === arguments.length)) return void 0 === r[e] ? null : r[e];
                                                       r[e] = i;
                                                  } else {
                                                       if (1 === arguments.length) return void 0 === this.options[e] ? null : this.options[e];
                                                       a[e] = i;
                                                  }
                                             return this._setOptions(a), this;
                                        },
                                        _setOptions: function (t) {
                                             var e;
                                             for (e in t) this._setOption(e, t[e]);
                                             return this;
                                        },
                                        _setOption: function (t, e) {
                                             return "classes" === t && this._setOptionClasses(e), (this.options[t] = e), "disabled" === t && this._setOptionDisabled(e), this;
                                        },
                                        _setOptionClasses: function (e) {
                                             var i, n, r;
                                             for (i in e)
                                                  (r = this.classesElementLookup[i]),
                                                       e[i] !== this.options.classes[i] && r && r.length && ((n = t(r.get())), this._removeClass(r, i), n.addClass(this._classes({ element: n, keys: i, classes: e, add: !0 })));
                                        },
                                        _setOptionDisabled: function (t) {
                                             this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t),
                                                  t && (this._removeClass(this.hoverable, null, "ui-state-hover"), this._removeClass(this.focusable, null, "ui-state-focus"));
                                        },
                                        enable: function () {
                                             return this._setOptions({ disabled: !1 });
                                        },
                                        disable: function () {
                                             return this._setOptions({ disabled: !0 });
                                        },
                                        _classes: function (e) {
                                             var i = [],
                                                  n = this;
                                             function r(r, o) {
                                                  var a, s;
                                                  for (s = 0; s < r.length; s++)
                                                       (a = n.classesElementLookup[r[s]] || t()),
                                                            (a = e.add ? t(t.unique(a.get().concat(e.element.get()))) : t(a.not(e.element).get())),
                                                            (n.classesElementLookup[r[s]] = a),
                                                            i.push(r[s]),
                                                            o && e.classes[r[s]] && i.push(e.classes[r[s]]);
                                             }
                                             return (
                                                  (e = t.extend({ element: this.element, classes: this.options.classes || {} }, e)),
                                                  this._on(e.element, { remove: "_untrackClassesElement" }),
                                                  e.keys && r(e.keys.match(/\S+/g) || [], !0),
                                                  e.extra && r(e.extra.match(/\S+/g) || []),
                                                  i.join(" ")
                                             );
                                        },
                                        _untrackClassesElement: function (e) {
                                             var i = this;
                                             t.each(i.classesElementLookup, function (n, r) {
                                                  -1 !== t.inArray(e.target, r) && (i.classesElementLookup[n] = t(r.not(e.target).get()));
                                             });
                                        },
                                        _removeClass: function (t, e, i) {
                                             return this._toggleClass(t, e, i, !1);
                                        },
                                        _addClass: function (t, e, i) {
                                             return this._toggleClass(t, e, i, !0);
                                        },
                                        _toggleClass: function (t, e, i, n) {
                                             n = "boolean" == typeof n ? n : i;
                                             var r = "string" == typeof t || null === t,
                                                  o = { extra: r ? e : i, keys: r ? t : e, element: r ? this.element : t, add: n };
                                             return o.element.toggleClass(this._classes(o), n), this;
                                        },
                                        _on: function (e, i, n) {
                                             var r,
                                                  o = this;
                                             "boolean" != typeof e && ((n = i), (i = e), (e = !1)),
                                                  n ? ((i = r = t(i)), (this.bindings = this.bindings.add(i))) : ((n = i), (i = this.element), (r = this.widget())),
                                                  t.each(n, function (n, a) {
                                                       function s() {
                                                            if (e || (!0 !== o.options.disabled && !t(this).hasClass("ui-state-disabled"))) return ("string" == typeof a ? o[a] : a).apply(o, arguments);
                                                       }
                                                       "string" != typeof a && (s.guid = a.guid = a.guid || s.guid || t.guid++);
                                                       var l = n.match(/^([\w:-]*)\s*(.*)$/),
                                                            c = l[1] + o.eventNamespace,
                                                            u = l[2];
                                                       u ? r.on(c, u, s) : i.on(c, s);
                                                  });
                                        },
                                        _off: function (e, i) {
                                             (i = (i || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace),
                                                  e.off(i).off(i),
                                                  (this.bindings = t(this.bindings.not(e).get())),
                                                  (this.focusable = t(this.focusable.not(e).get())),
                                                  (this.hoverable = t(this.hoverable.not(e).get()));
                                        },
                                        _delay: function (t, e) {
                                             var i = this;
                                             return setTimeout(function () {
                                                  return ("string" == typeof t ? i[t] : t).apply(i, arguments);
                                             }, e || 0);
                                        },
                                        _hoverable: function (e) {
                                             (this.hoverable = this.hoverable.add(e)),
                                                  this._on(e, {
                                                       mouseenter: function (e) {
                                                            this._addClass(t(e.currentTarget), null, "ui-state-hover");
                                                       },
                                                       mouseleave: function (e) {
                                                            this._removeClass(t(e.currentTarget), null, "ui-state-hover");
                                                       },
                                                  });
                                        },
                                        _focusable: function (e) {
                                             (this.focusable = this.focusable.add(e)),
                                                  this._on(e, {
                                                       focusin: function (e) {
                                                            this._addClass(t(e.currentTarget), null, "ui-state-focus");
                                                       },
                                                       focusout: function (e) {
                                                            this._removeClass(t(e.currentTarget), null, "ui-state-focus");
                                                       },
                                                  });
                                        },
                                        _trigger: function (e, i, n) {
                                             var r,
                                                  o,
                                                  a = this.options[e];
                                             if (((n = n || {}), ((i = t.Event(i)).type = (e === this.widgetEventPrefix ? e : this.widgetEventPrefix + e).toLowerCase()), (i.target = this.element[0]), (o = i.originalEvent)))
                                                  for (r in o) r in i || (i[r] = o[r]);
                                             return this.element.trigger(i, n), !((t.isFunction(a) && !1 === a.apply(this.element[0], [i].concat(n))) || i.isDefaultPrevented());
                                        },
                                   }),
                                   t.each({ show: "fadeIn", hide: "fadeOut" }, function (e, i) {
                                        t.Widget.prototype["_" + e] = function (n, r, o) {
                                             var a;
                                             "string" == typeof r && (r = { effect: r });
                                             var s = r ? (!0 === r || "number" == typeof r ? i : r.effect || i) : e;
                                             "number" == typeof (r = r || {}) && (r = { duration: r }),
                                                  (a = !t.isEmptyObject(r)),
                                                  (r.complete = o),
                                                  r.delay && n.delay(r.delay),
                                                  a && t.effects && t.effects.effect[s]
                                                       ? n[e](r)
                                                       : s !== e && n[s]
                                                       ? n[s](r.duration, r.easing, o)
                                                       : n.queue(function (i) {
                                                              t(this)[e](), o && o.call(n[0]), i();
                                                         });
                                        };
                                   }),
                                   t.widget,
                                   /*!
                                    * jQuery UI Position 1.12.1
                                    * http://jqueryui.com
                                    *
                                    * Copyright jQuery Foundation and other contributors
                                    * Released under the MIT license.
                                    * http://jquery.org/license
                                    *
                                    * http://api.jqueryui.com/position/
                                    */ (function () {
                                        var e,
                                             i = Math.max,
                                             n = Math.abs,
                                             r = /left|center|right/,
                                             o = /top|center|bottom/,
                                             a = /[\+\-]\d+(\.[\d]+)?%?/,
                                             s = /^\w+/,
                                             l = /%$/,
                                             c = t.fn.position;
                                        function u(t, e, i) {
                                             return [parseFloat(t[0]) * (l.test(t[0]) ? e / 100 : 1), parseFloat(t[1]) * (l.test(t[1]) ? i / 100 : 1)];
                                        }
                                        function h(e, i) {
                                             return parseInt(t.css(e, i), 10) || 0;
                                        }
                                        function d(e) {
                                             var i = e[0];
                                             return 9 === i.nodeType
                                                  ? { width: e.width(), height: e.height(), offset: { top: 0, left: 0 } }
                                                  : t.isWindow(i)
                                                  ? { width: e.width(), height: e.height(), offset: { top: e.scrollTop(), left: e.scrollLeft() } }
                                                  : i.preventDefault
                                                  ? { width: 0, height: 0, offset: { top: i.pageY, left: i.pageX } }
                                                  : { width: e.outerWidth(), height: e.outerHeight(), offset: e.offset() };
                                        }
                                        (t.position = t.position || {
                                             scrollbarWidth: function () {
                                                  if (void 0 !== e) return e;
                                                  var i,
                                                       n,
                                                       r = t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),
                                                       o = r.children()[0];
                                                  return t("body").append(r), (i = o.offsetWidth), r.css("overflow", "scroll"), i === (n = o.offsetWidth) && (n = r[0].clientWidth), r.remove(), (e = i - n);
                                             },
                                             getScrollInfo: function (e) {
                                                  var i = e.isWindow || e.isDocument ? "" : e.element.css("overflow-x"),
                                                       n = e.isWindow || e.isDocument ? "" : e.element.css("overflow-y"),
                                                       r = "scroll" === i || ("auto" === i && e.width < e.element[0].scrollWidth);
                                                  return { width: "scroll" === n || ("auto" === n && e.height < e.element[0].scrollHeight) ? t.position.scrollbarWidth() : 0, height: r ? t.position.scrollbarWidth() : 0 };
                                             },
                                             getWithinInfo: function (e) {
                                                  var i = t(e || window),
                                                       n = t.isWindow(i[0]),
                                                       r = !!i[0] && 9 === i[0].nodeType;
                                                  return {
                                                       element: i,
                                                       isWindow: n,
                                                       isDocument: r,
                                                       offset: n || r ? { left: 0, top: 0 } : t(e).offset(),
                                                       scrollLeft: i.scrollLeft(),
                                                       scrollTop: i.scrollTop(),
                                                       width: i.outerWidth(),
                                                       height: i.outerHeight(),
                                                  };
                                             },
                                        }),
                                             (t.fn.position = function (e) {
                                                  if (!e || !e.of) return c.apply(this, arguments);
                                                  e = t.extend({}, e);
                                                  var l,
                                                       p,
                                                       f,
                                                       m,
                                                       g,
                                                       v,
                                                       y = t(e.of),
                                                       b = t.position.getWithinInfo(e.within),
                                                       _ = t.position.getScrollInfo(b),
                                                       x = (e.collision || "flip").split(" "),
                                                       w = {};
                                                  return (
                                                       (v = d(y)),
                                                       y[0].preventDefault && (e.at = "left top"),
                                                       (p = v.width),
                                                       (f = v.height),
                                                       (m = v.offset),
                                                       (g = t.extend({}, m)),
                                                       t.each(["my", "at"], function () {
                                                            var t,
                                                                 i,
                                                                 n = (e[this] || "").split(" ");
                                                            1 === n.length && (n = r.test(n[0]) ? n.concat(["center"]) : o.test(n[0]) ? ["center"].concat(n) : ["center", "center"]),
                                                                 (n[0] = r.test(n[0]) ? n[0] : "center"),
                                                                 (n[1] = o.test(n[1]) ? n[1] : "center"),
                                                                 (t = a.exec(n[0])),
                                                                 (i = a.exec(n[1])),
                                                                 (w[this] = [t ? t[0] : 0, i ? i[0] : 0]),
                                                                 (e[this] = [s.exec(n[0])[0], s.exec(n[1])[0]]);
                                                       }),
                                                       1 === x.length && (x[1] = x[0]),
                                                       "right" === e.at[0] ? (g.left += p) : "center" === e.at[0] && (g.left += p / 2),
                                                       "bottom" === e.at[1] ? (g.top += f) : "center" === e.at[1] && (g.top += f / 2),
                                                       (l = u(w.at, p, f)),
                                                       (g.left += l[0]),
                                                       (g.top += l[1]),
                                                       this.each(function () {
                                                            var r,
                                                                 o,
                                                                 a = t(this),
                                                                 s = a.outerWidth(),
                                                                 c = a.outerHeight(),
                                                                 d = h(this, "marginLeft"),
                                                                 v = h(this, "marginTop"),
                                                                 k = s + d + h(this, "marginRight") + _.width,
                                                                 S = c + v + h(this, "marginBottom") + _.height,
                                                                 M = t.extend({}, g),
                                                                 T = u(w.my, a.outerWidth(), a.outerHeight());
                                                            "right" === e.my[0] ? (M.left -= s) : "center" === e.my[0] && (M.left -= s / 2),
                                                                 "bottom" === e.my[1] ? (M.top -= c) : "center" === e.my[1] && (M.top -= c / 2),
                                                                 (M.left += T[0]),
                                                                 (M.top += T[1]),
                                                                 (r = { marginLeft: d, marginTop: v }),
                                                                 t.each(["left", "top"], function (i, n) {
                                                                      t.ui.position[x[i]] &&
                                                                           t.ui.position[x[i]][n](M, {
                                                                                targetWidth: p,
                                                                                targetHeight: f,
                                                                                elemWidth: s,
                                                                                elemHeight: c,
                                                                                collisionPosition: r,
                                                                                collisionWidth: k,
                                                                                collisionHeight: S,
                                                                                offset: [l[0] + T[0], l[1] + T[1]],
                                                                                my: e.my,
                                                                                at: e.at,
                                                                                within: b,
                                                                                elem: a,
                                                                           });
                                                                 }),
                                                                 e.using &&
                                                                      (o = function (t) {
                                                                           var r = m.left - M.left,
                                                                                o = r + p - s,
                                                                                l = m.top - M.top,
                                                                                u = l + f - c,
                                                                                h = {
                                                                                     target: { element: y, left: m.left, top: m.top, width: p, height: f },
                                                                                     element: { element: a, left: M.left, top: M.top, width: s, height: c },
                                                                                     horizontal: o < 0 ? "left" : r > 0 ? "right" : "center",
                                                                                     vertical: u < 0 ? "top" : l > 0 ? "bottom" : "middle",
                                                                                };
                                                                           p < s && n(r + o) < p && (h.horizontal = "center"),
                                                                                f < c && n(l + u) < f && (h.vertical = "middle"),
                                                                                i(n(r), n(o)) > i(n(l), n(u)) ? (h.important = "horizontal") : (h.important = "vertical"),
                                                                                e.using.call(this, t, h);
                                                                      }),
                                                                 a.offset(t.extend(M, { using: o }));
                                                       })
                                                  );
                                             }),
                                             (t.ui.position = {
                                                  fit: {
                                                       left: function (t, e) {
                                                            var n,
                                                                 r = e.within,
                                                                 o = r.isWindow ? r.scrollLeft : r.offset.left,
                                                                 a = r.width,
                                                                 s = t.left - e.collisionPosition.marginLeft,
                                                                 l = o - s,
                                                                 c = s + e.collisionWidth - a - o;
                                                            e.collisionWidth > a
                                                                 ? l > 0 && c <= 0
                                                                      ? ((n = t.left + l + e.collisionWidth - a - o), (t.left += l - n))
                                                                      : (t.left = c > 0 && l <= 0 ? o : l > c ? o + a - e.collisionWidth : o)
                                                                 : l > 0
                                                                 ? (t.left += l)
                                                                 : c > 0
                                                                 ? (t.left -= c)
                                                                 : (t.left = i(t.left - s, t.left));
                                                       },
                                                       top: function (t, e) {
                                                            var n,
                                                                 r = e.within,
                                                                 o = r.isWindow ? r.scrollTop : r.offset.top,
                                                                 a = e.within.height,
                                                                 s = t.top - e.collisionPosition.marginTop,
                                                                 l = o - s,
                                                                 c = s + e.collisionHeight - a - o;
                                                            e.collisionHeight > a
                                                                 ? l > 0 && c <= 0
                                                                      ? ((n = t.top + l + e.collisionHeight - a - o), (t.top += l - n))
                                                                      : (t.top = c > 0 && l <= 0 ? o : l > c ? o + a - e.collisionHeight : o)
                                                                 : l > 0
                                                                 ? (t.top += l)
                                                                 : c > 0
                                                                 ? (t.top -= c)
                                                                 : (t.top = i(t.top - s, t.top));
                                                       },
                                                  },
                                                  flip: {
                                                       left: function (t, e) {
                                                            var i,
                                                                 r,
                                                                 o = e.within,
                                                                 a = o.offset.left + o.scrollLeft,
                                                                 s = o.width,
                                                                 l = o.isWindow ? o.scrollLeft : o.offset.left,
                                                                 c = t.left - e.collisionPosition.marginLeft,
                                                                 u = c - l,
                                                                 h = c + e.collisionWidth - s - l,
                                                                 d = "left" === e.my[0] ? -e.elemWidth : "right" === e.my[0] ? e.elemWidth : 0,
                                                                 p = "left" === e.at[0] ? e.targetWidth : "right" === e.at[0] ? -e.targetWidth : 0,
                                                                 f = -2 * e.offset[0];
                                                            u < 0
                                                                 ? ((i = t.left + d + p + f + e.collisionWidth - s - a) < 0 || i < n(u)) && (t.left += d + p + f)
                                                                 : h > 0 && ((r = t.left - e.collisionPosition.marginLeft + d + p + f - l) > 0 || n(r) < h) && (t.left += d + p + f);
                                                       },
                                                       top: function (t, e) {
                                                            var i,
                                                                 r,
                                                                 o = e.within,
                                                                 a = o.offset.top + o.scrollTop,
                                                                 s = o.height,
                                                                 l = o.isWindow ? o.scrollTop : o.offset.top,
                                                                 c = t.top - e.collisionPosition.marginTop,
                                                                 u = c - l,
                                                                 h = c + e.collisionHeight - s - l,
                                                                 d = "top" === e.my[1] ? -e.elemHeight : "bottom" === e.my[1] ? e.elemHeight : 0,
                                                                 p = "top" === e.at[1] ? e.targetHeight : "bottom" === e.at[1] ? -e.targetHeight : 0,
                                                                 f = -2 * e.offset[1];
                                                            u < 0
                                                                 ? ((r = t.top + d + p + f + e.collisionHeight - s - a) < 0 || r < n(u)) && (t.top += d + p + f)
                                                                 : h > 0 && ((i = t.top - e.collisionPosition.marginTop + d + p + f - l) > 0 || n(i) < h) && (t.top += d + p + f);
                                                       },
                                                  },
                                                  flipfit: {
                                                       left: function () {
                                                            t.ui.position.flip.left.apply(this, arguments), t.ui.position.fit.left.apply(this, arguments);
                                                       },
                                                       top: function () {
                                                            t.ui.position.flip.top.apply(this, arguments), t.ui.position.fit.top.apply(this, arguments);
                                                       },
                                                  },
                                             });
                                   })(),
                                   t.ui.position,
                                   (t.ui.keyCode = { BACKSPACE: 8, COMMA: 188, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SPACE: 32, TAB: 9, UP: 38 }),
                                   (t.fn.scrollParent = function (e) {
                                        var i = this.css("position"),
                                             n = "absolute" === i,
                                             r = e ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
                                             o = this.parents()
                                                  .filter(function () {
                                                       var e = t(this);
                                                       return (!n || "static" !== e.css("position")) && r.test(e.css("overflow") + e.css("overflow-y") + e.css("overflow-x"));
                                                  })
                                                  .eq(0);
                                        return "fixed" !== i && o.length ? o : t(this[0].ownerDocument || document);
                                   }),
                                   t.fn.extend({
                                        uniqueId:
                                             ((i = 0),
                                             function () {
                                                  return this.each(function () {
                                                       this.id || (this.id = "ui-id-" + ++i);
                                                  });
                                             }),
                                        removeUniqueId: function () {
                                             return this.each(function () {
                                                  /^ui-id-\d+$/.test(this.id) && t(this).removeAttr("id");
                                             });
                                        },
                                   });
                         })
                              ? n.apply(e, r)
                              : n) || (t.exports = o);
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var e = i(10),
                         n = i.n(e),
                         r = i(148),
                         o = i.n(r);
                    t(document).ready(function () {
                         if (document.getElementById("map")) {
                              n.a.accessToken = "pk.eyJ1IjoiZGFzaGJvYXJlZHBhY2siLCJhIjoiY2s5bWlhZHRqMDAxazNsbnlpbXhhdDcwMSJ9.YU6cxTiRujREOAIVO6iLmA";
                              new n.a.Map({ container: "map", zoom: 9, center: [137.9150899566626, 36.25956997955441], style: "mapbox://styles/mapbox/satellite-v9" });
                         }
                         if (document.getElementById("gmap-example")) new o.a({ el: "#gmap-example", lat: -12.043333, lng: -77.028333, width: "100%", height: "300px" });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(180), i(497), i(498), i(499), i(500), i(501);
                    t(document).ready(function () {
                         t(function () {
                              t("#bars-horizontal").barrating({ theme: "bars-horizontal" });
                         }),
                              t(function () {
                                   t("#bars-movie").barrating({ theme: "bars-movie", showValues: !1 });
                              }),
                              t(function () {
                                   t("#bars-pill").barrating({
                                        theme: "bars-pill",
                                        initialRating: "A",
                                        showValues: !0,
                                        showSelectedRating: !1,
                                        allowEmpty: !0,
                                        emptyValue: "-- no rating selected --",
                                        onSelect: function (t, e) {
                                             alert("Selected rating: " + t);
                                        },
                                   });
                              }),
                              t(function () {
                                   t("#css-stars").barrating({ theme: "css-stars" });
                              }),
                              t(function () {
                                   t("#bars-1to10").barrating({ theme: "bars-1to10" });
                              });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          var n, r, o;
          (r = [i(1)]),
               void 0 ===
                    (o =
                         "function" ==
                         typeof (n = function (t) {
                              var e = (function () {
                                   function e() {
                                        var e = this,
                                             i = function (i) {
                                                  return t.isNumeric(i) && (i = Math.floor(i)), t('option[value="' + i + '"]', e.$elem);
                                             },
                                             n = function (t) {
                                                  var i = e.$elem.data("barrating");
                                                  return void 0 !== t ? i[t] : i;
                                             },
                                             r = function (t, i) {
                                                  null !== i && "object" == typeof i ? e.$elem.data("barrating", i) : (e.$elem.data("barrating")[t] = i);
                                             },
                                             o = function () {
                                                  var n,
                                                       o = (n = e.options.initialRating) ? i(n) : t("option:selected", e.$elem),
                                                       a = (function () {
                                                            var i = e.$elem.find('option[value="' + e.options.emptyValue + '"]');
                                                            return !i.length && e.options.allowEmpty ? (i = t("<option />", { value: e.options.emptyValue })).prependTo(e.$elem) : i;
                                                       })(),
                                                       s = o.val(),
                                                       l = o.data("html") ? o.data("html") : o.text(),
                                                       c = null !== e.options.allowEmpty ? e.options.allowEmpty : !!a.length,
                                                       u = a.length ? a.val() : null,
                                                       h = a.length ? a.text() : null;
                                                  r(null, {
                                                       userOptions: e.options,
                                                       ratingValue: s,
                                                       ratingText: l,
                                                       originalRatingValue: s,
                                                       originalRatingText: l,
                                                       allowEmpty: c,
                                                       emptyRatingValue: u,
                                                       emptyRatingText: h,
                                                       readOnly: e.options.readonly,
                                                       ratingMade: !1,
                                                  });
                                             },
                                             a = function () {
                                                  return n("ratingText");
                                             },
                                             s = function () {
                                                  return n("ratingValue");
                                             },
                                             l = function () {
                                                  return n("userOptions").reverse ? "nextAll" : "prevAll";
                                             },
                                             c = function (t) {
                                                  i(t).prop("selected", !0), e.$elem.change();
                                             },
                                             u = function (t) {
                                                  (t = t || a()) == n("emptyRatingText") && (t = ""), e.options.showSelectedRating && e.$elem.parent().find(".br-current-rating").text(t);
                                             },
                                             h = function () {
                                                  e.$widget.find("a").removeClass(function (t, e) {
                                                       return (e.match(/(^|\s)br-\S+/g) || []).join(" ");
                                                  });
                                             },
                                             d = function () {
                                                  var i,
                                                       r,
                                                       o,
                                                       a = e.$widget.find('a[data-rating-value="' + s() + '"]'),
                                                       c = n("userOptions").initialRating,
                                                       u = t.isNumeric(s()) ? s() : 0,
                                                       d = ((i = c), Math.round(((Math.floor(10 * i) / 10) % 1) * 100));
                                                  if ((h(), a.addClass("br-selected br-current")[l()]().addClass("br-selected"), !n("ratingMade") && t.isNumeric(c))) {
                                                       if (c <= u || !d) return;
                                                       (r = e.$widget.find("a")),
                                                            (o = a.length ? a[n("userOptions").reverse ? "prev" : "next"]() : r[n("userOptions").reverse ? "last" : "first"]()).addClass("br-fractional"),
                                                            o.addClass("br-fractional-" + d);
                                                  }
                                             },
                                             p = function (i) {
                                                  i.on("click.barrating", function (i) {
                                                       var o,
                                                            l,
                                                            h,
                                                            p = t(this),
                                                            f = n("userOptions");
                                                       return (
                                                            i.preventDefault(),
                                                            (o = p.attr("data-rating-value")),
                                                            (l = p.attr("data-rating-text")),
                                                            (h = p),
                                                            n("allowEmpty") && n("userOptions").deselectable && s() == h.attr("data-rating-value") && ((o = n("emptyRatingValue")), (l = n("emptyRatingText"))),
                                                            r("ratingValue", o),
                                                            r("ratingText", l),
                                                            r("ratingMade", !0),
                                                            c(o),
                                                            u(l),
                                                            d(),
                                                            f.onSelect.call(e, s(), a(), i),
                                                            !1
                                                       );
                                                  });
                                             },
                                             f = function (e) {
                                                  e.on("touchstart.barrating", function (e) {
                                                       e.preventDefault(), e.stopPropagation(), t(this).click();
                                                  });
                                             },
                                             m = function (i) {
                                                  p(i),
                                                       e.options.hoverState &&
                                                            ((function (e) {
                                                                 e.on("mouseenter.barrating", function () {
                                                                      var e = t(this);
                                                                      h(), e.addClass("br-active")[l()]().addClass("br-active"), u(e.attr("data-rating-text"));
                                                                 });
                                                            })(i),
                                                            e.$widget.on("mouseleave.barrating blur.barrating", function () {
                                                                 u(), d();
                                                            }));
                                             },
                                             g = function (t) {
                                                  t.off(".barrating");
                                             },
                                             v = function (t) {
                                                  var i = e.$widget.find("a");
                                                  f && f(i),
                                                       t
                                                            ? (g(i),
                                                              (function (t) {
                                                                   t.on("click.barrating", function (t) {
                                                                        t.preventDefault();
                                                                   });
                                                              })(i))
                                                            : m(i);
                                             };
                                        (this.show = function () {
                                             var i, r;
                                             n() ||
                                                  ((i = ["br-wrapper"]),
                                                  "" !== e.options.theme && i.push("br-theme-" + e.options.theme),
                                                  e.$elem.wrap(t("<div />", { class: i.join(" ") })),
                                                  o(),
                                                  (e.$widget =
                                                       ((r = t("<div />", { class: "br-widget" })),
                                                       e.$elem.find("option").each(function () {
                                                            var i, o, a, s;
                                                            (i = t(this).val()) !== n("emptyRatingValue") &&
                                                                 ((o = t(this).text()),
                                                                 (a = t(this).data("html")) && (o = a),
                                                                 (s = t("<a />", { href: "#", "data-rating-value": i, "data-rating-text": o, html: e.options.showValues ? o : "" })),
                                                                 r.append(s));
                                                       }),
                                                       e.options.showSelectedRating && r.append(t("<div />", { text: "", class: "br-current-rating" })),
                                                       e.options.reverse && r.addClass("br-reverse"),
                                                       e.options.readonly && r.addClass("br-readonly"),
                                                       r)),
                                                  e.$widget.insertAfter(e.$elem),
                                                  d(),
                                                  u(),
                                                  v(e.options.readonly),
                                                  e.$elem.hide());
                                        }),
                                             (this.readonly = function (t) {
                                                  "boolean" == typeof t && n("readOnly") != t && (v(t), r("readOnly", t), e.$widget.toggleClass("br-readonly"));
                                             }),
                                             (this.set = function (t) {
                                                  var i = n("userOptions");
                                                  0 !== e.$elem.find('option[value="' + t + '"]').length &&
                                                       (r("ratingValue", t), r("ratingText", e.$elem.find('option[value="' + t + '"]').text()), r("ratingMade", !0), c(s()), u(a()), d(), i.silent || i.onSelect.call(this, s(), a()));
                                             }),
                                             (this.clear = function () {
                                                  var i = n("userOptions");
                                                  r("ratingValue", n("originalRatingValue")),
                                                       r("ratingText", n("originalRatingText")),
                                                       r("ratingMade", !1),
                                                       t("option", e.$elem).prop("selected", function () {
                                                            return this.defaultSelected;
                                                       }),
                                                       e.$elem.change(),
                                                       u(a()),
                                                       d(),
                                                       i.onClear.call(this, s(), a());
                                             }),
                                             (this.destroy = function () {
                                                  var t = s(),
                                                       i = a(),
                                                       r = n("userOptions");
                                                  g(e.$widget.find("a")), e.$widget.remove(), e.$elem.removeData("barrating"), e.$elem.unwrap(), e.$elem.show(), r.onDestroy.call(this, t, i);
                                             });
                                   }
                                   return (
                                        (e.prototype.init = function (e, i) {
                                             return (this.$elem = t(i)), (this.options = t.extend({}, t.fn.barrating.defaults, e)), this.options;
                                        }),
                                        e
                                   );
                              })();
                              (t.fn.barrating = function (i, n) {
                                   return this.each(function () {
                                        var r = new e();
                                        if ((t(this).is("select") || t.error("Sorry, this plugin only works with select fields."), r.hasOwnProperty(i))) {
                                             if ((r.init(n, this), "show" === i)) return r.show(n);
                                             if (r.$elem.data("barrating")) return (r.$widget = t(this).next(".br-widget")), r[i](n);
                                        } else {
                                             if ("object" == typeof i || !i) return (n = i), r.init(n, this), r.show();
                                             t.error("Method " + i + " does not exist on jQuery.barrating");
                                        }
                                   });
                              }),
                                   (t.fn.barrating.defaults = {
                                        theme: "",
                                        initialRating: null,
                                        allowEmpty: null,
                                        emptyValue: "",
                                        showValues: !1,
                                        showSelectedRating: !0,
                                        deselectable: !0,
                                        reverse: !1,
                                        readonly: !1,
                                        fastClicks: !0,
                                        hoverState: !0,
                                        silent: !1,
                                        onSelect: function (t, e, i) {},
                                        onClear: function (t, e) {},
                                        onDestroy: function (t, e) {},
                                   }),
                                   (t.fn.barrating.BarRating = e);
                         })
                              ? n.apply(e, r)
                              : n) || (t.exports = o);
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(145), i(182);
                    t(document).ready(function () {
                         setTimeout(function () {
                              var e = t("#image-crop"),
                                   i = e.height() + 4;
                              t(".preview").css({ width: "100%", overflow: "hidden", height: i, maxWidth: e.width(), maxHeight: i }),
                                   e.cropper({
                                        preview: ".preview",
                                        ready: function (e) {
                                             t(this).cropper("setData", { height: 222, rotate: 0, scaleX: 1, scaleY: 1, width: 222, x: 55, y: 19 });
                                        },
                                   });
                         }, 2e3);
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          /*!
           * jQuery Cropper v1.0.1
           * https://fengyuanchen.github.io/jquery-cropper
           *
           * Copyright 2018-present Chen Fengyuan
           * Released under the MIT license
           *
           * Date: 2019-10-19T08:48:33.062Z
           */ !(function (t, e) {
               "use strict";
               if (((t = t && t.hasOwnProperty("default") ? t.default : t), (e = e && e.hasOwnProperty("default") ? e.default : e), t && t.fn && e)) {
                    var i = t.fn.cropper;
                    (t.fn.cropper = function (i) {
                         for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++) r[o - 1] = arguments[o];
                         var a;
                         return (
                              this.each(function (n, o) {
                                   var s = t(o),
                                        l = "destroy" === i,
                                        c = s.data("cropper");
                                   if (!c) {
                                        if (l) return;
                                        var u = t.extend({}, s.data(), t.isPlainObject(i) && i);
                                        (c = new e(o, u)), s.data("cropper", c);
                                   }
                                   if ("string" == typeof i) {
                                        var h = c[i];
                                        t.isFunction(h) && ((a = h.apply(c, r)) === c && (a = void 0), l && s.removeData("cropper"));
                                   }
                              }),
                              void 0 !== a ? a : this
                         );
                    }),
                         (t.fn.cropper.Constructor = e),
                         (t.fn.cropper.setDefaults = e.setDefaults),
                         (t.fn.cropper.noConflict = function () {
                              return (t.fn.cropper = i), this;
                         });
               }
          })(i(1), i(145));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var e = i(149),
                         n = i.n(e);
                    t(document).ready(function () {
                         t(".start-tour").click(function () {
                              n()().start();
                         });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(8), i(146), i(147), i(185), i(186);
                    t(document).ready(function () {
                         setTimeout(function () {
                              t("#example").DataTable({ responsive: !0 });
							   t("#example2").DataTable({ responsive: !0 });
                         }, 200);
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          var n, r;
          /*! Bootstrap 4 integration for DataTables' Responsive
           * ©2016 SpryMedia Ltd - datatables.net/license
           */ (n = [i(1), i(146), i(147)]),
               void 0 ===
                    (r = function (t) {
                         return (function (t, e, i, n) {
                              "use strict";
                              var r = t.fn.dataTable,
                                   o = r.Responsive.display,
                                   a = o.modal,
                                   s = t(
                                        '<div class="modal fade dtr-bs-modal" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button></div><div class="modal-body"/></div></div></div>'
                                   );
                              return (
                                   (o.modal = function (e) {
                                        return function (i, n, r) {
                                             if (t.fn.modal) {
                                                  if (!n) {
                                                       if (e && e.header) {
                                                            var o = s.find("div.modal-header"),
                                                                 l = o.find("button").detach();
                                                            o.empty()
                                                                 .append('<h4 class="modal-title">' + e.header(i) + "</h4>")
                                                                 .append(l);
                                                       }
                                                       s.find("div.modal-body").empty().append(r()), s.appendTo("body").modal();
                                                  }
                                             } else a(i, n, r);
                                        };
                                   }),
                                   r.Responsive
                              );
                         })(t, window, document);
                    }.apply(e, n)) || (t.exports = r);
     },
     function (t, e, i) {
          (function (e) {
               t.exports = (function (t) {
                    "use strict";
                    t = t && t.hasOwnProperty("default") ? t.default : t;
                    var i = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : void 0 !== e ? e : "undefined" != typeof self ? self : {};
                    function n(t, e) {
                         return t((e = { exports: {} }), e.exports), e.exports;
                    }
                    var r = function (t) {
                              return t && t.Math == Math && t;
                         },
                         o = r("object" == typeof globalThis && globalThis) || r("object" == typeof window && window) || r("object" == typeof self && self) || r("object" == typeof i && i) || Function("return this")(),
                         a = function (t) {
                              try {
                                   return !!t();
                              } catch (t) {
                                   return !0;
                              }
                         },
                         s = !a(function () {
                              return (
                                   7 !=
                                   Object.defineProperty({}, "a", {
                                        get: function () {
                                             return 7;
                                        },
                                   }).a
                              );
                         }),
                         l = {}.propertyIsEnumerable,
                         c = Object.getOwnPropertyDescriptor,
                         u = {
                              f:
                                   c && !l.call({ 1: 2 }, 1)
                                        ? function (t) {
                                               var e = c(this, t);
                                               return !!e && e.enumerable;
                                          }
                                        : l,
                         },
                         h = function (t, e) {
                              return { enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: e };
                         },
                         d = {}.toString,
                         p = function (t) {
                              return d.call(t).slice(8, -1);
                         },
                         f = "".split,
                         m = a(function () {
                              return !Object("z").propertyIsEnumerable(0);
                         })
                              ? function (t) {
                                     return "String" == p(t) ? f.call(t, "") : Object(t);
                                }
                              : Object,
                         g = function (t) {
                              if (null == t) throw TypeError("Can't call method on " + t);
                              return t;
                         },
                         v = function (t) {
                              return m(g(t));
                         },
                         y = function (t) {
                              return "object" == typeof t ? null !== t : "function" == typeof t;
                         },
                         b = function (t, e) {
                              if (!y(t)) return t;
                              var i, n;
                              if (e && "function" == typeof (i = t.toString) && !y((n = i.call(t)))) return n;
                              if ("function" == typeof (i = t.valueOf) && !y((n = i.call(t)))) return n;
                              if (!e && "function" == typeof (i = t.toString) && !y((n = i.call(t)))) return n;
                              throw TypeError("Can't convert object to primitive value");
                         },
                         _ = {}.hasOwnProperty,
                         x = function (t, e) {
                              return _.call(t, e);
                         },
                         w = o.document,
                         k = y(w) && y(w.createElement),
                         S = function (t) {
                              return k ? w.createElement(t) : {};
                         },
                         M =
                              !s &&
                              !a(function () {
                                   return (
                                        7 !=
                                        Object.defineProperty(S("div"), "a", {
                                             get: function () {
                                                  return 7;
                                             },
                                        }).a
                                   );
                              }),
                         T = Object.getOwnPropertyDescriptor,
                         C = {
                              f: s
                                   ? T
                                   : function (t, e) {
                                          if (((t = v(t)), (e = b(e, !0)), M))
                                               try {
                                                    return T(t, e);
                                               } catch (t) {}
                                          if (x(t, e)) return h(!u.f.call(t, e), t[e]);
                                     },
                         },
                         D = function (t) {
                              if (!y(t)) throw TypeError(String(t) + " is not an object");
                              return t;
                         },
                         L = Object.defineProperty,
                         E = {
                              f: s
                                   ? L
                                   : function (t, e, i) {
                                          if ((D(t), (e = b(e, !0)), D(i), M))
                                               try {
                                                    return L(t, e, i);
                                               } catch (t) {}
                                          if ("get" in i || "set" in i) throw TypeError("Accessors not supported");
                                          return "value" in i && (t[e] = i.value), t;
                                     },
                         },
                         A = s
                              ? function (t, e, i) {
                                     return E.f(t, e, h(1, i));
                                }
                              : function (t, e, i) {
                                     return (t[e] = i), t;
                                },
                         P = function (t, e) {
                              try {
                                   A(o, t, e);
                              } catch (i) {
                                   o[t] = e;
                              }
                              return e;
                         },
                         I = o["__core-js_shared__"] || P("__core-js_shared__", {}),
                         O = Function.toString;
                    "function" != typeof I.inspectSource &&
                         (I.inspectSource = function (t) {
                              return O.call(t);
                         });
                    var Y,
                         z,
                         R,
                         F = I.inspectSource,
                         H = o.WeakMap,
                         j = "function" == typeof H && /native code/.test(F(H)),
                         N = n(function (t) {
                              (t.exports = function (t, e) {
                                   return I[t] || (I[t] = void 0 !== e ? e : {});
                              })("versions", []).push({ version: "3.6.0", mode: "global", copyright: "© 2019 Denis Pushkarev (zloirock.ru)" });
                         }),
                         B = 0,
                         W = Math.random(),
                         V = function (t) {
                              return "Symbol(" + String(void 0 === t ? "" : t) + ")_" + (++B + W).toString(36);
                         },
                         U = N("keys"),
                         q = function (t) {
                              return U[t] || (U[t] = V(t));
                         },
                         $ = {},
                         X = o.WeakMap;
                    if (j) {
                         var G = new X(),
                              Z = G.get,
                              J = G.has,
                              K = G.set;
                         (Y = function (t, e) {
                              return K.call(G, t, e), e;
                         }),
                              (z = function (t) {
                                   return Z.call(G, t) || {};
                              }),
                              (R = function (t) {
                                   return J.call(G, t);
                              });
                    } else {
                         var Q = q("state");
                         ($[Q] = !0),
                              (Y = function (t, e) {
                                   return A(t, Q, e), e;
                              }),
                              (z = function (t) {
                                   return x(t, Q) ? t[Q] : {};
                              }),
                              (R = function (t) {
                                   return x(t, Q);
                              });
                    }
                    var tt,
                         et = {
                              set: Y,
                              get: z,
                              has: R,
                              enforce: function (t) {
                                   return R(t) ? z(t) : Y(t, {});
                              },
                              getterFor: function (t) {
                                   return function (e) {
                                        var i;
                                        if (!y(e) || (i = z(e)).type !== t) throw TypeError("Incompatible receiver, " + t + " required");
                                        return i;
                                   };
                              },
                         },
                         it = n(function (t) {
                              var e = et.get,
                                   i = et.enforce,
                                   n = String(String).split("String");
                              (t.exports = function (t, e, r, a) {
                                   var s = !!a && !!a.unsafe,
                                        l = !!a && !!a.enumerable,
                                        c = !!a && !!a.noTargetGet;
                                   "function" == typeof r && ("string" != typeof e || x(r, "name") || A(r, "name", e), (i(r).source = n.join("string" == typeof e ? e : ""))),
                                        t !== o ? (s ? !c && t[e] && (l = !0) : delete t[e], l ? (t[e] = r) : A(t, e, r)) : l ? (t[e] = r) : P(e, r);
                              })(Function.prototype, "toString", function () {
                                   return ("function" == typeof this && e(this).source) || F(this);
                              });
                         }),
                         nt = o,
                         rt = function (t) {
                              return "function" == typeof t ? t : void 0;
                         },
                         ot = function (t, e) {
                              return arguments.length < 2 ? rt(nt[t]) || rt(o[t]) : (nt[t] && nt[t][e]) || (o[t] && o[t][e]);
                         },
                         at = Math.ceil,
                         st = Math.floor,
                         lt = function (t) {
                              return isNaN((t = +t)) ? 0 : (t > 0 ? st : at)(t);
                         },
                         ct = Math.min,
                         ut = function (t) {
                              return t > 0 ? ct(lt(t), 9007199254740991) : 0;
                         },
                         ht = Math.max,
                         dt = Math.min,
                         pt = function (t, e) {
                              var i = lt(t);
                              return i < 0 ? ht(i + e, 0) : dt(i, e);
                         },
                         ft = function (t) {
                              return function (e, i, n) {
                                   var r,
                                        o = v(e),
                                        a = ut(o.length),
                                        s = pt(n, a);
                                   if (t && i != i) {
                                        for (; a > s; ) if ((r = o[s++]) != r) return !0;
                                   } else for (; a > s; s++) if ((t || s in o) && o[s] === i) return t || s || 0;
                                   return !t && -1;
                              };
                         },
                         mt = { includes: ft(!0), indexOf: ft(!1) },
                         gt = mt.indexOf,
                         vt = function (t, e) {
                              var i,
                                   n = v(t),
                                   r = 0,
                                   o = [];
                              for (i in n) !x($, i) && x(n, i) && o.push(i);
                              for (; e.length > r; ) x(n, (i = e[r++])) && (~gt(o, i) || o.push(i));
                              return o;
                         },
                         yt = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"],
                         bt = yt.concat("length", "prototype"),
                         _t = {
                              f:
                                   Object.getOwnPropertyNames ||
                                   function (t) {
                                        return vt(t, bt);
                                   },
                         },
                         xt = { f: Object.getOwnPropertySymbols },
                         wt =
                              ot("Reflect", "ownKeys") ||
                              function (t) {
                                   var e = _t.f(D(t)),
                                        i = xt.f;
                                   return i ? e.concat(i(t)) : e;
                              },
                         kt = function (t, e) {
                              for (var i = wt(e), n = E.f, r = C.f, o = 0; o < i.length; o++) {
                                   var a = i[o];
                                   x(t, a) || n(t, a, r(e, a));
                              }
                         },
                         St = /#|\.prototype\./,
                         Mt = function (t, e) {
                              var i = Ct[Tt(t)];
                              return i == Lt || (i != Dt && ("function" == typeof e ? a(e) : !!e));
                         },
                         Tt = (Mt.normalize = function (t) {
                              return String(t).replace(St, ".").toLowerCase();
                         }),
                         Ct = (Mt.data = {}),
                         Dt = (Mt.NATIVE = "N"),
                         Lt = (Mt.POLYFILL = "P"),
                         Et = Mt,
                         At = C.f,
                         Pt = function (t, e) {
                              var i,
                                   n,
                                   r,
                                   a,
                                   s,
                                   l = t.target,
                                   c = t.global,
                                   u = t.stat;
                              if ((i = c ? o : u ? o[l] || P(l, {}) : (o[l] || {}).prototype))
                                   for (n in e) {
                                        if (((a = e[n]), (r = t.noTargetGet ? (s = At(i, n)) && s.value : i[n]), !Et(c ? n : l + (u ? "." : "#") + n, t.forced) && void 0 !== r)) {
                                             if (typeof a == typeof r) continue;
                                             kt(a, r);
                                        }
                                        (t.sham || (r && r.sham)) && A(a, "sham", !0), it(i, n, a, t);
                                   }
                         },
                         It =
                              !!Object.getOwnPropertySymbols &&
                              !a(function () {
                                   return !String(Symbol());
                              }),
                         Ot = It && !Symbol.sham && "symbol" == typeof Symbol(),
                         Yt =
                              Array.isArray ||
                              function (t) {
                                   return "Array" == p(t);
                              },
                         zt = function (t) {
                              return Object(g(t));
                         },
                         Rt =
                              Object.keys ||
                              function (t) {
                                   return vt(t, yt);
                              },
                         Ft = s
                              ? Object.defineProperties
                              : function (t, e) {
                                     D(t);
                                     for (var i, n = Rt(e), r = n.length, o = 0; r > o; ) E.f(t, (i = n[o++]), e[i]);
                                     return t;
                                },
                         Ht = ot("document", "documentElement"),
                         jt = q("IE_PROTO"),
                         Nt = function () {},
                         Bt = function (t) {
                              return "<script>" + t + "</script>";
                         },
                         Wt = function () {
                              try {
                                   tt = document.domain && new ActiveXObject("htmlfile");
                              } catch (t) {}
                              var t, e;
                              Wt = tt
                                   ? (function (t) {
                                          t.write(Bt("")), t.close();
                                          var e = t.parentWindow.Object;
                                          return (t = null), e;
                                     })(tt)
                                   : (((e = S("iframe")).style.display = "none"), Ht.appendChild(e), (e.src = String("javascript:")), (t = e.contentWindow.document).open(), t.write(Bt("document.F=Object")), t.close(), t.F);
                              for (var i = yt.length; i--; ) delete Wt.prototype[yt[i]];
                              return Wt();
                         };
                    $[jt] = !0;
                    var Vt =
                              Object.create ||
                              function (t, e) {
                                   var i;
                                   return null !== t ? ((Nt.prototype = D(t)), (i = new Nt()), (Nt.prototype = null), (i[jt] = t)) : (i = Wt()), void 0 === e ? i : Ft(i, e);
                              },
                         Ut = _t.f,
                         qt = {}.toString,
                         $t = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [],
                         Xt = {
                              f: function (t) {
                                   return $t && "[object Window]" == qt.call(t)
                                        ? (function (t) {
                                               try {
                                                    return Ut(t);
                                               } catch (t) {
                                                    return $t.slice();
                                               }
                                          })(t)
                                        : Ut(v(t));
                              },
                         },
                         Gt = N("wks"),
                         Zt = o.Symbol,
                         Jt = Ot ? Zt : V,
                         Kt = function (t) {
                              return x(Gt, t) || (It && x(Zt, t) ? (Gt[t] = Zt[t]) : (Gt[t] = Jt("Symbol." + t))), Gt[t];
                         },
                         Qt = { f: Kt },
                         te = E.f,
                         ee = function (t) {
                              var e = nt.Symbol || (nt.Symbol = {});
                              x(e, t) || te(e, t, { value: Qt.f(t) });
                         },
                         ie = E.f,
                         ne = Kt("toStringTag"),
                         re = function (t, e, i) {
                              t && !x((t = i ? t : t.prototype), ne) && ie(t, ne, { configurable: !0, value: e });
                         },
                         oe = function (t) {
                              if ("function" != typeof t) throw TypeError(String(t) + " is not a function");
                              return t;
                         },
                         ae = Kt("species"),
                         se = function (t, e) {
                              var i;
                              return Yt(t) && ("function" != typeof (i = t.constructor) || (i !== Array && !Yt(i.prototype)) ? y(i) && null === (i = i[ae]) && (i = void 0) : (i = void 0)), new (void 0 === i ? Array : i)(0 === e ? 0 : e);
                         },
                         le = [].push,
                         ce = function (t) {
                              var e = 1 == t,
                                   i = 2 == t,
                                   n = 3 == t,
                                   r = 4 == t,
                                   o = 6 == t,
                                   a = 5 == t || o;
                              return function (s, l, c, u) {
                                   for (
                                        var h,
                                             d,
                                             p = zt(s),
                                             f = m(p),
                                             g = (function (t, e, i) {
                                                  return (
                                                       oe(t),
                                                       void 0 === e
                                                            ? t
                                                            : function (i, n, r) {
                                                                   return t.call(e, i, n, r);
                                                              }
                                                  );
                                             })(l, c),
                                             v = ut(f.length),
                                             y = 0,
                                             b = u || se,
                                             _ = e ? b(s, v) : i ? b(s, 0) : void 0;
                                        v > y;
                                        y++
                                   )
                                        if ((a || y in f) && ((d = g((h = f[y]), y, p)), t))
                                             if (e) _[y] = d;
                                             else if (d)
                                                  switch (t) {
                                                       case 3:
                                                            return !0;
                                                       case 5:
                                                            return h;
                                                       case 6:
                                                            return y;
                                                       case 2:
                                                            le.call(_, h);
                                                  }
                                             else if (r) return !1;
                                   return o ? -1 : n || r ? r : _;
                              };
                         },
                         ue = { forEach: ce(0), map: ce(1), filter: ce(2), some: ce(3), every: ce(4), find: ce(5), findIndex: ce(6) },
                         he = ue.forEach,
                         de = q("hidden"),
                         pe = Kt("toPrimitive"),
                         fe = et.set,
                         me = et.getterFor("Symbol"),
                         ge = Object.prototype,
                         ve = o.Symbol,
                         ye = ot("JSON", "stringify"),
                         be = C.f,
                         _e = E.f,
                         xe = Xt.f,
                         we = u.f,
                         ke = N("symbols"),
                         Se = N("op-symbols"),
                         Me = N("string-to-symbol-registry"),
                         Te = N("symbol-to-string-registry"),
                         Ce = N("wks"),
                         De = o.QObject,
                         Le = !De || !De.prototype || !De.prototype.findChild,
                         Ee =
                              s &&
                              a(function () {
                                   return (
                                        7 !=
                                        Vt(
                                             _e({}, "a", {
                                                  get: function () {
                                                       return _e(this, "a", { value: 7 }).a;
                                                  },
                                             })
                                        ).a
                                   );
                              })
                                   ? function (t, e, i) {
                                          var n = be(ge, e);
                                          n && delete ge[e], _e(t, e, i), n && t !== ge && _e(ge, e, n);
                                     }
                                   : _e,
                         Ae = function (t, e) {
                              var i = (ke[t] = Vt(ve.prototype));
                              return fe(i, { type: "Symbol", tag: t, description: e }), s || (i.description = e), i;
                         },
                         Pe =
                              It && "symbol" == typeof ve.iterator
                                   ? function (t) {
                                          return "symbol" == typeof t;
                                     }
                                   : function (t) {
                                          return Object(t) instanceof ve;
                                     },
                         Ie = function (t, e, i) {
                              t === ge && Ie(Se, e, i), D(t);
                              var n = b(e, !0);
                              return D(i), x(ke, n) ? (i.enumerable ? (x(t, de) && t[de][n] && (t[de][n] = !1), (i = Vt(i, { enumerable: h(0, !1) }))) : (x(t, de) || _e(t, de, h(1, {})), (t[de][n] = !0)), Ee(t, n, i)) : _e(t, n, i);
                         },
                         Oe = function (t, e) {
                              D(t);
                              var i = v(e),
                                   n = Rt(i).concat(Fe(i));
                              return (
                                   he(n, function (e) {
                                        (s && !Ye.call(i, e)) || Ie(t, e, i[e]);
                                   }),
                                   t
                              );
                         },
                         Ye = function (t) {
                              var e = b(t, !0),
                                   i = we.call(this, e);
                              return !(this === ge && x(ke, e) && !x(Se, e)) && (!(i || !x(this, e) || !x(ke, e) || (x(this, de) && this[de][e])) || i);
                         },
                         ze = function (t, e) {
                              var i = v(t),
                                   n = b(e, !0);
                              if (i !== ge || !x(ke, n) || x(Se, n)) {
                                   var r = be(i, n);
                                   return !r || !x(ke, n) || (x(i, de) && i[de][n]) || (r.enumerable = !0), r;
                              }
                         },
                         Re = function (t) {
                              var e = xe(v(t)),
                                   i = [];
                              return (
                                   he(e, function (t) {
                                        x(ke, t) || x($, t) || i.push(t);
                                   }),
                                   i
                              );
                         },
                         Fe = function (t) {
                              var e = t === ge,
                                   i = xe(e ? Se : v(t)),
                                   n = [];
                              return (
                                   he(i, function (t) {
                                        !x(ke, t) || (e && !x(ge, t)) || n.push(ke[t]);
                                   }),
                                   n
                              );
                         };
                    if (
                         (It ||
                              (it(
                                   (ve = function () {
                                        if (this instanceof ve) throw TypeError("Symbol is not a constructor");
                                        var t = arguments.length && void 0 !== arguments[0] ? String(arguments[0]) : void 0,
                                             e = V(t),
                                             i = function (t) {
                                                  this === ge && i.call(Se, t), x(this, de) && x(this[de], e) && (this[de][e] = !1), Ee(this, e, h(1, t));
                                             };
                                        return s && Le && Ee(ge, e, { configurable: !0, set: i }), Ae(e, t);
                                   }).prototype,
                                   "toString",
                                   function () {
                                        return me(this).tag;
                                   }
                              ),
                              (u.f = Ye),
                              (E.f = Ie),
                              (C.f = ze),
                              (_t.f = Xt.f = Re),
                              (xt.f = Fe),
                              s &&
                                   (_e(ve.prototype, "description", {
                                        configurable: !0,
                                        get: function () {
                                             return me(this).description;
                                        },
                                   }),
                                   it(ge, "propertyIsEnumerable", Ye, { unsafe: !0 }))),
                         Ot ||
                              (Qt.f = function (t) {
                                   return Ae(Kt(t), t);
                              }),
                         Pt({ global: !0, wrap: !0, forced: !It, sham: !It }, { Symbol: ve }),
                         he(Rt(Ce), function (t) {
                              ee(t);
                         }),
                         Pt(
                              { target: "Symbol", stat: !0, forced: !It },
                              {
                                   for: function (t) {
                                        var e = String(t);
                                        if (x(Me, e)) return Me[e];
                                        var i = ve(e);
                                        return (Me[e] = i), (Te[i] = e), i;
                                   },
                                   keyFor: function (t) {
                                        if (!Pe(t)) throw TypeError(t + " is not a symbol");
                                        if (x(Te, t)) return Te[t];
                                   },
                                   useSetter: function () {
                                        Le = !0;
                                   },
                                   useSimple: function () {
                                        Le = !1;
                                   },
                              }
                         ),
                         Pt(
                              { target: "Object", stat: !0, forced: !It, sham: !s },
                              {
                                   create: function (t, e) {
                                        return void 0 === e ? Vt(t) : Oe(Vt(t), e);
                                   },
                                   defineProperty: Ie,
                                   defineProperties: Oe,
                                   getOwnPropertyDescriptor: ze,
                              }
                         ),
                         Pt({ target: "Object", stat: !0, forced: !It }, { getOwnPropertyNames: Re, getOwnPropertySymbols: Fe }),
                         Pt(
                              {
                                   target: "Object",
                                   stat: !0,
                                   forced: a(function () {
                                        xt.f(1);
                                   }),
                              },
                              {
                                   getOwnPropertySymbols: function (t) {
                                        return xt.f(zt(t));
                                   },
                              }
                         ),
                         ye)
                    ) {
                         var He =
                              !It ||
                              a(function () {
                                   var t = ve();
                                   return "[null]" != ye([t]) || "{}" != ye({ a: t }) || "{}" != ye(Object(t));
                              });
                         Pt(
                              { target: "JSON", stat: !0, forced: He },
                              {
                                   stringify: function (t, e, i) {
                                        for (var n, r = [t], o = 1; arguments.length > o; ) r.push(arguments[o++]);
                                        if (((n = e), (y(e) || void 0 !== t) && !Pe(t)))
                                             return (
                                                  Yt(e) ||
                                                       (e = function (t, e) {
                                                            if (("function" == typeof n && (e = n.call(this, t, e)), !Pe(e))) return e;
                                                       }),
                                                  (r[1] = e),
                                                  ye.apply(null, r)
                                             );
                                   },
                              }
                         );
                    }
                    ve.prototype[pe] || A(ve.prototype, pe, ve.prototype.valueOf), re(ve, "Symbol"), ($[de] = !0);
                    var je = E.f,
                         Ne = o.Symbol;
                    if (s && "function" == typeof Ne && (!("description" in Ne.prototype) || void 0 !== Ne().description)) {
                         var Be = {},
                              We = function () {
                                   var t = arguments.length < 1 || void 0 === arguments[0] ? void 0 : String(arguments[0]),
                                        e = this instanceof We ? new Ne(t) : void 0 === t ? Ne() : Ne(t);
                                   return "" === t && (Be[e] = !0), e;
                              };
                         kt(We, Ne);
                         var Ve = (We.prototype = Ne.prototype);
                         Ve.constructor = We;
                         var Ue = Ve.toString,
                              qe = "Symbol(test)" == String(Ne("test")),
                              $e = /^Symbol\((.*)\)[^)]+$/;
                         je(Ve, "description", {
                              configurable: !0,
                              get: function () {
                                   var t = y(this) ? this.valueOf() : this,
                                        e = Ue.call(t);
                                   if (x(Be, t)) return "";
                                   var i = qe ? e.slice(7, -1) : e.replace($e, "$1");
                                   return "" === i ? void 0 : i;
                              },
                         }),
                              Pt({ global: !0, forced: !0 }, { Symbol: We });
                    }
                    ee("iterator");
                    var Xe,
                         Ge,
                         Ze = function (t, e, i) {
                              var n = b(e);
                              n in t ? E.f(t, n, h(0, i)) : (t[n] = i);
                         },
                         Je = ot("navigator", "userAgent") || "",
                         Ke = o.process,
                         Qe = Ke && Ke.versions,
                         ti = Qe && Qe.v8;
                    ti ? (Ge = (Xe = ti.split("."))[0] + Xe[1]) : Je && (!(Xe = Je.match(/Edge\/(\d+)/)) || Xe[1] >= 74) && (Xe = Je.match(/Chrome\/(\d+)/)) && (Ge = Xe[1]);
                    var ei = Ge && +Ge,
                         ii = Kt("species"),
                         ni = function (t) {
                              return (
                                   ei >= 51 ||
                                   !a(function () {
                                        var e = [];
                                        return (
                                             ((e.constructor = {})[ii] = function () {
                                                  return { foo: 1 };
                                             }),
                                             1 !== e[t](Boolean).foo
                                        );
                                   })
                              );
                         },
                         ri = Kt("isConcatSpreadable"),
                         oi =
                              ei >= 51 ||
                              !a(function () {
                                   var t = [];
                                   return (t[ri] = !1), t.concat()[0] !== t;
                              }),
                         ai = ni("concat"),
                         si = function (t) {
                              if (!y(t)) return !1;
                              var e = t[ri];
                              return void 0 !== e ? !!e : Yt(t);
                         };
                    Pt(
                         { target: "Array", proto: !0, forced: !oi || !ai },
                         {
                              concat: function (t) {
                                   var e,
                                        i,
                                        n,
                                        r,
                                        o,
                                        a = zt(this),
                                        s = se(a, 0),
                                        l = 0;
                                   for (e = -1, n = arguments.length; e < n; e++)
                                        if (si((o = -1 === e ? a : arguments[e]))) {
                                             if (l + (r = ut(o.length)) > 9007199254740991) throw TypeError("Maximum allowed index exceeded");
                                             for (i = 0; i < r; i++, l++) i in o && Ze(s, l, o[i]);
                                        } else {
                                             if (l >= 9007199254740991) throw TypeError("Maximum allowed index exceeded");
                                             Ze(s, l++, o);
                                        }
                                   return (s.length = l), s;
                              },
                         }
                    );
                    var li = ue.filter,
                         ci = ni("filter"),
                         ui =
                              ci &&
                              !a(function () {
                                   [].filter.call({ length: -1, 0: 1 }, function (t) {
                                        throw t;
                                   });
                              });
                    Pt(
                         { target: "Array", proto: !0, forced: !ci || !ui },
                         {
                              filter: function (t) {
                                   return li(this, t, arguments.length > 1 ? arguments[1] : void 0);
                              },
                         }
                    );
                    var hi = Kt("unscopables"),
                         di = Array.prototype;
                    null == di[hi] && E.f(di, hi, { configurable: !0, value: Vt(null) });
                    var pi = function (t) {
                              di[hi][t] = !0;
                         },
                         fi = ue.find,
                         mi = !0;
                    "find" in [] &&
                         Array(1).find(function () {
                              mi = !1;
                         }),
                         Pt(
                              { target: "Array", proto: !0, forced: mi },
                              {
                                   find: function (t) {
                                        return fi(this, t, arguments.length > 1 ? arguments[1] : void 0);
                                   },
                              }
                         ),
                         pi("find");
                    var gi = ue.findIndex,
                         vi = !0;
                    "findIndex" in [] &&
                         Array(1).findIndex(function () {
                              vi = !1;
                         }),
                         Pt(
                              { target: "Array", proto: !0, forced: vi },
                              {
                                   findIndex: function (t) {
                                        return gi(this, t, arguments.length > 1 ? arguments[1] : void 0);
                                   },
                              }
                         ),
                         pi("findIndex");
                    var yi = mt.includes;
                    Pt(
                         { target: "Array", proto: !0 },
                         {
                              includes: function (t) {
                                   return yi(this, t, arguments.length > 1 ? arguments[1] : void 0);
                              },
                         }
                    ),
                         pi("includes");
                    var bi = function (t, e) {
                              var i = [][t];
                              return (
                                   !i ||
                                   !a(function () {
                                        i.call(
                                             null,
                                             e ||
                                                  function () {
                                                       throw 1;
                                                  },
                                             1
                                        );
                                   })
                              );
                         },
                         _i = mt.indexOf,
                         xi = [].indexOf,
                         wi = !!xi && 1 / [1].indexOf(1, -0) < 0,
                         ki = bi("indexOf");
                    Pt(
                         { target: "Array", proto: !0, forced: wi || ki },
                         {
                              indexOf: function (t) {
                                   return wi ? xi.apply(this, arguments) || 0 : _i(this, t, arguments.length > 1 ? arguments[1] : void 0);
                              },
                         }
                    );
                    var Si,
                         Mi,
                         Ti,
                         Ci = !a(function () {
                              function t() {}
                              return (t.prototype.constructor = null), Object.getPrototypeOf(new t()) !== t.prototype;
                         }),
                         Di = q("IE_PROTO"),
                         Li = Object.prototype,
                         Ei = Ci
                              ? Object.getPrototypeOf
                              : function (t) {
                                     return (t = zt(t)), x(t, Di) ? t[Di] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? Li : null;
                                },
                         Ai = Kt("iterator"),
                         Pi = !1;
                    [].keys && ("next" in (Ti = [].keys()) ? (Mi = Ei(Ei(Ti))) !== Object.prototype && (Si = Mi) : (Pi = !0)),
                         null == Si && (Si = {}),
                         x(Si, Ai) ||
                              A(Si, Ai, function () {
                                   return this;
                              });
                    var Ii = { IteratorPrototype: Si, BUGGY_SAFARI_ITERATORS: Pi },
                         Oi = Ii.IteratorPrototype,
                         Yi =
                              Object.setPrototypeOf ||
                              ("__proto__" in {}
                                   ? (function () {
                                          var t,
                                               e = !1,
                                               i = {};
                                          try {
                                               (t = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(i, []), (e = i instanceof Array);
                                          } catch (t) {}
                                          return function (i, n) {
                                               return (
                                                    D(i),
                                                    (function (t) {
                                                         if (!y(t) && null !== t) throw TypeError("Can't set " + String(t) + " as a prototype");
                                                    })(n),
                                                    e ? t.call(i, n) : (i.__proto__ = n),
                                                    i
                                               );
                                          };
                                     })()
                                   : void 0),
                         zi = Ii.IteratorPrototype,
                         Ri = Ii.BUGGY_SAFARI_ITERATORS,
                         Fi = Kt("iterator"),
                         Hi = function () {
                              return this;
                         },
                         ji = function (t, e, i, n, r, o, a) {
                              !(function (t, e, i) {
                                   var n = e + " Iterator";
                                   (t.prototype = Vt(Oi, { next: h(1, i) })), re(t, n, !1);
                              })(i, e, n);
                              var s,
                                   l,
                                   c,
                                   u = function (t) {
                                        if (t === r && g) return g;
                                        if (!Ri && t in f) return f[t];
                                        switch (t) {
                                             case "keys":
                                             case "values":
                                             case "entries":
                                                  return function () {
                                                       return new i(this, t);
                                                  };
                                        }
                                        return function () {
                                             return new i(this);
                                        };
                                   },
                                   d = e + " Iterator",
                                   p = !1,
                                   f = t.prototype,
                                   m = f[Fi] || f["@@iterator"] || (r && f[r]),
                                   g = (!Ri && m) || u(r),
                                   v = ("Array" == e && f.entries) || m;
                              if (
                                   (v && ((s = Ei(v.call(new t()))), zi !== Object.prototype && s.next && (Ei(s) !== zi && (Yi ? Yi(s, zi) : "function" != typeof s[Fi] && A(s, Fi, Hi)), re(s, d, !0))),
                                   "values" == r &&
                                        m &&
                                        "values" !== m.name &&
                                        ((p = !0),
                                        (g = function () {
                                             return m.call(this);
                                        })),
                                   f[Fi] !== g && A(f, Fi, g),
                                   r)
                              )
                                   if (((l = { values: u("values"), keys: o ? g : u("keys"), entries: u("entries") }), a)) for (c in l) (!Ri && !p && c in f) || it(f, c, l[c]);
                                   else Pt({ target: e, proto: !0, forced: Ri || p }, l);
                              return l;
                         },
                         Ni = et.set,
                         Bi = et.getterFor("Array Iterator"),
                         Wi = ji(
                              Array,
                              "Array",
                              function (t, e) {
                                   Ni(this, { type: "Array Iterator", target: v(t), index: 0, kind: e });
                              },
                              function () {
                                   var t = Bi(this),
                                        e = t.target,
                                        i = t.kind,
                                        n = t.index++;
                                   return !e || n >= e.length ? ((t.target = void 0), { value: void 0, done: !0 }) : "keys" == i ? { value: n, done: !1 } : "values" == i ? { value: e[n], done: !1 } : { value: [n, e[n]], done: !1 };
                              },
                              "values"
                         );
                    pi("keys"), pi("values"), pi("entries");
                    var Vi = [].join,
                         Ui = m != Object,
                         qi = bi("join", ",");
                    Pt(
                         { target: "Array", proto: !0, forced: Ui || qi },
                         {
                              join: function (t) {
                                   return Vi.call(v(this), void 0 === t ? "," : t);
                              },
                         }
                    );
                    var $i = ue.map,
                         Xi = ni("map"),
                         Gi =
                              Xi &&
                              !a(function () {
                                   [].map.call({ length: -1, 0: 1 }, function (t) {
                                        throw t;
                                   });
                              });
                    Pt(
                         { target: "Array", proto: !0, forced: !Xi || !Gi },
                         {
                              map: function (t) {
                                   return $i(this, t, arguments.length > 1 ? arguments[1] : void 0);
                              },
                         }
                    );
                    var Zi = [].reverse,
                         Ji = [1, 2];
                    Pt(
                         { target: "Array", proto: !0, forced: String(Ji) === String(Ji.reverse()) },
                         {
                              reverse: function () {
                                   return Yt(this) && (this.length = this.length), Zi.call(this);
                              },
                         }
                    );
                    var Ki = Kt("species"),
                         Qi = [].slice,
                         tn = Math.max;
                    Pt(
                         { target: "Array", proto: !0, forced: !ni("slice") },
                         {
                              slice: function (t, e) {
                                   var i,
                                        n,
                                        r,
                                        o = v(this),
                                        a = ut(o.length),
                                        s = pt(t, a),
                                        l = pt(void 0 === e ? a : e, a);
                                   if (Yt(o) && ("function" != typeof (i = o.constructor) || (i !== Array && !Yt(i.prototype)) ? y(i) && null === (i = i[Ki]) && (i = void 0) : (i = void 0), i === Array || void 0 === i))
                                        return Qi.call(o, s, l);
                                   for (n = new (void 0 === i ? Array : i)(tn(l - s, 0)), r = 0; s < l; s++, r++) s in o && Ze(n, r, o[s]);
                                   return (n.length = r), n;
                              },
                         }
                    );
                    var en = [],
                         nn = en.sort,
                         rn = a(function () {
                              en.sort(void 0);
                         }),
                         on = a(function () {
                              en.sort(null);
                         }),
                         an = bi("sort");
                    Pt(
                         { target: "Array", proto: !0, forced: rn || !on || an },
                         {
                              sort: function (t) {
                                   return void 0 === t ? nn.call(zt(this)) : nn.call(zt(this), oe(t));
                              },
                         }
                    );
                    var sn = Math.max,
                         ln = Math.min;
                    Pt(
                         { target: "Array", proto: !0, forced: !ni("splice") },
                         {
                              splice: function (t, e) {
                                   var i,
                                        n,
                                        r,
                                        o,
                                        a,
                                        s,
                                        l = zt(this),
                                        c = ut(l.length),
                                        u = pt(t, c),
                                        h = arguments.length;
                                   if ((0 === h ? (i = n = 0) : 1 === h ? ((i = 0), (n = c - u)) : ((i = h - 2), (n = ln(sn(lt(e), 0), c - u))), c + i - n > 9007199254740991)) throw TypeError("Maximum allowed length exceeded");
                                   for (r = se(l, n), o = 0; o < n; o++) (a = u + o) in l && Ze(r, o, l[a]);
                                   if (((r.length = n), i < n)) {
                                        for (o = u; o < c - n; o++) (s = o + i), (a = o + n) in l ? (l[s] = l[a]) : delete l[s];
                                        for (o = c; o > c - n + i; o--) delete l[o - 1];
                                   } else if (i > n) for (o = c - n; o > u; o--) (s = o + i - 1), (a = o + n - 1) in l ? (l[s] = l[a]) : delete l[s];
                                   for (o = 0; o < i; o++) l[o + u] = arguments[o + 2];
                                   return (l.length = c - n + i), r;
                              },
                         }
                    );
                    var cn = function (t, e, i) {
                              var n, r;
                              return Yi && "function" == typeof (n = e.constructor) && n !== i && y((r = n.prototype)) && r !== i.prototype && Yi(t, r), t;
                         },
                         un = "\t\n\v\f\r                　\u2028\u2029\ufeff",
                         hn = "[" + un + "]",
                         dn = RegExp("^" + hn + hn + "*"),
                         pn = RegExp(hn + hn + "*$"),
                         fn = function (t) {
                              return function (e) {
                                   var i = String(g(e));
                                   return 1 & t && (i = i.replace(dn, "")), 2 & t && (i = i.replace(pn, "")), i;
                              };
                         },
                         mn = { start: fn(1), end: fn(2), trim: fn(3) },
                         gn = _t.f,
                         vn = C.f,
                         yn = E.f,
                         bn = mn.trim,
                         _n = o.Number,
                         xn = _n.prototype,
                         wn = "Number" == p(Vt(xn)),
                         kn = function (t) {
                              var e,
                                   i,
                                   n,
                                   r,
                                   o,
                                   a,
                                   s,
                                   l,
                                   c = b(t, !1);
                              if ("string" == typeof c && c.length > 2)
                                   if (43 === (e = (c = bn(c)).charCodeAt(0)) || 45 === e) {
                                        if (88 === (i = c.charCodeAt(2)) || 120 === i) return NaN;
                                   } else if (48 === e) {
                                        switch (c.charCodeAt(1)) {
                                             case 66:
                                             case 98:
                                                  (n = 2), (r = 49);
                                                  break;
                                             case 79:
                                             case 111:
                                                  (n = 8), (r = 55);
                                                  break;
                                             default:
                                                  return +c;
                                        }
                                        for (a = (o = c.slice(2)).length, s = 0; s < a; s++) if ((l = o.charCodeAt(s)) < 48 || l > r) return NaN;
                                        return parseInt(o, n);
                                   }
                              return +c;
                         };
                    if (Et("Number", !_n(" 0o1") || !_n("0b1") || _n("+0x1"))) {
                         for (
                              var Sn,
                                   Mn = function (t) {
                                        var e = arguments.length < 1 ? 0 : t,
                                             i = this;
                                        return i instanceof Mn &&
                                             (wn
                                                  ? a(function () {
                                                         xn.valueOf.call(i);
                                                    })
                                                  : "Number" != p(i))
                                             ? cn(new _n(kn(e)), i, Mn)
                                             : kn(e);
                                   },
                                   Tn = s ? gn(_n) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),
                                   Cn = 0;
                              Tn.length > Cn;
                              Cn++
                         )
                              x(_n, (Sn = Tn[Cn])) && !x(Mn, Sn) && yn(Mn, Sn, vn(_n, Sn));
                         (Mn.prototype = xn), (xn.constructor = Mn), it(o, "Number", Mn);
                    }
                    var Dn = Object.assign,
                         Ln = Object.defineProperty,
                         En =
                              !Dn ||
                              a(function () {
                                   if (
                                        s &&
                                        1 !==
                                             Dn(
                                                  { b: 1 },
                                                  Dn(
                                                       Ln({}, "a", {
                                                            enumerable: !0,
                                                            get: function () {
                                                                 Ln(this, "b", { value: 3, enumerable: !1 });
                                                            },
                                                       }),
                                                       { b: 2 }
                                                  )
                                             ).b
                                   )
                                        return !0;
                                   var t = {},
                                        e = {},
                                        i = Symbol();
                                   return (
                                        (t[i] = 7),
                                        "abcdefghijklmnopqrst".split("").forEach(function (t) {
                                             e[t] = t;
                                        }),
                                        7 != Dn({}, t)[i] || "abcdefghijklmnopqrst" != Rt(Dn({}, e)).join("")
                                   );
                              })
                                   ? function (t, e) {
                                          for (var i = zt(t), n = arguments.length, r = 1, o = xt.f, a = u.f; n > r; )
                                               for (var l, c = m(arguments[r++]), h = o ? Rt(c).concat(o(c)) : Rt(c), d = h.length, p = 0; d > p; ) (l = h[p++]), (s && !a.call(c, l)) || (i[l] = c[l]);
                                          return i;
                                     }
                                   : Dn;
                    Pt({ target: "Object", stat: !0, forced: Object.assign !== En }, { assign: En });
                    var An = u.f,
                         Pn = function (t) {
                              return function (e) {
                                   for (var i, n = v(e), r = Rt(n), o = r.length, a = 0, l = []; o > a; ) (i = r[a++]), (s && !An.call(n, i)) || l.push(t ? [i, n[i]] : n[i]);
                                   return l;
                              };
                         },
                         In = [Pn(!0), Pn(!1)][0];
                    Pt(
                         { target: "Object", stat: !0 },
                         {
                              entries: function (t) {
                                   return In(t);
                              },
                         }
                    );
                    var On = {};
                    On[Kt("toStringTag")] = "z";
                    var Yn = "[object z]" === String(On),
                         zn = Kt("toStringTag"),
                         Rn =
                              "Arguments" ==
                              p(
                                   (function () {
                                        return arguments;
                                   })()
                              ),
                         Fn = Yn
                              ? p
                              : function (t) {
                                     var e, i, n;
                                     return void 0 === t
                                          ? "Undefined"
                                          : null === t
                                          ? "Null"
                                          : "string" ==
                                            typeof (i = (function (t, e) {
                                                 try {
                                                      return t[e];
                                                 } catch (t) {}
                                            })((e = Object(t)), zn))
                                          ? i
                                          : Rn
                                          ? p(e)
                                          : "Object" == (n = p(e)) && "function" == typeof e.callee
                                          ? "Arguments"
                                          : n;
                                },
                         Hn = Yn
                              ? {}.toString
                              : function () {
                                     return "[object " + Fn(this) + "]";
                                };
                    Yn || it(Object.prototype, "toString", Hn, { unsafe: !0 });
                    var jn = mn.trim,
                         Nn = o.parseFloat,
                         Bn =
                              1 / Nn(un + "-0") != -1 / 0
                                   ? function (t) {
                                          var e = jn(String(t)),
                                               i = Nn(e);
                                          return 0 === i && "-" == e.charAt(0) ? -0 : i;
                                     }
                                   : Nn;
                    Pt({ global: !0, forced: parseFloat != Bn }, { parseFloat: Bn });
                    var Wn = mn.trim,
                         Vn = o.parseInt,
                         Un = /^[+-]?0[Xx]/,
                         qn =
                              8 !== Vn(un + "08") || 22 !== Vn(un + "0x16")
                                   ? function (t, e) {
                                          var i = Wn(String(t));
                                          return Vn(i, e >>> 0 || (Un.test(i) ? 16 : 10));
                                     }
                                   : Vn;
                    Pt({ global: !0, forced: parseInt != qn }, { parseInt: qn });
                    var $n = function () {
                         var t = D(this),
                              e = "";
                         return t.global && (e += "g"), t.ignoreCase && (e += "i"), t.multiline && (e += "m"), t.dotAll && (e += "s"), t.unicode && (e += "u"), t.sticky && (e += "y"), e;
                    };
                    function Xn(t, e) {
                         return RegExp(t, e);
                    }
                    var Gn,
                         Zn,
                         Jn = {
                              UNSUPPORTED_Y: a(function () {
                                   var t = Xn("a", "y");
                                   return (t.lastIndex = 2), null != t.exec("abcd");
                              }),
                              BROKEN_CARET: a(function () {
                                   var t = Xn("^r", "gy");
                                   return (t.lastIndex = 2), null != t.exec("str");
                              }),
                         },
                         Kn = RegExp.prototype.exec,
                         Qn = String.prototype.replace,
                         tr = Kn,
                         er = ((Gn = /a/), (Zn = /b*/g), Kn.call(Gn, "a"), Kn.call(Zn, "a"), 0 !== Gn.lastIndex || 0 !== Zn.lastIndex),
                         ir = Jn.UNSUPPORTED_Y || Jn.BROKEN_CARET,
                         nr = void 0 !== /()??/.exec("")[1];
                    (er || nr || ir) &&
                         (tr = function (t) {
                              var e,
                                   i,
                                   n,
                                   r,
                                   o = this,
                                   a = ir && o.sticky,
                                   s = $n.call(o),
                                   l = o.source,
                                   c = 0,
                                   u = t;
                              return (
                                   a &&
                                        (-1 === (s = s.replace("y", "")).indexOf("g") && (s += "g"),
                                        (u = String(t).slice(o.lastIndex)),
                                        o.lastIndex > 0 && (!o.multiline || (o.multiline && "\n" !== t[o.lastIndex - 1])) && ((l = "(?: " + l + ")"), (u = " " + u), c++),
                                        (i = new RegExp("^(?:" + l + ")", s))),
                                   nr && (i = new RegExp("^" + l + "$(?!\\s)", s)),
                                   er && (e = o.lastIndex),
                                   (n = Kn.call(a ? i : o, u)),
                                   a
                                        ? n
                                             ? ((n.input = n.input.slice(c)), (n[0] = n[0].slice(c)), (n.index = o.lastIndex), (o.lastIndex += n[0].length))
                                             : (o.lastIndex = 0)
                                        : er && n && (o.lastIndex = o.global ? n.index + n[0].length : e),
                                   nr &&
                                        n &&
                                        n.length > 1 &&
                                        Qn.call(n[0], i, function () {
                                             for (r = 1; r < arguments.length - 2; r++) void 0 === arguments[r] && (n[r] = void 0);
                                        }),
                                   n
                              );
                         });
                    var rr = tr;
                    Pt({ target: "RegExp", proto: !0, forced: /./.exec !== rr }, { exec: rr });
                    var or = RegExp.prototype,
                         ar = or.toString,
                         sr = a(function () {
                              return "/a/b" != ar.call({ source: "a", flags: "b" });
                         }),
                         lr = "toString" != ar.name;
                    (sr || lr) &&
                         it(
                              RegExp.prototype,
                              "toString",
                              function () {
                                   var t = D(this),
                                        e = String(t.source),
                                        i = t.flags;
                                   return "/" + e + "/" + String(void 0 === i && t instanceof RegExp && !("flags" in or) ? $n.call(t) : i);
                              },
                              { unsafe: !0 }
                         );
                    var cr = Kt("match"),
                         ur = function (t) {
                              var e;
                              return y(t) && (void 0 !== (e = t[cr]) ? !!e : "RegExp" == p(t));
                         },
                         hr = function (t) {
                              if (ur(t)) throw TypeError("The method doesn't accept regular expressions");
                              return t;
                         },
                         dr = Kt("match");
                    Pt(
                         {
                              target: "String",
                              proto: !0,
                              forced: !(function (t) {
                                   var e = /./;
                                   try {
                                        "/./"[t](e);
                                   } catch (i) {
                                        try {
                                             return (e[dr] = !1), "/./"[t](e);
                                        } catch (t) {}
                                   }
                                   return !1;
                              })("includes"),
                         },
                         {
                              includes: function (t) {
                                   return !!~String(g(this)).indexOf(hr(t), arguments.length > 1 ? arguments[1] : void 0);
                              },
                         }
                    );
                    var pr = function (t) {
                              return function (e, i) {
                                   var n,
                                        r,
                                        o = String(g(e)),
                                        a = lt(i),
                                        s = o.length;
                                   return a < 0 || a >= s
                                        ? t
                                             ? ""
                                             : void 0
                                        : (n = o.charCodeAt(a)) < 55296 || n > 56319 || a + 1 === s || (r = o.charCodeAt(a + 1)) < 56320 || r > 57343
                                        ? t
                                             ? o.charAt(a)
                                             : n
                                        : t
                                        ? o.slice(a, a + 2)
                                        : r - 56320 + ((n - 55296) << 10) + 65536;
                              };
                         },
                         fr = { codeAt: pr(!1), charAt: pr(!0) },
                         mr = fr.charAt,
                         gr = et.set,
                         vr = et.getterFor("String Iterator");
                    ji(
                         String,
                         "String",
                         function (t) {
                              gr(this, { type: "String Iterator", string: String(t), index: 0 });
                         },
                         function () {
                              var t,
                                   e = vr(this),
                                   i = e.string,
                                   n = e.index;
                              return n >= i.length ? { value: void 0, done: !0 } : ((t = mr(i, n)), (e.index += t.length), { value: t, done: !1 });
                         }
                    );
                    var yr = Kt("species"),
                         br = !a(function () {
                              var t = /./;
                              return (
                                   (t.exec = function () {
                                        var t = [];
                                        return (t.groups = { a: "7" }), t;
                                   }),
                                   "7" !== "".replace(t, "$<a>")
                              );
                         }),
                         _r = "$0" === "a".replace(/./, "$0"),
                         xr = !a(function () {
                              var t = /(?:)/,
                                   e = t.exec;
                              t.exec = function () {
                                   return e.apply(this, arguments);
                              };
                              var i = "ab".split(t);
                              return 2 !== i.length || "a" !== i[0] || "b" !== i[1];
                         }),
                         wr = function (t, e, i, n) {
                              var r = Kt(t),
                                   o = !a(function () {
                                        var e = {};
                                        return (
                                             (e[r] = function () {
                                                  return 7;
                                             }),
                                             7 != ""[t](e)
                                        );
                                   }),
                                   s =
                                        o &&
                                        !a(function () {
                                             var e = !1,
                                                  i = /a/;
                                             return (
                                                  "split" === t &&
                                                       (((i = {}).constructor = {}),
                                                       (i.constructor[yr] = function () {
                                                            return i;
                                                       }),
                                                       (i.flags = ""),
                                                       (i[r] = /./[r])),
                                                  (i.exec = function () {
                                                       return (e = !0), null;
                                                  }),
                                                  i[r](""),
                                                  !e
                                             );
                                        });
                              if (!o || !s || ("replace" === t && (!br || !_r)) || ("split" === t && !xr)) {
                                   var l = /./[r],
                                        c = i(
                                             r,
                                             ""[t],
                                             function (t, e, i, n, r) {
                                                  return e.exec === rr ? (o && !r ? { done: !0, value: l.call(e, i, n) } : { done: !0, value: t.call(i, e, n) }) : { done: !1 };
                                             },
                                             { REPLACE_KEEPS_$0: _r }
                                        ),
                                        u = c[0],
                                        h = c[1];
                                   it(String.prototype, t, u),
                                        it(
                                             RegExp.prototype,
                                             r,
                                             2 == e
                                                  ? function (t, e) {
                                                         return h.call(t, this, e);
                                                    }
                                                  : function (t) {
                                                         return h.call(t, this);
                                                    }
                                        );
                              }
                              n && A(RegExp.prototype[r], "sham", !0);
                         },
                         kr = fr.charAt,
                         Sr = function (t, e, i) {
                              return e + (i ? kr(t, e).length : 1);
                         },
                         Mr = function (t, e) {
                              var i = t.exec;
                              if ("function" == typeof i) {
                                   var n = i.call(t, e);
                                   if ("object" != typeof n) throw TypeError("RegExp exec method returned something other than an Object or null");
                                   return n;
                              }
                              if ("RegExp" !== p(t)) throw TypeError("RegExp#exec called on incompatible receiver");
                              return rr.call(t, e);
                         },
                         Tr = Math.max,
                         Cr = Math.min,
                         Dr = Math.floor,
                         Lr = /\$([$&'`]|\d\d?|<[^>]*>)/g,
                         Er = /\$([$&'`]|\d\d?)/g;
                    wr("replace", 2, function (t, e, i, n) {
                         return [
                              function (i, n) {
                                   var r = g(this),
                                        o = null == i ? void 0 : i[t];
                                   return void 0 !== o ? o.call(i, r, n) : e.call(String(r), i, n);
                              },
                              function (t, o) {
                                   if (n.REPLACE_KEEPS_$0 || ("string" == typeof o && -1 === o.indexOf("$0"))) {
                                        var a = i(e, t, this, o);
                                        if (a.done) return a.value;
                                   }
                                   var s = D(t),
                                        l = String(this),
                                        c = "function" == typeof o;
                                   c || (o = String(o));
                                   var u = s.global;
                                   if (u) {
                                        var h = s.unicode;
                                        s.lastIndex = 0;
                                   }
                                   for (var d = []; ; ) {
                                        var p = Mr(s, l);
                                        if (null === p) break;
                                        if ((d.push(p), !u)) break;
                                        "" === String(p[0]) && (s.lastIndex = Sr(l, ut(s.lastIndex), h));
                                   }
                                   for (var f, m = "", g = 0, v = 0; v < d.length; v++) {
                                        p = d[v];
                                        for (var y = String(p[0]), b = Tr(Cr(lt(p.index), l.length), 0), _ = [], x = 1; x < p.length; x++) _.push(void 0 === (f = p[x]) ? f : String(f));
                                        var w = p.groups;
                                        if (c) {
                                             var k = [y].concat(_, b, l);
                                             void 0 !== w && k.push(w);
                                             var S = String(o.apply(void 0, k));
                                        } else S = r(y, l, b, _, w, o);
                                        b >= g && ((m += l.slice(g, b) + S), (g = b + y.length));
                                   }
                                   return m + l.slice(g);
                              },
                         ];
                         function r(t, i, n, r, o, a) {
                              var s = n + t.length,
                                   l = r.length,
                                   c = Er;
                              return (
                                   void 0 !== o && ((o = zt(o)), (c = Lr)),
                                   e.call(a, c, function (e, a) {
                                        var c;
                                        switch (a.charAt(0)) {
                                             case "$":
                                                  return "$";
                                             case "&":
                                                  return t;
                                             case "`":
                                                  return i.slice(0, n);
                                             case "'":
                                                  return i.slice(s);
                                             case "<":
                                                  c = o[a.slice(1, -1)];
                                                  break;
                                             default:
                                                  var u = +a;
                                                  if (0 === u) return e;
                                                  if (u > l) {
                                                       var h = Dr(u / 10);
                                                       return 0 === h ? e : h <= l ? (void 0 === r[h - 1] ? a.charAt(1) : r[h - 1] + a.charAt(1)) : e;
                                                  }
                                                  c = r[u - 1];
                                        }
                                        return void 0 === c ? "" : c;
                                   })
                              );
                         }
                    });
                    var Ar =
                         Object.is ||
                         function (t, e) {
                              return t === e ? 0 !== t || 1 / t == 1 / e : t != t && e != e;
                         };
                    wr("search", 1, function (t, e, i) {
                         return [
                              function (e) {
                                   var i = g(this),
                                        n = null == e ? void 0 : e[t];
                                   return void 0 !== n ? n.call(e, i) : new RegExp(e)[t](String(i));
                              },
                              function (t) {
                                   var n = i(e, t, this);
                                   if (n.done) return n.value;
                                   var r = D(t),
                                        o = String(this),
                                        a = r.lastIndex;
                                   Ar(a, 0) || (r.lastIndex = 0);
                                   var s = Mr(r, o);
                                   return Ar(r.lastIndex, a) || (r.lastIndex = a), null === s ? -1 : s.index;
                              },
                         ];
                    });
                    var Pr = Kt("species"),
                         Ir = [].push,
                         Or = Math.min,
                         Yr = !a(function () {
                              return !RegExp(4294967295, "y");
                         });
                    wr(
                         "split",
                         2,
                         function (t, e, i) {
                              var n;
                              return (
                                   (n =
                                        "c" == "abbc".split(/(b)*/)[1] ||
                                        4 != "test".split(/(?:)/, -1).length ||
                                        2 != "ab".split(/(?:ab)*/).length ||
                                        4 != ".".split(/(.?)(.?)/).length ||
                                        ".".split(/()()/).length > 1 ||
                                        "".split(/.?/).length
                                             ? function (t, i) {
                                                    var n = String(g(this)),
                                                         r = void 0 === i ? 4294967295 : i >>> 0;
                                                    if (0 === r) return [];
                                                    if (void 0 === t) return [n];
                                                    if (!ur(t)) return e.call(n, t, r);
                                                    for (
                                                         var o, a, s, l = [], c = (t.ignoreCase ? "i" : "") + (t.multiline ? "m" : "") + (t.unicode ? "u" : "") + (t.sticky ? "y" : ""), u = 0, h = new RegExp(t.source, c + "g");
                                                         (o = rr.call(h, n)) &&
                                                         !((a = h.lastIndex) > u && (l.push(n.slice(u, o.index)), o.length > 1 && o.index < n.length && Ir.apply(l, o.slice(1)), (s = o[0].length), (u = a), l.length >= r));

                                                    )
                                                         h.lastIndex === o.index && h.lastIndex++;
                                                    return u === n.length ? (!s && h.test("")) || l.push("") : l.push(n.slice(u)), l.length > r ? l.slice(0, r) : l;
                                               }
                                             : "0".split(void 0, 0).length
                                             ? function (t, i) {
                                                    return void 0 === t && 0 === i ? [] : e.call(this, t, i);
                                               }
                                             : e),
                                   [
                                        function (e, i) {
                                             var r = g(this),
                                                  o = null == e ? void 0 : e[t];
                                             return void 0 !== o ? o.call(e, r, i) : n.call(String(r), e, i);
                                        },
                                        function (t, r) {
                                             var o = i(n, t, this, r, n !== e);
                                             if (o.done) return o.value;
                                             var a = D(t),
                                                  s = String(this),
                                                  l = (function (t, e) {
                                                       var i,
                                                            n = D(t).constructor;
                                                       return void 0 === n || null == (i = D(n)[Pr]) ? e : oe(i);
                                                  })(a, RegExp),
                                                  c = a.unicode,
                                                  u = (a.ignoreCase ? "i" : "") + (a.multiline ? "m" : "") + (a.unicode ? "u" : "") + (Yr ? "y" : "g"),
                                                  h = new l(Yr ? a : "^(?:" + a.source + ")", u),
                                                  d = void 0 === r ? 4294967295 : r >>> 0;
                                             if (0 === d) return [];
                                             if (0 === s.length) return null === Mr(h, s) ? [s] : [];
                                             for (var p = 0, f = 0, m = []; f < s.length; ) {
                                                  h.lastIndex = Yr ? f : 0;
                                                  var g,
                                                       v = Mr(h, Yr ? s : s.slice(f));
                                                  if (null === v || (g = Or(ut(h.lastIndex + (Yr ? 0 : f)), s.length)) === p) f = Sr(s, f, c);
                                                  else {
                                                       if ((m.push(s.slice(p, f)), m.length === d)) return m;
                                                       for (var y = 1; y <= v.length - 1; y++) if ((m.push(v[y]), m.length === d)) return m;
                                                       f = p = g;
                                                  }
                                             }
                                             return m.push(s.slice(p)), m;
                                        },
                                   ]
                              );
                         },
                         !Yr
                    );
                    var zr = mn.trim;
                    Pt(
                         {
                              target: "String",
                              proto: !0,
                              forced: (function (t) {
                                   return a(function () {
                                        return !!un[t]() || "​᠎" != "​᠎"[t]() || un[t].name !== t;
                                   });
                              })("trim"),
                         },
                         {
                              trim: function () {
                                   return zr(this);
                              },
                         }
                    );
                    var Rr = {
                              CSSRuleList: 0,
                              CSSStyleDeclaration: 0,
                              CSSValueList: 0,
                              ClientRectList: 0,
                              DOMRectList: 0,
                              DOMStringList: 0,
                              DOMTokenList: 1,
                              DataTransferItemList: 0,
                              FileList: 0,
                              HTMLAllCollection: 0,
                              HTMLCollection: 0,
                              HTMLFormElement: 0,
                              HTMLSelectElement: 0,
                              MediaList: 0,
                              MimeTypeArray: 0,
                              NamedNodeMap: 0,
                              NodeList: 1,
                              PaintRequestList: 0,
                              Plugin: 0,
                              PluginArray: 0,
                              SVGLengthList: 0,
                              SVGNumberList: 0,
                              SVGPathSegList: 0,
                              SVGPointList: 0,
                              SVGStringList: 0,
                              SVGTransformList: 0,
                              SourceBufferList: 0,
                              StyleSheetList: 0,
                              TextTrackCueList: 0,
                              TextTrackList: 0,
                              TouchList: 0,
                         },
                         Fr = ue.forEach,
                         Hr = bi("forEach")
                              ? function (t) {
                                     return Fr(this, t, arguments.length > 1 ? arguments[1] : void 0);
                                }
                              : [].forEach;
                    for (var jr in Rr) {
                         var Nr = o[jr],
                              Br = Nr && Nr.prototype;
                         if (Br && Br.forEach !== Hr)
                              try {
                                   A(Br, "forEach", Hr);
                              } catch (t) {
                                   Br.forEach = Hr;
                              }
                    }
                    var Wr = Kt("iterator"),
                         Vr = Kt("toStringTag"),
                         Ur = Wi.values;
                    for (var qr in Rr) {
                         var $r = o[qr],
                              Xr = $r && $r.prototype;
                         if (Xr) {
                              if (Xr[Wr] !== Ur)
                                   try {
                                        A(Xr, Wr, Ur);
                                   } catch (t) {
                                        Xr[Wr] = Ur;
                                   }
                              if ((Xr[Vr] || A(Xr, Vr, qr), Rr[qr]))
                                   for (var Gr in Wi)
                                        if (Xr[Gr] !== Wi[Gr])
                                             try {
                                                  A(Xr, Gr, Wi[Gr]);
                                             } catch (t) {
                                                  Xr[Gr] = Wi[Gr];
                                             }
                         }
                    }
                    function Zr(t) {
                         return (Zr =
                              "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                   ? function (t) {
                                          return typeof t;
                                     }
                                   : function (t) {
                                          return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                     })(t);
                    }
                    function Jr(t, e) {
                         if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
                    }
                    function Kr(t, e) {
                         for (var i = 0; i < e.length; i++) {
                              var n = e[i];
                              (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                         }
                    }
                    function Qr(t, e, i) {
                         return e && Kr(t.prototype, e), i && Kr(t, i), t;
                    }
                    function to(t, e) {
                         return (
                              (function (t) {
                                   if (Array.isArray(t)) return t;
                              })(t) ||
                              (function (t, e) {
                                   if (Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t)) {
                                        var i = [],
                                             n = !0,
                                             r = !1,
                                             o = void 0;
                                        try {
                                             for (var a, s = t[Symbol.iterator](); !(n = (a = s.next()).done) && (i.push(a.value), !e || i.length !== e); n = !0);
                                        } catch (t) {
                                             (r = !0), (o = t);
                                        } finally {
                                             try {
                                                  n || null == s.return || s.return();
                                             } finally {
                                                  if (r) throw o;
                                             }
                                        }
                                        return i;
                                   }
                              })(t, e) ||
                              (function () {
                                   throw new TypeError("Invalid attempt to destructure non-iterable instance");
                              })()
                         );
                    }
                    function eo(t) {
                         return (
                              (function (t) {
                                   if (Array.isArray(t)) {
                                        for (var e = 0, i = new Array(t.length); e < t.length; e++) i[e] = t[e];
                                        return i;
                                   }
                              })(t) ||
                              (function (t) {
                                   if (Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t)) return Array.from(t);
                              })(t) ||
                              (function () {
                                   throw new TypeError("Invalid attempt to spread non-iterable instance");
                              })()
                         );
                    }
                    var io = 4;
                    try {
                         var no = t.fn.dropdown.Constructor.VERSION;
                         void 0 !== no && (io = parseInt(no, 10));
                    } catch (t) {}
                    var ro = {
                              3: {
                                   iconsPrefix: "glyphicon",
                                   icons: {
                                        paginationSwitchDown: "glyphicon-collapse-down icon-chevron-down",
                                        paginationSwitchUp: "glyphicon-collapse-up icon-chevron-up",
                                        refresh: "glyphicon-refresh icon-refresh",
                                        toggleOff: "glyphicon-list-alt icon-list-alt",
                                        toggleOn: "glyphicon-list-alt icon-list-alt",
                                        columns: "glyphicon-th icon-th",
                                        detailOpen: "glyphicon-plus icon-plus",
                                        detailClose: "glyphicon-minus icon-minus",
                                        fullscreen: "glyphicon-fullscreen",
                                        search: "glyphicon-search",
                                        clearSearch: "glyphicon-trash",
                                   },
                                   classes: {
                                        buttonsPrefix: "btn",
                                        buttons: "default",
                                        buttonsGroup: "btn-group",
                                        buttonsDropdown: "btn-group",
                                        pull: "pull",
                                        inputGroup: "input-group",
                                        inputPrefix: "input-",
                                        input: "form-control",
                                        paginationDropdown: "btn-group dropdown",
                                        dropup: "dropup",
                                        dropdownActive: "active",
                                        paginationActive: "active",
                                        buttonActive: "active",
                                   },
                                   html: {
                                        toolbarDropdown: ['<ul class="dropdown-menu" role="menu">', "</ul>"],
                                        toolbarDropdownItem: '<li class="dropdown-item-marker" role="menuitem"><label>%s</label></li>',
                                        toolbarDropdownSeparator: '<li class="divider"></li>',
                                        pageDropdown: ['<ul class="dropdown-menu" role="menu">', "</ul>"],
                                        pageDropdownItem: '<li role="menuitem" class="%s"><a href="#">%s</a></li>',
                                        dropdownCaret: '<span class="caret"></span>',
                                        pagination: ['<ul class="pagination%s">', "</ul>"],
                                        paginationItem: '<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>',
                                        icon: '<i class="%s %s"></i>',
                                        inputGroup: '<div class="input-group">%s<span class="input-group-btn">%s</span></div>',
                                        searchInput: '<input class="%s%s" type="text" placeholder="%s">',
                                        searchButton: '<button class="%s" type="button" name="search" title="%s">%s %s</button>',
                                        searchClearButton: '<button class="%s" type="button" name="clearSearch" title="%s">%s %s</button>',
                                   },
                              },
                              4: {
                                   iconsPrefix: "fa",
                                   icons: {
                                        paginationSwitchDown: "fa-caret-square-down",
                                        paginationSwitchUp: "fa-caret-square-up",
                                        refresh: "fa-sync",
                                        toggleOff: "fa-toggle-off",
                                        toggleOn: "fa-toggle-on",
                                        columns: "fa-th-list",
                                        detailOpen: "fa-plus",
                                        detailClose: "fa-minus",
                                        fullscreen: "fa-arrows-alt",
                                        search: "fa-search",
                                        clearSearch: "fa-trash",
                                   },
                                   classes: {
                                        buttonsPrefix: "btn",
                                        buttons: "secondary",
                                        buttonsGroup: "btn-group",
                                        buttonsDropdown: "btn-group",
                                        pull: "float",
                                        inputGroup: "btn-group",
                                        inputPrefix: "form-control-",
                                        input: "form-control",
                                        paginationDropdown: "btn-group dropdown",
                                        dropup: "dropup",
                                        dropdownActive: "active",
                                        paginationActive: "active",
                                        buttonActive: "active",
                                   },
                                   html: {
                                        toolbarDropdown: ['<div class="dropdown-menu dropdown-menu-right">', "</div>"],
                                        toolbarDropdownItem: '<label class="dropdown-item dropdown-item-marker">%s</label>',
                                        pageDropdown: ['<div class="dropdown-menu">', "</div>"],
                                        pageDropdownItem: '<a class="dropdown-item %s" href="#">%s</a>',
                                        toolbarDropdownSeparator: '<div class="dropdown-divider"></div>',
                                        dropdownCaret: '<span class="caret"></span>',
                                        pagination: ['<ul class="pagination%s">', "</ul>"],
                                        paginationItem: '<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>',
                                        icon: '<i class="%s %s"></i>',
                                        inputGroup: '<div class="input-group">%s<div class="input-group-append">%s</div></div>',
                                        searchInput: '<input class="%s%s" type="text" placeholder="%s">',
                                        searchButton: '<button class="%s" type="button" name="search" title="%s">%s %s</button>',
                                        searchClearButton: '<button class="%s" type="button" name="clearSearch" title="%s">%s %s</button>',
                                   },
                              },
                         }[io],
                         oo = {
                              height: void 0,
                              classes: "table table-bordered table-hover",
                              theadClasses: "",
                              headerStyle: function (t) {
                                   return {};
                              },
                              rowStyle: function (t, e) {
                                   return {};
                              },
                              rowAttributes: function (t, e) {
                                   return {};
                              },
                              undefinedText: "-",
                              locale: void 0,
                              virtualScroll: !1,
                              virtualScrollItemHeight: void 0,
                              sortable: !0,
                              sortClass: void 0,
                              silentSort: !0,
                              sortName: void 0,
                              sortOrder: "asc",
                              sortStable: !1,
                              rememberOrder: !1,
                              serverSort: !0,
                              customSort: void 0,
                              columns: [[]],
                              data: [],
                              url: void 0,
                              method: "get",
                              cache: !0,
                              contentType: "application/json",
                              dataType: "json",
                              ajax: void 0,
                              ajaxOptions: {},
                              queryParams: function (t) {
                                   return t;
                              },
                              queryParamsType: "limit",
                              responseHandler: function (t) {
                                   return t;
                              },
                              totalField: "total",
                              totalNotFilteredField: "totalNotFiltered",
                              dataField: "rows",
                              pagination: !1,
                              onlyInfoPagination: !1,
                              showExtendedPagination: !1,
                              paginationLoop: !0,
                              sidePagination: "client",
                              totalRows: 0,
                              totalNotFiltered: 0,
                              pageNumber: 1,
                              pageSize: 10,
                              pageList: [10, 25, 50, 100],
                              paginationHAlign: "right",
                              paginationVAlign: "bottom",
                              paginationDetailHAlign: "left",
                              paginationPreText: "&lsaquo;",
                              paginationNextText: "&rsaquo;",
                              paginationSuccessivelySize: 5,
                              paginationPagesBySide: 1,
                              paginationUseIntermediate: !1,
                              search: !1,
                              searchOnEnterKey: !1,
                              strictSearch: !1,
                              visibleSearch: !1,
                              showButtonIcons: !0,
                              showButtonText: !1,
                              showSearchButton: !1,
                              showSearchClearButton: !1,
                              trimOnSearch: !0,
                              searchAlign: "right",
                              searchTimeOut: 500,
                              searchText: "",
                              customSearch: void 0,
                              showHeader: !0,
                              showFooter: !1,
                              footerStyle: function (t) {
                                   return {};
                              },
                              showColumns: !1,
                              showColumnsToggleAll: !1,
                              showColumnsSearch: !1,
                              minimumCountColumns: 1,
                              showPaginationSwitch: !1,
                              showRefresh: !1,
                              showToggle: !1,
                              showFullscreen: !1,
                              smartDisplay: !0,
                              escape: !1,
                              filterOptions: { filterAlgorithm: "and" },
                              idField: void 0,
                              selectItemName: "btSelectItem",
                              clickToSelect: !1,
                              ignoreClickToSelectOn: function (t) {
                                   var e = t.tagName;
                                   return ["A", "BUTTON"].includes(e);
                              },
                              singleSelect: !1,
                              checkboxHeader: !0,
                              maintainMetaData: !1,
                              multipleSelectRow: !1,
                              uniqueId: void 0,
                              cardView: !1,
                              detailView: !1,
                              detailViewIcon: !0,
                              detailViewByClick: !1,
                              detailFormatter: function (t, e) {
                                   return "";
                              },
                              detailFilter: function (t, e) {
                                   return !0;
                              },
                              toolbar: void 0,
                              toolbarAlign: "left",
                              buttonsToolbar: void 0,
                              buttonsAlign: "right",
                              buttonsOrder: ["paginationSwitch", "refresh", "toggle", "fullscreen", "columns"],
                              buttonsPrefix: ro.classes.buttonsPrefix,
                              buttonsClass: ro.classes.buttons,
                              icons: ro.icons,
                              html: ro.html,
                              iconSize: void 0,
                              iconsPrefix: ro.iconsPrefix,
                              onAll: function (t, e) {
                                   return !1;
                              },
                              onClickCell: function (t, e, i, n) {
                                   return !1;
                              },
                              onDblClickCell: function (t, e, i, n) {
                                   return !1;
                              },
                              onClickRow: function (t, e) {
                                   return !1;
                              },
                              onDblClickRow: function (t, e) {
                                   return !1;
                              },
                              onSort: function (t, e) {
                                   return !1;
                              },
                              onCheck: function (t) {
                                   return !1;
                              },
                              onUncheck: function (t) {
                                   return !1;
                              },
                              onCheckAll: function (t) {
                                   return !1;
                              },
                              onUncheckAll: function (t) {
                                   return !1;
                              },
                              onCheckSome: function (t) {
                                   return !1;
                              },
                              onUncheckSome: function (t) {
                                   return !1;
                              },
                              onLoadSuccess: function (t) {
                                   return !1;
                              },
                              onLoadError: function (t) {
                                   return !1;
                              },
                              onColumnSwitch: function (t, e) {
                                   return !1;
                              },
                              onPageChange: function (t, e) {
                                   return !1;
                              },
                              onSearch: function (t) {
                                   return !1;
                              },
                              onToggle: function (t) {
                                   return !1;
                              },
                              onPreBody: function (t) {
                                   return !1;
                              },
                              onPostBody: function () {
                                   return !1;
                              },
                              onPostHeader: function () {
                                   return !1;
                              },
                              onPostFooter: function () {
                                   return !1;
                              },
                              onExpandRow: function (t, e, i) {
                                   return !1;
                              },
                              onCollapseRow: function (t, e) {
                                   return !1;
                              },
                              onRefreshOptions: function (t) {
                                   return !1;
                              },
                              onRefresh: function (t) {
                                   return !1;
                              },
                              onResetView: function () {
                                   return !1;
                              },
                              onScrollBody: function () {
                                   return !1;
                              },
                         },
                         ao = {
                              formatLoadingMessage: function () {
                                   return "Loading, please wait";
                              },
                              formatRecordsPerPage: function (t) {
                                   return "".concat(t, " rows per page");
                              },
                              formatShowingRows: function (t, e, i, n) {
                                   return void 0 !== n && n > 0 && n > i
                                        ? "Showing ".concat(t, " to ").concat(e, " of ").concat(i, " rows (filtered from ").concat(n, " total rows)")
                                        : "Showing ".concat(t, " to ").concat(e, " of ").concat(i, " rows");
                              },
                              formatSRPaginationPreText: function () {
                                   return "previous page";
                              },
                              formatSRPaginationPageText: function (t) {
                                   return "to page ".concat(t);
                              },
                              formatSRPaginationNextText: function () {
                                   return "next page";
                              },
                              formatDetailPagination: function (t) {
                                   return "Showing ".concat(t, " rows");
                              },
                              formatSearch: function () {
                                   return "Search";
                              },
                              formatClearSearch: function () {
                                   return "Clear Search";
                              },
                              formatNoMatches: function () {
                                   return "No matching records found";
                              },
                              formatPaginationSwitch: function () {
                                   return "Hide/Show pagination";
                              },
                              formatPaginationSwitchDown: function () {
                                   return "Show pagination";
                              },
                              formatPaginationSwitchUp: function () {
                                   return "Hide pagination";
                              },
                              formatRefresh: function () {
                                   return "Refresh";
                              },
                              formatToggle: function () {
                                   return "Toggle";
                              },
                              formatToggleOn: function () {
                                   return "Show card view";
                              },
                              formatToggleOff: function () {
                                   return "Hide card view";
                              },
                              formatColumns: function () {
                                   return "Columns";
                              },
                              formatColumnsToggleAll: function () {
                                   return "Toggle all";
                              },
                              formatFullscreen: function () {
                                   return "Fullscreen";
                              },
                              formatAllRows: function () {
                                   return "All";
                              },
                         };
                    Object.assign(oo, ao);
                    var so = {
                              VERSION: "1.16.0",
                              THEME: "bootstrap".concat(io),
                              CONSTANTS: ro,
                              DEFAULTS: oo,
                              COLUMN_DEFAULTS: {
                                   field: void 0,
                                   title: void 0,
                                   titleTooltip: void 0,
                                   class: void 0,
                                   width: void 0,
                                   widthUnit: "px",
                                   rowspan: void 0,
                                   colspan: void 0,
                                   align: void 0,
                                   halign: void 0,
                                   falign: void 0,
                                   valign: void 0,
                                   cellStyle: void 0,
                                   radio: !1,
                                   checkbox: !1,
                                   checkboxEnabled: !0,
                                   clickToSelect: !0,
                                   showSelectTitle: !1,
                                   sortable: !1,
                                   sortName: void 0,
                                   order: "asc",
                                   sorter: void 0,
                                   visible: !0,
                                   switchable: !0,
                                   cardVisible: !0,
                                   searchable: !0,
                                   formatter: void 0,
                                   footerFormatter: void 0,
                                   detailFormatter: void 0,
                                   searchFormatter: !0,
                                   escape: !1,
                                   events: void 0,
                              },
                              METHODS: [
                                   "getOptions",
                                   "refreshOptions",
                                   "getData",
                                   "getSelections",
                                   "getAllSelections",
                                   "load",
                                   "append",
                                   "prepend",
                                   "remove",
                                   "removeAll",
                                   "insertRow",
                                   "updateRow",
                                   "getRowByUniqueId",
                                   "updateByUniqueId",
                                   "removeByUniqueId",
                                   "updateCell",
                                   "updateCellByUniqueId",
                                   "showRow",
                                   "hideRow",
                                   "getHiddenRows",
                                   "showColumn",
                                   "hideColumn",
                                   "getVisibleColumns",
                                   "getHiddenColumns",
                                   "showAllColumns",
                                   "hideAllColumns",
                                   "mergeCells",
                                   "checkAll",
                                   "uncheckAll",
                                   "checkInvert",
                                   "check",
                                   "uncheck",
                                   "checkBy",
                                   "uncheckBy",
                                   "refresh",
                                   "destroy",
                                   "resetView",
                                   "showLoading",
                                   "hideLoading",
                                   "togglePagination",
                                   "toggleFullscreen",
                                   "toggleView",
                                   "resetSearch",
                                   "filterBy",
                                   "scrollTo",
                                   "getScrollPosition",
                                   "selectPage",
                                   "prevPage",
                                   "nextPage",
                                   "toggleDetailView",
                                   "expandRow",
                                   "collapseRow",
                                   "expandAllRows",
                                   "collapseAllRows",
                                   "updateColumnTitle",
                                   "updateFormatText",
                              ],
                              EVENTS: {
                                   "all.bs.table": "onAll",
                                   "click-row.bs.table": "onClickRow",
                                   "dbl-click-row.bs.table": "onDblClickRow",
                                   "click-cell.bs.table": "onClickCell",
                                   "dbl-click-cell.bs.table": "onDblClickCell",
                                   "sort.bs.table": "onSort",
                                   "check.bs.table": "onCheck",
                                   "uncheck.bs.table": "onUncheck",
                                   "check-all.bs.table": "onCheckAll",
                                   "uncheck-all.bs.table": "onUncheckAll",
                                   "check-some.bs.table": "onCheckSome",
                                   "uncheck-some.bs.table": "onUncheckSome",
                                   "load-success.bs.table": "onLoadSuccess",
                                   "load-error.bs.table": "onLoadError",
                                   "column-switch.bs.table": "onColumnSwitch",
                                   "page-change.bs.table": "onPageChange",
                                   "search.bs.table": "onSearch",
                                   "toggle.bs.table": "onToggle",
                                   "pre-body.bs.table": "onPreBody",
                                   "post-body.bs.table": "onPostBody",
                                   "post-header.bs.table": "onPostHeader",
                                   "post-footer.bs.table": "onPostFooter",
                                   "expand-row.bs.table": "onExpandRow",
                                   "collapse-row.bs.table": "onCollapseRow",
                                   "refresh-options.bs.table": "onRefreshOptions",
                                   "reset-view.bs.table": "onResetView",
                                   "refresh.bs.table": "onRefresh",
                                   "scroll-body.bs.table": "onScrollBody",
                              },
                              LOCALES: { en: ao, "en-US": ao },
                         },
                         lo = a(function () {
                              Rt(1);
                         });
                    Pt(
                         { target: "Object", stat: !0, forced: lo },
                         {
                              keys: function (t) {
                                   return Rt(zt(t));
                              },
                         }
                    );
                    var co = {
                              sprintf: function (t) {
                                   for (var e = arguments.length, i = new Array(e > 1 ? e - 1 : 0), n = 1; n < e; n++) i[n - 1] = arguments[n];
                                   var r = !0,
                                        o = 0,
                                        a = t.replace(/%s/g, function () {
                                             var t = i[o++];
                                             return void 0 === t ? ((r = !1), "") : t;
                                        });
                                   return r ? a : "";
                              },
                              isEmptyObject: function () {
                                   var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                                   return 0 === Object.entries(t).length && t.constructor === Object;
                              },
                              isNumeric: function (t) {
                                   return !isNaN(parseFloat(t)) && isFinite(t);
                              },
                              getFieldTitle: function (t, e) {
                                   var i = !0,
                                        n = !1,
                                        r = void 0;
                                   try {
                                        for (var o, a = t[Symbol.iterator](); !(i = (o = a.next()).done); i = !0) {
                                             var s = o.value;
                                             if (s.field === e) return s.title;
                                        }
                                   } catch (t) {
                                        (n = !0), (r = t);
                                   } finally {
                                        try {
                                             i || null == a.return || a.return();
                                        } finally {
                                             if (n) throw r;
                                        }
                                   }
                                   return "";
                              },
                              setFieldIndex: function (t) {
                                   var e = 0,
                                        i = [],
                                        n = !0,
                                        r = !1,
                                        o = void 0;
                                   try {
                                        for (var a, s = t[0][Symbol.iterator](); !(n = (a = s.next()).done); n = !0) e += a.value.colspan || 1;
                                   } catch (t) {
                                        (r = !0), (o = t);
                                   } finally {
                                        try {
                                             n || null == s.return || s.return();
                                        } finally {
                                             if (r) throw o;
                                        }
                                   }
                                   for (var l = 0; l < t.length; l++) {
                                        i[l] = [];
                                        for (var c = 0; c < e; c++) i[l][c] = !1;
                                   }
                                   for (var u = 0; u < t.length; u++) {
                                        var h = !0,
                                             d = !1,
                                             p = void 0;
                                        try {
                                             for (var f, m = t[u][Symbol.iterator](); !(h = (f = m.next()).done); h = !0) {
                                                  var g = f.value,
                                                       v = g.rowspan || 1,
                                                       y = g.colspan || 1,
                                                       b = i[u].indexOf(!1);
                                                  (g.colspanIndex = b), 1 === y ? ((g.fieldIndex = b), void 0 === g.field && (g.field = b)) : (g.colspanGroup = g.colspan);
                                                  for (var _ = 0; _ < v; _++) i[u + _][b] = !0;
                                                  for (var x = 0; x < y; x++) i[u][b + x] = !0;
                                             }
                                        } catch (t) {
                                             (d = !0), (p = t);
                                        } finally {
                                             try {
                                                  h || null == m.return || m.return();
                                             } finally {
                                                  if (d) throw p;
                                             }
                                        }
                                   }
                              },
                              updateFieldGroup: function (t) {
                                   var e,
                                        i = (e = []).concat.apply(e, eo(t)),
                                        n = !0,
                                        r = !1,
                                        o = void 0;
                                   try {
                                        for (var a, s = t[Symbol.iterator](); !(n = (a = s.next()).done); n = !0) {
                                             var l = a.value,
                                                  c = !0,
                                                  u = !1,
                                                  h = void 0;
                                             try {
                                                  for (var d, p = l[Symbol.iterator](); !(c = (d = p.next()).done); c = !0) {
                                                       var f = d.value;
                                                       if (f.colspanGroup > 1) {
                                                            for (
                                                                 var m = 0,
                                                                      g = function (t) {
                                                                           i.find(function (e) {
                                                                                return e.fieldIndex === t;
                                                                           }).visible && m++;
                                                                      },
                                                                      v = f.colspanIndex;
                                                                 v < f.colspanIndex + f.colspanGroup;
                                                                 v++
                                                            )
                                                                 g(v);
                                                            (f.colspan = m), (f.visible = m > 0);
                                                       }
                                                  }
                                             } catch (t) {
                                                  (u = !0), (h = t);
                                             } finally {
                                                  try {
                                                       c || null == p.return || p.return();
                                                  } finally {
                                                       if (u) throw h;
                                                  }
                                             }
                                        }
                                   } catch (t) {
                                        (r = !0), (o = t);
                                   } finally {
                                        try {
                                             n || null == s.return || s.return();
                                        } finally {
                                             if (r) throw o;
                                        }
                                   }
                              },
                              getScrollBarWidth: function () {
                                   if (void 0 === this.cachedWidth) {
                                        var e = t("<div/>").addClass("fixed-table-scroll-inner"),
                                             i = t("<div/>").addClass("fixed-table-scroll-outer");
                                        i.append(e), t("body").append(i);
                                        var n = e[0].offsetWidth;
                                        i.css("overflow", "scroll");
                                        var r = e[0].offsetWidth;
                                        n === r && (r = i[0].clientWidth), i.remove(), (this.cachedWidth = n - r);
                                   }
                                   return this.cachedWidth;
                              },
                              calculateObjectValue: function (t, e, i, n) {
                                   var r = e;
                                   if ("string" == typeof e) {
                                        var o = e.split(".");
                                        if (o.length > 1) {
                                             r = window;
                                             var a = !0,
                                                  s = !1,
                                                  l = void 0;
                                             try {
                                                  for (var c, u = o[Symbol.iterator](); !(a = (c = u.next()).done); a = !0) r = r[c.value];
                                             } catch (t) {
                                                  (s = !0), (l = t);
                                             } finally {
                                                  try {
                                                       a || null == u.return || u.return();
                                                  } finally {
                                                       if (s) throw l;
                                                  }
                                             }
                                        } else r = window[e];
                                   }
                                   return null !== r && "object" === Zr(r)
                                        ? r
                                        : "function" == typeof r
                                        ? r.apply(t, i || [])
                                        : !r && "string" == typeof e && this.sprintf.apply(this, [e].concat(eo(i)))
                                        ? this.sprintf.apply(this, [e].concat(eo(i)))
                                        : n;
                              },
                              compareObjects: function (t, e, i) {
                                   var n = Object.keys(t),
                                        r = Object.keys(e);
                                   if (i && n.length !== r.length) return !1;
                                   for (var o = 0, a = n; o < a.length; o++) {
                                        var s = a[o];
                                        if (r.includes(s) && t[s] !== e[s]) return !1;
                                   }
                                   return !0;
                              },
                              escapeHTML: function (t) {
                                   return "string" == typeof t ? t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;").replace(/`/g, "&#x60;") : t;
                              },
                              getRealDataAttr: function (t) {
                                   for (var e = 0, i = Object.entries(t); e < i.length; e++) {
                                        var n = to(i[e], 2),
                                             r = n[0],
                                             o = n[1],
                                             a = r
                                                  .split(/(?=[A-Z])/)
                                                  .join("-")
                                                  .toLowerCase();
                                        a !== r && ((t[a] = o), delete t[r]);
                                   }
                                   return t;
                              },
                              getItemField: function (t, e, i) {
                                   var n = t;
                                   if ("string" != typeof e || t.hasOwnProperty(e)) return i ? this.escapeHTML(t[e]) : t[e];
                                   var r = e.split("."),
                                        o = !0,
                                        a = !1,
                                        s = void 0;
                                   try {
                                        for (var l, c = r[Symbol.iterator](); !(o = (l = c.next()).done); o = !0) {
                                             var u = l.value;
                                             n = n && n[u];
                                        }
                                   } catch (t) {
                                        (a = !0), (s = t);
                                   } finally {
                                        try {
                                             o || null == c.return || c.return();
                                        } finally {
                                             if (a) throw s;
                                        }
                                   }
                                   return i ? this.escapeHTML(n) : n;
                              },
                              isIEBrowser: function () {
                                   return navigator.userAgent.includes("MSIE ") || /Trident.*rv:11\./.test(navigator.userAgent);
                              },
                              findIndex: function (t, e) {
                                   var i = !0,
                                        n = !1,
                                        r = void 0;
                                   try {
                                        for (var o, a = t[Symbol.iterator](); !(i = (o = a.next()).done); i = !0) {
                                             var s = o.value;
                                             if (JSON.stringify(s) === JSON.stringify(e)) return t.indexOf(s);
                                        }
                                   } catch (t) {
                                        (n = !0), (r = t);
                                   } finally {
                                        try {
                                             i || null == a.return || a.return();
                                        } finally {
                                             if (n) throw r;
                                        }
                                   }
                                   return -1;
                              },
                              trToData: function (e, i) {
                                   var n = this,
                                        r = [],
                                        o = [];
                                   return (
                                        i.each(function (i, a) {
                                             var s = {};
                                             (s._id = t(a).attr("id")),
                                                  (s._class = t(a).attr("class")),
                                                  (s._data = n.getRealDataAttr(t(a).data())),
                                                  t(a)
                                                       .find(">td,>th")
                                                       .each(function (r, a) {
                                                            for (var l = +t(a).attr("colspan") || 1, c = +t(a).attr("rowspan") || 1, u = r; o[i] && o[i][u]; u++);
                                                            for (var h = u; h < u + l; h++) for (var d = i; d < i + c; d++) o[d] || (o[d] = []), (o[d][h] = !0);
                                                            var p = e[u].field;
                                                            (s[p] = t(a).html().trim()),
                                                                 (s["_".concat(p, "_id")] = t(a).attr("id")),
                                                                 (s["_".concat(p, "_class")] = t(a).attr("class")),
                                                                 (s["_".concat(p, "_rowspan")] = t(a).attr("rowspan")),
                                                                 (s["_".concat(p, "_colspan")] = t(a).attr("colspan")),
                                                                 (s["_".concat(p, "_title")] = t(a).attr("title")),
                                                                 (s["_".concat(p, "_data")] = n.getRealDataAttr(t(a).data()));
                                                       }),
                                                  r.push(s);
                                        }),
                                        r
                                   );
                              },
                              sort: function (t, e, i, n, r, o) {
                                   return (
                                        null == t && (t = ""),
                                        null == e && (e = ""),
                                        n && t === e && ((t = r), (e = o)),
                                        this.isNumeric(t) && this.isNumeric(e)
                                             ? (t = parseFloat(t)) < (e = parseFloat(e))
                                                  ? -1 * i
                                                  : t > e
                                                  ? i
                                                  : 0
                                             : t === e
                                             ? 0
                                             : ("string" != typeof t && (t = t.toString()), -1 === t.localeCompare(e) ? -1 * i : i)
                                   );
                              },
                              getResizeEventName: function () {
                                   var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
                                   return (t = t || "".concat(+new Date()).concat(~~(1e6 * Math.random()))), "resize.bootstrap-table-".concat(t);
                              },
                         },
                         uo = (function () {
                              function t(e) {
                                   var i = this;
                                   Jr(this, t),
                                        (this.rows = e.rows),
                                        (this.scrollEl = e.scrollEl),
                                        (this.contentEl = e.contentEl),
                                        (this.callback = e.callback),
                                        (this.itemHeight = e.itemHeight),
                                        (this.cache = {}),
                                        (this.scrollTop = this.scrollEl.scrollTop),
                                        this.initDOM(this.rows, e.fixedScroll),
                                        (this.scrollEl.scrollTop = this.scrollTop),
                                        (this.lastCluster = 0);
                                   var n = function () {
                                        i.lastCluster !== (i.lastCluster = i.getNum()) && (i.initDOM(i.rows), i.callback());
                                   };
                                   this.scrollEl.addEventListener("scroll", n, !1),
                                        (this.destroy = function () {
                                             (i.contentEl.innerHtml = ""), i.scrollEl.removeEventListener("scroll", n, !1);
                                        });
                              }
                              return (
                                   Qr(t, [
                                        {
                                             key: "initDOM",
                                             value: function (t, e) {
                                                  void 0 === this.clusterHeight && ((this.cache.scrollTop = this.scrollEl.scrollTop), (this.cache.data = this.contentEl.innerHTML = t[0] + t[0] + t[0]), this.getRowsHeight(t));
                                                  var i = this.initData(t, this.getNum(e)),
                                                       n = i.rows.join(""),
                                                       r = this.checkChanges("data", n),
                                                       o = this.checkChanges("top", i.topOffset),
                                                       a = this.checkChanges("bottom", i.bottomOffset),
                                                       s = [];
                                                  r && o
                                                       ? (i.topOffset && s.push(this.getExtra("top", i.topOffset)),
                                                         s.push(n),
                                                         i.bottomOffset && s.push(this.getExtra("bottom", i.bottomOffset)),
                                                         (this.contentEl.innerHTML = s.join("")),
                                                         e && (this.contentEl.scrollTop = this.cache.scrollTop))
                                                       : a && (this.contentEl.lastChild.style.height = "".concat(i.bottomOffset, "px"));
                                             },
                                        },
                                        {
                                             key: "getRowsHeight",
                                             value: function () {
                                                  if (void 0 === this.itemHeight) {
                                                       var t = this.contentEl.children,
                                                            e = t[Math.floor(t.length / 2)];
                                                       this.itemHeight = e.offsetHeight;
                                                  }
                                                  (this.blockHeight = 50 * this.itemHeight), (this.clusterRows = 200), (this.clusterHeight = 4 * this.blockHeight);
                                             },
                                        },
                                        {
                                             key: "getNum",
                                             value: function (t) {
                                                  return (this.scrollTop = t ? this.cache.scrollTop : this.scrollEl.scrollTop), Math.floor(this.scrollTop / (this.clusterHeight - this.blockHeight)) || 0;
                                             },
                                        },
                                        {
                                             key: "initData",
                                             value: function (t, e) {
                                                  if (t.length < 50) return { topOffset: 0, bottomOffset: 0, rowsAbove: 0, rows: t };
                                                  var i = Math.max((this.clusterRows - 50) * e, 0),
                                                       n = i + this.clusterRows,
                                                       r = Math.max(i * this.itemHeight, 0),
                                                       o = Math.max((t.length - n) * this.itemHeight, 0),
                                                       a = [],
                                                       s = i;
                                                  r < 1 && s++;
                                                  for (var l = i; l < n; l++) t[l] && a.push(t[l]);
                                                  return { topOffset: r, bottomOffset: o, rowsAbove: s, rows: a };
                                             },
                                        },
                                        {
                                             key: "checkChanges",
                                             value: function (t, e) {
                                                  var i = e !== this.cache[t];
                                                  return (this.cache[t] = e), i;
                                             },
                                        },
                                        {
                                             key: "getExtra",
                                             value: function (t, e) {
                                                  var i = document.createElement("tr");
                                                  return (i.className = "virtual-scroll-".concat(t)), e && (i.style.height = "".concat(e, "px")), i.outerHTML;
                                             },
                                        },
                                   ]),
                                   t
                              );
                         })(),
                         ho = (function () {
                              function e(i, n) {
                                   Jr(this, e), (this.options = n), (this.$el = t(i)), (this.$el_ = this.$el.clone()), (this.timeoutId_ = 0), (this.timeoutFooter_ = 0), this.init();
                              }
                              return (
                                   Qr(e, [
                                        {
                                             key: "init",
                                             value: function () {
                                                  this.initConstants(),
                                                       this.initLocale(),
                                                       this.initContainer(),
                                                       this.initTable(),
                                                       this.initHeader(),
                                                       this.initData(),
                                                       this.initHiddenRows(),
                                                       this.initToolbar(),
                                                       this.initPagination(),
                                                       this.initBody(),
                                                       this.initSearchText(),
                                                       this.initServer();
                                             },
                                        },
                                        {
                                             key: "initConstants",
                                             value: function () {
                                                  var e = this.options;
                                                  (this.constants = so.CONSTANTS), (this.constants.theme = t.fn.bootstrapTable.theme);
                                                  var i = e.buttonsPrefix ? "".concat(e.buttonsPrefix, "-") : "";
                                                  this.constants.buttonsClass = [e.buttonsPrefix, i + e.buttonsClass, co.sprintf("".concat(i, "%s"), e.iconSize)].join(" ").trim();
                                             },
                                        },
                                        {
                                             key: "initLocale",
                                             value: function () {
                                                  if (this.options.locale) {
                                                       var e = t.fn.bootstrapTable.locales,
                                                            i = this.options.locale.split(/-|_/);
                                                       (i[0] = i[0].toLowerCase()),
                                                            i[1] && (i[1] = i[1].toUpperCase()),
                                                            e[this.options.locale] ? t.extend(this.options, e[this.options.locale]) : e[i.join("-")] ? t.extend(this.options, e[i.join("-")]) : e[i[0]] && t.extend(this.options, e[i[0]]);
                                                  }
                                             },
                                        },
                                        {
                                             key: "initContainer",
                                             value: function () {
                                                  var e = ["top", "both"].includes(this.options.paginationVAlign) ? '<div class="fixed-table-pagination clearfix"></div>' : "",
                                                       i = ["bottom", "both"].includes(this.options.paginationVAlign) ? '<div class="fixed-table-pagination"></div>' : "";
                                                  (this.$container = t(
                                                       '\n      <div class="bootstrap-table '
                                                            .concat(this.constants.theme, '">\n      <div class="fixed-table-toolbar"></div>\n      ')
                                                            .concat(
                                                                 e,
                                                                 '\n      <div class="fixed-table-container">\n      <div class="fixed-table-header"><table></table></div>\n      <div class="fixed-table-body">\n      <div class="fixed-table-loading">\n      <span class="loading-wrap">\n      <span class="loading-text">'
                                                            )
                                                            .concat(
                                                                 this.options.formatLoadingMessage(),
                                                                 '</span>\n      <span class="animation-wrap"><span class="animation-dot"></span></span>\n      </span>\n      </div>\n      </div>\n      <div class="fixed-table-footer"><table><thead><tr></tr></thead></table></div>\n      </div>\n      '
                                                            )
                                                            .concat(i, "\n      </div>\n    ")
                                                  )),
                                                       this.$container.insertAfter(this.$el),
                                                       (this.$tableContainer = this.$container.find(".fixed-table-container")),
                                                       (this.$tableHeader = this.$container.find(".fixed-table-header")),
                                                       (this.$tableBody = this.$container.find(".fixed-table-body")),
                                                       (this.$tableLoading = this.$container.find(".fixed-table-loading")),
                                                       (this.$tableFooter = this.$el.find("tfoot")),
                                                       this.options.buttonsToolbar ? (this.$toolbar = t("body").find(this.options.buttonsToolbar)) : (this.$toolbar = this.$container.find(".fixed-table-toolbar")),
                                                       (this.$pagination = this.$container.find(".fixed-table-pagination")),
                                                       this.$tableBody.append(this.$el),
                                                       this.$container.after('<div class="clearfix"></div>'),
                                                       this.$el.addClass(this.options.classes),
                                                       this.$tableLoading.addClass(this.options.classes),
                                                       this.options.height &&
                                                            (this.$tableContainer.addClass("fixed-height"),
                                                            this.options.showFooter && this.$tableContainer.addClass("has-footer"),
                                                            this.options.classes.split(" ").includes("table-bordered") &&
                                                                 (this.$tableBody.append('<div class="fixed-table-border"></div>'),
                                                                 (this.$tableBorder = this.$tableBody.find(".fixed-table-border")),
                                                                 this.$tableLoading.addClass("fixed-table-border")),
                                                            (this.$tableFooter = this.$container.find(".fixed-table-footer")));
                                             },
                                        },
                                        {
                                             key: "initTable",
                                             value: function () {
                                                  var i = this,
                                                       n = [];
                                                  (this.$header = this.$el.find(">thead")),
                                                       this.$header.length
                                                            ? this.options.theadClasses && this.$header.addClass(this.options.theadClasses)
                                                            : (this.$header = t('<thead class="'.concat(this.options.theadClasses, '"></thead>')).appendTo(this.$el)),
                                                       this.$header.find("tr").each(function (e, i) {
                                                            var r = [];
                                                            t(i)
                                                                 .find("th")
                                                                 .each(function (e, i) {
                                                                      void 0 !== t(i).data("field") && t(i).data("field", "".concat(t(i).data("field"))),
                                                                           r.push(
                                                                                t.extend(
                                                                                     {},
                                                                                     {
                                                                                          title: t(i).html(),
                                                                                          class: t(i).attr("class"),
                                                                                          titleTooltip: t(i).attr("title"),
                                                                                          rowspan: t(i).attr("rowspan") ? +t(i).attr("rowspan") : void 0,
                                                                                          colspan: t(i).attr("colspan") ? +t(i).attr("colspan") : void 0,
                                                                                     },
                                                                                     t(i).data()
                                                                                )
                                                                           );
                                                                 }),
                                                                 n.push(r);
                                                       }),
                                                       Array.isArray(this.options.columns[0]) || (this.options.columns = [this.options.columns]),
                                                       (this.options.columns = t.extend(!0, [], n, this.options.columns)),
                                                       (this.columns = []),
                                                       (this.fieldsColumnsIndex = []),
                                                       co.setFieldIndex(this.options.columns),
                                                       this.options.columns.forEach(function (n, r) {
                                                            n.forEach(function (n, o) {
                                                                 var a = t.extend({}, e.COLUMN_DEFAULTS, n);
                                                                 void 0 !== a.fieldIndex && ((i.columns[a.fieldIndex] = a), (i.fieldsColumnsIndex[a.field] = a.fieldIndex)), (i.options.columns[r][o] = a);
                                                            });
                                                       }),
                                                       this.options.data.length || ((this.options.data = co.trToData(this.columns, this.$el.find(">tbody>tr"))), this.options.data.length && (this.fromHtml = !0)),
                                                       (this.footerData = co.trToData(this.columns, this.$el.find(">tfoot>tr"))),
                                                       this.footerData && this.$el.find("tfoot").html("<tr></tr>"),
                                                       !this.options.showFooter || this.options.cardView ? this.$tableFooter.hide() : this.$tableFooter.show();
                                             },
                                        },
                                        {
                                             key: "initHeader",
                                             value: function () {
                                                  var e = this,
                                                       i = {},
                                                       n = [];
                                                  (this.header = { fields: [], styles: [], classes: [], formatters: [], detailFormatters: [], events: [], sorters: [], sortNames: [], cellStyles: [], searchables: [] }),
                                                       co.updateFieldGroup(this.options.columns),
                                                       this.options.columns.forEach(function (t, r) {
                                                            n.push("<tr>"),
                                                                 0 === r &&
                                                                      !e.options.cardView &&
                                                                      e.options.detailView &&
                                                                      e.options.detailViewIcon &&
                                                                      n.push('<th class="detail" rowspan="'.concat(e.options.columns.length, '">\n          <div class="fht-cell"></div>\n          </th>\n        ')),
                                                                 t.forEach(function (t, o) {
                                                                      var a = co.sprintf(' class="%s"', t.class),
                                                                           s = t.widthUnit,
                                                                           l = parseFloat(t.width),
                                                                           c = co.sprintf("text-align: %s; ", t.halign ? t.halign : t.align),
                                                                           u = co.sprintf("text-align: %s; ", t.align),
                                                                           h = co.sprintf("vertical-align: %s; ", t.valign);
                                                                      if (
                                                                           ((h += co.sprintf("width: %s; ", (!t.checkbox && !t.radio) || l ? (l ? l + s : void 0) : t.showSelectTitle ? void 0 : "36px")), void 0 !== t.fieldIndex || t.visible)
                                                                      ) {
                                                                           var d = co.calculateObjectValue(null, e.options.headerStyle, [t]),
                                                                                p = [],
                                                                                f = "";
                                                                           if (d && d.css)
                                                                                for (var m = 0, g = Object.entries(d.css); m < g.length; m++) {
                                                                                     var v = to(g[m], 2),
                                                                                          y = v[0],
                                                                                          b = v[1];
                                                                                     p.push("".concat(y, ": ").concat(b));
                                                                                }
                                                                           if ((d && d.classes && (f = co.sprintf(' class="%s"', t.class ? [t.class, d.classes].join(" ") : d.classes)), void 0 !== t.fieldIndex)) {
                                                                                if (
                                                                                     ((e.header.fields[t.fieldIndex] = t.field),
                                                                                     (e.header.styles[t.fieldIndex] = u + h),
                                                                                     (e.header.classes[t.fieldIndex] = a),
                                                                                     (e.header.formatters[t.fieldIndex] = t.formatter),
                                                                                     (e.header.detailFormatters[t.fieldIndex] = t.detailFormatter),
                                                                                     (e.header.events[t.fieldIndex] = t.events),
                                                                                     (e.header.sorters[t.fieldIndex] = t.sorter),
                                                                                     (e.header.sortNames[t.fieldIndex] = t.sortName),
                                                                                     (e.header.cellStyles[t.fieldIndex] = t.cellStyle),
                                                                                     (e.header.searchables[t.fieldIndex] = t.searchable),
                                                                                     !t.visible)
                                                                                )
                                                                                     return;
                                                                                if (e.options.cardView && !t.cardVisible) return;
                                                                                i[t.field] = t;
                                                                           }
                                                                           n.push(
                                                                                "<th".concat(co.sprintf(' title="%s"', t.titleTooltip)),
                                                                                t.checkbox || t.radio ? co.sprintf(' class="bs-checkbox %s"', t.class || "") : f || a,
                                                                                co.sprintf(' style="%s"', c + h + p.join("; ")),
                                                                                co.sprintf(' rowspan="%s"', t.rowspan),
                                                                                co.sprintf(' colspan="%s"', t.colspan),
                                                                                co.sprintf(' data-field="%s"', t.field),
                                                                                0 === o && r > 0 ? " data-not-first-th" : "",
                                                                                ">"
                                                                           ),
                                                                                n.push(co.sprintf('<div class="th-inner %s">', e.options.sortable && t.sortable ? "sortable both" : ""));
                                                                           var _ = e.options.escape ? co.escapeHTML(t.title) : t.title,
                                                                                x = _;
                                                                           t.checkbox &&
                                                                                ((_ = ""),
                                                                                !e.options.singleSelect && e.options.checkboxHeader && (_ = '<label><input name="btSelectAll" type="checkbox" /><span></span></label>'),
                                                                                (e.header.stateField = t.field)),
                                                                                t.radio && ((_ = ""), (e.header.stateField = t.field)),
                                                                                !_ && t.showSelectTitle && (_ += x),
                                                                                n.push(_),
                                                                                n.push("</div>"),
                                                                                n.push('<div class="fht-cell"></div>'),
                                                                                n.push("</div>"),
                                                                                n.push("</th>");
                                                                      }
                                                                 }),
                                                                 n.push("</tr>");
                                                       }),
                                                       this.$header.html(n.join("")),
                                                       this.$header.find("th[data-field]").each(function (e, n) {
                                                            t(n).data(i[t(n).data("field")]);
                                                       }),
                                                       this.$container.off("click", ".th-inner").on("click", ".th-inner", function (i) {
                                                            var n = t(i.currentTarget);
                                                            if (e.options.detailView && !n.parent().hasClass("bs-checkbox") && n.closest(".bootstrap-table")[0] !== e.$container[0]) return !1;
                                                            e.options.sortable && n.parent().data().sortable && e.onSort(i);
                                                       }),
                                                       this.$header
                                                            .children()
                                                            .children()
                                                            .off("keypress")
                                                            .on("keypress", function (i) {
                                                                 e.options.sortable && t(i.currentTarget).data().sortable && 13 === (i.keyCode || i.which) && e.onSort(i);
                                                            });
                                                  var r = co.getResizeEventName(this.$el.attr("id"));
                                                  t(window).off(r),
                                                       !this.options.showHeader || this.options.cardView
                                                            ? (this.$header.hide(), this.$tableHeader.hide(), this.$tableLoading.css("top", 0))
                                                            : (this.$header.show(),
                                                              this.$tableHeader.show(),
                                                              this.$tableLoading.css("top", this.$header.outerHeight() + 1),
                                                              this.getCaret(),
                                                              t(window).on(r, function () {
                                                                   return e.resetView();
                                                              })),
                                                       (this.$selectAll = this.$header.find('[name="btSelectAll"]')),
                                                       this.$selectAll.off("click").on("click", function (i) {
                                                            i.stopPropagation();
                                                            var n = t(i.currentTarget).prop("checked");
                                                            e[n ? "checkAll" : "uncheckAll"](), e.updateSelected();
                                                       });
                                             },
                                        },
                                        {
                                             key: "initData",
                                             value: function (t, e) {
                                                  (this.options.data = "append" === e ? this.options.data.concat(t) : "prepend" === e ? [].concat(t).concat(this.options.data) : t || this.options.data),
                                                       (this.data = this.options.data),
                                                       "server" !== this.options.sidePagination && this.initSort();
                                             },
                                        },
                                        {
                                             key: "initSort",
                                             value: function () {
                                                  var t = this,
                                                       e = this.options.sortName,
                                                       i = "desc" === this.options.sortOrder ? -1 : 1,
                                                       n = this.header.fields.indexOf(this.options.sortName),
                                                       r = 0;
                                                  -1 !== n &&
                                                       (this.options.sortStable &&
                                                            this.data.forEach(function (t, e) {
                                                                 t.hasOwnProperty("_position") || (t._position = e);
                                                            }),
                                                       this.options.customSort
                                                            ? co.calculateObjectValue(this.options, this.options.customSort, [this.options.sortName, this.options.sortOrder, this.data])
                                                            : this.data.sort(function (r, o) {
                                                                   t.header.sortNames[n] && (e = t.header.sortNames[n]);
                                                                   var a = co.getItemField(r, e, t.options.escape),
                                                                        s = co.getItemField(o, e, t.options.escape),
                                                                        l = co.calculateObjectValue(t.header, t.header.sorters[n], [a, s, r, o]);
                                                                   return void 0 !== l ? (t.options.sortStable && 0 === l ? i * (r._position - o._position) : i * l) : co.sort(a, s, i, t.options.sortStable, r._position, o._position);
                                                              }),
                                                       void 0 !== this.options.sortClass &&
                                                            (clearTimeout(r),
                                                            (r = setTimeout(function () {
                                                                 t.$el.removeClass(t.options.sortClass);
                                                                 var e = t.$header.find('[data-field="'.concat(t.options.sortName, '"]')).index();
                                                                 t.$el.find("tr td:nth-child(".concat(e + 1, ")")).addClass(t.options.sortClass);
                                                            }, 250))));
                                             },
                                        },
                                        {
                                             key: "onSort",
                                             value: function (e) {
                                                  var i = e.type,
                                                       n = e.currentTarget,
                                                       r = "keypress" === i ? t(n) : t(n).parent(),
                                                       o = this.$header.find("th").eq(r.index());
                                                  if (
                                                       (this.$header.add(this.$header_).find("span.order").remove(),
                                                       this.options.sortName === r.data("field")
                                                            ? (this.options.sortOrder = "asc" === this.options.sortOrder ? "desc" : "asc")
                                                            : ((this.options.sortName = r.data("field")),
                                                              this.options.rememberOrder
                                                                   ? (this.options.sortOrder = "asc" === r.data("order") ? "desc" : "asc")
                                                                   : (this.options.sortOrder = this.columns[this.fieldsColumnsIndex[r.data("field")]].sortOrder || this.columns[this.fieldsColumnsIndex[r.data("field")]].order)),
                                                       this.trigger("sort", this.options.sortName, this.options.sortOrder),
                                                       r.add(o).data("order", this.options.sortOrder),
                                                       this.getCaret(),
                                                       "server" === this.options.sidePagination && this.options.serverSort)
                                                  )
                                                       return (this.options.pageNumber = 1), void this.initServer(this.options.silentSort);
                                                  this.initSort(), this.initBody();
                                             },
                                        },
                                        {
                                             key: "initToolbar",
                                             value: function () {
                                                  var e,
                                                       i = this,
                                                       n = this.options,
                                                       r = [],
                                                       o = 0,
                                                       a = 0;
                                                  this.$toolbar.find(".bs-bars").children().length && t("body").append(t(n.toolbar)),
                                                       this.$toolbar.html(""),
                                                       ("string" != typeof n.toolbar && "object" !== Zr(n.toolbar)) ||
                                                            t(co.sprintf('<div class="bs-bars %s-%s"></div>', this.constants.classes.pull, n.toolbarAlign)).appendTo(this.$toolbar).append(t(n.toolbar)),
                                                       (r = [
                                                            '<div class="'.concat(
                                                                 ["columns", "columns-".concat(n.buttonsAlign), this.constants.classes.buttonsGroup, "".concat(this.constants.classes.pull, "-").concat(n.buttonsAlign)].join(" "),
                                                                 '">'
                                                            ),
                                                       ]),
                                                       "string" == typeof n.icons && (n.icons = co.calculateObjectValue(null, n.icons));
                                                  var s = {
                                                       paginationSwitch: '<button class="'
                                                            .concat(this.constants.buttonsClass, '" type="button" name="paginationSwitch"\n        aria-label="Pagination Switch" title="')
                                                            .concat(n.formatPaginationSwitch(), '">\n        ')
                                                            .concat(n.showButtonIcons ? co.sprintf(this.constants.html.icon, n.iconsPrefix, n.icons.paginationSwitchDown) : "", "\n        ")
                                                            .concat(n.showButtonText ? n.formatPaginationSwitchUp() : "", "\n        </button>"),
                                                       refresh: '<button class="'
                                                            .concat(this.constants.buttonsClass, '" type="button" name="refresh"\n        aria-label="Refresh" title="')
                                                            .concat(n.formatRefresh(), '">\n        ')
                                                            .concat(n.showButtonIcons ? co.sprintf(this.constants.html.icon, n.iconsPrefix, n.icons.refresh) : "", "\n        ")
                                                            .concat(n.showButtonText ? n.formatRefresh() : "", "\n        </button>"),
                                                       toggle: '<button class="'
                                                            .concat(this.constants.buttonsClass, '" type="button" name="toggle"\n        aria-label="Toggle" title="')
                                                            .concat(n.formatToggle(), '">\n        ')
                                                            .concat(n.showButtonIcons ? co.sprintf(this.constants.html.icon, n.iconsPrefix, n.icons.toggleOff) : "", "\n        ")
                                                            .concat(n.showButtonText ? n.formatToggleOn() : "", "\n        </button>"),
                                                       fullscreen: '<button class="'
                                                            .concat(this.constants.buttonsClass, '" type="button" name="fullscreen"\n        aria-label="Fullscreen" title="')
                                                            .concat(n.formatFullscreen(), '">\n        ')
                                                            .concat(n.showButtonIcons ? co.sprintf(this.constants.html.icon, n.iconsPrefix, n.icons.fullscreen) : "", "\n        ")
                                                            .concat(n.showButtonText ? n.formatFullscreen() : "", "\n        </button>"),
                                                       columns: (function () {
                                                            var t = [];
                                                            if (
                                                                 (t.push(
                                                                      '<div class="keep-open '
                                                                           .concat(i.constants.classes.buttonsDropdown, '" title="')
                                                                           .concat(n.formatColumns(), '">\n          <button class="')
                                                                           .concat(i.constants.buttonsClass, ' dropdown-toggle" type="button" data-toggle="dropdown"\n          aria-label="Columns" title="')
                                                                           .concat(n.formatColumns(), '">\n          ')
                                                                           .concat(n.showButtonIcons ? co.sprintf(i.constants.html.icon, n.iconsPrefix, n.icons.columns) : "", "\n          ")
                                                                           .concat(n.showButtonText ? n.formatColumns() : "", "\n          ")
                                                                           .concat(i.constants.html.dropdownCaret, "\n          </button>\n          ")
                                                                           .concat(i.constants.html.toolbarDropdown[0])
                                                                 ),
                                                                 n.showColumnsSearch &&
                                                                      (t.push(
                                                                           co.sprintf(
                                                                                i.constants.html.toolbarDropdownItem,
                                                                                co.sprintf('<input type="text" class="%s" id="columnsSearch" placeholder="%s" autocomplete="off">', i.constants.classes.input, n.formatSearch())
                                                                           )
                                                                      ),
                                                                      t.push(i.constants.html.toolbarDropdownSeparator)),
                                                                 n.showColumnsToggleAll)
                                                            ) {
                                                                 var e =
                                                                      i.getVisibleColumns().length ===
                                                                      i.columns.filter(function (t) {
                                                                           return !i.isSelectionColumn(t);
                                                                      }).length;
                                                                 t.push(
                                                                      co.sprintf(
                                                                           i.constants.html.toolbarDropdownItem,
                                                                           co.sprintf('<input type="checkbox" class="toggle-all" %s> <span>%s</span>', e ? 'checked="checked"' : "", n.formatColumnsToggleAll())
                                                                      )
                                                                 ),
                                                                      t.push(i.constants.html.toolbarDropdownSeparator);
                                                            }
                                                            var r = 0;
                                                            return (
                                                                 i.columns.forEach(function (t, e) {
                                                                      t.visible && r++;
                                                                 }),
                                                                 i.columns.forEach(function (e, o) {
                                                                      if (!i.isSelectionColumn(e) && (!n.cardView || e.cardVisible)) {
                                                                           var s = e.visible ? ' checked="checked"' : "",
                                                                                l = r <= i.options.minimumCountColumns && s ? ' disabled="disabled"' : "";
                                                                           e.switchable &&
                                                                                (t.push(
                                                                                     co.sprintf(
                                                                                          i.constants.html.toolbarDropdownItem,
                                                                                          co.sprintf('<input type="checkbox" data-field="%s" value="%s"%s%s> <span>%s</span>', e.field, o, s, l, e.title)
                                                                                     )
                                                                                ),
                                                                                a++);
                                                                      }
                                                                 }),
                                                                 t.push(i.constants.html.toolbarDropdown[1], "</div>"),
                                                                 t.join("")
                                                            );
                                                       })(),
                                                  };
                                                  "string" == typeof n.buttonsOrder &&
                                                       (n.buttonsOrder = n.buttonsOrder
                                                            .replace(/\[|\]| |'/g, "")
                                                            .toLowerCase()
                                                            .split(","));
                                                  var l = !0,
                                                       c = !1,
                                                       u = void 0;
                                                  try {
                                                       for (var h, d = n.buttonsOrder[Symbol.iterator](); !(l = (h = d.next()).done); l = !0) {
                                                            var p = h.value;
                                                            n["show" + p.charAt(0).toUpperCase() + p.substring(1)] && r.push(s[p]);
                                                       }
                                                  } catch (t) {
                                                       (c = !0), (u = t);
                                                  } finally {
                                                       try {
                                                            l || null == d.return || d.return();
                                                       } finally {
                                                            if (c) throw u;
                                                       }
                                                  }
                                                  if (
                                                       (r.push("</div>"),
                                                       (this.showToolbar || r.length > 2) && this.$toolbar.append(r.join("")),
                                                       n.showPaginationSwitch &&
                                                            this.$toolbar
                                                                 .find('button[name="paginationSwitch"]')
                                                                 .off("click")
                                                                 .on("click", function () {
                                                                      return i.togglePagination();
                                                                 }),
                                                       n.showFullscreen &&
                                                            this.$toolbar
                                                                 .find('button[name="fullscreen"]')
                                                                 .off("click")
                                                                 .on("click", function () {
                                                                      return i.toggleFullscreen();
                                                                 }),
                                                       n.showRefresh &&
                                                            this.$toolbar
                                                                 .find('button[name="refresh"]')
                                                                 .off("click")
                                                                 .on("click", function () {
                                                                      return i.refresh();
                                                                 }),
                                                       n.showToggle &&
                                                            this.$toolbar
                                                                 .find('button[name="toggle"]')
                                                                 .off("click")
                                                                 .on("click", function () {
                                                                      i.toggleView();
                                                                 }),
                                                       n.showColumns)
                                                  ) {
                                                       var f = (e = this.$toolbar.find(".keep-open")).find('input[type="checkbox"]:not(".toggle-all")'),
                                                            m = e.find('input[type="checkbox"].toggle-all');
                                                       if (
                                                            (a <= n.minimumCountColumns && e.find("input").prop("disabled", !0),
                                                            e
                                                                 .find("li, label")
                                                                 .off("click")
                                                                 .on("click", function (t) {
                                                                      t.stopImmediatePropagation();
                                                                 }),
                                                            f.off("click").on("click", function (e) {
                                                                 var n = e.currentTarget,
                                                                      r = t(n);
                                                                 i._toggleColumn(r.val(), r.prop("checked"), !1),
                                                                      i.trigger("column-switch", r.data("field"), r.prop("checked")),
                                                                      m.prop(
                                                                           "checked",
                                                                           f.filter(":checked").length ===
                                                                                i.columns.filter(function (t) {
                                                                                     return !i.isSelectionColumn(t);
                                                                                }).length
                                                                      );
                                                            }),
                                                            m.off("click").on("click", function (e) {
                                                                 var n = e.currentTarget;
                                                                 i._toggleAllColumns(t(n).prop("checked"));
                                                            }),
                                                            n.showColumnsSearch)
                                                       ) {
                                                            var g = e.find("#columnsSearch"),
                                                                 v = e.find(".dropdown-item-marker");
                                                            g.on("keyup paste change", function (e) {
                                                                 var i = e.currentTarget,
                                                                      n = t(i).val().toLowerCase();
                                                                 v.show(),
                                                                      f.each(function (e, i) {
                                                                           var r = t(i).parents(".dropdown-item-marker");
                                                                           r.text().toLowerCase().includes(n) || r.hide();
                                                                      });
                                                            });
                                                       }
                                                  }
                                                  if (n.search || this.showSearchClearButton) {
                                                       r = [];
                                                       var y = co.sprintf(
                                                                 this.constants.html.searchButton,
                                                                 this.constants.buttonsClass,
                                                                 n.formatSearch(),
                                                                 n.showButtonIcons ? co.sprintf(this.constants.html.icon, n.iconsPrefix, n.icons.search) : "",
                                                                 n.showButtonText ? n.formatSearch() : ""
                                                            ),
                                                            b = co.sprintf(
                                                                 this.constants.html.searchClearButton,
                                                                 this.constants.buttonsClass,
                                                                 n.formatClearSearch(),
                                                                 n.showButtonIcons ? co.sprintf(this.constants.html.icon, n.iconsPrefix, n.icons.clearSearch) : "",
                                                                 n.showButtonText ? n.formatClearSearch() : ""
                                                            ),
                                                            _ = '<input class="'
                                                                 .concat(this.constants.classes.input, "\n        ")
                                                                 .concat(co.sprintf(" %s%s", this.constants.classes.inputPrefix, n.iconSize), '\n        search-input" type="text" placeholder="')
                                                                 .concat(n.formatSearch(), '" autocomplete="off">'),
                                                            x = _;
                                                       if (n.showSearchButton || n.showSearchClearButton) {
                                                            var w = (n.showSearchButton ? y : "") + (n.showSearchClearButton ? b : "");
                                                            x = n.search ? co.sprintf(this.constants.html.inputGroup, _, w) : w;
                                                       }
                                                       r.push(
                                                            co.sprintf(
                                                                 '\n        <div class="'
                                                                      .concat(this.constants.classes.pull, "-")
                                                                      .concat(n.searchAlign, " search ")
                                                                      .concat(this.constants.classes.inputGroup, '">\n          %s\n        </div>\n      '),
                                                                 x
                                                            )
                                                       ),
                                                            this.$toolbar.append(r.join(""));
                                                       var k = this.$toolbar.find(".search input"),
                                                            S = function () {
                                                                 var t = "keyup drop blur ".concat(co.isIEBrowser() ? "mouseup" : "");
                                                                 k.off(t).on(t, function (t) {
                                                                      (n.searchOnEnterKey && 13 !== t.keyCode) ||
                                                                           [37, 38, 39, 40].includes(t.keyCode) ||
                                                                           (clearTimeout(o),
                                                                           (o = setTimeout(function () {
                                                                                i.onSearch({ currentTarget: t.currentTarget });
                                                                           }, n.searchTimeOut)));
                                                                 });
                                                            };
                                                       n.showSearchButton
                                                            ? (this.$toolbar
                                                                   .find(".search button[name=search]")
                                                                   .off("click")
                                                                   .on("click", function (t) {
                                                                        clearTimeout(o),
                                                                             (o = setTimeout(function () {
                                                                                  i.onSearch({ currentTarget: k });
                                                                             }, n.searchTimeOut));
                                                                   }),
                                                              n.searchOnEnterKey && S())
                                                            : S(),
                                                            n.showSearchClearButton &&
                                                                 this.$toolbar.find(".search button[name=clearSearch]").click(function () {
                                                                      i.resetSearch();
                                                                 });
                                                  }
                                             },
                                        },
                                        {
                                             key: "onSearch",
                                             value: function () {
                                                  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
                                                       i = e.currentTarget,
                                                       n = e.firedByInitSearchText,
                                                       r = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1];
                                                  if (void 0 !== i && t(i).length && r) {
                                                       var o = t(i).val().trim();
                                                       if ((this.options.trimOnSearch && t(i).val() !== o && t(i).val(o), this.searchText === o && o.length > 0)) return;
                                                       t(i).hasClass("search-input") && ((this.searchText = o), (this.options.searchText = o));
                                                  }
                                                  n || (this.options.pageNumber = 1),
                                                       this.initSearch(),
                                                       n ? "client" === this.options.sidePagination && this.updatePagination() : this.updatePagination(),
                                                       this.trigger("search", this.searchText);
                                             },
                                        },
                                        {
                                             key: "initSearch",
                                             value: function () {
                                                  var t = this;
                                                  if (((this.filterOptions = this.filterOptions || this.options.filterOptions), "server" !== this.options.sidePagination)) {
                                                       if (this.options.customSearch) return void (this.data = co.calculateObjectValue(this.options, this.options.customSearch, [this.options.data, this.searchText, this.filterColumns]));
                                                       var e = this.searchText && (this.fromHtml ? co.escapeHTML(this.searchText) : this.searchText).toLowerCase(),
                                                            i = co.isEmptyObject(this.filterColumns) ? null : this.filterColumns;
                                                       "function" == typeof this.filterOptions.filterAlgorithm
                                                            ? (this.data = this.options.data.filter(function (e, n) {
                                                                   return t.filterOptions.filterAlgorithm.apply(null, [e, i]);
                                                              }))
                                                            : "string" == typeof this.filterOptions.filterAlgorithm &&
                                                              (this.data = i
                                                                   ? this.options.data.filter(function (e, n) {
                                                                          var r = t.filterOptions.filterAlgorithm;
                                                                          if ("and" === r) {
                                                                               for (var o in i) if ((Array.isArray(i[o]) && !i[o].includes(e[o])) || (!Array.isArray(i[o]) && e[o] !== i[o])) return !1;
                                                                          } else if ("or" === r) {
                                                                               var a = !1;
                                                                               for (var s in i) ((Array.isArray(i[s]) && i[s].includes(e[s])) || (!Array.isArray(i[s]) && e[s] === i[s])) && (a = !0);
                                                                               return a;
                                                                          }
                                                                          return !0;
                                                                     })
                                                                   : this.options.data);
                                                       var n = this.getVisibleFields();
                                                       this.data = e
                                                            ? this.data.filter(function (i, r) {
                                                                   for (var o = 0; o < t.header.fields.length; o++)
                                                                        if (t.header.searchables[o] && (!t.options.visibleSearch || -1 !== n.indexOf(t.header.fields[o]))) {
                                                                             var a = co.isNumeric(t.header.fields[o]) ? parseInt(t.header.fields[o], 10) : t.header.fields[o],
                                                                                  s = t.columns[t.fieldsColumnsIndex[a]],
                                                                                  l = void 0;
                                                                             if ("string" == typeof a) {
                                                                                  l = i;
                                                                                  for (var c = a.split("."), u = 0; u < c.length; u++) null !== l[c[u]] && (l = l[c[u]]);
                                                                             } else l = i[a];
                                                                             if ((s && s.searchFormatter && (l = co.calculateObjectValue(s, t.header.formatters[o], [l, i, r, s.field], l)), "string" == typeof l || "number" == typeof l))
                                                                                  if (t.options.strictSearch) {
                                                                                       if ("".concat(l).toLowerCase() === e) return !0;
                                                                                  } else {
                                                                                       var h = /(?:(<=|=>|=<|>=|>|<)(?:\s+)?(\d+)?|(\d+)?(\s+)?(<=|=>|=<|>=|>|<))/gm.exec(e),
                                                                                            d = !1;
                                                                                       if (h) {
                                                                                            var p = h[1] || "".concat(h[5], "l"),
                                                                                                 f = h[2] || h[3],
                                                                                                 m = parseInt(l, 10),
                                                                                                 g = parseInt(f, 10);
                                                                                            switch (p) {
                                                                                                 case ">":
                                                                                                 case "<l":
                                                                                                      d = m > g;
                                                                                                      break;
                                                                                                 case "<":
                                                                                                 case ">l":
                                                                                                      d = m < g;
                                                                                                      break;
                                                                                                 case "<=":
                                                                                                 case "=<":
                                                                                                 case ">=l":
                                                                                                 case "=>l":
                                                                                                      d = m <= g;
                                                                                                      break;
                                                                                                 case ">=":
                                                                                                 case "=>":
                                                                                                 case "<=l":
                                                                                                 case "=<l":
                                                                                                      d = m >= g;
                                                                                            }
                                                                                       }
                                                                                       if (d || "".concat(l).toLowerCase().includes(e)) return !0;
                                                                                  }
                                                                        }
                                                                   return !1;
                                                              })
                                                            : this.data;
                                                  }
                                                  this.initSort();
                                             },
                                        },
                                        {
                                             key: "initPagination",
                                             value: function () {
                                                  var t = this,
                                                       e = this.options;
                                                  if (e.pagination) {
                                                       this.$pagination.show();
                                                       var i,
                                                            n,
                                                            r,
                                                            o,
                                                            a,
                                                            s,
                                                            l,
                                                            c = [],
                                                            u = !1,
                                                            h = this.getData({ includeHiddenRows: !1 }),
                                                            d = e.pageList;
                                                       "string" == typeof d &&
                                                            (d = d
                                                                 .replace(/\[|\]| /g, "")
                                                                 .toLowerCase()
                                                                 .split(",")),
                                                            (d = d.map(function (t) {
                                                                 return "string" == typeof t ? (t.toLowerCase() === e.formatAllRows().toLowerCase() || ["all", "unlimited"].includes(t.toLowerCase()) ? e.formatAllRows() : +t) : t;
                                                            })),
                                                            "server" !== e.sidePagination && (e.totalRows = h.length),
                                                            (this.totalPages = 0),
                                                            e.totalRows &&
                                                                 (e.pageSize === e.formatAllRows() && ((e.pageSize = e.totalRows), (u = !0)), (this.totalPages = 1 + ~~((e.totalRows - 1) / e.pageSize)), (e.totalPages = this.totalPages)),
                                                            this.totalPages > 0 && e.pageNumber > this.totalPages && (e.pageNumber = this.totalPages),
                                                            (this.pageFrom = (e.pageNumber - 1) * e.pageSize + 1),
                                                            (this.pageTo = e.pageNumber * e.pageSize),
                                                            this.pageTo > e.totalRows && (this.pageTo = e.totalRows),
                                                            this.options.pagination && "server" !== this.options.sidePagination && (this.options.totalNotFiltered = this.options.data.length),
                                                            this.options.showExtendedPagination || (this.options.totalNotFiltered = void 0);
                                                       var p = e.onlyInfoPagination ? e.formatDetailPagination(e.totalRows) : e.formatShowingRows(this.pageFrom, this.pageTo, e.totalRows, e.totalNotFiltered);
                                                       if (
                                                            (c.push(
                                                                 '<div class="'
                                                                      .concat(this.constants.classes.pull, "-")
                                                                      .concat(e.paginationDetailHAlign, ' pagination-detail">\n      <span class="pagination-info">\n      ')
                                                                      .concat(p, "\n      </span>")
                                                            ),
                                                            !e.onlyInfoPagination)
                                                       ) {
                                                            c.push('<span class="page-list">');
                                                            var f = [
                                                                 '<span class="'
                                                                      .concat(this.constants.classes.paginationDropdown, '">\n        <button class="')
                                                                      .concat(this.constants.buttonsClass, ' dropdown-toggle" type="button" data-toggle="dropdown">\n        <span class="page-size">\n        ')
                                                                      .concat(u ? e.formatAllRows() : e.pageSize, "\n        </span>\n        ")
                                                                      .concat(this.constants.html.dropdownCaret, "\n        </button>\n        ")
                                                                      .concat(this.constants.html.pageDropdown[0]),
                                                            ];
                                                            d.forEach(function (i, n) {
                                                                 var r;
                                                                 (!e.smartDisplay || 0 === n || d[n - 1] < e.totalRows) &&
                                                                      ((r = u ? (i === e.formatAllRows() ? t.constants.classes.dropdownActive : "") : i === e.pageSize ? t.constants.classes.dropdownActive : ""),
                                                                      f.push(co.sprintf(t.constants.html.pageDropdownItem, r, i)));
                                                            }),
                                                                 f.push("".concat(this.constants.html.pageDropdown[1], "</span>")),
                                                                 c.push(e.formatRecordsPerPage(f.join(""))),
                                                                 c.push("</span></div>"),
                                                                 c.push(
                                                                      '<div class="'.concat(this.constants.classes.pull, "-").concat(e.paginationHAlign, ' pagination">'),
                                                                      co.sprintf(this.constants.html.pagination[0], co.sprintf(" pagination-%s", e.iconSize)),
                                                                      co.sprintf(this.constants.html.paginationItem, " page-pre", e.formatSRPaginationPreText(), e.paginationPreText)
                                                                 ),
                                                                 this.totalPages < e.paginationSuccessivelySize ? ((n = 1), (r = this.totalPages)) : (r = (n = e.pageNumber - e.paginationPagesBySide) + 2 * e.paginationPagesBySide),
                                                                 e.pageNumber < e.paginationSuccessivelySize - 1 && (r = e.paginationSuccessivelySize),
                                                                 e.paginationSuccessivelySize > this.totalPages - n && (n = n - (e.paginationSuccessivelySize - (this.totalPages - n)) + 1),
                                                                 n < 1 && (n = 1),
                                                                 r > this.totalPages && (r = this.totalPages);
                                                            var m = Math.round(e.paginationPagesBySide / 2),
                                                                 g = function (i) {
                                                                      var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "";
                                                                      return co.sprintf(t.constants.html.paginationItem, n + (i === e.pageNumber ? " ".concat(t.constants.classes.paginationActive) : ""), e.formatSRPaginationPageText(i), i);
                                                                 };
                                                            if (n > 1) {
                                                                 var v = e.paginationPagesBySide;
                                                                 for (v >= n && (v = n - 1), i = 1; i <= v; i++) c.push(g(i));
                                                                 n - 1 === v + 1
                                                                      ? ((i = n - 1), c.push(g(i)))
                                                                      : n - 1 > v &&
                                                                        (n - 2 * e.paginationPagesBySide > e.paginationPagesBySide && e.paginationUseIntermediate
                                                                             ? ((i = Math.round((n - m) / 2 + m)), c.push(g(i, " page-intermediate")))
                                                                             : c.push(co.sprintf(this.constants.html.paginationItem, " page-first-separator disabled", "", "...")));
                                                            }
                                                            for (i = n; i <= r; i++) c.push(g(i));
                                                            if (this.totalPages > r) {
                                                                 var y = this.totalPages - (e.paginationPagesBySide - 1);
                                                                 for (
                                                                      r >= y && (y = r + 1),
                                                                           r + 1 === y - 1
                                                                                ? ((i = r + 1), c.push(g(i)))
                                                                                : y > r + 1 &&
                                                                                  (this.totalPages - r > 2 * e.paginationPagesBySide && e.paginationUseIntermediate
                                                                                       ? ((i = Math.round((this.totalPages - m - r) / 2 + r)), c.push(g(i, " page-intermediate")))
                                                                                       : c.push(co.sprintf(this.constants.html.paginationItem, " page-last-separator disabled", "", "..."))),
                                                                           i = y;
                                                                      i <= this.totalPages;
                                                                      i++
                                                                 )
                                                                      c.push(g(i));
                                                            }
                                                            c.push(co.sprintf(this.constants.html.paginationItem, " page-next", e.formatSRPaginationNextText(), e.paginationNextText)), c.push(this.constants.html.pagination[1], "</div>");
                                                       }
                                                       this.$pagination.html(c.join(""));
                                                       var b = ["bottom", "both"].includes(e.paginationVAlign) ? " ".concat(this.constants.classes.dropup) : "";
                                                       this.$pagination.last().find(".page-list > span").addClass(b),
                                                            e.onlyInfoPagination ||
                                                                 ((o = this.$pagination.find(".page-list a")),
                                                                 (a = this.$pagination.find(".page-pre")),
                                                                 (s = this.$pagination.find(".page-next")),
                                                                 (l = this.$pagination.find(".page-item").not(".page-next, .page-pre, .page-last-separator, .page-first-separator")),
                                                                 this.totalPages <= 1 && this.$pagination.find("div.pagination").hide(),
                                                                 e.smartDisplay && (d.length < 2 || e.totalRows <= d[0]) && this.$pagination.find("span.page-list").hide(),
                                                                 this.$pagination[this.getData().length ? "show" : "hide"](),
                                                                 e.paginationLoop || (1 === e.pageNumber && a.addClass("disabled"), e.pageNumber === this.totalPages && s.addClass("disabled")),
                                                                 u && (e.pageSize = e.formatAllRows()),
                                                                 o.off("click").on("click", function (e) {
                                                                      return t.onPageListChange(e);
                                                                 }),
                                                                 a.off("click").on("click", function (e) {
                                                                      return t.onPagePre(e);
                                                                 }),
                                                                 s.off("click").on("click", function (e) {
                                                                      return t.onPageNext(e);
                                                                 }),
                                                                 l.off("click").on("click", function (e) {
                                                                      return t.onPageNumber(e);
                                                                 }));
                                                  } else this.$pagination.hide();
                                             },
                                        },
                                        {
                                             key: "updatePagination",
                                             value: function (e) {
                                                  (e && t(e.currentTarget).hasClass("disabled")) ||
                                                       (this.options.maintainMetaData || this.resetRows(),
                                                       this.initPagination(),
                                                       "server" === this.options.sidePagination ? this.initServer() : this.initBody(),
                                                       this.trigger("page-change", this.options.pageNumber, this.options.pageSize));
                                             },
                                        },
                                        {
                                             key: "onPageListChange",
                                             value: function (e) {
                                                  e.preventDefault();
                                                  var i = t(e.currentTarget);
                                                  return (
                                                       i.parent().addClass(this.constants.classes.dropdownActive).siblings().removeClass(this.constants.classes.dropdownActive),
                                                       (this.options.pageSize = i.text().toUpperCase() === this.options.formatAllRows().toUpperCase() ? this.options.formatAllRows() : +i.text()),
                                                       this.$toolbar.find(".page-size").text(this.options.pageSize),
                                                       this.updatePagination(e),
                                                       !1
                                                  );
                                             },
                                        },
                                        {
                                             key: "onPagePre",
                                             value: function (t) {
                                                  return t.preventDefault(), this.options.pageNumber - 1 == 0 ? (this.options.pageNumber = this.options.totalPages) : this.options.pageNumber--, this.updatePagination(t), !1;
                                             },
                                        },
                                        {
                                             key: "onPageNext",
                                             value: function (t) {
                                                  return t.preventDefault(), this.options.pageNumber + 1 > this.options.totalPages ? (this.options.pageNumber = 1) : this.options.pageNumber++, this.updatePagination(t), !1;
                                             },
                                        },
                                        {
                                             key: "onPageNumber",
                                             value: function (e) {
                                                  if ((e.preventDefault(), this.options.pageNumber !== +t(e.currentTarget).text())) return (this.options.pageNumber = +t(e.currentTarget).text()), this.updatePagination(e), !1;
                                             },
                                        },
                                        {
                                             key: "initRow",
                                             value: function (t, e, i, n) {
                                                  var r = this,
                                                       o = [],
                                                       a = {},
                                                       s = [],
                                                       l = "",
                                                       c = {},
                                                       u = [];
                                                  if (!(co.findIndex(this.hiddenRows, t) > -1)) {
                                                       if ((a = co.calculateObjectValue(this.options, this.options.rowStyle, [t, e], a)) && a.css)
                                                            for (var h = 0, d = Object.entries(a.css); h < d.length; h++) {
                                                                 var p = to(d[h], 2),
                                                                      f = p[0],
                                                                      m = p[1];
                                                                 s.push("".concat(f, ": ").concat(m));
                                                            }
                                                       if ((c = co.calculateObjectValue(this.options, this.options.rowAttributes, [t, e], c)))
                                                            for (var g = 0, v = Object.entries(c); g < v.length; g++) {
                                                                 var y = to(v[g], 2),
                                                                      b = y[0],
                                                                      _ = y[1];
                                                                 u.push("".concat(b, '="').concat(co.escapeHTML(_), '"'));
                                                            }
                                                       if (t._data && !co.isEmptyObject(t._data))
                                                            for (var x = 0, w = Object.entries(t._data); x < w.length; x++) {
                                                                 var k = to(w[x], 2),
                                                                      S = k[0],
                                                                      M = k[1];
                                                                 if ("index" === S) return;
                                                                 l += " data-".concat(S, "='").concat("object" === Zr(M) ? JSON.stringify(M) : M, "'");
                                                            }
                                                       return (
                                                            o.push(
                                                                 "<tr",
                                                                 co.sprintf(" %s", u.length ? u.join(" ") : void 0),
                                                                 co.sprintf(' id="%s"', Array.isArray(t) ? void 0 : t._id),
                                                                 co.sprintf(' class="%s"', a.classes || (Array.isArray(t) ? void 0 : t._class)),
                                                                 ' data-index="'.concat(e, '"'),
                                                                 co.sprintf(' data-uniqueid="%s"', co.getItemField(t, this.options.uniqueId, !1)),
                                                                 co.sprintf(
                                                                      ' data-has-detail-view="%s"',
                                                                      !this.options.cardView && this.options.detailView && co.calculateObjectValue(null, this.options.detailFilter, [e, t]) ? "true" : void 0
                                                                 ),
                                                                 co.sprintf("%s", l),
                                                                 ">"
                                                            ),
                                                            this.options.cardView && o.push('<td colspan="'.concat(this.header.fields.length, '"><div class="card-views">')),
                                                            !this.options.cardView &&
                                                                 this.options.detailView &&
                                                                 this.options.detailViewIcon &&
                                                                 (o.push("<td>"),
                                                                 co.calculateObjectValue(null, this.options.detailFilter, [e, t]) &&
                                                                      o.push(
                                                                           '\n          <a class="detail-icon" href="#">\n          '.concat(
                                                                                co.sprintf(this.constants.html.icon, this.options.iconsPrefix, this.options.icons.detailOpen),
                                                                                "\n          </a>\n        "
                                                                           )
                                                                      ),
                                                                 o.push("</td>")),
                                                            this.header.fields.forEach(function (i, n) {
                                                                 var a = "",
                                                                      l = co.getItemField(t, i, r.options.escape),
                                                                      c = "",
                                                                      u = "",
                                                                      h = {},
                                                                      d = "",
                                                                      p = r.header.classes[n],
                                                                      f = "",
                                                                      m = "",
                                                                      g = "",
                                                                      v = "",
                                                                      y = "",
                                                                      b = r.columns[n];
                                                                 if ((!r.fromHtml || void 0 !== l || b.checkbox || b.radio) && b.visible && (!r.options.cardView || b.cardVisible)) {
                                                                      if (
                                                                           (b.escape && (l = co.escapeHTML(l)),
                                                                           s.concat([r.header.styles[n]]).length && (f = ' style="'.concat(s.concat([r.header.styles[n]]).join("; "), '"')),
                                                                           t["_".concat(i, "_id")] && (d = co.sprintf(' id="%s"', t["_".concat(i, "_id")])),
                                                                           t["_".concat(i, "_class")] && (p = co.sprintf(' class="%s"', t["_".concat(i, "_class")])),
                                                                           t["_".concat(i, "_rowspan")] && (g = co.sprintf(' rowspan="%s"', t["_".concat(i, "_rowspan")])),
                                                                           t["_".concat(i, "_colspan")] && (v = co.sprintf(' colspan="%s"', t["_".concat(i, "_colspan")])),
                                                                           t["_".concat(i, "_title")] && (y = co.sprintf(' title="%s"', t["_".concat(i, "_title")])),
                                                                           (h = co.calculateObjectValue(r.header, r.header.cellStyles[n], [l, t, e, i], h)).classes && (p = ' class="'.concat(h.classes, '"')),
                                                                           h.css)
                                                                      ) {
                                                                           for (var _ = [], x = 0, w = Object.entries(h.css); x < w.length; x++) {
                                                                                var k = to(w[x], 2),
                                                                                     S = k[0],
                                                                                     M = k[1];
                                                                                _.push("".concat(S, ": ").concat(M));
                                                                           }
                                                                           f = ' style="'.concat(_.concat(r.header.styles[n]).join("; "), '"');
                                                                      }
                                                                      if (((c = co.calculateObjectValue(b, r.header.formatters[n], [l, t, e, i], l)), t["_".concat(i, "_data")] && !co.isEmptyObject(t["_".concat(i, "_data")])))
                                                                           for (var T = 0, C = Object.entries(t["_".concat(i, "_data")]); T < C.length; T++) {
                                                                                var D = to(C[T], 2),
                                                                                     L = D[0],
                                                                                     E = D[1];
                                                                                if ("index" === L) return;
                                                                                m += " data-".concat(L, '="').concat(E, '"');
                                                                           }
                                                                      if (b.checkbox || b.radio) {
                                                                           (u = b.checkbox ? "checkbox" : u), (u = b.radio ? "radio" : u);
                                                                           var A = b.class || "",
                                                                                P = (!0 === c || l || (c && c.checked)) && !1 !== c,
                                                                                I = !b.checkboxEnabled || (c && c.disabled);
                                                                           (a = [
                                                                                r.options.cardView ? '<div class="card-view '.concat(A, '">') : '<td class="bs-checkbox '.concat(A, '"').concat(p).concat(f, ">"),
                                                                                '<label>\n            <input\n            data-index="'
                                                                                     .concat(e, '"\n            name="')
                                                                                     .concat(r.options.selectItemName, '"\n            type="')
                                                                                     .concat(u, '"\n            ')
                                                                                     .concat(co.sprintf('value="%s"', t[r.options.idField]), "\n            ")
                                                                                     .concat(co.sprintf('checked="%s"', P ? "checked" : void 0), "\n            ")
                                                                                     .concat(co.sprintf('disabled="%s"', I ? "disabled" : void 0), " />\n            <span></span>\n            </label>"),
                                                                                r.header.formatters[n] && "string" == typeof c ? c : "",
                                                                                r.options.cardView ? "</div>" : "</td>",
                                                                           ].join("")),
                                                                                (t[r.header.stateField] = !0 === c || !!l || (c && c.checked));
                                                                      } else if (((c = null == c ? r.options.undefinedText : c), r.options.cardView)) {
                                                                           var O = r.options.showHeader ? '<span class="card-view-title"'.concat(f, ">").concat(co.getFieldTitle(r.columns, i), "</span>") : "";
                                                                           (a = '<div class="card-view">'.concat(O, '<span class="card-view-value">').concat(c, "</span></div>")),
                                                                                r.options.smartDisplay && "" === c && (a = '<div class="card-view"></div>');
                                                                      } else a = "<td".concat(d).concat(p).concat(f).concat(m).concat(g).concat(v).concat(y, ">").concat(c, "</td>");
                                                                      o.push(a);
                                                                 }
                                                            }),
                                                            this.options.cardView && o.push("</div></td>"),
                                                            o.push("</tr>"),
                                                            o.join("")
                                                       );
                                                  }
                                             },
                                        },
                                        {
                                             key: "initBody",
                                             value: function (e) {
                                                  var i = this,
                                                       n = this.getData();
                                                  this.trigger("pre-body", n),
                                                       (this.$body = this.$el.find(">tbody")),
                                                       this.$body.length || (this.$body = t("<tbody></tbody>").appendTo(this.$el)),
                                                       (this.options.pagination && "server" !== this.options.sidePagination) || ((this.pageFrom = 1), (this.pageTo = n.length));
                                                  for (var r = [], o = t(document.createDocumentFragment()), a = !1, s = this.pageFrom - 1; s < this.pageTo; s++) {
                                                       var l = n[s],
                                                            c = this.initRow(l, s, n, o);
                                                       (a = a || !!c), c && "string" == typeof c && (this.options.virtualScroll ? r.push(c) : o.append(c));
                                                  }
                                                  a
                                                       ? this.options.virtualScroll
                                                            ? (this.virtualScroll && this.virtualScroll.destroy(),
                                                              (this.virtualScroll = new uo({
                                                                   rows: r,
                                                                   fixedScroll: e,
                                                                   scrollEl: this.$tableBody[0],
                                                                   contentEl: this.$body[0],
                                                                   itemHeight: this.options.virtualScrollItemHeight,
                                                                   callback: function () {
                                                                        i.fitHeader(), i.initBodyEvent();
                                                                   },
                                                              })))
                                                            : this.$body.html(o)
                                                       : this.$body.html('<tr class="no-records-found">'.concat(co.sprintf('<td colspan="%s">%s</td>', this.$header.find("th").length, this.options.formatNoMatches()), "</tr>")),
                                                       e || this.scrollTo(0),
                                                       this.initBodyEvent(),
                                                       this.updateSelected(),
                                                       this.initFooter(),
                                                       this.resetView(),
                                                       "server" !== this.options.sidePagination && (this.options.totalRows = n.length),
                                                       this.trigger("post-body", n);
                                             },
                                        },
                                        {
                                             key: "initBodyEvent",
                                             value: function () {
                                                  var e = this;
                                                  this.$body
                                                       .find("> tr[data-index] > td")
                                                       .off("click dblclick")
                                                       .on("click dblclick", function (i) {
                                                            var n = t(i.currentTarget),
                                                                 r = n.parent(),
                                                                 o = t(i.target).parents(".card-views").children(),
                                                                 a = t(i.target).parents(".card-view"),
                                                                 s = r.data("index"),
                                                                 l = e.data[s],
                                                                 c = e.options.cardView ? o.index(a) : n[0].cellIndex,
                                                                 u = e.getVisibleFields()[e.options.detailView && e.options.detailViewIcon && !e.options.cardView ? c - 1 : c],
                                                                 h = e.columns[e.fieldsColumnsIndex[u]],
                                                                 d = co.getItemField(l, u, e.options.escape);
                                                            if (!n.find(".detail-icon").length) {
                                                                 if (
                                                                      (e.trigger("click" === i.type ? "click-cell" : "dbl-click-cell", u, d, l, n),
                                                                      e.trigger("click" === i.type ? "click-row" : "dbl-click-row", l, r, u),
                                                                      "click" === i.type && e.options.clickToSelect && h.clickToSelect && !co.calculateObjectValue(e.options, e.options.ignoreClickToSelectOn, [i.target]))
                                                                 ) {
                                                                      var p = r.find(co.sprintf('[name="%s"]', e.options.selectItemName));
                                                                      p.length && p[0].click();
                                                                 }
                                                                 "click" === i.type && e.options.detailViewByClick && e.toggleDetailView(s, e.header.detailFormatters[e.fieldsColumnsIndex[u]]);
                                                            }
                                                       })
                                                       .off("mousedown")
                                                       .on("mousedown", function (t) {
                                                            (e.multipleSelectRowCtrlKey = t.ctrlKey || t.metaKey), (e.multipleSelectRowShiftKey = t.shiftKey);
                                                       }),
                                                       this.$body
                                                            .find("> tr[data-index] > td > .detail-icon")
                                                            .off("click")
                                                            .on("click", function (i) {
                                                                 return i.preventDefault(), e.toggleDetailView(t(i.currentTarget).parent().parent().data("index")), !1;
                                                            }),
                                                       (this.$selectItem = this.$body.find(co.sprintf('[name="%s"]', this.options.selectItemName))),
                                                       this.$selectItem.off("click").on("click", function (i) {
                                                            i.stopImmediatePropagation();
                                                            var n = t(i.currentTarget);
                                                            e._toggleCheck(n.prop("checked"), n.data("index"));
                                                       }),
                                                       this.header.events.forEach(function (i, n) {
                                                            var r = i;
                                                            if (r) {
                                                                 "string" == typeof r && (r = co.calculateObjectValue(null, r));
                                                                 var o = e.header.fields[n],
                                                                      a = e.getVisibleFields().indexOf(o);
                                                                 if (-1 !== a) {
                                                                      e.options.detailView && !e.options.cardView && (a += 1);
                                                                      var s = function (i) {
                                                                           if (!r.hasOwnProperty(i)) return "continue";
                                                                           var n = r[i];
                                                                           e.$body.find(">tr:not(.no-records-found)").each(function (r, s) {
                                                                                var l = t(s),
                                                                                     c = l.find(e.options.cardView ? ".card-views>.card-view" : ">td").eq(a),
                                                                                     u = i.indexOf(" "),
                                                                                     h = i.substring(0, u),
                                                                                     d = i.substring(u + 1);
                                                                                c.find(d)
                                                                                     .off(h)
                                                                                     .on(h, function (t) {
                                                                                          var i = l.data("index"),
                                                                                               r = e.data[i],
                                                                                               a = r[o];
                                                                                          n.apply(e, [t, a, r, i]);
                                                                                     });
                                                                           });
                                                                      };
                                                                      for (var l in r) s(l);
                                                                 }
                                                            }
                                                       });
                                             },
                                        },
                                        {
                                             key: "initServer",
                                             value: function (e, i, n) {
                                                  var r = this,
                                                       o = {},
                                                       a = this.header.fields.indexOf(this.options.sortName),
                                                       s = { searchText: this.searchText, sortName: this.options.sortName, sortOrder: this.options.sortOrder };
                                                  if (
                                                       (this.header.sortNames[a] && (s.sortName = this.header.sortNames[a]),
                                                       this.options.pagination &&
                                                            "server" === this.options.sidePagination &&
                                                            ((s.pageSize = this.options.pageSize === this.options.formatAllRows() ? this.options.totalRows : this.options.pageSize), (s.pageNumber = this.options.pageNumber)),
                                                       (n || this.options.url || this.options.ajax) &&
                                                            ("limit" === this.options.queryParamsType &&
                                                                 ((s = { search: s.searchText, sort: s.sortName, order: s.sortOrder }),
                                                                 this.options.pagination &&
                                                                      "server" === this.options.sidePagination &&
                                                                      ((s.offset = this.options.pageSize === this.options.formatAllRows() ? 0 : this.options.pageSize * (this.options.pageNumber - 1)),
                                                                      (s.limit = this.options.pageSize === this.options.formatAllRows() ? this.options.totalRows : this.options.pageSize),
                                                                      0 === s.limit && delete s.limit)),
                                                            co.isEmptyObject(this.filterColumnsPartial) || (s.filter = JSON.stringify(this.filterColumnsPartial, null)),
                                                            t.extend(s, i || {}),
                                                            !1 !== (o = co.calculateObjectValue(this.options, this.options.queryParams, [s], o))))
                                                  ) {
                                                       e || this.showLoading();
                                                       var l = t.extend({}, co.calculateObjectValue(null, this.options.ajaxOptions), {
                                                            type: this.options.method,
                                                            url: n || this.options.url,
                                                            data: "application/json" === this.options.contentType && "post" === this.options.method ? JSON.stringify(o) : o,
                                                            cache: this.options.cache,
                                                            contentType: this.options.contentType,
                                                            dataType: this.options.dataType,
                                                            success: function (t, i, n) {
                                                                 var o = co.calculateObjectValue(r.options, r.options.responseHandler, [t, n], t);
                                                                 r.load(o),
                                                                      r.trigger("load-success", o, n && n.status, n),
                                                                      e || r.hideLoading(),
                                                                      "server" === r.options.sidePagination && o[r.options.totalField] > 0 && !o[r.options.dataField].length && r.updatePagination();
                                                            },
                                                            error: function (t) {
                                                                 var i = [];
                                                                 "server" === r.options.sidePagination && (((i = {})[r.options.totalField] = 0), (i[r.options.dataField] = [])),
                                                                      r.load(i),
                                                                      r.trigger("load-error", t && t.status, t),
                                                                      e || r.$tableLoading.hide();
                                                            },
                                                       });
                                                       return this.options.ajax ? co.calculateObjectValue(this, this.options.ajax, [l], null) : (this._xhr && 4 !== this._xhr.readyState && this._xhr.abort(), (this._xhr = t.ajax(l))), o;
                                                  }
                                             },
                                        },
                                        {
                                             key: "initSearchText",
                                             value: function () {
                                                  if (this.options.search && ((this.searchText = ""), "" !== this.options.searchText)) {
                                                       var t = this.$toolbar.find(".search input");
                                                       t.val(this.options.searchText), this.onSearch({ currentTarget: t, firedByInitSearchText: !0 });
                                                  }
                                             },
                                        },
                                        {
                                             key: "getCaret",
                                             value: function () {
                                                  var e = this;
                                                  this.$header.find("th").each(function (i, n) {
                                                       t(n)
                                                            .find(".sortable")
                                                            .removeClass("desc asc")
                                                            .addClass(t(n).data("field") === e.options.sortName ? e.options.sortOrder : "both");
                                                  });
                                             },
                                        },
                                        {
                                             key: "updateSelected",
                                             value: function () {
                                                  var e = this.$selectItem.filter(":enabled").length && this.$selectItem.filter(":enabled").length === this.$selectItem.filter(":enabled").filter(":checked").length;
                                                  this.$selectAll.add(this.$selectAll_).prop("checked", e),
                                                       this.$selectItem.each(function (e, i) {
                                                            t(i).closest("tr")[t(i).prop("checked") ? "addClass" : "removeClass"]("selected");
                                                       });
                                             },
                                        },
                                        {
                                             key: "updateRows",
                                             value: function () {
                                                  var e = this;
                                                  this.$selectItem.each(function (i, n) {
                                                       e.data[t(n).data("index")][e.header.stateField] = t(n).prop("checked");
                                                  });
                                             },
                                        },
                                        {
                                             key: "resetRows",
                                             value: function () {
                                                  var t = !0,
                                                       e = !1,
                                                       i = void 0;
                                                  try {
                                                       for (var n, r = this.data[Symbol.iterator](); !(t = (n = r.next()).done); t = !0) {
                                                            var o = n.value;
                                                            this.$selectAll.prop("checked", !1), this.$selectItem.prop("checked", !1), this.header.stateField && (o[this.header.stateField] = !1);
                                                       }
                                                  } catch (t) {
                                                       (e = !0), (i = t);
                                                  } finally {
                                                       try {
                                                            t || null == r.return || r.return();
                                                       } finally {
                                                            if (e) throw i;
                                                       }
                                                  }
                                                  this.initHiddenRows();
                                             },
                                        },
                                        {
                                             key: "trigger",
                                             value: function (i) {
                                                  for (var n, r = "".concat(i, ".bs.table"), o = arguments.length, a = new Array(o > 1 ? o - 1 : 0), s = 1; s < o; s++) a[s - 1] = arguments[s];
                                                  (n = this.options)[e.EVENTS[r]].apply(n, a), this.$el.trigger(t.Event(r), a), this.options.onAll(r, a), this.$el.trigger(t.Event("all.bs.table"), [r, a]);
                                             },
                                        },
                                        {
                                             key: "resetHeader",
                                             value: function () {
                                                  var t = this;
                                                  clearTimeout(this.timeoutId_),
                                                       (this.timeoutId_ = setTimeout(
                                                            function () {
                                                                 return t.fitHeader();
                                                            },
                                                            this.$el.is(":hidden") ? 100 : 0
                                                       ));
                                             },
                                        },
                                        {
                                             key: "fitHeader",
                                             value: function () {
                                                  var e = this;
                                                  if (this.$el.is(":hidden"))
                                                       this.timeoutId_ = setTimeout(function () {
                                                            return e.fitHeader();
                                                       }, 100);
                                                  else {
                                                       var i = this.$tableBody.get(0),
                                                            n = i.scrollWidth > i.clientWidth && i.scrollHeight > i.clientHeight + this.$header.outerHeight() ? co.getScrollBarWidth() : 0;
                                                       this.$el.css("margin-top", -this.$header.outerHeight());
                                                       var r = t(":focus");
                                                       if (r.length > 0) {
                                                            var o = r.parents("th");
                                                            if (o.length > 0) {
                                                                 var a = o.attr("data-field");
                                                                 if (void 0 !== a) {
                                                                      var s = this.$header.find("[data-field='".concat(a, "']"));
                                                                      s.length > 0 && s.find(":input").addClass("focus-temp");
                                                                 }
                                                            }
                                                       }
                                                       (this.$header_ = this.$header.clone(!0, !0)),
                                                            (this.$selectAll_ = this.$header_.find('[name="btSelectAll"]')),
                                                            this.$tableHeader.css("margin-right", n).find("table").css("width", this.$el.outerWidth()).html("").attr("class", this.$el.attr("class")).append(this.$header_),
                                                            this.$tableLoading.css("width", this.$el.outerWidth());
                                                       var l = t(".focus-temp:visible:eq(0)");
                                                       l.length > 0 && (l.focus(), this.$header.find(".focus-temp").removeClass("focus-temp")),
                                                            this.$header.find("th[data-field]").each(function (i, n) {
                                                                 e.$header_.find(co.sprintf('th[data-field="%s"]', t(n).data("field"))).data(t(n).data());
                                                            });
                                                       for (
                                                            var c = this.getVisibleFields(), u = this.$header_.find("th"), h = this.$body.find(">tr:not(.no-records-found,.virtual-scroll-top)").eq(0);
                                                            h.length && h.find('>td[colspan]:not([colspan="1"])').length;

                                                       )
                                                            h = h.next();
                                                       h.find("> *").each(function (i, n) {
                                                            var r = t(n),
                                                                 o = i;
                                                            if (e.options.detailView && e.options.detailViewIcon && !e.options.cardView) {
                                                                 if (0 === i) {
                                                                      var a = u.filter(".detail"),
                                                                           s = a.innerWidth() - a.find(".fht-cell").width();
                                                                      a.find(".fht-cell").width(r.innerWidth() - s);
                                                                 }
                                                                 o = i - 1;
                                                            }
                                                            if (-1 !== o) {
                                                                 var l = e.$header_.find(co.sprintf('th[data-field="%s"]', c[o]));
                                                                 l.length > 1 && (l = t(u[r[0].cellIndex]));
                                                                 var h = l.innerWidth() - l.find(".fht-cell").width();
                                                                 l.find(".fht-cell").width(r.innerWidth() - h);
                                                            }
                                                       }),
                                                            this.horizontalScroll(),
                                                            this.trigger("post-header");
                                                  }
                                             },
                                        },
                                        {
                                             key: "initFooter",
                                             value: function () {
                                                  if (this.options.showFooter && !this.options.cardView) {
                                                       var t = this.getData(),
                                                            e = [];
                                                       !this.options.cardView && this.options.detailView && this.options.detailViewIcon && e.push('<th class="detail"><div class="th-inner"></div><div class="fht-cell"></div></th>');
                                                       var i = !0,
                                                            n = !1,
                                                            r = void 0;
                                                       try {
                                                            for (var o, a = this.columns[Symbol.iterator](); !(i = (o = a.next()).done); i = !0) {
                                                                 var s,
                                                                      l,
                                                                      c = o.value,
                                                                      u = [],
                                                                      h = {},
                                                                      d = co.sprintf(' class="%s"', c.class);
                                                                 if (c.visible) {
                                                                      if (this.options.cardView && !c.cardVisible) return;
                                                                      if (
                                                                           ((s = co.sprintf("text-align: %s; ", c.falign ? c.falign : c.align)),
                                                                           (l = co.sprintf("vertical-align: %s; ", c.valign)),
                                                                           (h = co.calculateObjectValue(null, this.options.footerStyle, [c])) && h.css)
                                                                      )
                                                                           for (var p = 0, f = Object.entries(h.css); p < f.length; p++) {
                                                                                var m = to(f[p], 2),
                                                                                     g = m[0],
                                                                                     v = m[1];
                                                                                u.push("".concat(g, ": ").concat(v));
                                                                           }
                                                                      h && h.classes && (d = co.sprintf(' class="%s"', c.class ? [c.class, h.classes].join(" ") : h.classes)),
                                                                           e.push("<th", d, co.sprintf(' style="%s"', s + l + u.concat().join("; ")), ">"),
                                                                           e.push('<div class="th-inner">'),
                                                                           e.push(co.calculateObjectValue(c, c.footerFormatter, [t], (this.footerData[0] && this.footerData[0][c.field]) || "")),
                                                                           e.push("</div>"),
                                                                           e.push('<div class="fht-cell"></div>'),
                                                                           e.push("</div>"),
                                                                           e.push("</th>");
                                                                 }
                                                            }
                                                       } catch (t) {
                                                            (n = !0), (r = t);
                                                       } finally {
                                                            try {
                                                                 i || null == a.return || a.return();
                                                            } finally {
                                                                 if (n) throw r;
                                                            }
                                                       }
                                                       this.options.height || this.$tableFooter.length || (this.$el.append("<tfoot><tr></tr></tfoot>"), (this.$tableFooter = this.$el.find("tfoot"))),
                                                            this.$tableFooter.find("tr").html(e.join("")),
                                                            this.trigger("post-footer", this.$tableFooter);
                                                  }
                                             },
                                        },
                                        {
                                             key: "fitFooter",
                                             value: function () {
                                                  var e = this;
                                                  if (this.$el.is(":hidden"))
                                                       setTimeout(function () {
                                                            return e.fitFooter();
                                                       }, 100);
                                                  else {
                                                       var i = this.$tableBody.get(0),
                                                            n = i.scrollWidth > i.clientWidth && i.scrollHeight > i.clientHeight + this.$header.outerHeight() ? co.getScrollBarWidth() : 0;
                                                       this.$tableFooter.css("margin-right", n).find("table").css("width", this.$el.outerWidth()).attr("class", this.$el.attr("class")), this.getVisibleFields();
                                                       for (var r = this.$tableFooter.find("th"), o = this.$body.find(">tr:first-child:not(.no-records-found)"); o.length && o.find('>td[colspan]:not([colspan="1"])').length; ) o = o.next();
                                                       o.find("> *").each(function (i, n) {
                                                            var o = t(n),
                                                                 a = i;
                                                            if (e.options.detailView && !e.options.cardView) {
                                                                 if (0 === i) {
                                                                      var s = r.filter(".detail"),
                                                                           l = s.innerWidth() - s.find(".fht-cell").width();
                                                                      s.find(".fht-cell").width(o.innerWidth() - l);
                                                                 }
                                                                 a = i - 1;
                                                            }
                                                            if (-1 !== a) {
                                                                 var c = r.eq(i),
                                                                      u = c.innerWidth() - c.find(".fht-cell").width();
                                                                 c.find(".fht-cell").width(o.innerWidth() - u);
                                                            }
                                                       }),
                                                            this.horizontalScroll();
                                                  }
                                             },
                                        },
                                        {
                                             key: "horizontalScroll",
                                             value: function () {
                                                  var t = this;
                                                  this.$tableBody.off("scroll").on("scroll", function () {
                                                       var e = t.$tableBody.scrollLeft();
                                                       t.options.showHeader && t.options.height && t.$tableHeader.scrollLeft(e),
                                                            t.options.showFooter && !t.options.cardView && t.$tableFooter.scrollLeft(e),
                                                            t.trigger("scroll-body", t.$tableBody);
                                                  });
                                             },
                                        },
                                        {
                                             key: "getVisibleFields",
                                             value: function () {
                                                  var t = [],
                                                       e = !0,
                                                       i = !1,
                                                       n = void 0;
                                                  try {
                                                       for (var r, o = this.header.fields[Symbol.iterator](); !(e = (r = o.next()).done); e = !0) {
                                                            var a = r.value,
                                                                 s = this.columns[this.fieldsColumnsIndex[a]];
                                                            s && s.visible && t.push(a);
                                                       }
                                                  } catch (t) {
                                                       (i = !0), (n = t);
                                                  } finally {
                                                       try {
                                                            e || null == o.return || o.return();
                                                       } finally {
                                                            if (i) throw n;
                                                       }
                                                  }
                                                  return t;
                                             },
                                        },
                                        {
                                             key: "initHiddenRows",
                                             value: function () {
                                                  this.hiddenRows = [];
                                             },
                                        },
                                        {
                                             key: "getOptions",
                                             value: function () {
                                                  var e = t.extend({}, this.options);
                                                  return delete e.data, t.extend(!0, {}, e);
                                             },
                                        },
                                        {
                                             key: "refreshOptions",
                                             value: function (e) {
                                                  co.compareObjects(this.options, e, !0) || ((this.options = t.extend(this.options, e)), this.trigger("refresh-options", this.options), this.destroy(), this.init());
                                             },
                                        },
                                        {
                                             key: "getData",
                                             value: function (t) {
                                                  var e = this.options.data;
                                                  if (
                                                       ((!(this.searchText || this.options.customSearch || this.options.sortName) && co.isEmptyObject(this.filterColumns) && co.isEmptyObject(this.filterColumnsPartial)) ||
                                                            (t && t.unfiltered) ||
                                                            (e = this.data),
                                                       t && t.useCurrentPage && (e = e.slice(this.pageFrom - 1, this.pageTo)),
                                                       t && !t.includeHiddenRows)
                                                  ) {
                                                       var i = this.getHiddenRows();
                                                       e = e.filter(function (t) {
                                                            return -1 === co.findIndex(i, t);
                                                       });
                                                  }
                                                  return e;
                                             },
                                        },
                                        {
                                             key: "getSelections",
                                             value: function () {
                                                  var t = this;
                                                  return this.data.filter(function (e) {
                                                       return !0 === e[t.header.stateField];
                                                  });
                                             },
                                        },
                                        {
                                             key: "getAllSelections",
                                             value: function () {
                                                  var t = this;
                                                  return this.options.data.filter(function (e) {
                                                       return !0 === e[t.header.stateField];
                                                  });
                                             },
                                        },
                                        {
                                             key: "load",
                                             value: function (t) {
                                                  var e,
                                                       i = t;
                                                  this.options.pagination && "server" === this.options.sidePagination && (this.options.totalRows = i[this.options.totalField]),
                                                       this.options.pagination && "server" === this.options.sidePagination && (this.options.totalNotFiltered = i[this.options.totalNotFilteredField]),
                                                       (e = i.fixedScroll),
                                                       (i = Array.isArray(i) ? i : i[this.options.dataField]),
                                                       this.initData(i),
                                                       this.initSearch(),
                                                       this.initPagination(),
                                                       this.initBody(e);
                                             },
                                        },
                                        {
                                             key: "append",
                                             value: function (t) {
                                                  this.initData(t, "append"), this.initSearch(), this.initPagination(), this.initSort(), this.initBody(!0);
                                             },
                                        },
                                        {
                                             key: "prepend",
                                             value: function (t) {
                                                  this.initData(t, "prepend"), this.initSearch(), this.initPagination(), this.initSort(), this.initBody(!0);
                                             },
                                        },
                                        {
                                             key: "remove",
                                             value: function (t) {
                                                  var e,
                                                       i,
                                                       n = this.options.data.length;
                                                  if (t.hasOwnProperty("field") && t.hasOwnProperty("values")) {
                                                       for (e = n - 1; e >= 0; e--)
                                                            (i = this.options.data[e]).hasOwnProperty(t.field) &&
                                                                 t.values.includes(i[t.field]) &&
                                                                 (this.options.data.splice(e, 1), "server" === this.options.sidePagination && (this.options.totalRows -= 1));
                                                       n !== this.options.data.length && (this.initSearch(), this.initPagination(), this.initSort(), this.initBody(!0));
                                                  }
                                             },
                                        },
                                        {
                                             key: "removeAll",
                                             value: function () {
                                                  this.options.data.length > 0 && (this.options.data.splice(0, this.options.data.length), this.initSearch(), this.initPagination(), this.initBody(!0));
                                             },
                                        },
                                        {
                                             key: "insertRow",
                                             value: function (t) {
                                                  t.hasOwnProperty("index") && t.hasOwnProperty("row") && (this.options.data.splice(t.index, 0, t.row), this.initSearch(), this.initPagination(), this.initSort(), this.initBody(!0));
                                             },
                                        },
                                        {
                                             key: "updateRow",
                                             value: function (e) {
                                                  var i = Array.isArray(e) ? e : [e],
                                                       n = !0,
                                                       r = !1,
                                                       o = void 0;
                                                  try {
                                                       for (var a, s = i[Symbol.iterator](); !(n = (a = s.next()).done); n = !0) {
                                                            var l = a.value;
                                                            l.hasOwnProperty("index") &&
                                                                 l.hasOwnProperty("row") &&
                                                                 (t.extend(this.options.data[l.index], l.row), l.hasOwnProperty("replace") && l.replace ? (this.options.data[l.index] = l.row) : t.extend(this.options.data[l.index], l.row));
                                                       }
                                                  } catch (t) {
                                                       (r = !0), (o = t);
                                                  } finally {
                                                       try {
                                                            n || null == s.return || s.return();
                                                       } finally {
                                                            if (r) throw o;
                                                       }
                                                  }
                                                  this.initSearch(), this.initPagination(), this.initSort(), this.initBody(!0);
                                             },
                                        },
                                        {
                                             key: "getRowByUniqueId",
                                             value: function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r = this.options.uniqueId,
                                                       o = t,
                                                       a = null;
                                                  for (e = this.options.data.length - 1; e >= 0; e--) {
                                                       if ((i = this.options.data[e]).hasOwnProperty(r)) n = i[r];
                                                       else {
                                                            if (!i._data || !i._data.hasOwnProperty(r)) continue;
                                                            n = i._data[r];
                                                       }
                                                       if (
                                                            ("string" == typeof n ? (o = o.toString()) : "number" == typeof n && (Number(n) === n && n % 1 == 0 ? (o = parseInt(o)) : n === Number(n) && 0 !== n && (o = parseFloat(o))),
                                                            n === o)
                                                       ) {
                                                            a = i;
                                                            break;
                                                       }
                                                  }
                                                  return a;
                                             },
                                        },
                                        {
                                             key: "updateByUniqueId",
                                             value: function (e) {
                                                  var i = Array.isArray(e) ? e : [e],
                                                       n = !0,
                                                       r = !1,
                                                       o = void 0;
                                                  try {
                                                       for (var a, s = i[Symbol.iterator](); !(n = (a = s.next()).done); n = !0) {
                                                            var l = a.value;
                                                            if (l.hasOwnProperty("id") && l.hasOwnProperty("row")) {
                                                                 var c = this.options.data.indexOf(this.getRowByUniqueId(l.id));
                                                                 -1 !== c && (l.hasOwnProperty("replace") && l.replace ? (this.options.data[c] = l.row) : t.extend(this.options.data[c], l.row));
                                                            }
                                                       }
                                                  } catch (t) {
                                                       (r = !0), (o = t);
                                                  } finally {
                                                       try {
                                                            n || null == s.return || s.return();
                                                       } finally {
                                                            if (r) throw o;
                                                       }
                                                  }
                                                  this.initSearch(), this.initPagination(), this.initSort(), this.initBody(!0);
                                             },
                                        },
                                        {
                                             key: "removeByUniqueId",
                                             value: function (t) {
                                                  var e = this.options.data.length,
                                                       i = this.getRowByUniqueId(t);
                                                  i && this.options.data.splice(this.options.data.indexOf(i), 1), e !== this.options.data.length && (this.initSearch(), this.initPagination(), this.initBody(!0));
                                             },
                                        },
                                        {
                                             key: "updateCell",
                                             value: function (t) {
                                                  t.hasOwnProperty("index") && t.hasOwnProperty("field") && t.hasOwnProperty("value") && ((this.data[t.index][t.field] = t.value), !1 !== t.reinit && (this.initSort(), this.initBody(!0)));
                                             },
                                        },
                                        {
                                             key: "updateCellByUniqueId",
                                             value: function (t) {
                                                  var e = this;
                                                  t.hasOwnProperty("id") &&
                                                       t.hasOwnProperty("field") &&
                                                       t.hasOwnProperty("value") &&
                                                       ((Array.isArray(t) ? t : [t]).forEach(function (t) {
                                                            var i = t.id,
                                                                 n = t.field,
                                                                 r = t.value,
                                                                 o = e.options.data.indexOf(e.getRowByUniqueId(i));
                                                            -1 !== o && (e.options.data[o][n] = r);
                                                       }),
                                                       !1 !== t.reinit && (this.initSort(), this.initBody(!0)));
                                             },
                                        },
                                        {
                                             key: "showRow",
                                             value: function (t) {
                                                  this._toggleRow(t, !0);
                                             },
                                        },
                                        {
                                             key: "hideRow",
                                             value: function (t) {
                                                  this._toggleRow(t, !1);
                                             },
                                        },
                                        {
                                             key: "_toggleRow",
                                             value: function (t, e) {
                                                  var i;
                                                  if ((t.hasOwnProperty("index") ? (i = this.getData()[t.index]) : t.hasOwnProperty("uniqueId") && (i = this.getRowByUniqueId(t.uniqueId)), i)) {
                                                       var n = co.findIndex(this.hiddenRows, i);
                                                       e || -1 !== n ? e && n > -1 && this.hiddenRows.splice(n, 1) : this.hiddenRows.push(i), e ? this.updatePagination() : (this.initBody(!0), this.initPagination());
                                                  }
                                             },
                                        },
                                        {
                                             key: "getHiddenRows",
                                             value: function (t) {
                                                  if (t) return this.initHiddenRows(), void this.initBody(!0);
                                                  var e = this.getData(),
                                                       i = [],
                                                       n = !0,
                                                       r = !1,
                                                       o = void 0;
                                                  try {
                                                       for (var a, s = e[Symbol.iterator](); !(n = (a = s.next()).done); n = !0) {
                                                            var l = a.value;
                                                            this.hiddenRows.includes(l) && i.push(l);
                                                       }
                                                  } catch (t) {
                                                       (r = !0), (o = t);
                                                  } finally {
                                                       try {
                                                            n || null == s.return || s.return();
                                                       } finally {
                                                            if (r) throw o;
                                                       }
                                                  }
                                                  return (this.hiddenRows = i), i;
                                             },
                                        },
                                        {
                                             key: "showColumn",
                                             value: function (t) {
                                                  var e = this;
                                                  (Array.isArray(t) ? t : [t]).forEach(function (t) {
                                                       e._toggleColumn(e.fieldsColumnsIndex[t], !0, !0);
                                                  });
                                             },
                                        },
                                        {
                                             key: "hideColumn",
                                             value: function (t) {
                                                  var e = this;
                                                  (Array.isArray(t) ? t : [t]).forEach(function (t) {
                                                       e._toggleColumn(e.fieldsColumnsIndex[t], !1, !0);
                                                  });
                                             },
                                        },
                                        {
                                             key: "_toggleColumn",
                                             value: function (t, e, i) {
                                                  if (-1 !== t && this.columns[t].visible !== e && ((this.columns[t].visible = e), this.initHeader(), this.initSearch(), this.initPagination(), this.initBody(), this.options.showColumns)) {
                                                       var n = this.$toolbar.find('.keep-open input:not(".toggle-all")').prop("disabled", !1);
                                                       i && n.filter(co.sprintf('[value="%s"]', t)).prop("checked", e), n.filter(":checked").length <= this.options.minimumCountColumns && n.filter(":checked").prop("disabled", !0);
                                                  }
                                             },
                                        },
                                        {
                                             key: "getVisibleColumns",
                                             value: function () {
                                                  var t = this;
                                                  return this.columns.filter(function (e) {
                                                       return e.visible && !t.isSelectionColumn(e);
                                                  });
                                             },
                                        },
                                        {
                                             key: "getHiddenColumns",
                                             value: function () {
                                                  return this.columns.filter(function (t) {
                                                       return !t.visible;
                                                  });
                                             },
                                        },
                                        {
                                             key: "isSelectionColumn",
                                             value: function (t) {
                                                  return t.radio || t.checkbox;
                                             },
                                        },
                                        {
                                             key: "showAllColumns",
                                             value: function () {
                                                  this._toggleAllColumns(!0);
                                             },
                                        },
                                        {
                                             key: "hideAllColumns",
                                             value: function () {
                                                  this._toggleAllColumns(!1);
                                             },
                                        },
                                        {
                                             key: "_toggleAllColumns",
                                             value: function (e) {
                                                  var i = this,
                                                       n = !0,
                                                       r = !1,
                                                       o = void 0;
                                                  try {
                                                       for (var a, s = this.columns.slice().reverse()[Symbol.iterator](); !(n = (a = s.next()).done); n = !0) {
                                                            var l = a.value;
                                                            if (l.switchable) {
                                                                 if (!e && this.options.showColumns && this.getVisibleColumns().length === this.options.minimumCountColumns) continue;
                                                                 l.visible = e;
                                                            }
                                                       }
                                                  } catch (t) {
                                                       (r = !0), (o = t);
                                                  } finally {
                                                       try {
                                                            n || null == s.return || s.return();
                                                       } finally {
                                                            if (r) throw o;
                                                       }
                                                  }
                                                  if ((this.initHeader(), this.initSearch(), this.initPagination(), this.initBody(), this.options.showColumns)) {
                                                       var c = this.$toolbar.find('.keep-open input[type="checkbox"]:not(".toggle-all")').prop("disabled", !1);
                                                       e
                                                            ? c.prop("checked", e)
                                                            : c
                                                                   .get()
                                                                   .reverse()
                                                                   .forEach(function (n) {
                                                                        c.filter(":checked").length > i.options.minimumCountColumns && t(n).prop("checked", e);
                                                                   }),
                                                            c.filter(":checked").length <= this.options.minimumCountColumns && c.filter(":checked").prop("disabled", !0);
                                                  }
                                             },
                                        },
                                        {
                                             key: "mergeCells",
                                             value: function (t) {
                                                  var e,
                                                       i,
                                                       n = t.index,
                                                       r = this.getVisibleFields().indexOf(t.field),
                                                       o = t.rowspan || 1,
                                                       a = t.colspan || 1,
                                                       s = this.$body.find(">tr");
                                                  this.options.detailView && !this.options.cardView && (r += 1);
                                                  var l = s.eq(n).find(">td").eq(r);
                                                  if (!(n < 0 || r < 0 || n >= this.data.length)) {
                                                       for (e = n; e < n + o; e++) for (i = r; i < r + a; i++) s.eq(e).find(">td").eq(i).hide();
                                                       l.attr("rowspan", o).attr("colspan", a).show();
                                                  }
                                             },
                                        },
                                        {
                                             key: "checkAll",
                                             value: function () {
                                                  this._toggleCheckAll(!0);
                                             },
                                        },
                                        {
                                             key: "uncheckAll",
                                             value: function () {
                                                  this._toggleCheckAll(!1);
                                             },
                                        },
                                        {
                                             key: "_toggleCheckAll",
                                             value: function (t) {
                                                  var e = this.getSelections();
                                                  this.$selectAll.add(this.$selectAll_).prop("checked", t), this.$selectItem.filter(":enabled").prop("checked", t), this.updateRows();
                                                  var i = this.getSelections();
                                                  t ? this.trigger("check-all", i, e) : this.trigger("uncheck-all", i, e);
                                             },
                                        },
                                        {
                                             key: "checkInvert",
                                             value: function () {
                                                  var e = this.$selectItem.filter(":enabled"),
                                                       i = e.filter(":checked");
                                                  e.each(function (e, i) {
                                                       t(i).prop("checked", !t(i).prop("checked"));
                                                  }),
                                                       this.updateRows(),
                                                       this.updateSelected(),
                                                       this.trigger("uncheck-some", i),
                                                       (i = this.getSelections()),
                                                       this.trigger("check-some", i);
                                             },
                                        },
                                        {
                                             key: "check",
                                             value: function (t) {
                                                  this._toggleCheck(!0, t);
                                             },
                                        },
                                        {
                                             key: "uncheck",
                                             value: function (t) {
                                                  this._toggleCheck(!1, t);
                                             },
                                        },
                                        {
                                             key: "_toggleCheck",
                                             value: function (t, e) {
                                                  var i = this.$selectItem.filter('[data-index="'.concat(e, '"]')),
                                                       n = this.data[e];
                                                  if (i.is(":radio") || this.options.singleSelect || (this.options.multipleSelectRow && !this.multipleSelectRowCtrlKey && !this.multipleSelectRowShiftKey)) {
                                                       var r = !0,
                                                            o = !1,
                                                            a = void 0;
                                                       try {
                                                            for (var s, l = this.options.data[Symbol.iterator](); !(r = (s = l.next()).done); r = !0) s.value[this.header.stateField] = !1;
                                                       } catch (t) {
                                                            (o = !0), (a = t);
                                                       } finally {
                                                            try {
                                                                 r || null == l.return || l.return();
                                                            } finally {
                                                                 if (o) throw a;
                                                            }
                                                       }
                                                       this.$selectItem.filter(":checked").not(i).prop("checked", !1);
                                                  }
                                                  if (((n[this.header.stateField] = t), this.options.multipleSelectRow)) {
                                                       if (this.multipleSelectRowShiftKey && this.multipleSelectRowLastSelectedIndex >= 0)
                                                            for (var c = [this.multipleSelectRowLastSelectedIndex, e].sort(), u = c[0] + 1; u < c[1]; u++)
                                                                 (this.data[u][this.header.stateField] = !0), this.$selectItem.filter('[data-index="'.concat(u, '"]')).prop("checked", !0);
                                                       (this.multipleSelectRowCtrlKey = !1), (this.multipleSelectRowShiftKey = !1), (this.multipleSelectRowLastSelectedIndex = t ? e : -1);
                                                  }
                                                  i.prop("checked", t), this.updateSelected(), this.trigger(t ? "check" : "uncheck", this.data[e], i);
                                             },
                                        },
                                        {
                                             key: "checkBy",
                                             value: function (t) {
                                                  this._toggleCheckBy(!0, t);
                                             },
                                        },
                                        {
                                             key: "uncheckBy",
                                             value: function (t) {
                                                  this._toggleCheckBy(!1, t);
                                             },
                                        },
                                        {
                                             key: "_toggleCheckBy",
                                             value: function (t, e) {
                                                  var i = this;
                                                  if (e.hasOwnProperty("field") && e.hasOwnProperty("values")) {
                                                       var n = [];
                                                       this.data.forEach(function (r, o) {
                                                            if (!r.hasOwnProperty(e.field)) return !1;
                                                            if (e.values.includes(r[e.field])) {
                                                                 var a = i.$selectItem.filter(":enabled").filter(co.sprintf('[data-index="%s"]', o));
                                                                 if (!(a = t ? a.not(":checked") : a.filter(":checked")).length) return;
                                                                 a.prop("checked", t), (r[i.header.stateField] = t), n.push(r), i.trigger(t ? "check" : "uncheck", r, a);
                                                            }
                                                       }),
                                                            this.updateSelected(),
                                                            this.trigger(t ? "check-some" : "uncheck-some", n);
                                                  }
                                             },
                                        },
                                        {
                                             key: "refresh",
                                             value: function (t) {
                                                  t && t.url && (this.options.url = t.url),
                                                       t && t.pageNumber && (this.options.pageNumber = t.pageNumber),
                                                       t && t.pageSize && (this.options.pageSize = t.pageSize),
                                                       this.trigger("refresh", this.initServer(t && t.silent, t && t.query, t && t.url));
                                             },
                                        },
                                        {
                                             key: "destroy",
                                             value: function () {
                                                  this.$el.insertBefore(this.$container),
                                                       t(this.options.toolbar).insertBefore(this.$el),
                                                       this.$container.next().remove(),
                                                       this.$container.remove(),
                                                       this.$el
                                                            .html(this.$el_.html())
                                                            .css("margin-top", "0")
                                                            .attr("class", this.$el_.attr("class") || "");
                                             },
                                        },
                                        {
                                             key: "resetView",
                                             value: function (t) {
                                                  var e = 0;
                                                  if (
                                                       (t && t.height && (this.options.height = t.height),
                                                       this.$selectAll.prop("checked", this.$selectItem.length > 0 && this.$selectItem.length === this.$selectItem.filter(":checked").length),
                                                       this.$tableContainer.toggleClass("has-card-view", this.options.cardView),
                                                       !this.options.cardView && this.options.showHeader && this.options.height
                                                            ? (this.$tableHeader.show(), this.resetHeader(), (e += this.$header.outerHeight(!0) + 1))
                                                            : (this.$tableHeader.hide(), this.trigger("post-header")),
                                                       !this.options.cardView && this.options.showFooter && (this.$tableFooter.show(), this.fitFooter(), this.options.height && (e += this.$tableFooter.outerHeight(!0))),
                                                       this.$container.hasClass("fullscreen"))
                                                  )
                                                       this.$tableContainer.css("height", ""), this.$tableContainer.css("width", "");
                                                  else if (this.options.height) {
                                                       var i = this.$toolbar.outerHeight(!0),
                                                            n = this.$pagination.outerHeight(!0),
                                                            r = this.options.height - i - n,
                                                            o = this.$tableBody.find(">table"),
                                                            a = o.outerHeight();
                                                       if ((this.$tableContainer.css("height", "".concat(r, "px")), this.$tableBorder)) {
                                                            var s = r - a - 2;
                                                            this.$tableBody[0].scrollWidth - this.$tableBody.innerWidth() && (s -= co.getScrollBarWidth()),
                                                                 this.$tableBorder.css("width", "".concat(o.outerWidth(), "px")),
                                                                 this.$tableBorder.css("height", "".concat(s, "px"));
                                                       }
                                                  }
                                                  this.options.cardView
                                                       ? (this.$el.css("margin-top", "0"), this.$tableContainer.css("padding-bottom", "0"), this.$tableFooter.hide())
                                                       : (this.getCaret(), this.$tableContainer.css("padding-bottom", "".concat(e, "px"))),
                                                       this.trigger("reset-view");
                                             },
                                        },
                                        {
                                             key: "showLoading",
                                             value: function () {
                                                  this.$tableLoading.css("display", "flex");
                                             },
                                        },
                                        {
                                             key: "hideLoading",
                                             value: function () {
                                                  this.$tableLoading.css("display", "none");
                                             },
                                        },
                                        {
                                             key: "togglePagination",
                                             value: function () {
                                                  this.options.pagination = !this.options.pagination;
                                                  var t = this.options.showButtonIcons ? (this.options.pagination ? this.options.icons.paginationSwitchDown : this.options.icons.paginationSwitchUp) : "",
                                                       e = this.options.showButtonText ? (this.options.pagination ? this.options.formatPaginationSwitchUp() : this.options.formatPaginationSwitchDown()) : "";
                                                  this.$toolbar.find('button[name="paginationSwitch"]').html(co.sprintf(this.constants.html.icon, this.options.iconsPrefix, t) + " " + e), this.updatePagination();
                                             },
                                        },
                                        {
                                             key: "toggleFullscreen",
                                             value: function () {
                                                  this.$el.closest(".bootstrap-table").toggleClass("fullscreen"), this.resetView();
                                             },
                                        },
                                        {
                                             key: "toggleView",
                                             value: function () {
                                                  (this.options.cardView = !this.options.cardView), this.initHeader();
                                                  var t = this.options.showButtonIcons ? (this.options.cardView ? this.options.icons.toggleOn : this.options.icons.toggleOff) : "",
                                                       e = this.options.showButtonText ? (this.options.cardView ? this.options.formatToggleOff() : this.options.formatToggleOn()) : "";
                                                  this.$toolbar.find('button[name="toggle"]').html(co.sprintf(this.constants.html.icon, this.options.iconsPrefix, t) + " " + e), this.initBody(), this.trigger("toggle", this.options.cardView);
                                             },
                                        },
                                        {
                                             key: "resetSearch",
                                             value: function (t) {
                                                  var e = this.$toolbar.find(".search input");
                                                  e.val(t || ""), this.onSearch({ currentTarget: e });
                                             },
                                        },
                                        {
                                             key: "filterBy",
                                             value: function (e, i) {
                                                  (this.filterOptions = co.isEmptyObject(i) ? this.options.filterOptions : t.extend(this.options.filterOptions, i)),
                                                       (this.filterColumns = co.isEmptyObject(e) ? {} : e),
                                                       (this.options.pageNumber = 1),
                                                       this.initSearch(),
                                                       this.updatePagination();
                                             },
                                        },
                                        {
                                             key: "scrollTo",
                                             value: function (e) {
                                                  if (void 0 === e) return this.$tableBody.scrollTop();
                                                  var i = { unit: "px", value: 0 };
                                                  "object" === Zr(e) ? (i = Object.assign(i, e)) : "string" == typeof e && "bottom" === e ? (i.value = this.$tableBody[0].scrollHeight) : "string" == typeof e && (i.value = e);
                                                  var n = i.value;
                                                  "rows" === i.unit &&
                                                       ((n = 0),
                                                       this.$body.find("> tr:lt(".concat(i.value, ")")).each(function (e, i) {
                                                            n += t(i).outerHeight(!0);
                                                       })),
                                                       this.$tableBody.scrollTop(n);
                                             },
                                        },
                                        {
                                             key: "getScrollPosition",
                                             value: function () {
                                                  return this.scrollTo();
                                             },
                                        },
                                        {
                                             key: "selectPage",
                                             value: function (t) {
                                                  t > 0 && t <= this.options.totalPages && ((this.options.pageNumber = t), this.updatePagination());
                                             },
                                        },
                                        {
                                             key: "prevPage",
                                             value: function () {
                                                  this.options.pageNumber > 1 && (this.options.pageNumber--, this.updatePagination());
                                             },
                                        },
                                        {
                                             key: "nextPage",
                                             value: function () {
                                                  this.options.pageNumber < this.options.totalPages && (this.options.pageNumber++, this.updatePagination());
                                             },
                                        },
                                        {
                                             key: "toggleDetailView",
                                             value: function (t, e) {
                                                  this.$body.find(co.sprintf('> tr[data-index="%s"]', t)).next().is("tr.detail-view") ? this.collapseRow(t) : this.expandRow(t, e), this.resetView();
                                             },
                                        },
                                        {
                                             key: "expandRow",
                                             value: function (t, e) {
                                                  var i = this.data[t],
                                                       n = this.$body.find(co.sprintf('> tr[data-index="%s"][data-has-detail-view]', t));
                                                  if (!n.next().is("tr.detail-view")) {
                                                       this.options.detailViewIcon && n.find("a.detail-icon").html(co.sprintf(this.constants.html.icon, this.options.iconsPrefix, this.options.icons.detailClose)),
                                                            n.after(co.sprintf('<tr class="detail-view"><td colspan="%s"></td></tr>', n.children("td").length));
                                                       var r = n.next().find("td"),
                                                            o = e || this.options.detailFormatter,
                                                            a = co.calculateObjectValue(this.options, o, [t, i, r], "");
                                                       1 === r.length && r.append(a), this.trigger("expand-row", t, i, r);
                                                  }
                                             },
                                        },
                                        {
                                             key: "collapseRow",
                                             value: function (t) {
                                                  var e = this.data[t],
                                                       i = this.$body.find(co.sprintf('> tr[data-index="%s"][data-has-detail-view]', t));
                                                  i.next().is("tr.detail-view") &&
                                                       (this.options.detailViewIcon && i.find("a.detail-icon").html(co.sprintf(this.constants.html.icon, this.options.iconsPrefix, this.options.icons.detailOpen)),
                                                       this.trigger("collapse-row", t, e, i.next()),
                                                       i.next().remove());
                                             },
                                        },
                                        {
                                             key: "expandAllRows",
                                             value: function () {
                                                  for (var e = this.$body.find("> tr[data-index][data-has-detail-view]"), i = 0; i < e.length; i++) this.expandRow(t(e[i]).data("index"));
                                             },
                                        },
                                        {
                                             key: "collapseAllRows",
                                             value: function () {
                                                  for (var e = this.$body.find("> tr[data-index][data-has-detail-view]"), i = 0; i < e.length; i++) this.collapseRow(t(e[i]).data("index"));
                                             },
                                        },
                                        {
                                             key: "updateColumnTitle",
                                             value: function (e) {
                                                  e.hasOwnProperty("field") &&
                                                       e.hasOwnProperty("title") &&
                                                       ((this.columns[this.fieldsColumnsIndex[e.field]].title = this.options.escape ? co.escapeHTML(e.title) : e.title),
                                                       this.columns[this.fieldsColumnsIndex[e.field]].visible &&
                                                            (void 0 !== this.options.height ? this.$tableHeader : this.$header).find("th[data-field]").each(function (i, n) {
                                                                 if (t(n).data("field") === e.field) return t(t(n).find(".th-inner")[0]).text(e.title), !1;
                                                            }));
                                             },
                                        },
                                        {
                                             key: "updateFormatText",
                                             value: function (t, e) {
                                                  /^format/.test(t) &&
                                                       this.options[t] &&
                                                       ("string" == typeof e
                                                            ? (this.options[t] = function () {
                                                                   return e;
                                                              })
                                                            : "function" == typeof e && (this.options[t] = e),
                                                       this.initToolbar(),
                                                       this.initPagination(),
                                                       this.initBody());
                                             },
                                        },
                                   ]),
                                   e
                              );
                         })();
                    return (
                         (ho.VERSION = so.VERSION),
                         (ho.DEFAULTS = so.DEFAULTS),
                         (ho.LOCALES = so.LOCALES),
                         (ho.COLUMN_DEFAULTS = so.COLUMN_DEFAULTS),
                         (ho.METHODS = so.METHODS),
                         (ho.EVENTS = so.EVENTS),
                         (t.BootstrapTable = ho),
                         (t.fn.bootstrapTable = function (e) {
                              for (var i = arguments.length, n = new Array(i > 1 ? i - 1 : 0), r = 1; r < i; r++) n[r - 1] = arguments[r];
                              var o;
                              return (
                                   this.each(function (i, r) {
                                        var a = t(r).data("bootstrap.table"),
                                             s = t.extend({}, ho.DEFAULTS, t(r).data(), "object" === Zr(e) && e);
                                        if ("string" == typeof e) {
                                             var l;
                                             if (!so.METHODS.includes(e)) throw new Error("Unknown method: ".concat(e));
                                             if (!a) return;
                                             (o = (l = a)[e].apply(l, n)), "destroy" === e && t(r).removeData("bootstrap.table");
                                        }
                                        a || t(r).data("bootstrap.table", (a = new t.BootstrapTable(r, s)));
                                   }),
                                   void 0 === o ? this : o
                              );
                         }),
                         (t.fn.bootstrapTable.Constructor = ho),
                         (t.fn.bootstrapTable.theme = so.THEME),
                         (t.fn.bootstrapTable.VERSION = so.VERSION),
                         (t.fn.bootstrapTable.defaults = ho.DEFAULTS),
                         (t.fn.bootstrapTable.columnDefaults = ho.COLUMN_DEFAULTS),
                         (t.fn.bootstrapTable.events = ho.EVENTS),
                         (t.fn.bootstrapTable.locales = ho.LOCALES),
                         (t.fn.bootstrapTable.methods = ho.METHODS),
                         (t.fn.bootstrapTable.utils = co),
                         t(function () {
                              t('[data-toggle="table"]').bootstrapTable();
                         }),
                         ho
                    );
               })(i(1));
          }.call(this, i(12)));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(188);
                    t(document).ready(function () {
                         t("#signupForm").validate({
                              rules: {
                                   firstname: "required",
                                   lastname: "required",
                                   username: { required: !0, minlength: 2 },
                                   password: { required: !0, minlength: 5 },
                                   confirm_password: { required: !0, minlength: 5, equalTo: "#password" },
                                   email: { required: !0, email: !0 },
                                   agree: "required",
                              },
                              messages: {
                                   firstname: "Please enter your firstname",
                                   lastname: "Please enter your lastname",
                                   username: { required: "Please enter a username", minlength: "Your username must consist of at least 2 characters" },
                                   password: { required: "Please provide a password", minlength: "Your password must be at least 5 characters long" },
                                   confirm_password: { required: "Please provide a password", minlength: "Your password must be at least 5 characters long", equalTo: "Please enter the same password as above" },
                                   email: "Please enter a valid email address",
                                   agree: "Please accept our policy",
                              },
                              errorElement: "em",
                              errorPlacement: function (t, e) {
                                   t.addClass("invalid-feedback"), "checkbox" === e.prop("type") ? t.insertAfter(e.next("label")) : t.insertAfter(e);
                              },
                              highlight: function (e, i, n) {
                                   t(e).addClass("is-invalid").removeClass("is-valid");
                              },
                              unhighlight: function (e, i, n) {
                                   t(e).addClass("is-valid").removeClass("is-invalid");
                              },
                         });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          var n, r, o;
          /*!
           * jQuery Validation Plugin v1.19.2
           *
           * https://jqueryvalidation.org/
           *
           * Copyright (c) 2020 Jörn Zaefferer
           * Released under the MIT license
           */ (r = [i(1)]),
               void 0 ===
                    (o =
                         "function" ==
                         typeof (n = function (t) {
                              t.extend(t.fn, {
                                   validate: function (e) {
                                        if (this.length) {
                                             var i = t.data(this[0], "validator");
                                             return (
                                                  i ||
                                                  (this.attr("novalidate", "novalidate"),
                                                  (i = new t.validator(e, this[0])),
                                                  t.data(this[0], "validator", i),
                                                  i.settings.onsubmit &&
                                                       (this.on("click.validate", ":submit", function (e) {
                                                            (i.submitButton = e.currentTarget), t(this).hasClass("cancel") && (i.cancelSubmit = !0), void 0 !== t(this).attr("formnovalidate") && (i.cancelSubmit = !0);
                                                       }),
                                                       this.on("submit.validate", function (e) {
                                                            function n() {
                                                                 var n, r;
                                                                 return (
                                                                      i.submitButton &&
                                                                           (i.settings.submitHandler || i.formSubmitted) &&
                                                                           (n = t("<input type='hidden'/>").attr("name", i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),
                                                                      !(i.settings.submitHandler && !i.settings.debug) || ((r = i.settings.submitHandler.call(i, i.currentForm, e)), n && n.remove(), void 0 !== r && r)
                                                                 );
                                                            }
                                                            return (
                                                                 i.settings.debug && e.preventDefault(),
                                                                 i.cancelSubmit ? ((i.cancelSubmit = !1), n()) : i.form() ? (i.pendingRequest ? ((i.formSubmitted = !0), !1) : n()) : (i.focusInvalid(), !1)
                                                            );
                                                       })),
                                                  i)
                                             );
                                        }
                                        e && e.debug && window.console && console.warn("Nothing selected, can't validate, returning nothing.");
                                   },
                                   valid: function () {
                                        var e, i, n;
                                        return (
                                             t(this[0]).is("form")
                                                  ? (e = this.validate().form())
                                                  : ((n = []),
                                                    (e = !0),
                                                    (i = t(this[0].form).validate()),
                                                    this.each(function () {
                                                         (e = i.element(this) && e) || (n = n.concat(i.errorList));
                                                    }),
                                                    (i.errorList = n)),
                                             e
                                        );
                                   },
                                   rules: function (e, i) {
                                        var n,
                                             r,
                                             o,
                                             a,
                                             s,
                                             l,
                                             c = this[0],
                                             u = void 0 !== this.attr("contenteditable") && "false" !== this.attr("contenteditable");
                                        if (null != c && (!c.form && u && ((c.form = this.closest("form")[0]), (c.name = this.attr("name"))), null != c.form)) {
                                             if (e)
                                                  switch (((r = (n = t.data(c.form, "validator").settings).rules), (o = t.validator.staticRules(c)), e)) {
                                                       case "add":
                                                            t.extend(o, t.validator.normalizeRule(i)), delete o.messages, (r[c.name] = o), i.messages && (n.messages[c.name] = t.extend(n.messages[c.name], i.messages));
                                                            break;
                                                       case "remove":
                                                            return i
                                                                 ? ((l = {}),
                                                                   t.each(i.split(/\s/), function (t, e) {
                                                                        (l[e] = o[e]), delete o[e];
                                                                   }),
                                                                   l)
                                                                 : (delete r[c.name], o);
                                                  }
                                             return (
                                                  (a = t.validator.normalizeRules(t.extend({}, t.validator.classRules(c), t.validator.attributeRules(c), t.validator.dataRules(c), t.validator.staticRules(c)), c)).required &&
                                                       ((s = a.required), delete a.required, (a = t.extend({ required: s }, a))),
                                                  a.remote && ((s = a.remote), delete a.remote, (a = t.extend(a, { remote: s }))),
                                                  a
                                             );
                                        }
                                   },
                              });
                              var e,
                                   i = function (t) {
                                        return t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
                                   };
                              t.extend(t.expr.pseudos || t.expr[":"], {
                                   blank: function (e) {
                                        return !i("" + t(e).val());
                                   },
                                   filled: function (e) {
                                        var n = t(e).val();
                                        return null !== n && !!i("" + n);
                                   },
                                   unchecked: function (e) {
                                        return !t(e).prop("checked");
                                   },
                              }),
                                   (t.validator = function (e, i) {
                                        (this.settings = t.extend(!0, {}, t.validator.defaults, e)), (this.currentForm = i), this.init();
                                   }),
                                   (t.validator.format = function (e, i) {
                                        return 1 === arguments.length
                                             ? function () {
                                                    var i = t.makeArray(arguments);
                                                    return i.unshift(e), t.validator.format.apply(this, i);
                                               }
                                             : (void 0 === i ||
                                                    (arguments.length > 2 && i.constructor !== Array && (i = t.makeArray(arguments).slice(1)),
                                                    i.constructor !== Array && (i = [i]),
                                                    t.each(i, function (t, i) {
                                                         e = e.replace(new RegExp("\\{" + t + "\\}", "g"), function () {
                                                              return i;
                                                         });
                                                    })),
                                               e);
                                   }),
                                   t.extend(t.validator, {
                                        defaults: {
                                             messages: {},
                                             groups: {},
                                             rules: {},
                                             errorClass: "error",
                                             pendingClass: "pending",
                                             validClass: "valid",
                                             errorElement: "label",
                                             focusCleanup: !1,
                                             focusInvalid: !0,
                                             errorContainer: t([]),
                                             errorLabelContainer: t([]),
                                             onsubmit: !0,
                                             ignore: ":hidden",
                                             ignoreTitle: !1,
                                             onfocusin: function (t) {
                                                  (this.lastActive = t),
                                                       this.settings.focusCleanup &&
                                                            (this.settings.unhighlight && this.settings.unhighlight.call(this, t, this.settings.errorClass, this.settings.validClass), this.hideThese(this.errorsFor(t)));
                                             },
                                             onfocusout: function (t) {
                                                  this.checkable(t) || (!(t.name in this.submitted) && this.optional(t)) || this.element(t);
                                             },
                                             onkeyup: function (e, i) {
                                                  (9 === i.which && "" === this.elementValue(e)) ||
                                                       -1 !== t.inArray(i.keyCode, [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225]) ||
                                                       ((e.name in this.submitted || e.name in this.invalid) && this.element(e));
                                             },
                                             onclick: function (t) {
                                                  t.name in this.submitted ? this.element(t) : t.parentNode.name in this.submitted && this.element(t.parentNode);
                                             },
                                             highlight: function (e, i, n) {
                                                  "radio" === e.type ? this.findByName(e.name).addClass(i).removeClass(n) : t(e).addClass(i).removeClass(n);
                                             },
                                             unhighlight: function (e, i, n) {
                                                  "radio" === e.type ? this.findByName(e.name).removeClass(i).addClass(n) : t(e).removeClass(i).addClass(n);
                                             },
                                        },
                                        setDefaults: function (e) {
                                             t.extend(t.validator.defaults, e);
                                        },
                                        messages: {
                                             required: "This field is required.",
                                             remote: "Please fix this field.",
                                             email: "Please enter a valid email address.",
                                             url: "Please enter a valid URL.",
                                             date: "Please enter a valid date.",
                                             dateISO: "Please enter a valid date (ISO).",
                                             number: "Please enter a valid number.",
                                             digits: "Please enter only digits.",
                                             equalTo: "Please enter the same value again.",
                                             maxlength: t.validator.format("Please enter no more than {0} characters."),
                                             minlength: t.validator.format("Please enter at least {0} characters."),
                                             rangelength: t.validator.format("Please enter a value between {0} and {1} characters long."),
                                             range: t.validator.format("Please enter a value between {0} and {1}."),
                                             max: t.validator.format("Please enter a value less than or equal to {0}."),
                                             min: t.validator.format("Please enter a value greater than or equal to {0}."),
                                             step: t.validator.format("Please enter a multiple of {0}."),
                                        },
                                        autoCreateRanges: !1,
                                        prototype: {
                                             init: function () {
                                                  (this.labelContainer = t(this.settings.errorLabelContainer)),
                                                       (this.errorContext = (this.labelContainer.length && this.labelContainer) || t(this.currentForm)),
                                                       (this.containers = t(this.settings.errorContainer).add(this.settings.errorLabelContainer)),
                                                       (this.submitted = {}),
                                                       (this.valueCache = {}),
                                                       (this.pendingRequest = 0),
                                                       (this.pending = {}),
                                                       (this.invalid = {}),
                                                       this.reset();
                                                  var e,
                                                       i = this.currentForm,
                                                       n = (this.groups = {});
                                                  function r(e) {
                                                       var n = void 0 !== t(this).attr("contenteditable") && "false" !== t(this).attr("contenteditable");
                                                       if ((!this.form && n && ((this.form = t(this).closest("form")[0]), (this.name = t(this).attr("name"))), i === this.form)) {
                                                            var r = t.data(this.form, "validator"),
                                                                 o = "on" + e.type.replace(/^validate/, ""),
                                                                 a = r.settings;
                                                            a[o] && !t(this).is(a.ignore) && a[o].call(r, this, e);
                                                       }
                                                  }
                                                  t.each(this.settings.groups, function (e, i) {
                                                       "string" == typeof i && (i = i.split(/\s/)),
                                                            t.each(i, function (t, i) {
                                                                 n[i] = e;
                                                            });
                                                  }),
                                                       (e = this.settings.rules),
                                                       t.each(e, function (i, n) {
                                                            e[i] = t.validator.normalizeRule(n);
                                                       }),
                                                       t(this.currentForm)
                                                            .on(
                                                                 "focusin.validate focusout.validate keyup.validate",
                                                                 ":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",
                                                                 r
                                                            )
                                                            .on("click.validate", "select, option, [type='radio'], [type='checkbox']", r),
                                                       this.settings.invalidHandler && t(this.currentForm).on("invalid-form.validate", this.settings.invalidHandler);
                                             },
                                             form: function () {
                                                  return (
                                                       this.checkForm(),
                                                       t.extend(this.submitted, this.errorMap),
                                                       (this.invalid = t.extend({}, this.errorMap)),
                                                       this.valid() || t(this.currentForm).triggerHandler("invalid-form", [this]),
                                                       this.showErrors(),
                                                       this.valid()
                                                  );
                                             },
                                             checkForm: function () {
                                                  this.prepareForm();
                                                  for (var t = 0, e = (this.currentElements = this.elements()); e[t]; t++) this.check(e[t]);
                                                  return this.valid();
                                             },
                                             element: function (e) {
                                                  var i,
                                                       n,
                                                       r = this.clean(e),
                                                       o = this.validationTargetFor(r),
                                                       a = this,
                                                       s = !0;
                                                  return (
                                                       void 0 === o
                                                            ? delete this.invalid[r.name]
                                                            : (this.prepareElement(o),
                                                              (this.currentElements = t(o)),
                                                              (n = this.groups[o.name]) &&
                                                                   t.each(this.groups, function (t, e) {
                                                                        e === n && t !== o.name && (r = a.validationTargetFor(a.clean(a.findByName(t)))) && r.name in a.invalid && (a.currentElements.push(r), (s = a.check(r) && s));
                                                                   }),
                                                              (i = !1 !== this.check(o)),
                                                              (s = s && i),
                                                              (this.invalid[o.name] = !i),
                                                              this.numberOfInvalids() || (this.toHide = this.toHide.add(this.containers)),
                                                              this.showErrors(),
                                                              t(e).attr("aria-invalid", !i)),
                                                       s
                                                  );
                                             },
                                             showErrors: function (e) {
                                                  if (e) {
                                                       var i = this;
                                                       t.extend(this.errorMap, e),
                                                            (this.errorList = t.map(this.errorMap, function (t, e) {
                                                                 return { message: t, element: i.findByName(e)[0] };
                                                            })),
                                                            (this.successList = t.grep(this.successList, function (t) {
                                                                 return !(t.name in e);
                                                            }));
                                                  }
                                                  this.settings.showErrors ? this.settings.showErrors.call(this, this.errorMap, this.errorList) : this.defaultShowErrors();
                                             },
                                             resetForm: function () {
                                                  t.fn.resetForm && t(this.currentForm).resetForm(), (this.invalid = {}), (this.submitted = {}), this.prepareForm(), this.hideErrors();
                                                  var e = this.elements().removeData("previousValue").removeAttr("aria-invalid");
                                                  this.resetElements(e);
                                             },
                                             resetElements: function (t) {
                                                  var e;
                                                  if (this.settings.unhighlight)
                                                       for (e = 0; t[e]; e++) this.settings.unhighlight.call(this, t[e], this.settings.errorClass, ""), this.findByName(t[e].name).removeClass(this.settings.validClass);
                                                  else t.removeClass(this.settings.errorClass).removeClass(this.settings.validClass);
                                             },
                                             numberOfInvalids: function () {
                                                  return this.objectLength(this.invalid);
                                             },
                                             objectLength: function (t) {
                                                  var e,
                                                       i = 0;
                                                  for (e in t) void 0 !== t[e] && null !== t[e] && !1 !== t[e] && i++;
                                                  return i;
                                             },
                                             hideErrors: function () {
                                                  this.hideThese(this.toHide);
                                             },
                                             hideThese: function (t) {
                                                  t.not(this.containers).text(""), this.addWrapper(t).hide();
                                             },
                                             valid: function () {
                                                  return 0 === this.size();
                                             },
                                             size: function () {
                                                  return this.errorList.length;
                                             },
                                             focusInvalid: function () {
                                                  if (this.settings.focusInvalid)
                                                       try {
                                                            t(this.findLastActive() || (this.errorList.length && this.errorList[0].element) || [])
                                                                 .filter(":visible")
                                                                 .trigger("focus")
                                                                 .trigger("focusin");
                                                       } catch (t) {}
                                             },
                                             findLastActive: function () {
                                                  var e = this.lastActive;
                                                  return (
                                                       e &&
                                                       1 ===
                                                            t.grep(this.errorList, function (t) {
                                                                 return t.element.name === e.name;
                                                            }).length &&
                                                       e
                                                  );
                                             },
                                             elements: function () {
                                                  var e = this,
                                                       i = {};
                                                  return t(this.currentForm)
                                                       .find("input, select, textarea, [contenteditable]")
                                                       .not(":submit, :reset, :image, :disabled")
                                                       .not(this.settings.ignore)
                                                       .filter(function () {
                                                            var n = this.name || t(this).attr("name"),
                                                                 r = void 0 !== t(this).attr("contenteditable") && "false" !== t(this).attr("contenteditable");
                                                            return (
                                                                 !n && e.settings.debug && window.console && console.error("%o has no name assigned", this),
                                                                 r && ((this.form = t(this).closest("form")[0]), (this.name = n)),
                                                                 !(this.form !== e.currentForm || n in i || !e.objectLength(t(this).rules()) || ((i[n] = !0), 0))
                                                            );
                                                       });
                                             },
                                             clean: function (e) {
                                                  return t(e)[0];
                                             },
                                             errors: function () {
                                                  var e = this.settings.errorClass.split(" ").join(".");
                                                  return t(this.settings.errorElement + "." + e, this.errorContext);
                                             },
                                             resetInternals: function () {
                                                  (this.successList = []), (this.errorList = []), (this.errorMap = {}), (this.toShow = t([])), (this.toHide = t([]));
                                             },
                                             reset: function () {
                                                  this.resetInternals(), (this.currentElements = t([]));
                                             },
                                             prepareForm: function () {
                                                  this.reset(), (this.toHide = this.errors().add(this.containers));
                                             },
                                             prepareElement: function (t) {
                                                  this.reset(), (this.toHide = this.errorsFor(t));
                                             },
                                             elementValue: function (e) {
                                                  var i,
                                                       n,
                                                       r = t(e),
                                                       o = e.type,
                                                       a = void 0 !== r.attr("contenteditable") && "false" !== r.attr("contenteditable");
                                                  return "radio" === o || "checkbox" === o
                                                       ? this.findByName(e.name).filter(":checked").val()
                                                       : "number" === o && void 0 !== e.validity
                                                       ? e.validity.badInput
                                                            ? "NaN"
                                                            : r.val()
                                                       : ((i = a ? r.text() : r.val()),
                                                         "file" === o
                                                              ? "C:\\fakepath\\" === i.substr(0, 12)
                                                                   ? i.substr(12)
                                                                   : (n = i.lastIndexOf("/")) >= 0 || (n = i.lastIndexOf("\\")) >= 0
                                                                   ? i.substr(n + 1)
                                                                   : i
                                                              : "string" == typeof i
                                                              ? i.replace(/\r/g, "")
                                                              : i);
                                             },
                                             check: function (e) {
                                                  e = this.validationTargetFor(this.clean(e));
                                                  var i,
                                                       n,
                                                       r,
                                                       o,
                                                       a = t(e).rules(),
                                                       s = t.map(a, function (t, e) {
                                                            return e;
                                                       }).length,
                                                       l = !1,
                                                       c = this.elementValue(e);
                                                  for (n in ("function" == typeof a.normalizer ? (o = a.normalizer) : "function" == typeof this.settings.normalizer && (o = this.settings.normalizer),
                                                  o && ((c = o.call(e, c)), delete a.normalizer),
                                                  a)) {
                                                       r = { method: n, parameters: a[n] };
                                                       try {
                                                            if ("dependency-mismatch" === (i = t.validator.methods[n].call(this, c, e, r.parameters)) && 1 === s) {
                                                                 l = !0;
                                                                 continue;
                                                            }
                                                            if (((l = !1), "pending" === i)) return void (this.toHide = this.toHide.not(this.errorsFor(e)));
                                                            if (!i) return this.formatAndAdd(e, r), !1;
                                                       } catch (t) {
                                                            throw (
                                                                 (this.settings.debug && window.console && console.log("Exception occurred when checking element " + e.id + ", check the '" + r.method + "' method.", t),
                                                                 t instanceof TypeError && (t.message += ".  Exception occurred when checking element " + e.id + ", check the '" + r.method + "' method."),
                                                                 t)
                                                            );
                                                       }
                                                  }
                                                  if (!l) return this.objectLength(a) && this.successList.push(e), !0;
                                             },
                                             customDataMessage: function (e, i) {
                                                  return t(e).data("msg" + i.charAt(0).toUpperCase() + i.substring(1).toLowerCase()) || t(e).data("msg");
                                             },
                                             customMessage: function (t, e) {
                                                  var i = this.settings.messages[t];
                                                  return i && (i.constructor === String ? i : i[e]);
                                             },
                                             findDefined: function () {
                                                  for (var t = 0; t < arguments.length; t++) if (void 0 !== arguments[t]) return arguments[t];
                                             },
                                             defaultMessage: function (e, i) {
                                                  "string" == typeof i && (i = { method: i });
                                                  var n = this.findDefined(
                                                            this.customMessage(e.name, i.method),
                                                            this.customDataMessage(e, i.method),
                                                            (!this.settings.ignoreTitle && e.title) || void 0,
                                                            t.validator.messages[i.method],
                                                            "<strong>Warning: No message defined for " + e.name + "</strong>"
                                                       ),
                                                       r = /\$?\{(\d+)\}/g;
                                                  return "function" == typeof n ? (n = n.call(this, i.parameters, e)) : r.test(n) && (n = t.validator.format(n.replace(r, "{$1}"), i.parameters)), n;
                                             },
                                             formatAndAdd: function (t, e) {
                                                  var i = this.defaultMessage(t, e);
                                                  this.errorList.push({ message: i, element: t, method: e.method }), (this.errorMap[t.name] = i), (this.submitted[t.name] = i);
                                             },
                                             addWrapper: function (t) {
                                                  return this.settings.wrapper && (t = t.add(t.parent(this.settings.wrapper))), t;
                                             },
                                             defaultShowErrors: function () {
                                                  var t, e, i;
                                                  for (t = 0; this.errorList[t]; t++)
                                                       (i = this.errorList[t]),
                                                            this.settings.highlight && this.settings.highlight.call(this, i.element, this.settings.errorClass, this.settings.validClass),
                                                            this.showLabel(i.element, i.message);
                                                  if ((this.errorList.length && (this.toShow = this.toShow.add(this.containers)), this.settings.success)) for (t = 0; this.successList[t]; t++) this.showLabel(this.successList[t]);
                                                  if (this.settings.unhighlight) for (t = 0, e = this.validElements(); e[t]; t++) this.settings.unhighlight.call(this, e[t], this.settings.errorClass, this.settings.validClass);
                                                  (this.toHide = this.toHide.not(this.toShow)), this.hideErrors(), this.addWrapper(this.toShow).show();
                                             },
                                             validElements: function () {
                                                  return this.currentElements.not(this.invalidElements());
                                             },
                                             invalidElements: function () {
                                                  return t(this.errorList).map(function () {
                                                       return this.element;
                                                  });
                                             },
                                             showLabel: function (e, i) {
                                                  var n,
                                                       r,
                                                       o,
                                                       a,
                                                       s = this.errorsFor(e),
                                                       l = this.idOrName(e),
                                                       c = t(e).attr("aria-describedby");
                                                  s.length
                                                       ? (s.removeClass(this.settings.validClass).addClass(this.settings.errorClass), s.html(i))
                                                       : ((n = s = t("<" + this.settings.errorElement + ">")
                                                              .attr("id", l + "-error")
                                                              .addClass(this.settings.errorClass)
                                                              .html(i || "")),
                                                         this.settings.wrapper &&
                                                              (n = s
                                                                   .hide()
                                                                   .show()
                                                                   .wrap("<" + this.settings.wrapper + "/>")
                                                                   .parent()),
                                                         this.labelContainer.length ? this.labelContainer.append(n) : this.settings.errorPlacement ? this.settings.errorPlacement.call(this, n, t(e)) : n.insertAfter(e),
                                                         s.is("label")
                                                              ? s.attr("for", l)
                                                              : 0 === s.parents("label[for='" + this.escapeCssMeta(l) + "']").length &&
                                                                ((o = s.attr("id")),
                                                                c ? c.match(new RegExp("\\b" + this.escapeCssMeta(o) + "\\b")) || (c += " " + o) : (c = o),
                                                                t(e).attr("aria-describedby", c),
                                                                (r = this.groups[e.name]) &&
                                                                     ((a = this),
                                                                     t.each(a.groups, function (e, i) {
                                                                          i === r && t("[name='" + a.escapeCssMeta(e) + "']", a.currentForm).attr("aria-describedby", s.attr("id"));
                                                                     })))),
                                                       !i && this.settings.success && (s.text(""), "string" == typeof this.settings.success ? s.addClass(this.settings.success) : this.settings.success(s, e)),
                                                       (this.toShow = this.toShow.add(s));
                                             },
                                             errorsFor: function (e) {
                                                  var i = this.escapeCssMeta(this.idOrName(e)),
                                                       n = t(e).attr("aria-describedby"),
                                                       r = "label[for='" + i + "'], label[for='" + i + "'] *";
                                                  return n && (r = r + ", #" + this.escapeCssMeta(n).replace(/\s+/g, ", #")), this.errors().filter(r);
                                             },
                                             escapeCssMeta: function (t) {
                                                  return t.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g, "\\$1");
                                             },
                                             idOrName: function (t) {
                                                  return this.groups[t.name] || (this.checkable(t) ? t.name : t.id || t.name);
                                             },
                                             validationTargetFor: function (e) {
                                                  return this.checkable(e) && (e = this.findByName(e.name)), t(e).not(this.settings.ignore)[0];
                                             },
                                             checkable: function (t) {
                                                  return /radio|checkbox/i.test(t.type);
                                             },
                                             findByName: function (e) {
                                                  return t(this.currentForm).find("[name='" + this.escapeCssMeta(e) + "']");
                                             },
                                             getLength: function (e, i) {
                                                  switch (i.nodeName.toLowerCase()) {
                                                       case "select":
                                                            return t("option:selected", i).length;
                                                       case "input":
                                                            if (this.checkable(i)) return this.findByName(i.name).filter(":checked").length;
                                                  }
                                                  return e.length;
                                             },
                                             depend: function (t, e) {
                                                  return !this.dependTypes[typeof t] || this.dependTypes[typeof t](t, e);
                                             },
                                             dependTypes: {
                                                  boolean: function (t) {
                                                       return t;
                                                  },
                                                  string: function (e, i) {
                                                       return !!t(e, i.form).length;
                                                  },
                                                  function: function (t, e) {
                                                       return t(e);
                                                  },
                                             },
                                             optional: function (e) {
                                                  var i = this.elementValue(e);
                                                  return !t.validator.methods.required.call(this, i, e) && "dependency-mismatch";
                                             },
                                             startRequest: function (e) {
                                                  this.pending[e.name] || (this.pendingRequest++, t(e).addClass(this.settings.pendingClass), (this.pending[e.name] = !0));
                                             },
                                             stopRequest: function (e, i) {
                                                  this.pendingRequest--,
                                                       this.pendingRequest < 0 && (this.pendingRequest = 0),
                                                       delete this.pending[e.name],
                                                       t(e).removeClass(this.settings.pendingClass),
                                                       i && 0 === this.pendingRequest && this.formSubmitted && this.form()
                                                            ? (t(this.currentForm).submit(), this.submitButton && t("input:hidden[name='" + this.submitButton.name + "']", this.currentForm).remove(), (this.formSubmitted = !1))
                                                            : !i && 0 === this.pendingRequest && this.formSubmitted && (t(this.currentForm).triggerHandler("invalid-form", [this]), (this.formSubmitted = !1));
                                             },
                                             previousValue: function (e, i) {
                                                  return (i = ("string" == typeof i && i) || "remote"), t.data(e, "previousValue") || t.data(e, "previousValue", { old: null, valid: !0, message: this.defaultMessage(e, { method: i }) });
                                             },
                                             destroy: function () {
                                                  this.resetForm(),
                                                       t(this.currentForm)
                                                            .off(".validate")
                                                            .removeData("validator")
                                                            .find(".validate-equalTo-blur")
                                                            .off(".validate-equalTo")
                                                            .removeClass("validate-equalTo-blur")
                                                            .find(".validate-lessThan-blur")
                                                            .off(".validate-lessThan")
                                                            .removeClass("validate-lessThan-blur")
                                                            .find(".validate-lessThanEqual-blur")
                                                            .off(".validate-lessThanEqual")
                                                            .removeClass("validate-lessThanEqual-blur")
                                                            .find(".validate-greaterThanEqual-blur")
                                                            .off(".validate-greaterThanEqual")
                                                            .removeClass("validate-greaterThanEqual-blur")
                                                            .find(".validate-greaterThan-blur")
                                                            .off(".validate-greaterThan")
                                                            .removeClass("validate-greaterThan-blur");
                                             },
                                        },
                                        classRuleSettings: {
                                             required: { required: !0 },
                                             email: { email: !0 },
                                             url: { url: !0 },
                                             date: { date: !0 },
                                             dateISO: { dateISO: !0 },
                                             number: { number: !0 },
                                             digits: { digits: !0 },
                                             creditcard: { creditcard: !0 },
                                        },
                                        addClassRules: function (e, i) {
                                             e.constructor === String ? (this.classRuleSettings[e] = i) : t.extend(this.classRuleSettings, e);
                                        },
                                        classRules: function (e) {
                                             var i = {},
                                                  n = t(e).attr("class");
                                             return (
                                                  n &&
                                                       t.each(n.split(" "), function () {
                                                            this in t.validator.classRuleSettings && t.extend(i, t.validator.classRuleSettings[this]);
                                                       }),
                                                  i
                                             );
                                        },
                                        normalizeAttributeRule: function (t, e, i, n) {
                                             /min|max|step/.test(i) && (null === e || /number|range|text/.test(e)) && ((n = Number(n)), isNaN(n) && (n = void 0)), n || 0 === n ? (t[i] = n) : e === i && "range" !== e && (t[i] = !0);
                                        },
                                        attributeRules: function (e) {
                                             var i,
                                                  n,
                                                  r = {},
                                                  o = t(e),
                                                  a = e.getAttribute("type");
                                             for (i in t.validator.methods) "required" === i ? ("" === (n = e.getAttribute(i)) && (n = !0), (n = !!n)) : (n = o.attr(i)), this.normalizeAttributeRule(r, a, i, n);
                                             return r.maxlength && /-1|2147483647|524288/.test(r.maxlength) && delete r.maxlength, r;
                                        },
                                        dataRules: function (e) {
                                             var i,
                                                  n,
                                                  r = {},
                                                  o = t(e),
                                                  a = e.getAttribute("type");
                                             for (i in t.validator.methods) "" === (n = o.data("rule" + i.charAt(0).toUpperCase() + i.substring(1).toLowerCase())) && (n = !0), this.normalizeAttributeRule(r, a, i, n);
                                             return r;
                                        },
                                        staticRules: function (e) {
                                             var i = {},
                                                  n = t.data(e.form, "validator");
                                             return n.settings.rules && (i = t.validator.normalizeRule(n.settings.rules[e.name]) || {}), i;
                                        },
                                        normalizeRules: function (e, i) {
                                             return (
                                                  t.each(e, function (n, r) {
                                                       if (!1 !== r) {
                                                            if (r.param || r.depends) {
                                                                 var o = !0;
                                                                 switch (typeof r.depends) {
                                                                      case "string":
                                                                           o = !!t(r.depends, i.form).length;
                                                                           break;
                                                                      case "function":
                                                                           o = r.depends.call(i, i);
                                                                 }
                                                                 o ? (e[n] = void 0 === r.param || r.param) : (t.data(i.form, "validator").resetElements(t(i)), delete e[n]);
                                                            }
                                                       } else delete e[n];
                                                  }),
                                                  t.each(e, function (n, r) {
                                                       e[n] = t.isFunction(r) && "normalizer" !== n ? r(i) : r;
                                                  }),
                                                  t.each(["minlength", "maxlength"], function () {
                                                       e[this] && (e[this] = Number(e[this]));
                                                  }),
                                                  t.each(["rangelength", "range"], function () {
                                                       var i;
                                                       e[this] &&
                                                            (t.isArray(e[this])
                                                                 ? (e[this] = [Number(e[this][0]), Number(e[this][1])])
                                                                 : "string" == typeof e[this] && ((i = e[this].replace(/[\[\]]/g, "").split(/[\s,]+/)), (e[this] = [Number(i[0]), Number(i[1])])));
                                                  }),
                                                  t.validator.autoCreateRanges &&
                                                       (null != e.min && null != e.max && ((e.range = [e.min, e.max]), delete e.min, delete e.max),
                                                       null != e.minlength && null != e.maxlength && ((e.rangelength = [e.minlength, e.maxlength]), delete e.minlength, delete e.maxlength)),
                                                  e
                                             );
                                        },
                                        normalizeRule: function (e) {
                                             if ("string" == typeof e) {
                                                  var i = {};
                                                  t.each(e.split(/\s/), function () {
                                                       i[this] = !0;
                                                  }),
                                                       (e = i);
                                             }
                                             return e;
                                        },
                                        addMethod: function (e, i, n) {
                                             (t.validator.methods[e] = i), (t.validator.messages[e] = void 0 !== n ? n : t.validator.messages[e]), i.length < 3 && t.validator.addClassRules(e, t.validator.normalizeRule(e));
                                        },
                                        methods: {
                                             required: function (e, i, n) {
                                                  if (!this.depend(n, i)) return "dependency-mismatch";
                                                  if ("select" === i.nodeName.toLowerCase()) {
                                                       var r = t(i).val();
                                                       return r && r.length > 0;
                                                  }
                                                  return this.checkable(i) ? this.getLength(e, i) > 0 : null != e && e.length > 0;
                                             },
                                             email: function (t, e) {
                                                  return this.optional(e) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t);
                                             },
                                             url: function (t, e) {
                                                  return (
                                                       this.optional(e) ||
                                                       /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(
                                                            t
                                                       )
                                                  );
                                             },
                                             date:
                                                  ((e = !1),
                                                  function (t, i) {
                                                       return (
                                                            e ||
                                                                 ((e = !0),
                                                                 this.settings.debug &&
                                                                      window.console &&
                                                                      console.warn(
                                                                           "The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`."
                                                                      )),
                                                            this.optional(i) || !/Invalid|NaN/.test(new Date(t).toString())
                                                       );
                                                  }),
                                             dateISO: function (t, e) {
                                                  return this.optional(e) || /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(t);
                                             },
                                             number: function (t, e) {
                                                  return this.optional(e) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t);
                                             },
                                             digits: function (t, e) {
                                                  return this.optional(e) || /^\d+$/.test(t);
                                             },
                                             minlength: function (e, i, n) {
                                                  var r = t.isArray(e) ? e.length : this.getLength(e, i);
                                                  return this.optional(i) || r >= n;
                                             },
                                             maxlength: function (e, i, n) {
                                                  var r = t.isArray(e) ? e.length : this.getLength(e, i);
                                                  return this.optional(i) || r <= n;
                                             },
                                             rangelength: function (e, i, n) {
                                                  var r = t.isArray(e) ? e.length : this.getLength(e, i);
                                                  return this.optional(i) || (r >= n[0] && r <= n[1]);
                                             },
                                             min: function (t, e, i) {
                                                  return this.optional(e) || t >= i;
                                             },
                                             max: function (t, e, i) {
                                                  return this.optional(e) || t <= i;
                                             },
                                             range: function (t, e, i) {
                                                  return this.optional(e) || (t >= i[0] && t <= i[1]);
                                             },
                                             step: function (e, i, n) {
                                                  var r,
                                                       o = t(i).attr("type"),
                                                       a = "Step attribute on input type " + o + " is not supported.",
                                                       s = new RegExp("\\b" + o + "\\b"),
                                                       l = function (t) {
                                                            var e = ("" + t).match(/(?:\.(\d+))?$/);
                                                            return e && e[1] ? e[1].length : 0;
                                                       },
                                                       c = function (t) {
                                                            return Math.round(t * Math.pow(10, r));
                                                       },
                                                       u = !0;
                                                  if (o && !s.test(["text", "number", "range"].join())) throw new Error(a);
                                                  return (r = l(n)), (l(e) > r || c(e) % c(n) != 0) && (u = !1), this.optional(i) || u;
                                             },
                                             equalTo: function (e, i, n) {
                                                  var r = t(n);
                                                  return (
                                                       this.settings.onfocusout &&
                                                            r.not(".validate-equalTo-blur").length &&
                                                            r.addClass("validate-equalTo-blur").on("blur.validate-equalTo", function () {
                                                                 t(i).valid();
                                                            }),
                                                       e === r.val()
                                                  );
                                             },
                                             remote: function (e, i, n, r) {
                                                  if (this.optional(i)) return "dependency-mismatch";
                                                  r = ("string" == typeof r && r) || "remote";
                                                  var o,
                                                       a,
                                                       s,
                                                       l = this.previousValue(i, r);
                                                  return (
                                                       this.settings.messages[i.name] || (this.settings.messages[i.name] = {}),
                                                       (l.originalMessage = l.originalMessage || this.settings.messages[i.name][r]),
                                                       (this.settings.messages[i.name][r] = l.message),
                                                       (n = ("string" == typeof n && { url: n }) || n),
                                                       (s = t.param(t.extend({ data: e }, n.data))),
                                                       l.old === s
                                                            ? l.valid
                                                            : ((l.old = s),
                                                              (o = this),
                                                              this.startRequest(i),
                                                              ((a = {})[i.name] = e),
                                                              t.ajax(
                                                                   t.extend(
                                                                        !0,
                                                                        {
                                                                             mode: "abort",
                                                                             port: "validate" + i.name,
                                                                             dataType: "json",
                                                                             data: a,
                                                                             context: o.currentForm,
                                                                             success: function (t) {
                                                                                  var n,
                                                                                       a,
                                                                                       s,
                                                                                       c = !0 === t || "true" === t;
                                                                                  (o.settings.messages[i.name][r] = l.originalMessage),
                                                                                       c
                                                                                            ? ((s = o.formSubmitted),
                                                                                              o.resetInternals(),
                                                                                              (o.toHide = o.errorsFor(i)),
                                                                                              (o.formSubmitted = s),
                                                                                              o.successList.push(i),
                                                                                              (o.invalid[i.name] = !1),
                                                                                              o.showErrors())
                                                                                            : ((n = {}), (a = t || o.defaultMessage(i, { method: r, parameters: e })), (n[i.name] = l.message = a), (o.invalid[i.name] = !0), o.showErrors(n)),
                                                                                       (l.valid = c),
                                                                                       o.stopRequest(i, c);
                                                                             },
                                                                        },
                                                                        n
                                                                   )
                                                              ),
                                                              "pending")
                                                  );
                                             },
                                        },
                                   });
                              var n,
                                   r = {};
                              return (
                                   t.ajaxPrefilter
                                        ? t.ajaxPrefilter(function (t, e, i) {
                                               var n = t.port;
                                               "abort" === t.mode && (r[n] && r[n].abort(), (r[n] = i));
                                          })
                                        : ((n = t.ajax),
                                          (t.ajax = function (e) {
                                               var i = ("mode" in e ? e : t.ajaxSettings).mode,
                                                    o = ("port" in e ? e : t.ajaxSettings).port;
                                               return "abort" === i ? (r[o] && r[o].abort(), (r[o] = n.apply(this, arguments)), r[o]) : n.apply(this, arguments);
                                          })),
                                   t
                              );
                         })
                              ? n.apply(e, r)
                              : n) || (t.exports = o);
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(190);
                    t(document).ready(function () {
                         setTimeout(function () {
                              t("#smartwizard").smartWizard({ selected: 0, transitionEffect: "fade", toolbarSettings: { toolbarPosition: "none" } }),
                                   t("#reset-btn").on("click", function () {
                                        return t("#smartwizard").smartWizard("reset"), !0;
                                   }),
                                   t("#prev-btn").on("click", function () {
                                        return t("#smartwizard").smartWizard("prev"), !0;
                                   }),
                                   t("#next-btn").on("click", function () {
                                        return t("#smartwizard").smartWizard("next"), !0;
                                   }),
                                   t("#smartwizard2").smartWizard({ selected: 0, transitionEffect: "slide", toolbarSettings: { toolbarPosition: "none" } }),
                                   t("#reset-btn2").on("click", function () {
                                        return t("#smartwizard2").smartWizard("reset"), !0;
                                   }),
                                   t("#prev-btn2").on("click", function () {
                                        return t("#smartwizard2").smartWizard("prev"), !0;
                                   }),
                                   t("#next-btn2").on("click", function () {
                                        return t("#smartwizard2").smartWizard("next"), !0;
                                   }),
                                   t("#smartwizard3").smartWizard({ selected: 0, transitionEffect: "fade", toolbarSettings: { toolbarPosition: "none" } }),
                                   t("#reset-btn22").on("click", function () {
                                        return t("#smartwizard3").smartWizard("reset"), !0;
                                   }),
                                   t("#prev-btn22").on("click", function () {
                                        return t("#smartwizard3").smartWizard("prev"), !0;
                                   }),
                                   t("#next-btn22").on("click", function () {
                                        return t("#smartwizard3").smartWizard("next"), !0;
                                   });
                         }, 2e3);
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          (function (t) {
               !(function (t, e, i, n) {
                    "use strict";
                    var r = {
                         selected: 0,
                         keyNavigation: !0,
                         autoAdjustHeight: !0,
                         cycleSteps: !1,
                         backButtonSupport: !0,
                         useURLhash: !0,
                         showStepURLhash: !0,
                         lang: { next: "Next", previous: "Previous" },
                         toolbarSettings: { toolbarPosition: "bottom", toolbarButtonPosition: "end", showNextButton: !0, showPreviousButton: !0, toolbarExtraButtons: [] },
                         anchorSettings: { anchorClickable: !0, enableAllAnchors: !1, markDoneStep: !0, markAllPreviousStepsAsDone: !0, removeDoneStepOnNavigateBack: !1, enableAnchorOnDoneStep: !0 },
                         contentURL: null,
                         contentCache: !0,
                         ajaxSettings: {},
                         disabledSteps: [],
                         errorSteps: [],
                         hiddenSteps: [],
                         theme: "default",
                         transitionEffect: "none",
                         transitionSpeed: "400",
                    };
                    function o(e, i) {
                         (this.options = t.extend(!0, {}, r, i)),
                              (this.main = t(e)),
                              (this.nav = this.main.children("ul")),
                              (this.steps = t("li > a", this.nav)),
                              (this.container = this.main.children("div")),
                              (this.pages = this.container.children("div")),
                              (this.current_index = null),
                              (this.options.toolbarSettings.toolbarButtonPosition = "right" === this.options.toolbarSettings.toolbarButtonPosition ? "end" : this.options.toolbarSettings.toolbarButtonPosition),
                              (this.options.toolbarSettings.toolbarButtonPosition = "left" === this.options.toolbarSettings.toolbarButtonPosition ? "start" : this.options.toolbarSettings.toolbarButtonPosition),
                              (this.options.theme = null === this.options.theme || "" === this.options.theme ? "default" : this.options.theme),
                              this.init();
                    }
                    t.extend(o.prototype, {
                         init: function () {
                              this._setElements(), this._setToolbar(), this._setEvents();
                              var i = this.options.selected;
                              if (this.options.useURLhash) {
                                   var n = e.location.hash;
                                   if (n && n.length > 0) {
                                        var r = t("a[href*='" + n + "']", this.nav);
                                        if (r.length > 0) {
                                             var o = this.steps.index(r);
                                             i = o >= 0 ? o : i;
                                        }
                                   }
                              }
                              i > 0 && this.options.anchorSettings.markDoneStep && this.options.anchorSettings.markAllPreviousStepsAsDone && this.steps.eq(i).parent("li").prevAll().addClass("done"), this._showStep(i);
                         },
                         _setElements: function () {
                              this.main.addClass("sw-main sw-theme-" + this.options.theme),
                                   this.nav.addClass("nav nav-tabs step-anchor").children("li").addClass("nav-item").children("a").addClass("nav-link"),
                                   !1 !== this.options.anchorSettings.enableAllAnchors && !1 !== this.options.anchorSettings.anchorClickable && this.steps.parent("li").addClass("clickable"),
                                   this.container.addClass("sw-container tab-content"),
                                   this.pages.addClass("tab-pane step-content");
                              var e = this;
                              return (
                                   this.options.disabledSteps &&
                                        this.options.disabledSteps.length > 0 &&
                                        t.each(this.options.disabledSteps, function (t, i) {
                                             e.steps.eq(i).parent("li").addClass("disabled");
                                        }),
                                   this.options.errorSteps &&
                                        this.options.errorSteps.length > 0 &&
                                        t.each(this.options.errorSteps, function (t, i) {
                                             e.steps.eq(i).parent("li").addClass("danger");
                                        }),
                                   this.options.hiddenSteps &&
                                        this.options.hiddenSteps.length > 0 &&
                                        t.each(this.options.hiddenSteps, function (t, i) {
                                             e.steps.eq(i).parent("li").addClass("hidden");
                                        }),
                                   !0
                              );
                         },
                         _setToolbar: function () {
                              if ("none" === this.options.toolbarSettings.toolbarPosition) return !0;
                              var e,
                                   i,
                                   n = !1 !== this.options.toolbarSettings.showNextButton ? t("<button></button>").text(this.options.lang.next).addClass("btn btn-secondary sw-btn-next").attr("type", "button") : null,
                                   r = !1 !== this.options.toolbarSettings.showPreviousButton ? t("<button></button>").text(this.options.lang.previous).addClass("btn btn-secondary sw-btn-prev").attr("type", "button") : null,
                                   o = t("<div></div>").addClass("btn-group mr-2 sw-btn-group").attr("role", "group").append(r, n),
                                   a = null;
                              switch (
                                   (this.options.toolbarSettings.toolbarExtraButtons &&
                                        this.options.toolbarSettings.toolbarExtraButtons.length > 0 &&
                                        ((a = t("<div></div>").addClass("btn-group mr-2 sw-btn-group-extra").attr("role", "group")),
                                        t.each(this.options.toolbarSettings.toolbarExtraButtons, function (t, e) {
                                             a.append(e.clone(!0));
                                        })),
                                   this.options.toolbarSettings.toolbarPosition)
                              ) {
                                   case "top":
                                        (e = t("<div></div>").addClass("btn-toolbar sw-toolbar sw-toolbar-top justify-content-" + this.options.toolbarSettings.toolbarButtonPosition)).append(o),
                                             "start" === this.options.toolbarSettings.toolbarButtonPosition ? e.prepend(a) : e.append(a),
                                             this.container.before(e);
                                        break;
                                   case "bottom":
                                        (i = t("<div></div>").addClass("btn-toolbar sw-toolbar sw-toolbar-bottom justify-content-" + this.options.toolbarSettings.toolbarButtonPosition)).append(o),
                                             "start" === this.options.toolbarSettings.toolbarButtonPosition ? i.prepend(a) : i.append(a),
                                             this.container.after(i);
                                        break;
                                   case "both":
                                        (e = t("<div></div>").addClass("btn-toolbar sw-toolbar sw-toolbar-top justify-content-" + this.options.toolbarSettings.toolbarButtonPosition)).append(o),
                                             "start" === this.options.toolbarSettings.toolbarButtonPosition ? e.prepend(a) : e.append(a),
                                             this.container.before(e),
                                             (i = t("<div></div>").addClass("btn-toolbar sw-toolbar sw-toolbar-bottom justify-content-" + this.options.toolbarSettings.toolbarButtonPosition)).append(o.clone(!0)),
                                             null !== a && ("start" === this.options.toolbarSettings.toolbarButtonPosition ? i.prepend(a.clone(!0)) : i.append(a.clone(!0))),
                                             this.container.after(i);
                                        break;
                                   default:
                                        (i = t("<div></div>").addClass("btn-toolbar sw-toolbar sw-toolbar-bottom justify-content-" + this.options.toolbarSettings.toolbarButtonPosition)).append(o),
                                             this.options.toolbarSettings.toolbarButtonPosition,
                                             i.append(a),
                                             this.container.after(i);
                              }
                              return !0;
                         },
                         _setEvents: function () {
                              var n = this;
                              return (
                                   t(this.steps).on("click", function (t) {
                                        if ((t.preventDefault(), !1 === n.options.anchorSettings.anchorClickable)) return !0;
                                        var e = n.steps.index(this);
                                        if (!1 === n.options.anchorSettings.enableAnchorOnDoneStep && n.steps.eq(e).parent("li").hasClass("done")) return !0;
                                        e !== n.current_index && ((!1 !== n.options.anchorSettings.enableAllAnchors && !1 !== n.options.anchorSettings.anchorClickable) || n.steps.eq(e).parent("li").hasClass("done")) && n._showStep(e);
                                   }),
                                   t(".sw-btn-next", this.main).on("click", function (t) {
                                        t.preventDefault(), n._showNext();
                                   }),
                                   t(".sw-btn-prev", this.main).on("click", function (t) {
                                        t.preventDefault(), n._showPrevious();
                                   }),
                                   this.options.keyNavigation &&
                                        t(i).keyup(function (t) {
                                             n._keyNav(t);
                                        }),
                                   this.options.backButtonSupport &&
                                        t(e).on("hashchange", function (i) {
                                             if (!n.options.useURLhash) return !0;
                                             if (e.location.hash) {
                                                  var r = t("a[href*='" + e.location.hash + "']", n.nav);
                                                  r && r.length > 0 && (i.preventDefault(), n._showStep(n.steps.index(r)));
                                             }
                                        }),
                                   !0
                              );
                         },
                         _showNext: function () {
                              for (var t = this.current_index + 1, e = t; e < this.steps.length; e++)
                                   if (!this.steps.eq(e).parent("li").hasClass("disabled") && !this.steps.eq(e).parent("li").hasClass("hidden")) {
                                        t = e;
                                        break;
                                   }
                              if (this.steps.length <= t) {
                                   if (!this.options.cycleSteps) return !1;
                                   t = 0;
                              }
                              return this._showStep(t), !0;
                         },
                         _showPrevious: function () {
                              for (var t = this.current_index - 1, e = t; e >= 0; e--)
                                   if (!this.steps.eq(e).parent("li").hasClass("disabled") && !this.steps.eq(e).parent("li").hasClass("hidden")) {
                                        t = e;
                                        break;
                                   }
                              if (0 > t) {
                                   if (!this.options.cycleSteps) return !1;
                                   t = this.steps.length - 1;
                              }
                              return this._showStep(t), !0;
                         },
                         _showStep: function (t) {
                              return !!this.steps.eq(t) && t != this.current_index && !this.steps.eq(t).parent("li").hasClass("disabled") && !this.steps.eq(t).parent("li").hasClass("hidden") && (this._loadStepContent(t), !0);
                         },
                         _loadStepContent: function (e) {
                              var i = this,
                                   n = this.steps.eq(this.current_index),
                                   r = "",
                                   o = this.steps.eq(e),
                                   a = o.data("content-url") && o.data("content-url").length > 0 ? o.data("content-url") : this.options.contentURL;
                              if (
                                   (null !== this.current_index && this.current_index !== e && (r = this.current_index < e ? "forward" : "backward"),
                                   null !== this.current_index && !1 === this._triggerEvent("leaveStep", [n, this.current_index, r]))
                              )
                                   return !1;
                              if (!(a && a.length > 0) || (o.data("has-content") && this.options.contentCache)) this._transitPage(e);
                              else {
                                   var s = o.length > 0 ? t(o.attr("href"), this.main) : null,
                                        l = t.extend(
                                             !0,
                                             {},
                                             {
                                                  url: a,
                                                  type: "POST",
                                                  data: { step_number: e },
                                                  dataType: "text",
                                                  beforeSend: function () {
                                                       i._loader("show");
                                                  },
                                                  error: function (e, n, r) {
                                                       i._loader("hide"), t.error(r);
                                                  },
                                                  success: function (t) {
                                                       t && t.length > 0 && (o.data("has-content", !0), s.html(t)), i._loader("hide"), i._transitPage(e);
                                                  },
                                             },
                                             this.options.ajaxSettings
                                        );
                                   t.ajax(l);
                              }
                              return !0;
                         },
                         _transitPage: function (e) {
                              var i = this,
                                   n = this.steps.eq(this.current_index),
                                   r = n.length > 0 ? t(n.attr("href"), this.main) : null,
                                   o = this.steps.eq(e),
                                   a = o.length > 0 ? t(o.attr("href"), this.main) : null,
                                   s = "";
                              null !== this.current_index && this.current_index !== e && (s = this.current_index < e ? "forward" : "backward");
                              var l = "middle";
                              return (
                                   0 === e ? (l = "first") : e === this.steps.length - 1 && (l = "final"),
                                   (this.options.transitionEffect = this.options.transitionEffect.toLowerCase()),
                                   this.pages.finish(),
                                   "slide" === this.options.transitionEffect
                                        ? r && r.length > 0
                                             ? r.slideUp("fast", this.options.transitionEasing, function () {
                                                    a.slideDown(i.options.transitionSpeed, i.options.transitionEasing);
                                               })
                                             : a.slideDown(this.options.transitionSpeed, this.options.transitionEasing)
                                        : "fade" === this.options.transitionEffect
                                        ? r && r.length > 0
                                             ? r.fadeOut("fast", this.options.transitionEasing, function () {
                                                    a.fadeIn("fast", i.options.transitionEasing, function () {
                                                         t(this).show();
                                                    });
                                               })
                                             : a.fadeIn(this.options.transitionSpeed, this.options.transitionEasing, function () {
                                                    t(this).show();
                                               })
                                        : (r && r.length > 0 && r.hide(), a.show()),
                                   this._setURLHash(o.attr("href")),
                                   this._setAnchor(e),
                                   this._setButtons(e),
                                   this._fixHeight(e),
                                   (this.current_index = e),
                                   this._triggerEvent("showStep", [o, this.current_index, s, l]),
                                   !0
                              );
                         },
                         _setAnchor: function (t) {
                              return (
                                   this.steps.eq(this.current_index).parent("li").removeClass("active"),
                                   !1 !== this.options.anchorSettings.markDoneStep &&
                                        null !== this.current_index &&
                                        (this.steps.eq(this.current_index).parent("li").addClass("done"), !1 !== this.options.anchorSettings.removeDoneStepOnNavigateBack && this.steps.eq(t).parent("li").nextAll().removeClass("done")),
                                   this.steps.eq(t).parent("li").removeClass("done").addClass("active"),
                                   !0
                              );
                         },
                         _setButtons: function (e) {
                              return (
                                   this.options.cycleSteps ||
                                        (0 >= e ? t(".sw-btn-prev", this.main).addClass("disabled") : t(".sw-btn-prev", this.main).removeClass("disabled"),
                                        this.steps.length - 1 <= e ? t(".sw-btn-next", this.main).addClass("disabled") : t(".sw-btn-next", this.main).removeClass("disabled")),
                                   !0
                              );
                         },
                         _keyNav: function (t) {
                              switch (t.which) {
                                   case 37:
                                        this._showPrevious(), t.preventDefault();
                                        break;
                                   case 39:
                                        this._showNext(), t.preventDefault();
                                        break;
                                   default:
                                        return;
                              }
                         },
                         _fixHeight: function (e) {
                              if (this.options.autoAdjustHeight) {
                                   var i = this.steps.eq(e).length > 0 ? t(this.steps.eq(e).attr("href"), this.main) : null;
                                   this.container.finish().animate({ minHeight: i.outerHeight() }, this.options.transitionSpeed, function () {});
                              }
                              return !0;
                         },
                         _triggerEvent: function (e, i) {
                              var n = t.Event(e);
                              return this.main.trigger(n, i), !n.isDefaultPrevented() && n.result;
                         },
                         _setURLHash: function (t) {
                              this.options.showStepURLhash && e.location.hash !== t && (e.location.hash = t);
                         },
                         _loader: function (t) {
                              switch (t) {
                                   case "show":
                                        this.main.addClass("sw-loading");
                                        break;
                                   case "hide":
                                        this.main.removeClass("sw-loading");
                                        break;
                                   default:
                                        this.main.toggleClass("sw-loading");
                              }
                         },
                         goToStep: function (t) {
                              this._transitPage(t);
                         },
                         hiddenSteps: function (e) {
                              if (((this.options.hiddenSteps = e), this.options.hiddenSteps && this.options.hiddenSteps.length > 0)) {
                                   var i = this;
                                   t.each(i.steps, function (e, n) {
                                        t.inArray(e, i.options.hiddenSteps) > -1 ? t(n).parent("li").addClass("hidden") : t(n).parent("li").removeClass("hidden");
                                   });
                              }
                         },
                         theme: function (t) {
                              if (this.options.theme === t) return !1;
                              this.main.removeClass("sw-theme-" + this.options.theme), (this.options.theme = t), this.main.addClass("sw-theme-" + this.options.theme), this._triggerEvent("themeChanged", [this.options.theme]);
                         },
                         next: function () {
                              this._showNext();
                         },
                         prev: function () {
                              this._showPrevious();
                         },
                         reset: function () {
                              if (!1 === this._triggerEvent("beginReset")) return !1;
                              this.container.stop(!0),
                                   this.pages.stop(!0),
                                   this.pages.hide(),
                                   (this.current_index = null),
                                   this._setURLHash(this.steps.eq(this.options.selected).attr("href")),
                                   t(".sw-toolbar", this.main).remove(),
                                   this.steps.removeClass(),
                                   this.steps.parents("li").removeClass(),
                                   this.steps.data("has-content", !1),
                                   this.init(),
                                   this._triggerEvent("endReset");
                         },
                         stepState: function (e, i) {
                              e = t.isArray(e) ? e : [e];
                              var n = t.grep(this.steps, function (i, n) {
                                   return -1 !== t.inArray(n, e);
                              });
                              if (n && n.length > 0)
                                   switch (i) {
                                        case "disable":
                                             t(n).parents("li").addClass("disabled");
                                             break;
                                        case "enable":
                                             t(n).parents("li").removeClass("disabled");
                                             break;
                                        case "hide":
                                             t(n).parents("li").addClass("hidden");
                                             break;
                                        case "show":
                                             t(n).parents("li").removeClass("hidden");
                                             break;
                                        case "error-on":
                                             t(n).parents("li").addClass("danger");
                                             break;
                                        case "error-off":
                                             t(n).parents("li").removeClass("danger");
                                   }
                         },
                    }),
                         (t.fn.smartWizard = function (e) {
                              var i,
                                   n = arguments;
                              return void 0 === e || "object" == typeof e
                                   ? this.each(function () {
                                          t.data(this, "smartWizard") || t.data(this, "smartWizard", new o(this, e));
                                     })
                                   : "string" == typeof e && "_" !== e[0] && "init" !== e
                                   ? ((i = t.data(this[0], "smartWizard")), "destroy" === e && t.data(this, "smartWizard", null), i instanceof o && "function" == typeof i[e] ? i[e].apply(i, Array.prototype.slice.call(n, 1)) : this)
                                   : void 0;
                         });
               })(t, window, document);
          }.call(this, i(1)));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var e = i(150),
                         n = i.n(e);
                    t(document).ready(function () {
                         new n.a(".clipboard-trigger");
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(193), i(194);
                    var e = i(0),
                         n = i.n(e);
                    t(document).ready(function () {
                         t('[data-toggle="datepicker"]').datepicker(),
                              t('[data-toggle="datepicker-year"]').datepicker({ startView: 2 }),
                              t('[data-toggle="datepicker-month"]').datepicker({ startView: 1 }),
                              t('[data-toggle="datepicker-inline"]').datepicker({ inline: !0 }),
                              t('[data-toggle="datepicker-icon"]').datepicker({ trigger: ".datepicker-trigger" }),
                              t('[data-toggle="datepicker-button"]').datepicker({ trigger: ".datepicker-trigger-btn" }),
                              t('input[name="daterange"]').daterangepicker(),
                              t('input[name="datetimes"]').daterangepicker({ timePicker: !0, startDate: n()().startOf("hour"), endDate: n()().startOf("hour").add(32, "hour"), locale: { format: "M/DD hh:mm A" } }),
                              t('input[name="birthday"]').daterangepicker({ singleDatePicker: !0, showDropdowns: !0, minYear: 1901, maxYear: parseInt(n()().format("YYYY"), 10) }, function (t, e, i) {
                                   var r = n()().diff(t, "years");
                                   alert("You are " + r + " years old!");
                              });
                         var e = n()().subtract(29, "days"),
                              i = n()();
                         function r(e, i) {
                              t("#reportrange span").html(e.format("MMMM D, YYYY") + " - " + i.format("MMMM D, YYYY"));
                         }
                         t("#reportrange").daterangepicker(
                              {
                                   startDate: e,
                                   endDate: i,
                                   opens: "right",
                                   ranges: {
                                        Today: [n()(), n()()],
                                        Yesterday: [n()().subtract(1, "days"), n()().subtract(1, "days")],
                                        "Last 7 Days": [n()().subtract(6, "days"), n()()],
                                        "Last 30 Days": [n()().subtract(29, "days"), n()()],
                                        "This Month": [n()().startOf("month"), n()().endOf("month")],
                                        "Last Month": [n()().subtract(1, "month").startOf("month"), n()().subtract(1, "month").endOf("month")],
                                   },
                              },
                              r
                         ),
                              r(e, i),
t('input[name="daterange-centered"]').daterangepicker({
    timePicker: true,
    buttonClasses: "btn btn-success",
    cancelClass: "btn-link bg-transparent rm-border text-danger",
    opens: "center",
    drops: "up",
    startDate: jQuery('#daterange-centered').attr('data-start'),
    endDate: jQuery('#daterange-centered').attr('data-end') });

                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          /*!
           * Datepicker v1.0.9
           * https://fengyuanchen.github.io/datepicker
           *
           * Copyright 2014-present Chen Fengyuan
           * Released under the MIT license
           *
           * Date: 2019-09-21T06:57:34.100Z
           */ !(function (t) {
               "use strict";
               function e(t, e) {
                    if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
               }
               function i(t, e) {
                    for (var i = 0; i < e.length; i++) {
                         var n = e[i];
                         (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);
                    }
               }
               t = t && t.hasOwnProperty("default") ? t.default : t;
               var n = {
                         autoShow: !1,
                         autoHide: !1,
                         autoPick: !1,
                         inline: !1,
                         container: null,
                         trigger: null,
                         language: "",
                         format: "mm/dd/yyyy",
                         date: null,
                         startDate: null,
                         endDate: null,
                         startView: 0,
                         weekStart: 0,
                         yearFirst: !1,
                         yearSuffix: "",
                         days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
                         daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
                         daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
                         months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
                         monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
                         itemTag: "li",
                         mutedClass: "muted",
                         pickedClass: "picked",
                         disabledClass: "disabled",
                         highlightedClass: "highlighted",
                         template:
                              '<div class="datepicker-container"><div class="datepicker-panel" data-view="years picker"><ul><li data-view="years prev">&lsaquo;</li><li data-view="years current"></li><li data-view="years next">&rsaquo;</li></ul><ul data-view="years"></ul></div><div class="datepicker-panel" data-view="months picker"><ul><li data-view="year prev">&lsaquo;</li><li data-view="year current"></li><li data-view="year next">&rsaquo;</li></ul><ul data-view="months"></ul></div><div class="datepicker-panel" data-view="days picker"><ul><li data-view="month prev">&lsaquo;</li><li data-view="month current"></li><li data-view="month next">&rsaquo;</li></ul><ul data-view="week"></ul><ul data-view="days"></ul></div></div>',
                         offset: 10,
                         zIndex: 1e3,
                         filter: null,
                         show: null,
                         hide: null,
                         pick: null,
                    },
                    r = "undefined" != typeof window,
                    o = r ? window : {},
                    a = !!r && "ontouchstart" in o.document.documentElement,
                    s = "datepicker",
                    l = "click.".concat(s),
                    c = "focus.".concat(s),
                    u = "hide.".concat(s),
                    h = "keyup.".concat(s),
                    d = "pick.".concat(s),
                    p = "resize.".concat(s),
                    f = "scroll.".concat(s),
                    m = "show.".concat(s),
                    g = "touchstart.".concat(s),
                    v = "".concat(s, "-hide"),
                    y = {},
                    b = 0,
                    _ = 1,
                    x = 2,
                    w = Object.prototype.toString;
               function k(t) {
                    return "string" == typeof t;
               }
               var S = Number.isNaN || o.isNaN;
               function M(t) {
                    return "number" == typeof t && !S(t);
               }
               function T(t) {
                    return void 0 === t;
               }
               function C(t) {
                    return "date" === ((e = t), w.call(e).slice(8, -1).toLowerCase()) && !S(t.getTime());
                    var e;
               }
               function D(t, e) {
                    for (var i = arguments.length, n = new Array(i > 2 ? i - 2 : 0), r = 2; r < i; r++) n[r - 2] = arguments[r];
                    return function () {
                         for (var i = arguments.length, r = new Array(i), o = 0; o < i; o++) r[o] = arguments[o];
                         return t.apply(e, n.concat(r));
                    };
               }
               function L(t) {
                    return '[data-view="'.concat(t, '"]');
               }
               function E(t) {
                    return (t % 4 == 0 && t % 100 != 0) || t % 400 == 0;
               }
               function A(t, e) {
                    return [31, E(t) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][e];
               }
               function P(t, e, i) {
                    return Math.min(i, A(t, e));
               }
               var I = /(y|m|d)+/g;
               function O(e) {
                    var i = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
                         n = t(e),
                         r = n.css("position"),
                         o = "absolute" === r,
                         a = i ? /auto|scroll|hidden/ : /auto|scroll/,
                         s = n
                              .parents()
                              .filter(function (e, i) {
                                   var n = t(i);
                                   return (!o || "static" !== n.css("position")) && a.test(n.css("overflow") + n.css("overflow-y") + n.css("overflow-x"));
                              })
                              .eq(0);
                    return "fixed" !== r && s.length ? s : t(e.ownerDocument || document);
               }
               function Y(t) {
                    var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1,
                         i = String(Math.abs(t)),
                         n = i.length,
                         r = "";
                    for (t < 0 && (r += "-"); n < e; ) (n += 1), (r += "0");
                    return r + i;
               }
               var z = /\d+/g,
                    R = {
                         show: function () {
                              this.built || this.build(),
                                   this.shown ||
                                        this.trigger(m).isDefaultPrevented() ||
                                        ((this.shown = !0),
                                        this.$picker.removeClass(v).on(l, t.proxy(this.click, this)),
                                        this.showView(this.options.startView),
                                        this.inline ||
                                             (this.$scrollParent.on(f, t.proxy(this.place, this)),
                                             t(window).on(p, (this.onResize = D(this.place, this))),
                                             t(document).on(l, (this.onGlobalClick = D(this.globalClick, this))),
                                             t(document).on(h, (this.onGlobalKeyup = D(this.globalKeyup, this))),
                                             a && t(document).on(g, (this.onTouchStart = D(this.touchstart, this))),
                                             this.place()));
                         },
                         hide: function () {
                              this.shown &&
                                   (this.trigger(u).isDefaultPrevented() ||
                                        ((this.shown = !1),
                                        this.$picker.addClass(v).off(l, this.click),
                                        this.inline ||
                                             (this.$scrollParent.off(f, this.place),
                                             t(window).off(p, this.onResize),
                                             t(document).off(l, this.onGlobalClick),
                                             t(document).off(h, this.onGlobalKeyup),
                                             a && t(document).off(g, this.onTouchStart))));
                         },
                         toggle: function () {
                              this.shown ? this.hide() : this.show();
                         },
                         update: function () {
                              var t = this.getValue();
                              t !== this.oldValue && (this.setDate(t, !0), (this.oldValue = t));
                         },
                         pick: function (t) {
                              var e = this.$element,
                                   i = this.date;
                              this.trigger(d, { view: t || "", date: i }).isDefaultPrevented() || ((i = this.formatDate(this.date)), this.setValue(i), this.isInput && (e.trigger("input"), e.trigger("change")));
                         },
                         reset: function () {
                              this.setDate(this.initialDate, !0), this.setValue(this.initialValue), this.shown && this.showView(this.options.startView);
                         },
                         getMonthName: function (e, i) {
                              var n = this.options,
                                   r = n.monthsShort,
                                   o = n.months;
                              return t.isNumeric(e) ? (e = Number(e)) : T(i) && (i = e), !0 === i && (o = r), o[M(e) ? e : this.date.getMonth()];
                         },
                         getDayName: function (e, i, n) {
                              var r = this.options,
                                   o = r.days;
                              return t.isNumeric(e) ? (e = Number(e)) : (T(n) && (n = i), T(i) && (i = e)), n ? (o = r.daysMin) : i && (o = r.daysShort), o[M(e) ? e : this.date.getDay()];
                         },
                         getDate: function (t) {
                              var e = this.date;
                              return t ? this.formatDate(e) : new Date(e);
                         },
                         setDate: function (e, i) {
                              var n = this.options.filter;
                              if (C(e) || k(e)) {
                                   if (((e = this.parseDate(e)), t.isFunction(n) && !1 === n.call(this.$element, e, "day"))) return;
                                   (this.date = e), (this.viewDate = new Date(e)), i || this.pick(), this.built && this.render();
                              }
                         },
                         setStartDate: function (t) {
                              C(t) || k(t) ? (this.startDate = this.parseDate(t)) : (this.startDate = null), this.built && this.render();
                         },
                         setEndDate: function (t) {
                              C(t) || k(t) ? (this.endDate = this.parseDate(t)) : (this.endDate = null), this.built && this.render();
                         },
                         parseDate: function (e) {
                              var i = this.format,
                                   n = [];
                              return (
                                   C(e) ||
                                        (k(e) && (n = e.match(z) || []),
                                        C((e = e ? new Date(e) : new Date())) || (e = new Date()),
                                        n.length === i.parts.length &&
                                             (t.each(n, function (t, n) {
                                                  var r = parseInt(n, 10);
                                                  switch (i.parts[t]) {
                                                       case "yy":
                                                            e.setFullYear(2e3 + r);
                                                            break;
                                                       case "yyyy":
                                                            e.setFullYear(2 === n.length ? 2e3 + r : r);
                                                            break;
                                                       case "mm":
                                                       case "m":
                                                            e.setMonth(r - 1);
                                                  }
                                             }),
                                             t.each(n, function (t, n) {
                                                  var r = parseInt(n, 10);
                                                  switch (i.parts[t]) {
                                                       case "dd":
                                                       case "d":
                                                            e.setDate(r);
                                                  }
                                             }))),
                                   new Date(e.getFullYear(), e.getMonth(), e.getDate())
                              );
                         },
                         formatDate: function (e) {
                              var i = this.format,
                                   n = "";
                              if (C(e)) {
                                   var r = e.getFullYear(),
                                        o = e.getMonth(),
                                        a = e.getDate(),
                                        s = { d: a, dd: Y(a, 2), m: o + 1, mm: Y(o + 1, 2), yy: String(r).substring(2), yyyy: Y(r, 4) };
                                   (n = i.source),
                                        t.each(i.parts, function (t, e) {
                                             n = n.replace(e, s[e]);
                                        });
                              }
                              return n;
                         },
                         destroy: function () {
                              this.unbind(), this.unbuild(), this.$element.removeData(s);
                         },
                    },
                    F = {
                         click: function (e) {
                              var i = t(e.target),
                                   n = this.options,
                                   r = this.date,
                                   o = this.viewDate,
                                   a = this.format;
                              if ((e.stopPropagation(), e.preventDefault(), !i.hasClass("disabled"))) {
                                   var s = i.data("view"),
                                        l = o.getFullYear(),
                                        c = o.getMonth(),
                                        u = o.getDate();
                                   switch (s) {
                                        case "years prev":
                                        case "years next":
                                             (l = "years prev" === s ? l - 10 : l + 10), o.setFullYear(l), o.setDate(P(l, c, u)), this.renderYears();
                                             break;
                                        case "year prev":
                                        case "year next":
                                             (l = "year prev" === s ? l - 1 : l + 1), o.setFullYear(l), o.setDate(P(l, c, u)), this.renderMonths();
                                             break;
                                        case "year current":
                                             a.hasYear && this.showView(x);
                                             break;
                                        case "year picked":
                                             a.hasMonth ? this.showView(_) : (i.siblings(".".concat(n.pickedClass)).removeClass(n.pickedClass).data("view", "year"), this.hideView()), this.pick("year");
                                             break;
                                        case "year":
                                             (l = parseInt(i.text(), 10)),
                                                  r.setDate(P(l, c, u)),
                                                  r.setFullYear(l),
                                                  o.setDate(P(l, c, u)),
                                                  o.setFullYear(l),
                                                  a.hasMonth ? this.showView(_) : (i.addClass(n.pickedClass).data("view", "year picked").siblings(".".concat(n.pickedClass)).removeClass(n.pickedClass).data("view", "year"), this.hideView()),
                                                  this.pick("year");
                                             break;
                                        case "month prev":
                                        case "month next":
                                             (c = "month prev" === s ? c - 1 : c + 1) < 0 ? ((l -= 1), (c += 12)) : c > 11 && ((l += 1), (c -= 12)), o.setFullYear(l), o.setDate(P(l, c, u)), o.setMonth(c), this.renderDays();
                                             break;
                                        case "month current":
                                             a.hasMonth && this.showView(_);
                                             break;
                                        case "month picked":
                                             a.hasDay ? this.showView(b) : (i.siblings(".".concat(n.pickedClass)).removeClass(n.pickedClass).data("view", "month"), this.hideView()), this.pick("month");
                                             break;
                                        case "month":
                                             (c = t.inArray(i.text(), n.monthsShort)),
                                                  r.setFullYear(l),
                                                  r.setDate(P(l, c, u)),
                                                  r.setMonth(c),
                                                  o.setFullYear(l),
                                                  o.setDate(P(l, c, u)),
                                                  o.setMonth(c),
                                                  a.hasDay ? this.showView(b) : (i.addClass(n.pickedClass).data("view", "month picked").siblings(".".concat(n.pickedClass)).removeClass(n.pickedClass).data("view", "month"), this.hideView()),
                                                  this.pick("month");
                                             break;
                                        case "day prev":
                                        case "day next":
                                        case "day":
                                             "day prev" === s ? (c -= 1) : "day next" === s && (c += 1),
                                                  (u = parseInt(i.text(), 10)),
                                                  r.setDate(1),
                                                  r.setFullYear(l),
                                                  r.setMonth(c),
                                                  r.setDate(u),
                                                  o.setDate(1),
                                                  o.setFullYear(l),
                                                  o.setMonth(c),
                                                  o.setDate(u),
                                                  this.renderDays(),
                                                  "day" === s && this.hideView(),
                                                  this.pick("day");
                                             break;
                                        case "day picked":
                                             this.hideView(), this.pick("day");
                                   }
                              }
                         },
                         globalClick: function (t) {
                              for (var e = t.target, i = this.element, n = this.$trigger[0], r = !0; e !== document; ) {
                                   if (e === n || e === i) {
                                        r = !1;
                                        break;
                                   }
                                   e = e.parentNode;
                              }
                              r && this.hide();
                         },
                         keyup: function () {
                              this.update();
                         },
                         globalKeyup: function (t) {
                              var e = t.target,
                                   i = t.key,
                                   n = t.keyCode;
                              this.isInput && e !== this.element && this.shown && ("Tab" === i || 9 === n) && this.hide();
                         },
                         touchstart: function (e) {
                              var i = e.target;
                              this.isInput && i !== this.element && !t.contains(this.$picker[0], i) && (this.hide(), this.element.blur());
                         },
                    },
                    H = {
                         render: function () {
                              this.renderYears(), this.renderMonths(), this.renderDays();
                         },
                         renderWeek: function () {
                              var e = this,
                                   i = [],
                                   n = this.options,
                                   r = n.weekStart,
                                   o = n.daysMin;
                              (r = parseInt(r, 10) % 7),
                                   (o = o.slice(r).concat(o.slice(0, r))),
                                   t.each(o, function (t, n) {
                                        i.push(e.createItem({ text: n }));
                                   }),
                                   this.$week.html(i.join(""));
                         },
                         renderYears: function () {
                              var t,
                                   e = this.options,
                                   i = this.startDate,
                                   n = this.endDate,
                                   r = e.disabledClass,
                                   o = e.filter,
                                   a = e.yearSuffix,
                                   s = this.viewDate.getFullYear(),
                                   l = new Date().getFullYear(),
                                   c = this.date.getFullYear(),
                                   u = [],
                                   h = !1,
                                   d = !1;
                              for (t = -5; t <= 6; t += 1) {
                                   var p = new Date(s + t, 1, 1),
                                        f = !1;
                                   i && ((f = p.getFullYear() < i.getFullYear()), -5 === t && (h = f)), !f && n && ((f = p.getFullYear() > n.getFullYear()), 6 === t && (d = f)), !f && o && (f = !1 === o.call(this.$element, p, "year"));
                                   var m = s + t === c,
                                        g = m ? "year picked" : "year";
                                   u.push(this.createItem({ picked: m, disabled: f, text: s + t, view: f ? "year disabled" : g, highlighted: p.getFullYear() === l }));
                              }
                              this.$yearsPrev.toggleClass(r, h),
                                   this.$yearsNext.toggleClass(r, d),
                                   this.$yearsCurrent.toggleClass(r, !0).html(
                                        ""
                                             .concat(s + -5 + a, " - ")
                                             .concat(s + 6)
                                             .concat(a)
                                   ),
                                   this.$years.html(u.join(""));
                         },
                         renderMonths: function () {
                              var e,
                                   i = this.options,
                                   n = this.startDate,
                                   r = this.endDate,
                                   o = this.viewDate,
                                   a = i.disabledClass || "",
                                   s = i.monthsShort,
                                   l = t.isFunction(i.filter) && i.filter,
                                   c = o.getFullYear(),
                                   u = new Date(),
                                   h = u.getFullYear(),
                                   d = u.getMonth(),
                                   p = this.date.getFullYear(),
                                   f = this.date.getMonth(),
                                   m = [],
                                   g = !1,
                                   v = !1;
                              for (e = 0; e <= 11; e += 1) {
                                   var y = new Date(c, e, 1),
                                        b = !1;
                                   n && (b = (g = y.getFullYear() === n.getFullYear()) && y.getMonth() < n.getMonth()),
                                        !b && r && (b = (v = y.getFullYear() === r.getFullYear()) && y.getMonth() > r.getMonth()),
                                        !b && l && (b = !1 === l.call(this.$element, y, "month"));
                                   var _ = c === p && e === f,
                                        x = _ ? "month picked" : "month";
                                   m.push(this.createItem({ disabled: b, picked: _, highlighted: c === h && y.getMonth() === d, index: e, text: s[e], view: b ? "month disabled" : x }));
                              }
                              this.$yearPrev.toggleClass(a, g), this.$yearNext.toggleClass(a, v), this.$yearCurrent.toggleClass(a, g && v).html(c + i.yearSuffix || ""), this.$months.html(m.join(""));
                         },
                         renderDays: function () {
                              var t,
                                   e,
                                   i,
                                   n = this.$element,
                                   r = this.options,
                                   o = this.startDate,
                                   a = this.endDate,
                                   s = this.viewDate,
                                   l = this.date,
                                   c = r.disabledClass,
                                   u = r.filter,
                                   h = r.months,
                                   d = r.weekStart,
                                   p = r.yearSuffix,
                                   f = s.getFullYear(),
                                   m = s.getMonth(),
                                   g = new Date(),
                                   v = g.getFullYear(),
                                   y = g.getMonth(),
                                   b = g.getDate(),
                                   _ = l.getFullYear(),
                                   x = l.getMonth(),
                                   w = l.getDate(),
                                   k = [],
                                   S = f,
                                   M = m,
                                   T = !1;
                              0 === m ? ((S -= 1), (M = 11)) : (M -= 1), (t = A(S, M));
                              var C = new Date(f, m, 1);
                              for ((i = C.getDay() - (parseInt(d, 10) % 7)) <= 0 && (i += 7), o && (T = C.getTime() <= o.getTime()), e = t - (i - 1); e <= t; e += 1) {
                                   var D = new Date(S, M, e),
                                        L = !1;
                                   o && (L = D.getTime() < o.getTime()),
                                        !L && u && (L = !1 === u.call(n, D, "day")),
                                        k.push(this.createItem({ disabled: L, highlighted: S === v && M === y && D.getDate() === b, muted: !0, picked: S === _ && M === x && e === w, text: e, view: "day prev" }));
                              }
                              var E = [],
                                   P = f,
                                   I = m,
                                   O = !1;
                              11 === m ? ((P += 1), (I = 0)) : (I += 1), (t = A(f, m)), (i = 42 - (k.length + t));
                              var Y = new Date(f, m, t);
                              for (a && (O = Y.getTime() >= a.getTime()), e = 1; e <= i; e += 1) {
                                   var z = new Date(P, I, e),
                                        R = P === _ && I === x && e === w,
                                        F = !1;
                                   a && (F = z.getTime() > a.getTime()),
                                        !F && u && (F = !1 === u.call(n, z, "day")),
                                        E.push(this.createItem({ disabled: F, picked: R, highlighted: P === v && I === y && z.getDate() === b, muted: !0, text: e, view: "day next" }));
                              }
                              var H = [];
                              for (e = 1; e <= t; e += 1) {
                                   var j = new Date(f, m, e),
                                        N = !1;
                                   o && (N = j.getTime() < o.getTime()), !N && a && (N = j.getTime() > a.getTime()), !N && u && (N = !1 === u.call(n, j, "day"));
                                   var B = f === _ && m === x && e === w,
                                        W = B ? "day picked" : "day";
                                   H.push(this.createItem({ disabled: N, picked: B, highlighted: f === v && m === y && j.getDate() === b, text: e, view: N ? "day disabled" : W }));
                              }
                              this.$monthPrev.toggleClass(c, T),
                                   this.$monthNext.toggleClass(c, O),
                                   this.$monthCurrent.toggleClass(c, T && O).html(r.yearFirst ? "".concat(f + p, " ").concat(h[m]) : "".concat(h[m], " ").concat(f).concat(p)),
                                   this.$days.html(k.join("") + H.join("") + E.join(""));
                         },
                    },
                    j = "".concat(s, "-top-left"),
                    N = "".concat(s, "-top-right"),
                    B = "".concat(s, "-bottom-left"),
                    W = "".concat(s, "-bottom-right"),
                    V = [j, N, B, W].join(" "),
                    U = (function () {
                         function r(i) {
                              var o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                              e(this, r),
                                   (this.$element = t(i)),
                                   (this.element = i),
                                   (this.options = t.extend({}, n, y[o.language], t.isPlainObject(o) && o)),
                                   (this.$scrollParent = O(i, !0)),
                                   (this.built = !1),
                                   (this.shown = !1),
                                   (this.isInput = !1),
                                   (this.inline = !1),
                                   (this.initialValue = ""),
                                   (this.initialDate = null),
                                   (this.startDate = null),
                                   (this.endDate = null),
                                   this.init();
                         }
                         var o, a, p;
                         return (
                              (o = r),
                              (p = [
                                   {
                                        key: "setDefaults",
                                        value: function () {
                                             var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                                             t.extend(n, y[e.language], t.isPlainObject(e) && e);
                                        },
                                   },
                              ]),
                              (a = [
                                   {
                                        key: "init",
                                        value: function () {
                                             var e = this.$element,
                                                  i = this.options,
                                                  n = i.startDate,
                                                  r = i.endDate,
                                                  o = i.date;
                                             (this.$trigger = t(i.trigger)),
                                                  (this.isInput = e.is("input") || e.is("textarea")),
                                                  (this.inline = i.inline && (i.container || !this.isInput)),
                                                  (this.format = (function (e) {
                                                       var i = String(e).toLowerCase(),
                                                            n = i.match(I);
                                                       if (!n || 0 === n.length) throw new Error("Invalid date format.");
                                                       return (
                                                            (e = { source: i, parts: n }),
                                                            t.each(n, function (t, i) {
                                                                 switch (i) {
                                                                      case "dd":
                                                                      case "d":
                                                                           e.hasDay = !0;
                                                                           break;
                                                                      case "mm":
                                                                      case "m":
                                                                           e.hasMonth = !0;
                                                                           break;
                                                                      case "yyyy":
                                                                      case "yy":
                                                                           e.hasYear = !0;
                                                                 }
                                                            }),
                                                            e
                                                       );
                                                  })(i.format));
                                             var a = this.getValue();
                                             (this.initialValue = a),
                                                  (this.oldValue = a),
                                                  (o = this.parseDate(o || a)),
                                                  n && ((n = this.parseDate(n)), o.getTime() < n.getTime() && (o = new Date(n)), (this.startDate = n)),
                                                  r && ((r = this.parseDate(r)), n && r.getTime() < n.getTime() && (r = new Date(n)), o.getTime() > r.getTime() && (o = new Date(r)), (this.endDate = r)),
                                                  (this.date = o),
                                                  (this.viewDate = new Date(o)),
                                                  (this.initialDate = new Date(this.date)),
                                                  this.bind(),
                                                  (i.autoShow || this.inline) && this.show(),
                                                  i.autoPick && this.pick();
                                        },
                                   },
                                   {
                                        key: "build",
                                        value: function () {
                                             if (!this.built) {
                                                  this.built = !0;
                                                  var e = this.$element,
                                                       i = this.options,
                                                       n = t(i.template);
                                                  (this.$picker = n),
                                                       (this.$week = n.find(L("week"))),
                                                       (this.$yearsPicker = n.find(L("years picker"))),
                                                       (this.$yearsPrev = n.find(L("years prev"))),
                                                       (this.$yearsNext = n.find(L("years next"))),
                                                       (this.$yearsCurrent = n.find(L("years current"))),
                                                       (this.$years = n.find(L("years"))),
                                                       (this.$monthsPicker = n.find(L("months picker"))),
                                                       (this.$yearPrev = n.find(L("year prev"))),
                                                       (this.$yearNext = n.find(L("year next"))),
                                                       (this.$yearCurrent = n.find(L("year current"))),
                                                       (this.$months = n.find(L("months"))),
                                                       (this.$daysPicker = n.find(L("days picker"))),
                                                       (this.$monthPrev = n.find(L("month prev"))),
                                                       (this.$monthNext = n.find(L("month next"))),
                                                       (this.$monthCurrent = n.find(L("month current"))),
                                                       (this.$days = n.find(L("days"))),
                                                       this.inline
                                                            ? t(i.container || e).append(n.addClass("".concat(s, "-inline")))
                                                            : (t(document.body).append(n.addClass("".concat(s, "-dropdown"))), n.addClass(v).css({ zIndex: parseInt(i.zIndex, 10) })),
                                                       this.renderWeek();
                                             }
                                        },
                                   },
                                   {
                                        key: "unbuild",
                                        value: function () {
                                             this.built && ((this.built = !1), this.$picker.remove());
                                        },
                                   },
                                   {
                                        key: "bind",
                                        value: function () {
                                             var e = this.options,
                                                  i = this.$element;
                                             t.isFunction(e.show) && i.on(m, e.show),
                                                  t.isFunction(e.hide) && i.on(u, e.hide),
                                                  t.isFunction(e.pick) && i.on(d, e.pick),
                                                  this.isInput && i.on(h, t.proxy(this.keyup, this)),
                                                  this.inline || (e.trigger ? this.$trigger.on(l, t.proxy(this.toggle, this)) : this.isInput ? i.on(c, t.proxy(this.show, this)) : i.on(l, t.proxy(this.show, this)));
                                        },
                                   },
                                   {
                                        key: "unbind",
                                        value: function () {
                                             var e = this.$element,
                                                  i = this.options;
                                             t.isFunction(i.show) && e.off(m, i.show),
                                                  t.isFunction(i.hide) && e.off(u, i.hide),
                                                  t.isFunction(i.pick) && e.off(d, i.pick),
                                                  this.isInput && e.off(h, this.keyup),
                                                  this.inline || (i.trigger ? this.$trigger.off(l, this.toggle) : this.isInput ? e.off(c, this.show) : e.off(l, this.show));
                                        },
                                   },
                                   {
                                        key: "showView",
                                        value: function (t) {
                                             var e = this.$yearsPicker,
                                                  i = this.$monthsPicker,
                                                  n = this.$daysPicker,
                                                  r = this.format;
                                             if (r.hasYear || r.hasMonth || r.hasDay)
                                                  switch (Number(t)) {
                                                       case x:
                                                            i.addClass(v), n.addClass(v), r.hasYear ? (this.renderYears(), e.removeClass(v), this.place()) : this.showView(b);
                                                            break;
                                                       case _:
                                                            e.addClass(v), n.addClass(v), r.hasMonth ? (this.renderMonths(), i.removeClass(v), this.place()) : this.showView(x);
                                                            break;
                                                       default:
                                                            e.addClass(v), i.addClass(v), r.hasDay ? (this.renderDays(), n.removeClass(v), this.place()) : this.showView(_);
                                                  }
                                        },
                                   },
                                   {
                                        key: "hideView",
                                        value: function () {
                                             !this.inline && this.options.autoHide && this.hide();
                                        },
                                   },
                                   {
                                        key: "place",
                                        value: function () {
                                             if (!this.inline) {
                                                  var e = this.$element,
                                                       i = this.options,
                                                       n = this.$picker,
                                                       r = t(document).outerWidth(),
                                                       o = t(document).outerHeight(),
                                                       a = e.outerWidth(),
                                                       s = e.outerHeight(),
                                                       l = n.width(),
                                                       c = n.height(),
                                                       u = e.offset(),
                                                       h = u.left,
                                                       d = u.top,
                                                       p = parseFloat(i.offset),
                                                       f = j;
                                                  S(p) && (p = 10),
                                                       d > c && d + s + c > o ? ((d -= c + p), (f = B)) : (d += s + p),
                                                       h + l > r && ((h += a - l), (f = f.replace("left", "right"))),
                                                       n.removeClass(V).addClass(f).css({ top: d, left: h });
                                             }
                                        },
                                   },
                                   {
                                        key: "trigger",
                                        value: function (e, i) {
                                             var n = t.Event(e, i);
                                             return this.$element.trigger(n), n;
                                        },
                                   },
                                   {
                                        key: "createItem",
                                        value: function (e) {
                                             var i = this.options,
                                                  n = i.itemTag,
                                                  r = { text: "", view: "", muted: !1, picked: !1, disabled: !1, highlighted: !1 },
                                                  o = [];
                                             return (
                                                  t.extend(r, e),
                                                  r.muted && o.push(i.mutedClass),
                                                  r.highlighted && o.push(i.highlightedClass),
                                                  r.picked && o.push(i.pickedClass),
                                                  r.disabled && o.push(i.disabledClass),
                                                  "<".concat(n, ' class="').concat(o.join(" "), '" data-view="').concat(r.view, '">').concat(r.text, "</").concat(n, ">")
                                             );
                                        },
                                   },
                                   {
                                        key: "getValue",
                                        value: function () {
                                             var t = this.$element;
                                             return this.isInput ? t.val() : t.text();
                                        },
                                   },
                                   {
                                        key: "setValue",
                                        value: function () {
                                             var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
                                                  e = this.$element;
                                             this.isInput ? e.val(t) : (this.inline && !this.options.container) || e.text(t);
                                        },
                                   },
                              ]) && i(o.prototype, a),
                              p && i(o, p),
                              r
                         );
                    })();
               if ((t.extend && t.extend(U.prototype, H, F, R), t.fn)) {
                    var q = t.fn.datepicker;
                    (t.fn.datepicker = function (e) {
                         for (var i = arguments.length, n = new Array(i > 1 ? i - 1 : 0), r = 1; r < i; r++) n[r - 1] = arguments[r];
                         var o;
                         return (
                              this.each(function (i, r) {
                                   var a = t(r),
                                        l = "destroy" === e,
                                        c = a.data(s);
                                   if (!c) {
                                        if (l) return;
                                        var u = t.extend({}, a.data(), t.isPlainObject(e) && e);
                                        (c = new U(r, u)), a.data(s, c);
                                   }
                                   if (k(e)) {
                                        var h = c[e];
                                        t.isFunction(h) && ((o = h.apply(c, n)), l && a.removeData(s));
                                   }
                              }),
                              T(o) ? this : o
                         );
                    }),
                         (t.fn.datepicker.Constructor = U),
                         (t.fn.datepicker.languages = y),
                         (t.fn.datepicker.setDefaults = U.setDefaults),
                         (t.fn.datepicker.noConflict = function () {
                              return (t.fn.datepicker = q), this;
                         });
               }
          })(i(1));
     },
     function (t, e, i) {
          var n, r;
          (n = [i(0), i(1)]),
               void 0 ===
                    (r = function (t, e) {
                         return (
                              e.fn || (e.fn = {}),
                              "function" != typeof t && t.hasOwnProperty("default") && (t = t.default),
                              (function (t, e) {
                                   var i = function (i, n, r) {
                                        if (
                                             ((this.parentEl = "body"),
                                             (this.element = e(i)),
                                             (this.startDate = t().startOf("day")),
                                             (this.endDate = t().endOf("day")),
                                             (this.minDate = !1),
                                             (this.maxDate = !1),
                                             (this.maxSpan = !1),
                                             (this.autoApply = !1),
                                             (this.singleDatePicker = !1),
                                             (this.showDropdowns = !1),
                                             (this.minYear = t().subtract(100, "year").format("YYYY")),
                                             (this.maxYear = t().add(100, "year").format("YYYY")),
                                             (this.showWeekNumbers = !1),
                                             (this.showISOWeekNumbers = !1),
                                             (this.showCustomRangeLabel = !0),
                                             (this.timePicker = !1),
                                             (this.timePicker24Hour = !1),
                                             (this.timePickerIncrement = 1),
                                             (this.timePickerSeconds = !1),
                                             (this.linkedCalendars = !0),
                                             (this.autoUpdateInput = !0),
                                             (this.alwaysShowCalendars = !1),
                                             (this.ranges = {}),
                                             (this.opens = "right"),
                                             this.element.hasClass("pull-right") && (this.opens = "left"),
                                             (this.drops = "down"),
                                             this.element.hasClass("dropup") && (this.drops = "up"),
                                             (this.buttonClasses = "btn btn-sm"),
                                             (this.applyButtonClasses = "btn-primary"),
                                             (this.cancelButtonClasses = "btn-default"),
                                             (this.locale = {
                                                  direction: "ltr",
                                                  format: t.localeData().longDateFormat("L"),
                                                  separator: " - ",
                                                  applyLabel: "Apply",
                                                  cancelLabel: "Cancel",
                                                  weekLabel: "W",
                                                  customRangeLabel: "Custom Range",
                                                  daysOfWeek: t.weekdaysMin(),
                                                  monthNames: t.monthsShort(),
                                                  firstDay: t.localeData().firstDayOfWeek(),
                                             }),
                                             (this.callback = function () {}),
                                             (this.isShowing = !1),
                                             (this.leftCalendar = {}),
                                             (this.rightCalendar = {}),
                                             ("object" == typeof n && null !== n) || (n = {}),
                                             "string" == typeof (n = e.extend(this.element.data(), n)).template ||
                                                  n.template instanceof e ||
                                                  (n.template =
                                                       '<div class="daterangepicker"><div class="ranges"></div><div class="drp-calendar left"><div class="calendar-table"></div><div class="calendar-time"></div></div><div class="drp-calendar right"><div class="calendar-table"></div><div class="calendar-time"></div></div><div class="drp-buttons"><span class="drp-selected"></span><button class="cancelBtn" type="button"></button><button class="applyBtn" disabled="disabled" type="button"></button> </div></div>'),
                                             (this.parentEl = n.parentEl && e(n.parentEl).length ? e(n.parentEl) : e(this.parentEl)),
                                             (this.container = e(n.template).appendTo(this.parentEl)),
                                             "object" == typeof n.locale &&
                                                  ("string" == typeof n.locale.direction && (this.locale.direction = n.locale.direction),
                                                  "string" == typeof n.locale.format && (this.locale.format = n.locale.format),
                                                  "string" == typeof n.locale.separator && (this.locale.separator = n.locale.separator),
                                                  "object" == typeof n.locale.daysOfWeek && (this.locale.daysOfWeek = n.locale.daysOfWeek.slice()),
                                                  "object" == typeof n.locale.monthNames && (this.locale.monthNames = n.locale.monthNames.slice()),
                                                  "number" == typeof n.locale.firstDay && (this.locale.firstDay = n.locale.firstDay),
                                                  "string" == typeof n.locale.applyLabel && (this.locale.applyLabel = n.locale.applyLabel),
                                                  "string" == typeof n.locale.cancelLabel && (this.locale.cancelLabel = n.locale.cancelLabel),
                                                  "string" == typeof n.locale.weekLabel && (this.locale.weekLabel = n.locale.weekLabel),
                                                  "string" == typeof n.locale.customRangeLabel))
                                        ) {
                                             (d = document.createElement("textarea")).innerHTML = n.locale.customRangeLabel;
                                             var o = d.value;
                                             this.locale.customRangeLabel = o;
                                        }
                                        if (
                                             (this.container.addClass(this.locale.direction),
                                             "string" == typeof n.startDate && (this.startDate = t(n.startDate, this.locale.format)),
                                             "string" == typeof n.endDate && (this.endDate = t(n.endDate, this.locale.format)),
                                             "string" == typeof n.minDate && (this.minDate = t(n.minDate, this.locale.format)),
                                             "string" == typeof n.maxDate && (this.maxDate = t(n.maxDate, this.locale.format)),
                                             "object" == typeof n.startDate && (this.startDate = t(n.startDate)),
                                             "object" == typeof n.endDate && (this.endDate = t(n.endDate)),
                                             "object" == typeof n.minDate && (this.minDate = t(n.minDate)),
                                             "object" == typeof n.maxDate && (this.maxDate = t(n.maxDate)),
                                             this.minDate && this.startDate.isBefore(this.minDate) && (this.startDate = this.minDate.clone()),
                                             this.maxDate && this.endDate.isAfter(this.maxDate) && (this.endDate = this.maxDate.clone()),
                                             "string" == typeof n.applyButtonClasses && (this.applyButtonClasses = n.applyButtonClasses),
                                             "string" == typeof n.applyClass && (this.applyButtonClasses = n.applyClass),
                                             "string" == typeof n.cancelButtonClasses && (this.cancelButtonClasses = n.cancelButtonClasses),
                                             "string" == typeof n.cancelClass && (this.cancelButtonClasses = n.cancelClass),
                                             "object" == typeof n.maxSpan && (this.maxSpan = n.maxSpan),
                                             "object" == typeof n.dateLimit && (this.maxSpan = n.dateLimit),
                                             "string" == typeof n.opens && (this.opens = n.opens),
                                             "string" == typeof n.drops && (this.drops = n.drops),
                                             "boolean" == typeof n.showWeekNumbers && (this.showWeekNumbers = n.showWeekNumbers),
                                             "boolean" == typeof n.showISOWeekNumbers && (this.showISOWeekNumbers = n.showISOWeekNumbers),
                                             "string" == typeof n.buttonClasses && (this.buttonClasses = n.buttonClasses),
                                             "object" == typeof n.buttonClasses && (this.buttonClasses = n.buttonClasses.join(" ")),
                                             "boolean" == typeof n.showDropdowns && (this.showDropdowns = n.showDropdowns),
                                             "number" == typeof n.minYear && (this.minYear = n.minYear),
                                             "number" == typeof n.maxYear && (this.maxYear = n.maxYear),
                                             "boolean" == typeof n.showCustomRangeLabel && (this.showCustomRangeLabel = n.showCustomRangeLabel),
                                             "boolean" == typeof n.singleDatePicker && ((this.singleDatePicker = n.singleDatePicker), this.singleDatePicker && (this.endDate = this.startDate.clone())),
                                             "boolean" == typeof n.timePicker && (this.timePicker = n.timePicker),
                                             "boolean" == typeof n.timePickerSeconds && (this.timePickerSeconds = n.timePickerSeconds),
                                             "number" == typeof n.timePickerIncrement && (this.timePickerIncrement = n.timePickerIncrement),
                                             "boolean" == typeof n.timePicker24Hour && (this.timePicker24Hour = n.timePicker24Hour),
                                             "boolean" == typeof n.autoApply && (this.autoApply = n.autoApply),
                                             "boolean" == typeof n.autoUpdateInput && (this.autoUpdateInput = n.autoUpdateInput),
                                             "boolean" == typeof n.linkedCalendars && (this.linkedCalendars = n.linkedCalendars),
                                             "function" == typeof n.isInvalidDate && (this.isInvalidDate = n.isInvalidDate),
                                             "function" == typeof n.isCustomDate && (this.isCustomDate = n.isCustomDate),
                                             "boolean" == typeof n.alwaysShowCalendars && (this.alwaysShowCalendars = n.alwaysShowCalendars),
                                             0 != this.locale.firstDay)
                                        )
                                             for (var a = this.locale.firstDay; a > 0; ) this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()), a--;
                                        var s, l, c;
                                        if (void 0 === n.startDate && void 0 === n.endDate && e(this.element).is(":text")) {
                                             var u = e(this.element).val(),
                                                  h = u.split(this.locale.separator);
                                             (s = l = null),
                                                  2 == h.length
                                                       ? ((s = t(h[0], this.locale.format)), (l = t(h[1], this.locale.format)))
                                                       : this.singleDatePicker && "" !== u && ((s = t(u, this.locale.format)), (l = t(u, this.locale.format))),
                                                  null !== s && null !== l && (this.setStartDate(s), this.setEndDate(l));
                                        }
                                        if ("object" == typeof n.ranges) {
                                             for (c in n.ranges) {
                                                  (s = "string" == typeof n.ranges[c][0] ? t(n.ranges[c][0], this.locale.format) : t(n.ranges[c][0])),
                                                       (l = "string" == typeof n.ranges[c][1] ? t(n.ranges[c][1], this.locale.format) : t(n.ranges[c][1])),
                                                       this.minDate && s.isBefore(this.minDate) && (s = this.minDate.clone());
                                                  var d,
                                                       p = this.maxDate;
                                                  if (
                                                       (this.maxSpan && p && s.clone().add(this.maxSpan).isAfter(p) && (p = s.clone().add(this.maxSpan)),
                                                       p && l.isAfter(p) && (l = p.clone()),
                                                       !((this.minDate && l.isBefore(this.minDate, this.timepicker ? "minute" : "day")) || (p && s.isAfter(p, this.timepicker ? "minute" : "day"))))
                                                  )
                                                       ((d = document.createElement("textarea")).innerHTML = c), (o = d.value), (this.ranges[o] = [s, l]);
                                             }
                                             var f = "<ul>";
                                             for (c in this.ranges) f += '<li data-range-key="' + c + '">' + c + "</li>";
                                             this.showCustomRangeLabel && (f += '<li data-range-key="' + this.locale.customRangeLabel + '">' + this.locale.customRangeLabel + "</li>"),
                                                  (f += "</ul>"),
                                                  this.container.find(".ranges").prepend(f);
                                        }
                                        "function" == typeof r && (this.callback = r),
                                             this.timePicker || ((this.startDate = this.startDate.startOf("day")), (this.endDate = this.endDate.endOf("day")), this.container.find(".calendar-time").hide()),
                                             this.timePicker && this.autoApply && (this.autoApply = !1),
                                             this.autoApply && this.container.addClass("auto-apply"),
                                             "object" == typeof n.ranges && this.container.addClass("show-ranges"),
                                             this.singleDatePicker &&
                                                  (this.container.addClass("single"),
                                                  this.container.find(".drp-calendar.left").addClass("single"),
                                                  this.container.find(".drp-calendar.left").show(),
                                                  this.container.find(".drp-calendar.right").hide(),
                                                  !this.timePicker && this.autoApply && this.container.addClass("auto-apply")),
                                             ((void 0 === n.ranges && !this.singleDatePicker) || this.alwaysShowCalendars) && this.container.addClass("show-calendar"),
                                             this.container.addClass("opens" + this.opens),
                                             this.container.find(".applyBtn, .cancelBtn").addClass(this.buttonClasses),
                                             this.applyButtonClasses.length && this.container.find(".applyBtn").addClass(this.applyButtonClasses),
                                             this.cancelButtonClasses.length && this.container.find(".cancelBtn").addClass(this.cancelButtonClasses),
                                             this.container.find(".applyBtn").html(this.locale.applyLabel),
                                             this.container.find(".cancelBtn").html(this.locale.cancelLabel),
                                             this.container
                                                  .find(".drp-calendar")
                                                  .on("click.daterangepicker", ".prev", e.proxy(this.clickPrev, this))
                                                  .on("click.daterangepicker", ".next", e.proxy(this.clickNext, this))
                                                  .on("mousedown.daterangepicker", "td.available", e.proxy(this.clickDate, this))
                                                  .on("mouseenter.daterangepicker", "td.available", e.proxy(this.hoverDate, this))
                                                  .on("change.daterangepicker", "select.yearselect", e.proxy(this.monthOrYearChanged, this))
                                                  .on("change.daterangepicker", "select.monthselect", e.proxy(this.monthOrYearChanged, this))
                                                  .on("change.daterangepicker", "select.hourselect,select.minuteselect,select.secondselect,select.ampmselect", e.proxy(this.timeChanged, this)),
                                             this.container.find(".ranges").on("click.daterangepicker", "li", e.proxy(this.clickRange, this)),
                                             this.container
                                                  .find(".drp-buttons")
                                                  .on("click.daterangepicker", "button.applyBtn", e.proxy(this.clickApply, this))
                                                  .on("click.daterangepicker", "button.cancelBtn", e.proxy(this.clickCancel, this)),
                                             this.element.is("input") || this.element.is("button")
                                                  ? this.element.on({
                                                         "click.daterangepicker": e.proxy(this.show, this),
                                                         "focus.daterangepicker": e.proxy(this.show, this),
                                                         "keyup.daterangepicker": e.proxy(this.elementChanged, this),
                                                         "keydown.daterangepicker": e.proxy(this.keydown, this),
                                                    })
                                                  : (this.element.on("click.daterangepicker", e.proxy(this.toggle, this)), this.element.on("keydown.daterangepicker", e.proxy(this.toggle, this))),
                                             this.updateElement();
                                   };
                                   return (
                                        (i.prototype = {
                                             constructor: i,
                                             setStartDate: function (e) {
                                                  "string" == typeof e && (this.startDate = t(e, this.locale.format)),
                                                       "object" == typeof e && (this.startDate = t(e)),
                                                       this.timePicker || (this.startDate = this.startDate.startOf("day")),
                                                       this.timePicker && this.timePickerIncrement && this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement),
                                                       this.minDate &&
                                                            this.startDate.isBefore(this.minDate) &&
                                                            ((this.startDate = this.minDate.clone()),
                                                            this.timePicker && this.timePickerIncrement && this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement)),
                                                       this.maxDate &&
                                                            this.startDate.isAfter(this.maxDate) &&
                                                            ((this.startDate = this.maxDate.clone()),
                                                            this.timePicker && this.timePickerIncrement && this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement)),
                                                       this.isShowing || this.updateElement(),
                                                       this.updateMonthsInView();
                                             },
                                             setEndDate: function (e) {
                                                  "string" == typeof e && (this.endDate = t(e, this.locale.format)),
                                                       "object" == typeof e && (this.endDate = t(e)),
                                                       this.timePicker || (this.endDate = this.endDate.endOf("day")),
                                                       this.timePicker && this.timePickerIncrement && this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement),
                                                       this.endDate.isBefore(this.startDate) && (this.endDate = this.startDate.clone()),
                                                       this.maxDate && this.endDate.isAfter(this.maxDate) && (this.endDate = this.maxDate.clone()),
                                                       this.maxSpan && this.startDate.clone().add(this.maxSpan).isBefore(this.endDate) && (this.endDate = this.startDate.clone().add(this.maxSpan)),
                                                       (this.previousRightTime = this.endDate.clone()),
                                                       this.container.find(".drp-selected").html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)),
                                                       this.isShowing || this.updateElement(),
                                                       this.updateMonthsInView();
                                             },
                                             isInvalidDate: function () {
                                                  return !1;
                                             },
                                             isCustomDate: function () {
                                                  return !1;
                                             },
                                             updateView: function () {
                                                  this.timePicker &&
                                                       (this.renderTimePicker("left"),
                                                       this.renderTimePicker("right"),
                                                       this.endDate
                                                            ? this.container.find(".right .calendar-time select").prop("disabled", !1).removeClass("disabled")
                                                            : this.container.find(".right .calendar-time select").prop("disabled", !0).addClass("disabled")),
                                                       this.endDate && this.container.find(".drp-selected").html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)),
                                                       this.updateMonthsInView(),
                                                       this.updateCalendars(),
                                                       this.updateFormInputs();
                                             },
                                             updateMonthsInView: function () {
                                                  if (this.endDate) {
                                                       if (
                                                            !this.singleDatePicker &&
                                                            this.leftCalendar.month &&
                                                            this.rightCalendar.month &&
                                                            (this.startDate.format("YYYY-MM") == this.leftCalendar.month.format("YYYY-MM") || this.startDate.format("YYYY-MM") == this.rightCalendar.month.format("YYYY-MM")) &&
                                                            (this.endDate.format("YYYY-MM") == this.leftCalendar.month.format("YYYY-MM") || this.endDate.format("YYYY-MM") == this.rightCalendar.month.format("YYYY-MM"))
                                                       )
                                                            return;
                                                       (this.leftCalendar.month = this.startDate.clone().date(2)),
                                                            this.linkedCalendars || (this.endDate.month() == this.startDate.month() && this.endDate.year() == this.startDate.year())
                                                                 ? (this.rightCalendar.month = this.startDate.clone().date(2).add(1, "month"))
                                                                 : (this.rightCalendar.month = this.endDate.clone().date(2));
                                                  } else
                                                       this.leftCalendar.month.format("YYYY-MM") != this.startDate.format("YYYY-MM") &&
                                                            this.rightCalendar.month.format("YYYY-MM") != this.startDate.format("YYYY-MM") &&
                                                            ((this.leftCalendar.month = this.startDate.clone().date(2)), (this.rightCalendar.month = this.startDate.clone().date(2).add(1, "month")));
                                                  this.maxDate &&
                                                       this.linkedCalendars &&
                                                       !this.singleDatePicker &&
                                                       this.rightCalendar.month > this.maxDate &&
                                                       ((this.rightCalendar.month = this.maxDate.clone().date(2)), (this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, "month")));
                                             },
                                             updateCalendars: function () {
                                                  var t, e, i, n;
                                                  this.timePicker &&
                                                       (this.endDate
                                                            ? ((t = parseInt(this.container.find(".left .hourselect").val(), 10)),
                                                              (e = parseInt(this.container.find(".left .minuteselect").val(), 10)),
                                                              isNaN(e) && (e = parseInt(this.container.find(".left .minuteselect option:last").val(), 10)),
                                                              (i = this.timePickerSeconds ? parseInt(this.container.find(".left .secondselect").val(), 10) : 0),
                                                              this.timePicker24Hour || ("PM" === (n = this.container.find(".left .ampmselect").val()) && t < 12 && (t += 12), "AM" === n && 12 === t && (t = 0)))
                                                            : ((t = parseInt(this.container.find(".right .hourselect").val(), 10)),
                                                              (e = parseInt(this.container.find(".right .minuteselect").val(), 10)),
                                                              isNaN(e) && (e = parseInt(this.container.find(".right .minuteselect option:last").val(), 10)),
                                                              (i = this.timePickerSeconds ? parseInt(this.container.find(".right .secondselect").val(), 10) : 0),
                                                              this.timePicker24Hour || ("PM" === (n = this.container.find(".right .ampmselect").val()) && t < 12 && (t += 12), "AM" === n && 12 === t && (t = 0))),
                                                       this.leftCalendar.month.hour(t).minute(e).second(i),
                                                       this.rightCalendar.month.hour(t).minute(e).second(i));
                                                  this.renderCalendar("left"), this.renderCalendar("right"), this.container.find(".ranges li").removeClass("active"), null != this.endDate && this.calculateChosenLabel();
                                             },
                                             renderCalendar: function (i) {
                                                  var n,
                                                       r = (n = "left" == i ? this.leftCalendar : this.rightCalendar).month.month(),
                                                       o = n.month.year(),
                                                       a = n.month.hour(),
                                                       s = n.month.minute(),
                                                       l = n.month.second(),
                                                       c = t([o, r]).daysInMonth(),
                                                       u = t([o, r, 1]),
                                                       h = t([o, r, c]),
                                                       d = t(u).subtract(1, "month").month(),
                                                       p = t(u).subtract(1, "month").year(),
                                                       f = t([p, d]).daysInMonth(),
                                                       m = u.day();
                                                  ((n = []).firstDay = u), (n.lastDay = h);
                                                  for (var g = 0; g < 6; g++) n[g] = [];
                                                  var v = f - m + this.locale.firstDay + 1;
                                                  v > f && (v -= 7), m == this.locale.firstDay && (v = f - 6);
                                                  for (var y = t([p, d, v, 12, s, l]), b = ((g = 0), 0), _ = 0; g < 42; g++, b++, y = t(y).add(24, "hour"))
                                                       g > 0 && b % 7 == 0 && ((b = 0), _++),
                                                            (n[_][b] = y.clone().hour(a).minute(s).second(l)),
                                                            y.hour(12),
                                                            this.minDate && n[_][b].format("YYYY-MM-DD") == this.minDate.format("YYYY-MM-DD") && n[_][b].isBefore(this.minDate) && "left" == i && (n[_][b] = this.minDate.clone()),
                                                            this.maxDate && n[_][b].format("YYYY-MM-DD") == this.maxDate.format("YYYY-MM-DD") && n[_][b].isAfter(this.maxDate) && "right" == i && (n[_][b] = this.maxDate.clone());
                                                  "left" == i ? (this.leftCalendar.calendar = n) : (this.rightCalendar.calendar = n);
                                                  var x = "left" == i ? this.minDate : this.startDate,
                                                       w = this.maxDate,
                                                       k = ("left" == i ? this.startDate : this.endDate, this.locale.direction, '<table class="table-condensed">');
                                                  (k += "<thead>"),
                                                       (k += "<tr>"),
                                                       (this.showWeekNumbers || this.showISOWeekNumbers) && (k += "<th></th>"),
                                                       (x && !x.isBefore(n.firstDay)) || (this.linkedCalendars && "left" != i) ? (k += "<th></th>") : (k += '<th class="prev available"><span></span></th>');
                                                  var S = this.locale.monthNames[n[1][1].month()] + n[1][1].format(" YYYY");
                                                  if (this.showDropdowns) {
                                                       for (
                                                            var M = n[1][1].month(),
                                                                 T = n[1][1].year(),
                                                                 C = (w && w.year()) || this.maxYear,
                                                                 D = (x && x.year()) || this.minYear,
                                                                 L = T == D,
                                                                 E = T == C,
                                                                 A = '<select class="monthselect">',
                                                                 P = 0;
                                                            P < 12;
                                                            P++
                                                       )
                                                            (!L || (x && P >= x.month())) && (!E || (w && P <= w.month()))
                                                                 ? (A += "<option value='" + P + "'" + (P === M ? " selected='selected'" : "") + ">" + this.locale.monthNames[P] + "</option>")
                                                                 : (A += "<option value='" + P + "'" + (P === M ? " selected='selected'" : "") + " disabled='disabled'>" + this.locale.monthNames[P] + "</option>");
                                                       A += "</select>";
                                                       for (var I = '<select class="yearselect">', O = D; O <= C; O++) I += '<option value="' + O + '"' + (O === T ? ' selected="selected"' : "") + ">" + O + "</option>";
                                                       S = A + (I += "</select>");
                                                  }
                                                  if (
                                                       ((k += '<th colspan="5" class="month">' + S + "</th>"),
                                                       (w && !w.isAfter(n.lastDay)) || (this.linkedCalendars && "right" != i && !this.singleDatePicker) ? (k += "<th></th>") : (k += '<th class="next available"><span></span></th>'),
                                                       (k += "</tr>"),
                                                       (k += "<tr>"),
                                                       (this.showWeekNumbers || this.showISOWeekNumbers) && (k += '<th class="week">' + this.locale.weekLabel + "</th>"),
                                                       e.each(this.locale.daysOfWeek, function (t, e) {
                                                            k += "<th>" + e + "</th>";
                                                       }),
                                                       (k += "</tr>"),
                                                       (k += "</thead>"),
                                                       (k += "<tbody>"),
                                                       null == this.endDate && this.maxSpan)
                                                  ) {
                                                       var Y = this.startDate.clone().add(this.maxSpan).endOf("day");
                                                       (w && !Y.isBefore(w)) || (w = Y);
                                                  }
                                                  for (_ = 0; _ < 6; _++) {
                                                       for (
                                                            k += "<tr>",
                                                                 this.showWeekNumbers ? (k += '<td class="week">' + n[_][0].week() + "</td>") : this.showISOWeekNumbers && (k += '<td class="week">' + n[_][0].isoWeek() + "</td>"),
                                                                 b = 0;
                                                            b < 7;
                                                            b++
                                                       ) {
                                                            var z = [];
                                                            n[_][b].isSame(new Date(), "day") && z.push("today"),
                                                                 n[_][b].isoWeekday() > 5 && z.push("weekend"),
                                                                 n[_][b].month() != n[1][1].month() && z.push("off", "ends"),
                                                                 this.minDate && n[_][b].isBefore(this.minDate, "day") && z.push("off", "disabled"),
                                                                 w && n[_][b].isAfter(w, "day") && z.push("off", "disabled"),
                                                                 this.isInvalidDate(n[_][b]) && z.push("off", "disabled"),
                                                                 n[_][b].format("YYYY-MM-DD") == this.startDate.format("YYYY-MM-DD") && z.push("active", "start-date"),
                                                                 null != this.endDate && n[_][b].format("YYYY-MM-DD") == this.endDate.format("YYYY-MM-DD") && z.push("active", "end-date"),
                                                                 null != this.endDate && n[_][b] > this.startDate && n[_][b] < this.endDate && z.push("in-range");
                                                            var R = this.isCustomDate(n[_][b]);
                                                            !1 !== R && ("string" == typeof R ? z.push(R) : Array.prototype.push.apply(z, R));
                                                            var F = "",
                                                                 H = !1;
                                                            for (g = 0; g < z.length; g++) (F += z[g] + " "), "disabled" == z[g] && (H = !0);
                                                            H || (F += "available"), (k += '<td class="' + F.replace(/^\s+|\s+$/g, "") + '" data-title="r' + _ + "c" + b + '">' + n[_][b].date() + "</td>");
                                                       }
                                                       k += "</tr>";
                                                  }
                                                  (k += "</tbody>"), (k += "</table>"), this.container.find(".drp-calendar." + i + " .calendar-table").html(k);
                                             },
                                             renderTimePicker: function (t) {
                                                  if ("right" != t || this.endDate) {
                                                       var e,
                                                            i,
                                                            n,
                                                            r = this.maxDate;
                                                       if ((!this.maxSpan || (this.maxDate && !this.startDate.clone().add(this.maxSpan).isBefore(this.maxDate)) || (r = this.startDate.clone().add(this.maxSpan)), "left" == t))
                                                            (i = this.startDate.clone()), (n = this.minDate);
                                                       else if ("right" == t) {
                                                            (i = this.endDate.clone()), (n = this.startDate);
                                                            var o = this.container.find(".drp-calendar.right .calendar-time");
                                                            if (
                                                                 "" != o.html() &&
                                                                 (i.hour(isNaN(i.hour()) ? o.find(".hourselect option:selected").val() : i.hour()),
                                                                 i.minute(isNaN(i.minute()) ? o.find(".minuteselect option:selected").val() : i.minute()),
                                                                 i.second(isNaN(i.second()) ? o.find(".secondselect option:selected").val() : i.second()),
                                                                 !this.timePicker24Hour)
                                                            ) {
                                                                 var a = o.find(".ampmselect option:selected").val();
                                                                 "PM" === a && i.hour() < 12 && i.hour(i.hour() + 12), "AM" === a && 12 === i.hour() && i.hour(0);
                                                            }
                                                            i.isBefore(this.startDate) && (i = this.startDate.clone()), r && i.isAfter(r) && (i = r.clone());
                                                       }
                                                       e = '<select class="hourselect">';
                                                       for (var s = this.timePicker24Hour ? 0 : 1, l = this.timePicker24Hour ? 23 : 12, c = s; c <= l; c++) {
                                                            var u = c;
                                                            this.timePicker24Hour || (u = i.hour() >= 12 ? (12 == c ? 12 : c + 12) : 12 == c ? 0 : c);
                                                            var h = i.clone().hour(u),
                                                                 d = !1;
                                                            n && h.minute(59).isBefore(n) && (d = !0),
                                                                 r && h.minute(0).isAfter(r) && (d = !0),
                                                                 u != i.hour() || d
                                                                      ? (e += d ? '<option value="' + c + '" disabled="disabled" class="disabled">' + c + "</option>" : '<option value="' + c + '">' + c + "</option>")
                                                                      : (e += '<option value="' + c + '" selected="selected">' + c + "</option>");
                                                       }
                                                       for (e += "</select> ", e += ': <select class="minuteselect">', c = 0; c < 60; c += this.timePickerIncrement) {
                                                            var p = c < 10 ? "0" + c : c;
                                                            (h = i.clone().minute(c)),
                                                                 (d = !1),
                                                                 n && h.second(59).isBefore(n) && (d = !0),
                                                                 r && h.second(0).isAfter(r) && (d = !0),
                                                                 i.minute() != c || d
                                                                      ? (e += d ? '<option value="' + c + '" disabled="disabled" class="disabled">' + p + "</option>" : '<option value="' + c + '">' + p + "</option>")
                                                                      : (e += '<option value="' + c + '" selected="selected">' + p + "</option>");
                                                       }
                                                       if (((e += "</select> "), this.timePickerSeconds)) {
                                                            for (e += ': <select class="secondselect">', c = 0; c < 60; c++)
                                                                 (p = c < 10 ? "0" + c : c),
                                                                      (h = i.clone().second(c)),
                                                                      (d = !1),
                                                                      n && h.isBefore(n) && (d = !0),
                                                                      r && h.isAfter(r) && (d = !0),
                                                                      i.second() != c || d
                                                                           ? (e += d ? '<option value="' + c + '" disabled="disabled" class="disabled">' + p + "</option>" : '<option value="' + c + '">' + p + "</option>")
                                                                           : (e += '<option value="' + c + '" selected="selected">' + p + "</option>");
                                                            e += "</select> ";
                                                       }
                                                       if (!this.timePicker24Hour) {
                                                            e += '<select class="ampmselect">';
                                                            var f = "",
                                                                 m = "";
                                                            n && i.clone().hour(12).minute(0).second(0).isBefore(n) && (f = ' disabled="disabled" class="disabled"'),
                                                                 r && i.clone().hour(0).minute(0).second(0).isAfter(r) && (m = ' disabled="disabled" class="disabled"'),
                                                                 i.hour() >= 12
                                                                      ? (e += '<option value="AM"' + f + '>AM</option><option value="PM" selected="selected"' + m + ">PM</option>")
                                                                      : (e += '<option value="AM" selected="selected"' + f + '>AM</option><option value="PM"' + m + ">PM</option>"),
                                                                 (e += "</select>");
                                                       }
                                                       this.container.find(".drp-calendar." + t + " .calendar-time").html(e);
                                                  }
                                             },
                                             updateFormInputs: function () {
                                                  this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))
                                                       ? this.container.find("button.applyBtn").prop("disabled", !1)
                                                       : this.container.find("button.applyBtn").prop("disabled", !0);
                                             },
                                             move: function () {
                                                  var t,
                                                       i = { top: 0, left: 0 },
                                                       n = this.drops,
                                                       r = e(window).width();
                                                  switch (
                                                       (this.parentEl.is("body") ||
                                                            ((i = { top: this.parentEl.offset().top - this.parentEl.scrollTop(), left: this.parentEl.offset().left - this.parentEl.scrollLeft() }),
                                                            (r = this.parentEl[0].clientWidth + this.parentEl.offset().left)),
                                                       n)
                                                  ) {
                                                       case "auto":
                                                            (t = this.element.offset().top + this.element.outerHeight() - i.top) + this.container.outerHeight() >= this.parentEl[0].scrollHeight &&
                                                                 ((t = this.element.offset().top - this.container.outerHeight() - i.top), (n = "up"));
                                                            break;
                                                       case "up":
                                                            t = this.element.offset().top - this.container.outerHeight() - i.top;
                                                            break;
                                                       default:
                                                            t = this.element.offset().top + this.element.outerHeight() - i.top;
                                                  }
                                                  this.container.css({ top: 0, left: 0, right: "auto" });
                                                  var o = this.container.outerWidth();
                                                  if ((this.container.toggleClass("drop-up", "up" == n), "left" == this.opens)) {
                                                       var a = r - this.element.offset().left - this.element.outerWidth();
                                                       o + a > e(window).width() ? this.container.css({ top: t, right: "auto", left: 9 }) : this.container.css({ top: t, right: a, left: "auto" });
                                                  } else if ("center" == this.opens)
                                                       (s = this.element.offset().left - i.left + this.element.outerWidth() / 2 - o / 2) < 0
                                                            ? this.container.css({ top: t, right: "auto", left: 9 })
                                                            : s + o > e(window).width()
                                                            ? this.container.css({ top: t, left: "auto", right: 0 })
                                                            : this.container.css({ top: t, left: s, right: "auto" });
                                                  else {
                                                       var s;
                                                       (s = this.element.offset().left - i.left) + o > e(window).width() ? this.container.css({ top: t, left: "auto", right: 0 }) : this.container.css({ top: t, left: s, right: "auto" });
                                                  }
                                             },
                                             show: function (t) {
                                                  this.isShowing ||
                                                       ((this._outsideClickProxy = e.proxy(function (t) {
                                                            this.outsideClick(t);
                                                       }, this)),
                                                       e(document)
                                                            .on("mousedown.daterangepicker", this._outsideClickProxy)
                                                            .on("touchend.daterangepicker", this._outsideClickProxy)
                                                            .on("click.daterangepicker", "[data-toggle=dropdown]", this._outsideClickProxy)
                                                            .on("focusin.daterangepicker", this._outsideClickProxy),
                                                       e(window).on(
                                                            "resize.daterangepicker",
                                                            e.proxy(function (t) {
                                                                 this.move(t);
                                                            }, this)
                                                       ),
                                                       (this.oldStartDate = this.startDate.clone()),
                                                       (this.oldEndDate = this.endDate.clone()),
                                                       (this.previousRightTime = this.endDate.clone()),
                                                       this.updateView(),
                                                       this.container.show(),
                                                       this.move(),
                                                       this.element.trigger("show.daterangepicker", this),
                                                       (this.isShowing = !0));
                                             },
                                             hide: function (t) {
                                                  this.isShowing &&
                                                       (this.endDate || ((this.startDate = this.oldStartDate.clone()), (this.endDate = this.oldEndDate.clone())),
                                                       (this.startDate.isSame(this.oldStartDate) && this.endDate.isSame(this.oldEndDate)) || this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel),
                                                       this.updateElement(),
                                                       e(document).off(".daterangepicker"),
                                                       e(window).off(".daterangepicker"),
                                                       this.container.hide(),
                                                       this.element.trigger("hide.daterangepicker", this),
                                                       (this.isShowing = !1));
                                             },
                                             toggle: function (t) {
                                                  this.isShowing ? this.hide() : this.show();
                                             },
                                             outsideClick: function (t) {
                                                  var i = e(t.target);
                                                  "focusin" == t.type ||
                                                       i.closest(this.element).length ||
                                                       i.closest(this.container).length ||
                                                       i.closest(".calendar-table").length ||
                                                       (this.hide(), this.element.trigger("outsideClick.daterangepicker", this));
                                             },
                                             showCalendars: function () {
                                                  this.container.addClass("show-calendar"), this.move(), this.element.trigger("showCalendar.daterangepicker", this);
                                             },
                                             hideCalendars: function () {
                                                  this.container.removeClass("show-calendar"), this.element.trigger("hideCalendar.daterangepicker", this);
                                             },
                                             clickRange: function (t) {
                                                  var e = t.target.getAttribute("data-range-key");
                                                  if (((this.chosenLabel = e), e == this.locale.customRangeLabel)) this.showCalendars();
                                                  else {
                                                       var i = this.ranges[e];
                                                       (this.startDate = i[0]),
                                                            (this.endDate = i[1]),
                                                            this.timePicker || (this.startDate.startOf("day"), this.endDate.endOf("day")),
                                                            this.alwaysShowCalendars || this.hideCalendars(),
                                                            this.clickApply();
                                                  }
                                             },
                                             clickPrev: function (t) {
                                                  e(t.target).parents(".drp-calendar").hasClass("left")
                                                       ? (this.leftCalendar.month.subtract(1, "month"), this.linkedCalendars && this.rightCalendar.month.subtract(1, "month"))
                                                       : this.rightCalendar.month.subtract(1, "month"),
                                                       this.updateCalendars();
                                             },
                                             clickNext: function (t) {
                                                  e(t.target).parents(".drp-calendar").hasClass("left")
                                                       ? this.leftCalendar.month.add(1, "month")
                                                       : (this.rightCalendar.month.add(1, "month"), this.linkedCalendars && this.leftCalendar.month.add(1, "month")),
                                                       this.updateCalendars();
                                             },
                                             hoverDate: function (t) {
                                                  if (e(t.target).hasClass("available")) {
                                                       var i = e(t.target).attr("data-title"),
                                                            n = i.substr(1, 1),
                                                            r = i.substr(3, 1),
                                                            o = e(t.target).parents(".drp-calendar").hasClass("left") ? this.leftCalendar.calendar[n][r] : this.rightCalendar.calendar[n][r],
                                                            a = this.leftCalendar,
                                                            s = this.rightCalendar,
                                                            l = this.startDate;
                                                       this.endDate ||
                                                            this.container.find(".drp-calendar tbody td").each(function (t, i) {
                                                                 if (!e(i).hasClass("week")) {
                                                                      var n = e(i).attr("data-title"),
                                                                           r = n.substr(1, 1),
                                                                           c = n.substr(3, 1),
                                                                           u = e(i).parents(".drp-calendar").hasClass("left") ? a.calendar[r][c] : s.calendar[r][c];
                                                                      (u.isAfter(l) && u.isBefore(o)) || u.isSame(o, "day") ? e(i).addClass("in-range") : e(i).removeClass("in-range");
                                                                 }
                                                            });
                                                  }
                                             },
                                             clickDate: function (t) {
                                                  if (e(t.target).hasClass("available")) {
                                                       var i = e(t.target).attr("data-title"),
                                                            n = i.substr(1, 1),
                                                            r = i.substr(3, 1),
                                                            o = e(t.target).parents(".drp-calendar").hasClass("left") ? this.leftCalendar.calendar[n][r] : this.rightCalendar.calendar[n][r];
                                                       if (this.endDate || o.isBefore(this.startDate, "day")) {
                                                            if (this.timePicker) {
                                                                 var a = parseInt(this.container.find(".left .hourselect").val(), 10);
                                                                 this.timePicker24Hour || ("PM" === (c = this.container.find(".left .ampmselect").val()) && a < 12 && (a += 12), "AM" === c && 12 === a && (a = 0));
                                                                 var s = parseInt(this.container.find(".left .minuteselect").val(), 10);
                                                                 isNaN(s) && (s = parseInt(this.container.find(".left .minuteselect option:last").val(), 10));
                                                                 var l = this.timePickerSeconds ? parseInt(this.container.find(".left .secondselect").val(), 10) : 0;
                                                                 o = o.clone().hour(a).minute(s).second(l);
                                                            }
                                                            (this.endDate = null), this.setStartDate(o.clone());
                                                       } else if (!this.endDate && o.isBefore(this.startDate)) this.setEndDate(this.startDate.clone());
                                                       else {
                                                            var c;
                                                            if (this.timePicker)
                                                                 (a = parseInt(this.container.find(".right .hourselect").val(), 10)),
                                                                      this.timePicker24Hour || ("PM" === (c = this.container.find(".right .ampmselect").val()) && a < 12 && (a += 12), "AM" === c && 12 === a && (a = 0)),
                                                                      (s = parseInt(this.container.find(".right .minuteselect").val(), 10)),
                                                                      isNaN(s) && (s = parseInt(this.container.find(".right .minuteselect option:last").val(), 10)),
                                                                      (l = this.timePickerSeconds ? parseInt(this.container.find(".right .secondselect").val(), 10) : 0),
                                                                      (o = o.clone().hour(a).minute(s).second(l));
                                                            this.setEndDate(o.clone()), this.autoApply && (this.calculateChosenLabel(), this.clickApply());
                                                       }
                                                       this.singleDatePicker && (this.setEndDate(this.startDate), !this.timePicker && this.autoApply && this.clickApply()), this.updateView(), t.stopPropagation();
                                                  }
                                             },
                                             calculateChosenLabel: function () {
                                                  var t = !0,
                                                       e = 0;
                                                  for (var i in this.ranges) {
                                                       if (this.timePicker) {
                                                            var n = this.timePickerSeconds ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD HH:mm";
                                                            if (this.startDate.format(n) == this.ranges[i][0].format(n) && this.endDate.format(n) == this.ranges[i][1].format(n)) {
                                                                 (t = !1),
                                                                      (this.chosenLabel = this.container
                                                                           .find(".ranges li:eq(" + e + ")")
                                                                           .addClass("active")
                                                                           .attr("data-range-key"));
                                                                 break;
                                                            }
                                                       } else if (this.startDate.format("YYYY-MM-DD") == this.ranges[i][0].format("YYYY-MM-DD") && this.endDate.format("YYYY-MM-DD") == this.ranges[i][1].format("YYYY-MM-DD")) {
                                                            (t = !1),
                                                                 (this.chosenLabel = this.container
                                                                      .find(".ranges li:eq(" + e + ")")
                                                                      .addClass("active")
                                                                      .attr("data-range-key"));
                                                            break;
                                                       }
                                                       e++;
                                                  }
                                                  t && (this.showCustomRangeLabel ? (this.chosenLabel = this.container.find(".ranges li:last").addClass("active").attr("data-range-key")) : (this.chosenLabel = null), this.showCalendars());
                                             },
                                             clickApply: function (t) {
                                                  this.hide(), this.element.trigger("apply.daterangepicker", this);
                                             },
                                             clickCancel: function (t) {
                                                  (this.startDate = this.oldStartDate), (this.endDate = this.oldEndDate), this.hide(), this.element.trigger("cancel.daterangepicker", this);
                                             },
                                             monthOrYearChanged: function (t) {
                                                  var i = e(t.target).closest(".drp-calendar").hasClass("left"),
                                                       n = i ? "left" : "right",
                                                       r = this.container.find(".drp-calendar." + n),
                                                       o = parseInt(r.find(".monthselect").val(), 10),
                                                       a = r.find(".yearselect").val();
                                                  i || ((a < this.startDate.year() || (a == this.startDate.year() && o < this.startDate.month())) && ((o = this.startDate.month()), (a = this.startDate.year()))),
                                                       this.minDate && (a < this.minDate.year() || (a == this.minDate.year() && o < this.minDate.month())) && ((o = this.minDate.month()), (a = this.minDate.year())),
                                                       this.maxDate && (a > this.maxDate.year() || (a == this.maxDate.year() && o > this.maxDate.month())) && ((o = this.maxDate.month()), (a = this.maxDate.year())),
                                                       i
                                                            ? (this.leftCalendar.month.month(o).year(a), this.linkedCalendars && (this.rightCalendar.month = this.leftCalendar.month.clone().add(1, "month")))
                                                            : (this.rightCalendar.month.month(o).year(a), this.linkedCalendars && (this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, "month"))),
                                                       this.updateCalendars();
                                             },
                                             timeChanged: function (t) {
                                                  var i = e(t.target).closest(".drp-calendar"),
                                                       n = i.hasClass("left"),
                                                       r = parseInt(i.find(".hourselect").val(), 10),
                                                       o = parseInt(i.find(".minuteselect").val(), 10);
                                                  isNaN(o) && (o = parseInt(i.find(".minuteselect option:last").val(), 10));
                                                  var a = this.timePickerSeconds ? parseInt(i.find(".secondselect").val(), 10) : 0;
                                                  if (!this.timePicker24Hour) {
                                                       var s = i.find(".ampmselect").val();
                                                       "PM" === s && r < 12 && (r += 12), "AM" === s && 12 === r && (r = 0);
                                                  }
                                                  if (n) {
                                                       var l = this.startDate.clone();
                                                       l.hour(r),
                                                            l.minute(o),
                                                            l.second(a),
                                                            this.setStartDate(l),
                                                            this.singleDatePicker
                                                                 ? (this.endDate = this.startDate.clone())
                                                                 : this.endDate && this.endDate.format("YYYY-MM-DD") == l.format("YYYY-MM-DD") && this.endDate.isBefore(l) && this.setEndDate(l.clone());
                                                  } else if (this.endDate) {
                                                       var c = this.endDate.clone();
                                                       c.hour(r), c.minute(o), c.second(a), this.setEndDate(c);
                                                  }
                                                  this.updateCalendars(), this.updateFormInputs(), this.renderTimePicker("left"), this.renderTimePicker("right");
                                             },
                                             elementChanged: function () {
                                                  if (this.element.is("input") && this.element.val().length) {
                                                       var e = this.element.val().split(this.locale.separator),
                                                            i = null,
                                                            n = null;
                                                       2 === e.length && ((i = t(e[0], this.locale.format)), (n = t(e[1], this.locale.format))),
                                                            (this.singleDatePicker || null === i || null === n) && (n = i = t(this.element.val(), this.locale.format)),
                                                            i.isValid() && n.isValid() && (this.setStartDate(i), this.setEndDate(n), this.updateView());
                                                  }
                                             },
                                             keydown: function (t) {
                                                  (9 !== t.keyCode && 13 !== t.keyCode) || this.hide(), 27 === t.keyCode && (t.preventDefault(), t.stopPropagation(), this.hide());
                                             },
                                             updateElement: function () {
                                                  if (this.element.is("input") && this.autoUpdateInput) {
                                                       var t = this.startDate.format(this.locale.format);
                                                       this.singleDatePicker || (t += this.locale.separator + this.endDate.format(this.locale.format)), t !== this.element.val() && this.element.val(t).trigger("change");
                                                  }
                                             },
                                             remove: function () {
                                                  this.container.remove(), this.element.off(".daterangepicker"), this.element.removeData();
                                             },
                                        }),
                                        (e.fn.daterangepicker = function (t, n) {
                                             var r = e.extend(!0, {}, e.fn.daterangepicker.defaultOptions, t);
                                             return (
                                                  this.each(function () {
                                                       var t = e(this);
                                                       t.data("daterangepicker") && t.data("daterangepicker").remove(), t.data("daterangepicker", new i(t, r, n));
                                                  }),
                                                  this
                                             );
                                        }),
                                        i
                                   );
                              })(t, e)
                         );
                    }.apply(e, n)) || (t.exports = r);
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(196);
                    t(document).ready(function () {
                         t(".input-mask-trigger").inputmask();
                    });
               }.call(this, i(1));
     },
     function (module, exports, __webpack_require__) {
          (function (jQuery) {
               /*!
                * jquery.inputmask.bundle.js
                * https://github.com/RobinHerbots/Inputmask
                * Copyright (c) 2010 - 2019 Robin Herbots
                * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
                * Version: 4.0.9
                */ !(function (t) {
                    var e = {};
                    function i(n) {
                         if (e[n]) return e[n].exports;
                         var r = (e[n] = { i: n, l: !1, exports: {} });
                         return t[n].call(r.exports, r, r.exports, i), (r.l = !0), r.exports;
                    }
                    (i.m = t),
                         (i.c = e),
                         (i.d = function (t, e, n) {
                              i.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: n });
                         }),
                         (i.r = function (t) {
                              "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 });
                         }),
                         (i.t = function (t, e) {
                              if ((1 & e && (t = i(t)), 8 & e)) return t;
                              if (4 & e && "object" == typeof t && t && t.__esModule) return t;
                              var n = Object.create(null);
                              if ((i.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t))
                                   for (var r in t)
                                        i.d(
                                             n,
                                             r,
                                             function (e) {
                                                  return t[e];
                                             }.bind(null, r)
                                        );
                              return n;
                         }),
                         (i.n = function (t) {
                              var e =
                                   t && t.__esModule
                                        ? function () {
                                               return t.default;
                                          }
                                        : function () {
                                               return t;
                                          };
                              return i.d(e, "a", e), e;
                         }),
                         (i.o = function (t, e) {
                              return Object.prototype.hasOwnProperty.call(t, e);
                         }),
                         (i.p = ""),
                         i((i.s = 0));
               })([
                    function (t, e, i) {
                         "use strict";
                         i(1), i(6), i(7);
                         var n = a(i(2)),
                              r = a(i(3)),
                              o = a(i(4));
                         function a(t) {
                              return t && t.__esModule ? t : { default: t };
                         }
                         r.default === o.default && i(8), (window.Inputmask = n.default);
                    },
                    function (t, e, i) {
                         "use strict";
                         var n, r, o;
                         "function" == typeof Symbol && Symbol.iterator;
                         (r = [i(2)]),
                              void 0 ===
                                   (o =
                                        "function" ==
                                        typeof (n = function (t) {
                                             return (
                                                  t.extendDefinitions({
                                                       A: { validator: "[A-Za-zА-яЁёÀ-ÿµ]", casing: "upper" },
                                                       "&": { validator: "[0-9A-Za-zА-яЁёÀ-ÿµ]", casing: "upper" },
                                                       "#": { validator: "[0-9A-Fa-f]", casing: "upper" },
                                                  }),
                                                  t.extendAliases({
                                                       cssunit: { regex: "[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc)" },
                                                       url: { regex: "(https?|ftp)//.*", autoUnmask: !1 },
                                                       ip: {
                                                            mask: "i[i[i]].i[i[i]].i[i[i]].i[i[i]]",
                                                            definitions: {
                                                                 i: {
                                                                      validator: function (t, e, i, n, r) {
                                                                           return (
                                                                                i - 1 > -1 && "." !== e.buffer[i - 1]
                                                                                     ? ((t = e.buffer[i - 1] + t), (t = i - 2 > -1 && "." !== e.buffer[i - 2] ? e.buffer[i - 2] + t : "0" + t))
                                                                                     : (t = "00" + t),
                                                                                new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(t)
                                                                           );
                                                                      },
                                                                 },
                                                            },
                                                            onUnMask: function (t, e, i) {
                                                                 return t;
                                                            },
                                                            inputmode: "numeric",
                                                       },
                                                       email: {
                                                            mask: "*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]",
                                                            greedy: !1,
                                                            casing: "lower",
                                                            onBeforePaste: function (t, e) {
                                                                 return (t = t.toLowerCase()).replace("mailto:", "");
                                                            },
                                                            definitions: { "*": { validator: "[0-9１-９A-Za-zА-яЁёÀ-ÿµ!#$%&'*+/=?^_`{|}~-]" }, "-": { validator: "[0-9A-Za-z-]" } },
                                                            onUnMask: function (t, e, i) {
                                                                 return t;
                                                            },
                                                            inputmode: "email",
                                                       },
                                                       mac: { mask: "##:##:##:##:##:##" },
                                                       vin: { mask: "V{13}9{4}", definitions: { V: { validator: "[A-HJ-NPR-Za-hj-npr-z\\d]", casing: "upper" } }, clearIncomplete: !0, autoUnmask: !0 },
                                                  }),
                                                  t
                                             );
                                        })
                                             ? n.apply(e, r)
                                             : n) || (t.exports = o);
                    },
                    function (t, e, i) {
                         "use strict";
                         var n,
                              r,
                              o,
                              a =
                                   "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                        ? function (t) {
                                               return typeof t;
                                          }
                                        : function (t) {
                                               return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                          };
                         (r = [i(3), i(5)]),
                              void 0 ===
                                   (o =
                                        "function" ==
                                        typeof (n = function (t, e, i) {
                                             var n = e.document,
                                                  r = navigator.userAgent,
                                                  o = r.indexOf("MSIE ") > 0 || r.indexOf("Trident/") > 0,
                                                  s = p("touchstart"),
                                                  l = /iemobile/i.test(r),
                                                  c = /iphone/i.test(r) && !l;
                                             function u(e, n, r) {
                                                  if (!(this instanceof u)) return new u(e, n, r);
                                                  (this.el = i),
                                                       (this.events = {}),
                                                       (this.maskset = i),
                                                       (this.refreshValue = !1),
                                                       !0 !== r &&
                                                            (t.isPlainObject(e) ? (n = e) : ((n = n || {}), e && (n.alias = e)),
                                                            (this.opts = t.extend(!0, {}, this.defaults, n)),
                                                            (this.noMasksCache = n && n.definitions !== i),
                                                            (this.userOptions = n || {}),
                                                            (this.isRTL = this.opts.numericInput),
                                                            h(this.opts.alias, n, this.opts));
                                             }
                                             function h(e, n, r) {
                                                  var o = u.prototype.aliases[e];
                                                  return o ? (o.alias && h(o.alias, i, r), t.extend(!0, r, o), t.extend(!0, r, n), !0) : (null === r.mask && (r.mask = e), !1);
                                             }
                                             function d(e, n) {
                                                  function r(e, r, o) {
                                                       var a = !1;
                                                       if (
                                                            ((null !== e && "" !== e) || ((a = null !== o.regex) ? (e = (e = o.regex).replace(/^(\^)(.*)(\$)$/, "$2")) : ((a = !0), (e = ".*"))),
                                                            1 === e.length && !1 === o.greedy && 0 !== o.repeat && (o.placeholder = ""),
                                                            o.repeat > 0 || "*" === o.repeat || "+" === o.repeat)
                                                       ) {
                                                            var s = "*" === o.repeat ? 0 : "+" === o.repeat ? 1 : o.repeat;
                                                            e = o.groupmarker[0] + e + o.groupmarker[1] + o.quantifiermarker[0] + s + "," + o.repeat + o.quantifiermarker[1];
                                                       }
                                                       var l,
                                                            c = a ? "regex_" + o.regex : o.numericInput ? e.split("").reverse().join("") : e;
                                                       return (
                                                            u.prototype.masksCache[c] === i || !0 === n
                                                                 ? ((l = {
                                                                        mask: e,
                                                                        maskToken: u.prototype.analyseMask(e, a, o),
                                                                        validPositions: {},
                                                                        _buffer: i,
                                                                        buffer: i,
                                                                        tests: {},
                                                                        excludes: {},
                                                                        metadata: r,
                                                                        maskLength: i,
                                                                        jitOffset: {},
                                                                   }),
                                                                   !0 !== n && ((u.prototype.masksCache[c] = l), (l = t.extend(!0, {}, u.prototype.masksCache[c]))))
                                                                 : (l = t.extend(!0, {}, u.prototype.masksCache[c])),
                                                            l
                                                       );
                                                  }
                                                  if ((t.isFunction(e.mask) && (e.mask = e.mask(e)), t.isArray(e.mask))) {
                                                       if (e.mask.length > 1) {
                                                            if (null === e.keepStatic) {
                                                                 e.keepStatic = "auto";
                                                                 for (var o = 0; o < e.mask.length; o++)
                                                                      if (e.mask[o].charAt(0) !== e.mask[0].charAt(0)) {
                                                                           e.keepStatic = !0;
                                                                           break;
                                                                      }
                                                            }
                                                            var a = e.groupmarker[0];
                                                            return (
                                                                 t.each(e.isRTL ? e.mask.reverse() : e.mask, function (n, r) {
                                                                      a.length > 1 && (a += e.groupmarker[1] + e.alternatormarker + e.groupmarker[0]), r.mask === i || t.isFunction(r.mask) ? (a += r) : (a += r.mask);
                                                                 }),
                                                                 r((a += e.groupmarker[1]), e.mask, e)
                                                            );
                                                       }
                                                       e.mask = e.mask.pop();
                                                  }
                                                  return e.mask && e.mask.mask !== i && !t.isFunction(e.mask.mask) ? r(e.mask.mask, e.mask, e) : r(e.mask, e.mask, e);
                                             }
                                             function p(t) {
                                                  var e = n.createElement("input"),
                                                       i = "on" + t,
                                                       r = i in e;
                                                  return r || (e.setAttribute(i, "return;"), (r = "function" == typeof e[i])), (e = null), r;
                                             }
                                             function f(r, h, d) {
                                                  (h = h || this.maskset), (d = d || this.opts);
                                                  var m,
                                                       g,
                                                       v,
                                                       y,
                                                       b,
                                                       _ = this,
                                                       x = this.el,
                                                       w = this.isRTL,
                                                       k = !1,
                                                       S = !1,
                                                       M = !1,
                                                       T = !1,
                                                       C = function (t, e, n, r, o) {
                                                            var a = d.greedy;
                                                            o && (d.greedy = !1), (e = e || 0);
                                                            var s,
                                                                 l,
                                                                 c,
                                                                 u = [],
                                                                 h = 0;
                                                            E();
                                                            do {
                                                                 if (!0 === t && D().validPositions[h])
                                                                      (l = (c =
                                                                           o &&
                                                                           !0 === D().validPositions[h].match.optionality &&
                                                                           D().validPositions[h + 1] === i &&
                                                                           (!0 === D().validPositions[h].generatedInput || (D().validPositions[h].input == d.skipOptionalPartCharacter && h > 0))
                                                                                ? I(h, R(h, s, h - 1))
                                                                                : D().validPositions[h]).match),
                                                                           (s = c.locator.slice()),
                                                                           u.push(!0 === n ? c.input : !1 === n ? l.nativeDef : J(h, l));
                                                                 else {
                                                                      (l = (c = O(h, s, h - 1)).match), (s = c.locator.slice());
                                                                      var p = !0 !== r && (!1 !== d.jitMasking ? d.jitMasking : l.jit);
                                                                      (!1 === p || p === i || ("number" == typeof p && isFinite(p) && p > h)) && u.push(!1 === n ? l.nativeDef : J(h, l));
                                                                 }
                                                                 "auto" === d.keepStatic && l.newBlockMarker && null !== l.fn && (d.keepStatic = h - 1), h++;
                                                            } while (((v === i || h < v) && (null !== l.fn || "" !== l.def)) || e > h);
                                                            return "" === u[u.length - 1] && u.pop(), (!1 === n && D().maskLength !== i) || (D().maskLength = h - 1), (d.greedy = a), u;
                                                       };
                                                  function D() {
                                                       return h;
                                                  }
                                                  function L(t) {
                                                       var e = D();
                                                       (e.buffer = i), !0 !== t && ((e.validPositions = {}), (e.p = 0));
                                                  }
                                                  function E(t, e, n) {
                                                       var r = -1,
                                                            o = -1,
                                                            a = n || D().validPositions;
                                                       for (var s in (t === i && (t = -1), a)) {
                                                            var l = parseInt(s);
                                                            a[l] && (e || !0 !== a[l].generatedInput) && (l <= t && (r = l), l >= t && (o = l));
                                                       }
                                                       return -1 === r || r == t ? o : -1 == o || t - r < o - t ? r : o;
                                                  }
                                                  function A(t) {
                                                       var e = t.locator[t.alternation];
                                                       return "string" == typeof e && e.length > 0 && (e = e.split(",")[0]), e !== i ? e.toString() : "";
                                                  }
                                                  function P(t, e) {
                                                       var n = (t.alternation != i ? t.mloc[A(t)] : t.locator).join("");
                                                       if ("" !== n) for (; n.length < e; ) n += "0";
                                                       return n;
                                                  }
                                                  function I(t, e) {
                                                       for (var n, r, o, a = P(Y((t = t > 0 ? t - 1 : 0))), s = 0; s < e.length; s++) {
                                                            var l = e[s];
                                                            n = P(l, a.length);
                                                            var c = Math.abs(n - a);
                                                            (r === i ||
                                                                 ("" !== n && c < r) ||
                                                                 (o && !d.greedy && o.match.optionality && "master" === o.match.newBlockMarker && (!l.match.optionality || !l.match.newBlockMarker)) ||
                                                                 (o && o.match.optionalQuantifier && !l.match.optionalQuantifier)) &&
                                                                 ((r = c), (o = l));
                                                       }
                                                       return o;
                                                  }
                                                  function O(t, e, i) {
                                                       return D().validPositions[t] || I(t, R(t, e ? e.slice() : e, i));
                                                  }
                                                  function Y(t, e) {
                                                       return D().validPositions[t] ? D().validPositions[t] : (e || R(t))[0];
                                                  }
                                                  function z(t, e) {
                                                       for (var i = !1, n = R(t), r = 0; r < n.length; r++)
                                                            if (n[r].match && n[r].match.def === e) {
                                                                 i = !0;
                                                                 break;
                                                            }
                                                       return i;
                                                  }
                                                  function R(e, n, r) {
                                                       var o,
                                                            a = D().maskToken,
                                                            s = n ? r : 0,
                                                            l = n ? n.slice() : [0],
                                                            c = [],
                                                            u = !1,
                                                            h = n ? n.join("") : "";
                                                       function p(n, r, a, l) {
                                                            function f(a, l, m) {
                                                                 function g(e, i) {
                                                                      var n = 0 === t.inArray(e, i.matches);
                                                                      return (
                                                                           n ||
                                                                                t.each(i.matches, function (t, r) {
                                                                                     if ((!0 === r.isQuantifier ? (n = g(e, i.matches[t - 1])) : r.hasOwnProperty("matches") && (n = g(e, r)), n)) return !1;
                                                                                }),
                                                                           n
                                                                      );
                                                                 }
                                                                 function v(e, n, r) {
                                                                      var o, a;
                                                                      if (
                                                                           ((D().tests[e] || D().validPositions[e]) &&
                                                                                t.each(D().tests[e] || [D().validPositions[e]], function (t, e) {
                                                                                     if (e.mloc[n]) return (o = e), !1;
                                                                                     var s = r !== i ? r : e.alternation,
                                                                                          l = e.locator[s] !== i ? e.locator[s].toString().indexOf(n) : -1;
                                                                                     (a === i || l < a) && -1 !== l && ((o = e), (a = l));
                                                                                }),
                                                                           o)
                                                                      ) {
                                                                           var s = o.locator[o.alternation];
                                                                           return (o.mloc[n] || o.mloc[s] || o.locator).slice((r !== i ? r : o.alternation) + 1);
                                                                      }
                                                                      return r !== i ? v(e, n) : i;
                                                                 }
                                                                 function y(t, e) {
                                                                      function i(t) {
                                                                           for (var e, i, n = [], r = 0, o = t.length; r < o; r++)
                                                                                if ("-" === t.charAt(r)) for (i = t.charCodeAt(r + 1); ++e < i; ) n.push(String.fromCharCode(e));
                                                                                else (e = t.charCodeAt(r)), n.push(t.charAt(r));
                                                                           return n.join("");
                                                                      }
                                                                      return d.regex && null !== t.match.fn && null !== e.match.fn
                                                                           ? -1 !== i(e.match.def.replace(/[\[\]]/g, "")).indexOf(i(t.match.def.replace(/[\[\]]/g, "")))
                                                                           : t.match.def === e.match.nativeDef;
                                                                 }
                                                                 function b(t, e) {
                                                                      if (e === i || (t.alternation === e.alternation && -1 === t.locator[t.alternation].toString().indexOf(e.locator[e.alternation]))) {
                                                                           t.mloc = t.mloc || {};
                                                                           var n = t.locator[t.alternation];
                                                                           if (n !== i) {
                                                                                if (("string" == typeof n && (n = n.split(",")[0]), t.mloc[n] === i && (t.mloc[n] = t.locator.slice()), e !== i)) {
                                                                                     for (var r in e.mloc) "string" == typeof r && (r = r.split(",")[0]), t.mloc[r] === i && (t.mloc[r] = e.mloc[r]);
                                                                                     t.locator[t.alternation] = Object.keys(t.mloc).join(",");
                                                                                }
                                                                                return !0;
                                                                           }
                                                                           t.alternation = i;
                                                                      }
                                                                      return !1;
                                                                 }
                                                                 if (s > 500 && m !== i)
                                                                      throw "Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. " + D().mask;
                                                                 if (s === e && a.matches === i) return c.push({ match: a, locator: l.reverse(), cd: h, mloc: {} }), !0;
                                                                 if (a.matches !== i) {
                                                                      if (a.isGroup && m !== a) {
                                                                           if ((a = f(n.matches[t.inArray(a, n.matches) + 1], l, m))) return !0;
                                                                      } else if (a.isOptional) {
                                                                           var _ = a;
                                                                           if ((a = p(a, r, l, m))) {
                                                                                if (
                                                                                     (t.each(c, function (t, e) {
                                                                                          e.match.optionality = !0;
                                                                                     }),
                                                                                     (o = c[c.length - 1].match),
                                                                                     m !== i || !g(o, _))
                                                                                )
                                                                                     return !0;
                                                                                (u = !0), (s = e);
                                                                           }
                                                                      } else if (a.isAlternator) {
                                                                           var x,
                                                                                w = a,
                                                                                k = [],
                                                                                S = c.slice(),
                                                                                M = l.length,
                                                                                T = r.length > 0 ? r.shift() : -1;
                                                                           if (-1 === T || "string" == typeof T) {
                                                                                var C,
                                                                                     L = s,
                                                                                     E = r.slice(),
                                                                                     A = [];
                                                                                if ("string" == typeof T) A = T.split(",");
                                                                                else for (C = 0; C < w.matches.length; C++) A.push(C.toString());
                                                                                if (D().excludes[e]) {
                                                                                     for (var P = A.slice(), I = 0, O = D().excludes[e].length; I < O; I++) A.splice(A.indexOf(D().excludes[e][I].toString()), 1);
                                                                                     0 === A.length && ((D().excludes[e] = i), (A = P));
                                                                                }
                                                                                (!0 === d.keepStatic || (isFinite(parseInt(d.keepStatic)) && L >= d.keepStatic)) && (A = A.slice(0, 1));
                                                                                for (var Y = !1, z = 0; z < A.length; z++) {
                                                                                     (C = parseInt(A[z])),
                                                                                          (c = []),
                                                                                          (r = ("string" == typeof T && v(s, C, M)) || E.slice()),
                                                                                          w.matches[C] && f(w.matches[C], [C].concat(l), m) ? (a = !0) : 0 === z && (Y = !0),
                                                                                          (x = c.slice()),
                                                                                          (s = L),
                                                                                          (c = []);
                                                                                     for (var R = 0; R < x.length; R++) {
                                                                                          var F = x[R],
                                                                                               H = !1;
                                                                                          (F.match.jit = F.match.jit || Y), (F.alternation = F.alternation || M), b(F);
                                                                                          for (var j = 0; j < k.length; j++) {
                                                                                               var N = k[j];
                                                                                               if ("string" != typeof T || (F.alternation !== i && -1 !== t.inArray(F.locator[F.alternation].toString(), A))) {
                                                                                                    if (F.match.nativeDef === N.match.nativeDef) {
                                                                                                         (H = !0), b(N, F);
                                                                                                         break;
                                                                                                    }
                                                                                                    if (y(F, N)) {
                                                                                                         b(F, N) && ((H = !0), k.splice(k.indexOf(N), 0, F));
                                                                                                         break;
                                                                                                    }
                                                                                                    if (y(N, F)) {
                                                                                                         b(N, F);
                                                                                                         break;
                                                                                                    }
                                                                                                    if (
                                                                                                         ((q = N),
                                                                                                         (U = F).locator.slice(U.alternation).join("") == q.locator.slice(q.alternation).join("") &&
                                                                                                              null === U.match.fn &&
                                                                                                              null !== q.match.fn &&
                                                                                                              q.match.fn.test(U.match.def, D(), e, !1, d, !1))
                                                                                                    ) {
                                                                                                         b(F, N) && ((H = !0), k.splice(k.indexOf(N), 0, F));
                                                                                                         break;
                                                                                                    }
                                                                                               }
                                                                                          }
                                                                                          H || k.push(F);
                                                                                     }
                                                                                }
                                                                                (c = S.concat(k)), (s = e), (u = c.length > 0), (a = k.length > 0), (r = E.slice());
                                                                           } else a = f(w.matches[T] || n.matches[T], [T].concat(l), m);
                                                                           if (a) return !0;
                                                                      } else if (a.isQuantifier && m !== n.matches[t.inArray(a, n.matches) - 1])
                                                                           for (var B = a, W = r.length > 0 ? r.shift() : 0; W < (isNaN(B.quantifier.max) ? W + 1 : B.quantifier.max) && s <= e; W++) {
                                                                                var V = n.matches[t.inArray(B, n.matches) - 1];
                                                                                if ((a = f(V, [W].concat(l), V))) {
                                                                                     if (
                                                                                          (((o = c[c.length - 1].match).optionalQuantifier = W >= B.quantifier.min),
                                                                                          (o.jit = (W || 1) * V.matches.indexOf(o) >= B.quantifier.jit),
                                                                                          o.optionalQuantifier && g(o, V))
                                                                                     ) {
                                                                                          (u = !0), (s = e);
                                                                                          break;
                                                                                     }
                                                                                     return o.jit && (D().jitOffset[e] = V.matches.indexOf(o)), !0;
                                                                                }
                                                                           }
                                                                      else if ((a = p(a, r, l, m))) return !0;
                                                                 } else s++;
                                                                 var U, q;
                                                            }
                                                            for (var m = r.length > 0 ? r.shift() : 0; m < n.matches.length; m++)
                                                                 if (!0 !== n.matches[m].isQuantifier) {
                                                                      var g = f(n.matches[m], [m].concat(a), l);
                                                                      if (g && s === e) return g;
                                                                      if (s > e) break;
                                                                 }
                                                       }
                                                       if (e > -1) {
                                                            if (n === i) {
                                                                 for (var f, m = e - 1; (f = D().validPositions[m] || D().tests[m]) === i && m > -1; ) m--;
                                                                 f !== i &&
                                                                      m > -1 &&
                                                                      ((l = (function (e, n) {
                                                                           var r = [];
                                                                           return (
                                                                                t.isArray(n) || (n = [n]),
                                                                                n.length > 0 &&
                                                                                     (n[0].alternation === i
                                                                                          ? 0 === (r = I(e, n.slice()).locator.slice()).length && (r = n[0].locator.slice())
                                                                                          : t.each(n, function (t, e) {
                                                                                                 if ("" !== e.def)
                                                                                                      if (0 === r.length) r = e.locator.slice();
                                                                                                      else for (var i = 0; i < r.length; i++) e.locator[i] && -1 === r[i].toString().indexOf(e.locator[i]) && (r[i] += "," + e.locator[i]);
                                                                                            })),
                                                                                r
                                                                           );
                                                                      })(m, f)),
                                                                      (h = l.join("")),
                                                                      (s = m));
                                                            }
                                                            if (D().tests[e] && D().tests[e][0].cd === h) return D().tests[e];
                                                            for (var g = l.shift(); g < a.length && !((p(a[g], l, [g]) && s === e) || s > e); g++);
                                                       }
                                                       return (
                                                            (0 === c.length || u) && c.push({ match: { fn: null, optionality: !1, casing: null, def: "", placeholder: "" }, locator: [], mloc: {}, cd: h }),
                                                            n !== i && D().tests[e] ? t.extend(!0, [], c) : ((D().tests[e] = t.extend(!0, [], c)), D().tests[e])
                                                       );
                                                  }
                                                  function F() {
                                                       return D()._buffer === i && ((D()._buffer = C(!1, 1)), D().buffer === i && (D().buffer = D()._buffer.slice())), D()._buffer;
                                                  }
                                                  function H(t) {
                                                       return (D().buffer !== i && !0 !== t) || ((D().buffer = C(!0, E(), !0)), D()._buffer === i && (D()._buffer = D().buffer.slice())), D().buffer;
                                                  }
                                                  function j(t, e, n) {
                                                       var r, o;
                                                       if (!0 === t) L(), (t = 0), (e = n.length);
                                                       else for (r = t; r < e; r++) delete D().validPositions[r];
                                                       for (o = t, r = t; r < e; r++)
                                                            if ((L(!0), n[r] !== d.skipOptionalPartCharacter)) {
                                                                 var a = V(o, n[r], !0, !0);
                                                                 !1 !== a && (L(!0), (o = a.caret !== i ? a.caret : a.pos + 1));
                                                            }
                                                  }
                                                  function N(e, i, n) {
                                                       switch (d.casing || i.casing) {
                                                            case "upper":
                                                                 e = e.toUpperCase();
                                                                 break;
                                                            case "lower":
                                                                 e = e.toLowerCase();
                                                                 break;
                                                            case "title":
                                                                 var r = D().validPositions[n - 1];
                                                                 e = 0 === n || (r && r.input === String.fromCharCode(u.keyCode.SPACE)) ? e.toUpperCase() : e.toLowerCase();
                                                                 break;
                                                            default:
                                                                 if (t.isFunction(d.casing)) {
                                                                      var o = Array.prototype.slice.call(arguments);
                                                                      o.push(D().validPositions), (e = d.casing.apply(this, o));
                                                                 }
                                                       }
                                                       return e;
                                                  }
                                                  function B(e, n, r) {
                                                       for (var o, a = d.greedy ? n : n.slice(0, 1), s = !1, l = r !== i ? r.split(",") : [], c = 0; c < l.length; c++) -1 !== (o = e.indexOf(l[c])) && e.splice(o, 1);
                                                       for (var u = 0; u < e.length; u++)
                                                            if (-1 !== t.inArray(e[u], a)) {
                                                                 s = !0;
                                                                 break;
                                                            }
                                                       return s;
                                                  }
                                                  function W(e, n, r, o, a) {
                                                       var s,
                                                            l,
                                                            c,
                                                            u,
                                                            h,
                                                            d,
                                                            p,
                                                            f = t.extend(!0, {}, D().validPositions),
                                                            m = !1,
                                                            g = a !== i ? a : E();
                                                       if (-1 === g && a === i) l = (u = Y((s = 0))).alternation;
                                                       else
                                                            for (; g >= 0; g--)
                                                                 if ((c = D().validPositions[g]) && c.alternation !== i) {
                                                                      if (u && u.locator[c.alternation] !== c.locator[c.alternation]) break;
                                                                      (s = g), (l = D().validPositions[s].alternation), (u = c);
                                                                 }
                                                       if (l !== i) {
                                                            (p = parseInt(s)), (D().excludes[p] = D().excludes[p] || []), !0 !== e && D().excludes[p].push(A(u));
                                                            var v = [],
                                                                 y = 0;
                                                            for (h = p; h < E(i, !0) + 1; h++) (d = D().validPositions[h]) && !0 !== d.generatedInput ? v.push(d.input) : h < e && y++, delete D().validPositions[h];
                                                            for (; D().excludes[p] && D().excludes[p].length < 10; ) {
                                                                 var b = -1 * y,
                                                                      _ = v.slice();
                                                                 for (D().tests[p] = i, L(!0), m = !0; _.length > 0; ) {
                                                                      var x = _.shift();
                                                                      if (!(m = V(E(i, !0) + 1, x, !1, o, !0))) break;
                                                                 }
                                                                 if (m && n !== i) {
                                                                      var w = E(e) + 1;
                                                                      for (h = p; h < E() + 1; h++) ((d = D().validPositions[h]) === i || null == d.match.fn) && h < e + b && b++;
                                                                      m = V((e += b) > w ? w : e, n, r, o, !0);
                                                                 }
                                                                 if (m) break;
                                                                 if ((L(), (u = Y(p)), (D().validPositions = t.extend(!0, {}, f)), !D().excludes[p])) {
                                                                      m = W(e, n, r, o, p - 1);
                                                                      break;
                                                                 }
                                                                 var k = A(u);
                                                                 if (-1 !== D().excludes[p].indexOf(k)) {
                                                                      m = W(e, n, r, o, p - 1);
                                                                      break;
                                                                 }
                                                                 for (D().excludes[p].push(k), h = p; h < E(i, !0) + 1; h++) delete D().validPositions[h];
                                                            }
                                                       }
                                                       return (D().excludes[p] = i), m;
                                                  }
                                                  function V(e, n, r, o, a, s) {
                                                       function l(t) {
                                                            return w ? t.begin - t.end > 1 || t.begin - t.end == 1 : t.end - t.begin > 1 || t.end - t.begin == 1;
                                                       }
                                                       r = !0 === r;
                                                       var c = e;
                                                       function u(n, r, a) {
                                                            var s = !1;
                                                            return (
                                                                 t.each(R(n), function (c, u) {
                                                                      var h = u.match;
                                                                      if (
                                                                           (H(!0),
                                                                           !1 !==
                                                                                (s =
                                                                                     null != h.fn
                                                                                          ? h.fn.test(r, D(), n, a, d, l(e))
                                                                                          : (r === h.def || r === d.skipOptionalPartCharacter) && "" !== h.def && { c: J(n, h, !0) || h.def, pos: n }))
                                                                      ) {
                                                                           var p = s.c !== i ? s.c : r,
                                                                                f = n;
                                                                           return (
                                                                                (p = p === d.skipOptionalPartCharacter && null === h.fn ? J(n, h, !0) || h.def : p),
                                                                                s.remove !== i &&
                                                                                     (t.isArray(s.remove) || (s.remove = [s.remove]),
                                                                                     t.each(
                                                                                          s.remove.sort(function (t, e) {
                                                                                               return e - t;
                                                                                          }),
                                                                                          function (t, e) {
                                                                                               q({ begin: e, end: e + 1 });
                                                                                          }
                                                                                     )),
                                                                                s.insert !== i &&
                                                                                     (t.isArray(s.insert) || (s.insert = [s.insert]),
                                                                                     t.each(
                                                                                          s.insert.sort(function (t, e) {
                                                                                               return t - e;
                                                                                          }),
                                                                                          function (t, e) {
                                                                                               V(e.pos, e.c, !0, o);
                                                                                          }
                                                                                     )),
                                                                                !0 !== s && s.pos !== i && s.pos !== n && (f = s.pos),
                                                                                (!0 !== s && s.pos === i && s.c === i) || q(e, t.extend({}, u, { input: N(p, h, f) }), o, f) || (s = !1),
                                                                                !1
                                                                           );
                                                                      }
                                                                 }),
                                                                 s
                                                            );
                                                       }
                                                       e.begin !== i && (c = w ? e.end : e.begin);
                                                       var h = !0,
                                                            p = t.extend(!0, {}, D().validPositions);
                                                       if ((t.isFunction(d.preValidation) && !r && !0 !== o && !0 !== s && (h = d.preValidation(H(), c, n, l(e), d, D())), !0 === h)) {
                                                            if ((U(i, c, !0), (v === i || c < v) && ((h = u(c, n, r)), (!r || !0 === o) && !1 === h && !0 !== s))) {
                                                                 var f = D().validPositions[c];
                                                                 if (!f || null !== f.match.fn || (f.match.def !== n && n !== d.skipOptionalPartCharacter)) {
                                                                      if ((d.insertMode || D().validPositions[X(c)] === i) && (!$(c, !0) || D().jitOffset[c]))
                                                                           if (D().jitOffset[c] && D().validPositions[X(c)] === i) !1 !== (h = V(c + D().jitOffset[c], n, r)) && (h.caret = c);
                                                                           else
                                                                                for (var m = c + 1, g = X(c); m <= g; m++)
                                                                                     if (!1 !== (h = u(m, n, r))) {
                                                                                          (h = U(c, h.pos !== i ? h.pos : m) || h), (c = m);
                                                                                          break;
                                                                                     }
                                                                 } else h = { caret: X(c) };
                                                            }
                                                            !1 !== h || !1 === d.keepStatic || (null != d.regex && !st(H())) || r || !0 === a || (h = W(c, n, r, o)), !0 === h && (h = { pos: c });
                                                       }
                                                       if (t.isFunction(d.postValidation) && !1 !== h && !r && !0 !== o && !0 !== s) {
                                                            var y = d.postValidation(H(!0), e.begin !== i ? (w ? e.end : e.begin) : e, h, d);
                                                            if (y !== i) {
                                                                 if (y.refreshFromBuffer && y.buffer) {
                                                                      var b = y.refreshFromBuffer;
                                                                      j(!0 === b ? b : b.start, b.end, y.buffer);
                                                                 }
                                                                 h = !0 === y ? h : y;
                                                            }
                                                       }
                                                       return h && h.pos === i && (h.pos = c), (!1 !== h && !0 !== s) || (L(!0), (D().validPositions = t.extend(!0, {}, p))), h;
                                                  }
                                                  function U(e, n, r) {
                                                       var o;
                                                       if (e === i) for (e = n - 1; e > 0 && !D().validPositions[e]; e--);
                                                       for (var a = e; a < n; a++)
                                                            if (D().validPositions[a] === i && !$(a, !0) && (0 == a ? Y(a) : D().validPositions[a - 1])) {
                                                                 var s = R(a).slice();
                                                                 "" === s[s.length - 1].match.def && s.pop();
                                                                 var l = I(a, s);
                                                                 if ((((l = t.extend({}, l, { input: J(a, l.match, !0) || l.match.def })).generatedInput = !0), q(a, l, !0), !0 !== r)) {
                                                                      var c = D().validPositions[n].input;
                                                                      (D().validPositions[n] = i), (o = V(n, c, !0, !0));
                                                                 }
                                                            }
                                                       return o;
                                                  }
                                                  function q(e, n, r, o) {
                                                       function a(t, e, n) {
                                                            var r = e[t];
                                                            if (r !== i && ((null === r.match.fn && !0 !== r.match.optionality) || r.input === d.radixPoint)) {
                                                                 var o = n.begin <= t - 1 ? e[t - 1] && null === e[t - 1].match.fn && e[t - 1] : e[t - 1],
                                                                      a = n.end > t + 1 ? e[t + 1] && null === e[t + 1].match.fn && e[t + 1] : e[t + 1];
                                                                 return o && a;
                                                            }
                                                            return !1;
                                                       }
                                                       var s = e.begin !== i ? e.begin : e,
                                                            l = e.end !== i ? e.end : e;
                                                       if ((e.begin > e.end && ((s = e.end), (l = e.begin)), (o = o !== i ? o : s), s !== l || (d.insertMode && D().validPositions[o] !== i && r === i))) {
                                                            var c = t.extend(!0, {}, D().validPositions),
                                                                 u = E(i, !0);
                                                            for (D().p = s, g = u; g >= s; g--) D().validPositions[g] && "+" === D().validPositions[g].match.nativeDef && (d.isNegative = !1), delete D().validPositions[g];
                                                            var h = !0,
                                                                 p = o,
                                                                 f = (D().validPositions, !1),
                                                                 m = p,
                                                                 g = p;
                                                            for (n && ((D().validPositions[o] = t.extend(!0, {}, n)), m++, p++, s < l && g++); g <= u; g++) {
                                                                 var v = c[g];
                                                                 if (v !== i && (g >= l || (g >= s && !0 !== v.generatedInput && a(g, c, { begin: s, end: l })))) {
                                                                      for (; "" !== Y(m).match.def; ) {
                                                                           if (!1 === f && c[m] && c[m].match.nativeDef === v.match.nativeDef)
                                                                                (D().validPositions[m] = t.extend(!0, {}, c[m])), (D().validPositions[m].input = v.input), U(i, m, !0), (p = m + 1), (h = !0);
                                                                           else if (d.shiftPositions && z(m, v.match.def)) {
                                                                                var y = V(m, v.input, !0, !0);
                                                                                (h = !1 !== y), (p = y.caret || y.insert ? E() : m + 1), (f = !0);
                                                                           } else h = !0 === v.generatedInput || (v.input === d.radixPoint && !0 === d.numericInput);
                                                                           if (h) break;
                                                                           if (!h && m > l && $(m, !0) && (null !== v.match.fn || m > D().maskLength)) break;
                                                                           m++;
                                                                      }
                                                                      "" == Y(m).match.def && (h = !1), (m = p);
                                                                 }
                                                                 if (!h) break;
                                                            }
                                                            if (!h) return (D().validPositions = t.extend(!0, {}, c)), L(!0), !1;
                                                       } else n && (D().validPositions[o] = t.extend(!0, {}, n));
                                                       return L(!0), !0;
                                                  }
                                                  function $(t, e) {
                                                       var i = O(t).match;
                                                       if (("" === i.def && (i = Y(t).match), null != i.fn)) return i.fn;
                                                       if (!0 !== e && t > -1) {
                                                            var n = R(t);
                                                            return n.length > 1 + ("" === n[n.length - 1].match.def ? 1 : 0);
                                                       }
                                                       return !1;
                                                  }
                                                  function X(t, e) {
                                                       for (var i = t + 1; "" !== Y(i).match.def && ((!0 === e && (!0 !== Y(i).match.newBlockMarker || !$(i))) || (!0 !== e && !$(i))); ) i++;
                                                       return i;
                                                  }
                                                  function G(t, e) {
                                                       var i,
                                                            n = t;
                                                       if (n <= 0) return 0;
                                                       for (; --n > 0 && ((!0 === e && !0 !== Y(n).match.newBlockMarker) || (!0 !== e && !$(n) && ((i = R(n)).length < 2 || (2 === i.length && "" === i[1].match.def)))); );
                                                       return n;
                                                  }
                                                  function Z(e, n, r, o, a) {
                                                       if (o && t.isFunction(d.onBeforeWrite)) {
                                                            var s = d.onBeforeWrite.call(_, o, n, r, d);
                                                            if (s) {
                                                                 if (s.refreshFromBuffer) {
                                                                      var l = s.refreshFromBuffer;
                                                                      j(!0 === l ? l : l.start, l.end, s.buffer || n), (n = H(!0));
                                                                 }
                                                                 r !== i && (r = s.caret !== i ? s.caret : r);
                                                            }
                                                       }
                                                       if (e !== i && (e.inputmask._valueSet(n.join("")), r === i || (o !== i && "blur" === o.type) ? ut(e, r, 0 === n.length) : rt(e, r), !0 === a)) {
                                                            var c = t(e),
                                                                 u = e.inputmask._valueGet();
                                                            (S = !0),
                                                                 c.trigger("input"),
                                                                 setTimeout(function () {
                                                                      u === F().join("") ? c.trigger("cleared") : !0 === st(n) && c.trigger("complete");
                                                                 }, 0);
                                                       }
                                                  }
                                                  function J(e, n, r) {
                                                       if ((n = n || Y(e).match).placeholder !== i || !0 === r) return t.isFunction(n.placeholder) ? n.placeholder(d) : n.placeholder;
                                                       if (null === n.fn) {
                                                            if (e > -1 && D().validPositions[e] === i) {
                                                                 var o,
                                                                      a = R(e),
                                                                      s = [];
                                                                 if (a.length > 1 + ("" === a[a.length - 1].match.def ? 1 : 0))
                                                                      for (var l = 0; l < a.length; l++)
                                                                           if (
                                                                                !0 !== a[l].match.optionality &&
                                                                                !0 !== a[l].match.optionalQuantifier &&
                                                                                (null === a[l].match.fn || o === i || !1 !== a[l].match.fn.test(o.match.def, D(), e, !0, d)) &&
                                                                                (s.push(a[l]), null === a[l].match.fn && (o = a[l]), s.length > 1 && /[0-9a-bA-Z]/.test(s[0].match.def))
                                                                           )
                                                                                return d.placeholder.charAt(e % d.placeholder.length);
                                                            }
                                                            return n.def;
                                                       }
                                                       return d.placeholder.charAt(e % d.placeholder.length);
                                                  }
                                                  function K(t, e) {
                                                       if (o) {
                                                            if (t.inputmask._valueGet() !== e && (t.placeholder !== e || "" === t.placeholder)) {
                                                                 var i = H().slice(),
                                                                      n = t.inputmask._valueGet();
                                                                 if (n !== e) {
                                                                      var r = E();
                                                                      -1 === r && n === F().join("") ? (i = []) : -1 !== r && at(i), Z(t, i);
                                                                 }
                                                            }
                                                       } else t.placeholder !== e && ((t.placeholder = e), "" === t.placeholder && t.removeAttribute("placeholder"));
                                                  }
                                                  var Q,
                                                       tt = {
                                                            on: function (e, n, r) {
                                                                 var o = function (e) {
                                                                      var n = this;
                                                                      if (n.inputmask === i && "FORM" !== this.nodeName) {
                                                                           var o = t.data(n, "_inputmask_opts");
                                                                           o ? new u(o).mask(n) : tt.off(n);
                                                                      } else {
                                                                           if (
                                                                                "setvalue" === e.type ||
                                                                                "FORM" === this.nodeName ||
                                                                                !(n.disabled || (n.readOnly && !(("keydown" === e.type && e.ctrlKey && 67 === e.keyCode) || (!1 === d.tabThrough && e.keyCode === u.keyCode.TAB))))
                                                                           ) {
                                                                                switch (e.type) {
                                                                                     case "input":
                                                                                          if (!0 === S) return (S = !1), e.preventDefault();
                                                                                          if (s) {
                                                                                               var a = arguments;
                                                                                               return (
                                                                                                    setTimeout(function () {
                                                                                                         r.apply(n, a), rt(n, n.inputmask.caretPos, i, !0);
                                                                                                    }, 0),
                                                                                                    !1
                                                                                               );
                                                                                          }
                                                                                          break;
                                                                                     case "keydown":
                                                                                          (k = !1), (S = !1);
                                                                                          break;
                                                                                     case "keypress":
                                                                                          if (!0 === k) return e.preventDefault();
                                                                                          k = !0;
                                                                                          break;
                                                                                     case "click":
                                                                                          if (l || c)
                                                                                               return (
                                                                                                    (a = arguments),
                                                                                                    setTimeout(function () {
                                                                                                         r.apply(n, a);
                                                                                                    }, 0),
                                                                                                    !1
                                                                                               );
                                                                                }
                                                                                var h = r.apply(n, arguments);
                                                                                return !1 === h && (e.preventDefault(), e.stopPropagation()), h;
                                                                           }
                                                                           e.preventDefault();
                                                                      }
                                                                 };
                                                                 (e.inputmask.events[n] = e.inputmask.events[n] || []),
                                                                      e.inputmask.events[n].push(o),
                                                                      -1 !== t.inArray(n, ["submit", "reset"]) ? null !== e.form && t(e.form).on(n, o) : t(e).on(n, o);
                                                            },
                                                            off: function (e, i) {
                                                                 var n;
                                                                 e.inputmask &&
                                                                      e.inputmask.events &&
                                                                      (i ? ((n = [])[i] = e.inputmask.events[i]) : (n = e.inputmask.events),
                                                                      t.each(n, function (i, n) {
                                                                           for (; n.length > 0; ) {
                                                                                var r = n.pop();
                                                                                -1 !== t.inArray(i, ["submit", "reset"]) ? null !== e.form && t(e.form).off(i, r) : t(e).off(i, r);
                                                                           }
                                                                           delete e.inputmask.events[i];
                                                                      }));
                                                            },
                                                       },
                                                       et = {
                                                            keydownEvent: function (e) {
                                                                 var i = t(this),
                                                                      n = e.keyCode,
                                                                      r = rt(this);
                                                                 if (n === u.keyCode.BACKSPACE || n === u.keyCode.DELETE || (c && n === u.keyCode.BACKSPACE_SAFARI) || (e.ctrlKey && n === u.keyCode.X && !p("cut")))
                                                                      e.preventDefault(), lt(0, n, r), Z(this, H(!0), D().p, e, this.inputmask._valueGet() !== H().join(""));
                                                                 else if (n === u.keyCode.END || n === u.keyCode.PAGE_DOWN) {
                                                                      e.preventDefault();
                                                                      var o = X(E());
                                                                      rt(this, e.shiftKey ? r.begin : o, o, !0);
                                                                 } else
                                                                      (n === u.keyCode.HOME && !e.shiftKey) || n === u.keyCode.PAGE_UP
                                                                           ? (e.preventDefault(), rt(this, 0, e.shiftKey ? r.begin : 0, !0))
                                                                           : ((d.undoOnEscape && n === u.keyCode.ESCAPE) || (90 === n && e.ctrlKey)) && !0 !== e.altKey
                                                                           ? (it(this, !0, !1, m.split("")), i.trigger("click"))
                                                                           : n !== u.keyCode.INSERT || e.shiftKey || e.ctrlKey
                                                                           ? !0 === d.tabThrough &&
                                                                             n === u.keyCode.TAB &&
                                                                             (!0 === e.shiftKey
                                                                                  ? (null === Y(r.begin).match.fn && (r.begin = X(r.begin)), (r.end = G(r.begin, !0)), (r.begin = G(r.end, !0)))
                                                                                  : ((r.begin = X(r.begin, !0)), (r.end = X(r.begin, !0)), r.end < D().maskLength && r.end--),
                                                                             r.begin < D().maskLength && (e.preventDefault(), rt(this, r.begin, r.end)))
                                                                           : ((d.insertMode = !d.insertMode), this.setAttribute("im-insert", d.insertMode));
                                                                 d.onKeyDown.call(this, e, H(), rt(this).begin, d), (M = -1 !== t.inArray(n, d.ignorables));
                                                            },
                                                            keypressEvent: function (e, n, r, o, a) {
                                                                 var s = this,
                                                                      l = t(s),
                                                                      c = e.which || e.charCode || e.keyCode;
                                                                 if (!(!0 === n || (e.ctrlKey && e.altKey)) && (e.ctrlKey || e.metaKey || M))
                                                                      return (
                                                                           c === u.keyCode.ENTER &&
                                                                                m !== H().join("") &&
                                                                                ((m = H().join("")),
                                                                                setTimeout(function () {
                                                                                     l.trigger("change");
                                                                                }, 0)),
                                                                           !0
                                                                      );
                                                                 if (c) {
                                                                      46 === c && !1 === e.shiftKey && "" !== d.radixPoint && (c = d.radixPoint.charCodeAt(0));
                                                                      var h,
                                                                           p = n ? { begin: a, end: a } : rt(s),
                                                                           f = String.fromCharCode(c),
                                                                           g = 0;
                                                                      if (d._radixDance && d.numericInput) {
                                                                           var v = H().indexOf(d.radixPoint.charAt(0)) + 1;
                                                                           p.begin <= v && (c === d.radixPoint.charCodeAt(0) && (g = 1), (p.begin -= 1), (p.end -= 1));
                                                                      }
                                                                      D().writeOutBuffer = !0;
                                                                      var y = V(p, f, o);
                                                                      if (
                                                                           (!1 !== y && (L(!0), (h = y.caret !== i ? y.caret : X(y.pos.begin ? y.pos.begin : y.pos)), (D().p = h)),
                                                                           (h = (d.numericInput && y.caret === i ? G(h) : h) + g),
                                                                           !1 !== r &&
                                                                                (setTimeout(function () {
                                                                                     d.onKeyValidation.call(s, c, y, d);
                                                                                }, 0),
                                                                                D().writeOutBuffer && !1 !== y))
                                                                      ) {
                                                                           var b = H();
                                                                           Z(s, b, h, e, !0 !== n);
                                                                      }
                                                                      if ((e.preventDefault(), n)) return !1 !== y && (y.forwardPosition = h), y;
                                                                 }
                                                            },
                                                            pasteEvent: function (i) {
                                                                 var n,
                                                                      r = i.originalEvent || i,
                                                                      o = (t(this), this.inputmask._valueGet(!0)),
                                                                      a = rt(this);
                                                                 w && ((n = a.end), (a.end = a.begin), (a.begin = n));
                                                                 var s = o.substr(0, a.begin),
                                                                      l = o.substr(a.end, o.length);
                                                                 if (
                                                                      (s === (w ? F().reverse() : F()).slice(0, a.begin).join("") && (s = ""),
                                                                      l === (w ? F().reverse() : F()).slice(a.end).join("") && (l = ""),
                                                                      e.clipboardData && e.clipboardData.getData)
                                                                 )
                                                                      o = s + e.clipboardData.getData("Text") + l;
                                                                 else {
                                                                      if (!r.clipboardData || !r.clipboardData.getData) return !0;
                                                                      o = s + r.clipboardData.getData("text/plain") + l;
                                                                 }
                                                                 var c = o;
                                                                 if (t.isFunction(d.onBeforePaste)) {
                                                                      if (!1 === (c = d.onBeforePaste.call(_, o, d))) return i.preventDefault();
                                                                      c || (c = o);
                                                                 }
                                                                 return it(this, !1, !1, c.toString().split("")), Z(this, H(), X(E()), i, m !== H().join("")), i.preventDefault();
                                                            },
                                                            inputFallBackEvent: function (e) {
                                                                 var i = this,
                                                                      n = i.inputmask._valueGet();
                                                                 if (H().join("") !== n) {
                                                                      var r = rt(i);
                                                                      if (
                                                                           ((n = (function (t, e, i) {
                                                                                if (l) {
                                                                                     var n = e.replace(H().join(""), "");
                                                                                     if (1 === n.length) {
                                                                                          var r = e.split("");
                                                                                          r.splice(i.begin, 0, n), (e = r.join(""));
                                                                                     }
                                                                                }
                                                                                return e;
                                                                           })(
                                                                                0,
                                                                                (n = (function (t, e, i) {
                                                                                     return "." === e.charAt(i.begin - 1) && "" !== d.radixPoint && (((e = e.split(""))[i.begin - 1] = d.radixPoint.charAt(0)), (e = e.join(""))), e;
                                                                                })(0, n, r)),
                                                                                r
                                                                           )),
                                                                           H().join("") !== n)
                                                                      ) {
                                                                           var o = H().join(""),
                                                                                a = !d.numericInput && n.length > o.length ? -1 : 0,
                                                                                s = n.substr(0, r.begin),
                                                                                c = n.substr(r.begin),
                                                                                h = o.substr(0, r.begin + a),
                                                                                p = o.substr(r.begin + a),
                                                                                f = r,
                                                                                m = "",
                                                                                g = !1;
                                                                           if (s !== h) {
                                                                                var v,
                                                                                     y = (g = s.length >= h.length) ? s.length : h.length;
                                                                                for (v = 0; s.charAt(v) === h.charAt(v) && v < y; v++);
                                                                                g && ((f.begin = v - a), (m += s.slice(v, f.end)));
                                                                           }
                                                                           if (
                                                                                (c !== p &&
                                                                                     (c.length > p.length
                                                                                          ? (m += c.slice(0, 1))
                                                                                          : c.length < p.length &&
                                                                                            ((f.end += p.length - c.length),
                                                                                            g || "" === d.radixPoint || "" !== c || s.charAt(f.begin + a - 1) !== d.radixPoint || (f.begin--, (m = d.radixPoint)))),
                                                                                Z(i, H(), { begin: f.begin + a, end: f.end + a }),
                                                                                m.length > 0)
                                                                           )
                                                                                t.each(m.split(""), function (e, n) {
                                                                                     var r = new t.Event("keypress");
                                                                                     (r.which = n.charCodeAt(0)), (M = !1), et.keypressEvent.call(i, r);
                                                                                });
                                                                           else {
                                                                                f.begin === f.end - 1 && ((f.begin = G(f.begin + 1)), f.begin === f.end - 1 ? rt(i, f.begin) : rt(i, f.begin, f.end));
                                                                                var b = new t.Event("keydown");
                                                                                (b.keyCode = d.numericInput ? u.keyCode.BACKSPACE : u.keyCode.DELETE), et.keydownEvent.call(i, b);
                                                                           }
                                                                           e.preventDefault();
                                                                      }
                                                                 }
                                                            },
                                                            beforeInputEvent: function (e) {
                                                                 if (e.cancelable) {
                                                                      var i = this;
                                                                      switch (e.inputType) {
                                                                           case "insertText":
                                                                                return (
                                                                                     t.each(e.data.split(""), function (e, n) {
                                                                                          var r = new t.Event("keypress");
                                                                                          (r.which = n.charCodeAt(0)), (M = !1), et.keypressEvent.call(i, r);
                                                                                     }),
                                                                                     e.preventDefault()
                                                                                );
                                                                           case "deleteContentBackward":
                                                                                return ((n = new t.Event("keydown")).keyCode = u.keyCode.BACKSPACE), et.keydownEvent.call(i, n), e.preventDefault();
                                                                           case "deleteContentForward":
                                                                                var n;
                                                                                return ((n = new t.Event("keydown")).keyCode = u.keyCode.DELETE), et.keydownEvent.call(i, n), e.preventDefault();
                                                                      }
                                                                 }
                                                            },
                                                            setValueEvent: function (e) {
                                                                 this.inputmask.refreshValue = !1;
                                                                 var i = this,
                                                                      n = (n = e && e.detail ? e.detail[0] : arguments[1]) || i.inputmask._valueGet(!0);
                                                                 t.isFunction(d.onBeforeMask) && (n = d.onBeforeMask.call(_, n, d) || n),
                                                                      it(i, !0, !1, (n = n.toString().split(""))),
                                                                      (m = H().join("")),
                                                                      (d.clearMaskOnLostFocus || d.clearIncomplete) && i.inputmask._valueGet() === F().join("") && i.inputmask._valueSet("");
                                                            },
                                                            focusEvent: function (t) {
                                                                 var e = this.inputmask._valueGet();
                                                                 d.showMaskOnFocus && (e !== H().join("") ? Z(this, H(), X(E())) : !1 === T && rt(this, X(E()))),
                                                                      !0 === d.positionCaretOnTab && !1 === T && et.clickEvent.apply(this, [t, !0]),
                                                                      (m = H().join(""));
                                                            },
                                                            mouseleaveEvent: function (t) {
                                                                 (T = !1), d.clearMaskOnLostFocus && n.activeElement !== this && K(this, b);
                                                            },
                                                            clickEvent: function (e, r) {
                                                                 var o = this;
                                                                 setTimeout(function () {
                                                                      if (n.activeElement === o) {
                                                                           var e = rt(o);
                                                                           if ((r && (w ? (e.end = e.begin) : (e.begin = e.end)), e.begin === e.end))
                                                                                switch (d.positionCaretOnClick) {
                                                                                     case "none":
                                                                                          break;
                                                                                     case "select":
                                                                                          rt(o, 0, H().length);
                                                                                          break;
                                                                                     case "ignore":
                                                                                          rt(o, X(E()));
                                                                                          break;
                                                                                     case "radixFocus":
                                                                                          if (
                                                                                               (function (e) {
                                                                                                    if ("" !== d.radixPoint) {
                                                                                                         var n = D().validPositions;
                                                                                                         if (n[e] === i || n[e].input === J(e)) {
                                                                                                              if (e < X(-1)) return !0;
                                                                                                              var r = t.inArray(d.radixPoint, H());
                                                                                                              if (-1 !== r) {
                                                                                                                   for (var o in n) if (r < o && n[o].input !== J(o)) return !1;
                                                                                                                   return !0;
                                                                                                              }
                                                                                                         }
                                                                                                    }
                                                                                                    return !1;
                                                                                               })(e.begin)
                                                                                          ) {
                                                                                               var a = H().join("").indexOf(d.radixPoint);
                                                                                               rt(o, d.numericInput ? X(a) : a);
                                                                                               break;
                                                                                          }
                                                                                     default:
                                                                                          var s = e.begin,
                                                                                               l = E(s, !0),
                                                                                               c = X(l);
                                                                                          if (s < c) rt(o, $(s, !0) || $(s - 1, !0) ? s : X(s));
                                                                                          else {
                                                                                               var u = D().validPositions[l],
                                                                                                    h = O(c, u ? u.match.locator : i, u),
                                                                                                    p = J(c, h.match);
                                                                                               if (
                                                                                                    ("" !== p && H()[c] !== p && !0 !== h.match.optionalQuantifier && !0 !== h.match.newBlockMarker) ||
                                                                                                    (!$(c, d.keepStatic) && h.match.def === p)
                                                                                               ) {
                                                                                                    var f = X(c);
                                                                                                    (s >= f || s === c) && (c = f);
                                                                                               }
                                                                                               rt(o, c);
                                                                                          }
                                                                                }
                                                                      }
                                                                 }, 0);
                                                            },
                                                            cutEvent: function (i) {
                                                                 t(this);
                                                                 var r = rt(this),
                                                                      o = i.originalEvent || i,
                                                                      a = e.clipboardData || o.clipboardData,
                                                                      s = w ? H().slice(r.end, r.begin) : H().slice(r.begin, r.end);
                                                                 a.setData("text", w ? s.reverse().join("") : s.join("")), n.execCommand && n.execCommand("copy"), lt(0, u.keyCode.DELETE, r), Z(this, H(), D().p, i, m !== H().join(""));
                                                            },
                                                            blurEvent: function (e) {
                                                                 var n = t(this);
                                                                 if (this.inputmask) {
                                                                      K(this, b);
                                                                      var r = this.inputmask._valueGet(),
                                                                           o = H().slice();
                                                                      ("" === r && y === i) ||
                                                                           (d.clearMaskOnLostFocus && (-1 === E() && r === F().join("") ? (o = []) : at(o)),
                                                                           !1 === st(o) &&
                                                                                (setTimeout(function () {
                                                                                     n.trigger("incomplete");
                                                                                }, 0),
                                                                                d.clearIncomplete && (L(), (o = d.clearMaskOnLostFocus ? [] : F().slice()))),
                                                                           Z(this, o, i, e)),
                                                                           m !== H().join("") && ((m = o.join("")), n.trigger("change"));
                                                                 }
                                                            },
                                                            mouseenterEvent: function (t) {
                                                                 (T = !0), n.activeElement !== this && d.showMaskOnHover && K(this, (w ? H().slice().reverse() : H()).join(""));
                                                            },
                                                            submitEvent: function (t) {
                                                                 m !== H().join("") && g.trigger("change"),
                                                                      d.clearMaskOnLostFocus && -1 === E() && x.inputmask._valueGet && x.inputmask._valueGet() === F().join("") && x.inputmask._valueSet(""),
                                                                      d.clearIncomplete && !1 === st(H()) && x.inputmask._valueSet(""),
                                                                      d.removeMaskOnSubmit &&
                                                                           (x.inputmask._valueSet(x.inputmask.unmaskedvalue(), !0),
                                                                           setTimeout(function () {
                                                                                Z(x, H());
                                                                           }, 0));
                                                            },
                                                            resetEvent: function (t) {
                                                                 (x.inputmask.refreshValue = !0),
                                                                      setTimeout(function () {
                                                                           g.trigger("setvalue");
                                                                      }, 0);
                                                            },
                                                       };
                                                  function it(e, n, r, o, a) {
                                                       var s = this || e.inputmask,
                                                            l = o.slice(),
                                                            c = "",
                                                            h = -1,
                                                            p = i;
                                                       if ((L(), r || !0 === d.autoUnmask)) h = X(h);
                                                       else {
                                                            var f = F().slice(0, X(-1)).join(""),
                                                                 m = l.join("").match(new RegExp("^" + u.escapeRegex(f), "g"));
                                                            m && m.length > 0 && (l.splice(0, m.length * f.length), (h = X(h)));
                                                       }
                                                       -1 === h ? ((D().p = X(h)), (h = 0)) : (D().p = h),
                                                            (s.caretPos = { begin: h }),
                                                            t.each(l, function (n, o) {
                                                                 if (o !== i)
                                                                      if (D().validPositions[n] === i && l[n] === J(n) && $(n, !0) && !1 === V(n, l[n], !0, i, i, !0)) D().p++;
                                                                      else {
                                                                           var a = new t.Event("_checkval");
                                                                           (a.which = o.charCodeAt(0)), (c += o);
                                                                           var u = E(i, !0);
                                                                           !(function (t, e) {
                                                                                return (
                                                                                     -1 !== C(!0, 0, !1).slice(t, X(t)).join("").replace(/'/g, "").indexOf(e) &&
                                                                                     !$(t) &&
                                                                                     (Y(t).match.nativeDef === e.charAt(0) ||
                                                                                          (null === Y(t).match.fn && Y(t).match.nativeDef === "'" + e.charAt(0)) ||
                                                                                          (" " === Y(t).match.nativeDef &&
                                                                                               (Y(t + 1).match.nativeDef === e.charAt(0) || (null === Y(t + 1).match.fn && Y(t + 1).match.nativeDef === "'" + e.charAt(0)))))
                                                                                );
                                                                           })(h, c)
                                                                                ? (p = et.keypressEvent.call(e, a, !0, !1, r, s.caretPos.begin)) && ((h = s.caretPos.begin + 1), (c = ""))
                                                                                : (p = et.keypressEvent.call(e, a, !0, !1, r, u + 1)),
                                                                                p && (Z(i, H(), p.forwardPosition, a, !1), (s.caretPos = { begin: p.forwardPosition, end: p.forwardPosition }));
                                                                      }
                                                            }),
                                                            n && Z(e, H(), p ? p.forwardPosition : i, a || new t.Event("checkval"), a && "input" === a.type);
                                                  }
                                                  function nt(e) {
                                                       if (e) {
                                                            if (e.inputmask === i) return e.value;
                                                            e.inputmask && e.inputmask.refreshValue && et.setValueEvent.call(e);
                                                       }
                                                       var n = [],
                                                            r = D().validPositions;
                                                       for (var o in r) r[o].match && null != r[o].match.fn && n.push(r[o].input);
                                                       var a = 0 === n.length ? "" : (w ? n.reverse() : n).join("");
                                                       if (t.isFunction(d.onUnMask)) {
                                                            var s = (w ? H().slice().reverse() : H()).join("");
                                                            a = d.onUnMask.call(_, s, a, d);
                                                       }
                                                       return a;
                                                  }
                                                  function rt(r, o, a, s) {
                                                       function l(t) {
                                                            return !w || "number" != typeof t || (d.greedy && "" === d.placeholder) || !x || (t = x.inputmask._valueGet().length - t), t;
                                                       }
                                                       var c;
                                                       if (o === i)
                                                            return (
                                                                 "selectionStart" in r
                                                                      ? ((o = r.selectionStart), (a = r.selectionEnd))
                                                                      : e.getSelection
                                                                      ? ((c = e.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode !== r && c.commonAncestorContainer !== r) || ((o = c.startOffset), (a = c.endOffset))
                                                                      : n.selection &&
                                                                        n.selection.createRange &&
                                                                        (a = (o = 0 - (c = n.selection.createRange()).duplicate().moveStart("character", -r.inputmask._valueGet().length)) + c.text.length),
                                                                 { begin: s ? o : l(o), end: s ? a : l(a) }
                                                            );
                                                       if ((t.isArray(o) && ((a = w ? o[0] : o[1]), (o = w ? o[1] : o[0])), o.begin !== i && ((a = w ? o.begin : o.end), (o = w ? o.end : o.begin)), "number" == typeof o)) {
                                                            (o = s ? o : l(o)), (a = "number" == typeof (a = s ? a : l(a)) ? a : o);
                                                            var u = parseInt(((r.ownerDocument.defaultView || e).getComputedStyle ? (r.ownerDocument.defaultView || e).getComputedStyle(r, null) : r.currentStyle).fontSize) * a;
                                                            if (((r.scrollLeft = u > r.scrollWidth ? u : 0), (r.inputmask.caretPos = { begin: o, end: a }), r === n.activeElement)) {
                                                                 if ("selectionStart" in r) (r.selectionStart = o), (r.selectionEnd = a);
                                                                 else if (e.getSelection) {
                                                                      if (((c = n.createRange()), r.firstChild === i || null === r.firstChild)) {
                                                                           var h = n.createTextNode("");
                                                                           r.appendChild(h);
                                                                      }
                                                                      c.setStart(r.firstChild, o < r.inputmask._valueGet().length ? o : r.inputmask._valueGet().length),
                                                                           c.setEnd(r.firstChild, a < r.inputmask._valueGet().length ? a : r.inputmask._valueGet().length),
                                                                           c.collapse(!0);
                                                                      var p = e.getSelection();
                                                                      p.removeAllRanges(), p.addRange(c);
                                                                 } else r.createTextRange && ((c = r.createTextRange()).collapse(!0), c.moveEnd("character", a), c.moveStart("character", o), c.select());
                                                                 ut(r, { begin: o, end: a });
                                                            }
                                                       }
                                                  }
                                                  function ot(e) {
                                                       var n,
                                                            r,
                                                            o = C(!0, E(), !0, !0),
                                                            a = o.length,
                                                            s = E(),
                                                            l = {},
                                                            c = D().validPositions[s],
                                                            u = c !== i ? c.locator.slice() : i;
                                                       for (n = s + 1; n < o.length; n++) (u = (r = O(n, u, n - 1)).locator.slice()), (l[n] = t.extend(!0, {}, r));
                                                       var h = c && c.alternation !== i ? c.locator[c.alternation] : i;
                                                       for (
                                                            n = a - 1;
                                                            n > s &&
                                                            ((r = l[n]).match.optionality ||
                                                                 (r.match.optionalQuantifier && r.match.newBlockMarker) ||
                                                                 (h &&
                                                                      ((h !== l[n].locator[c.alternation] && null != r.match.fn) ||
                                                                           (null === r.match.fn && r.locator[c.alternation] && B(r.locator[c.alternation].toString().split(","), h.toString().split(",")) && "" !== R(n)[0].def)))) &&
                                                            o[n] === J(n, r.match);
                                                            n--
                                                       )
                                                            a--;
                                                       return e ? { l: a, def: l[a] ? l[a].match : i } : a;
                                                  }
                                                  function at(t) {
                                                       t.length = 0;
                                                       for (var e, n = C(!0, 0, !0, i, !0); (e = n.shift()) !== i; ) t.push(e);
                                                       return t;
                                                  }
                                                  function st(e) {
                                                       if (t.isFunction(d.isComplete)) return d.isComplete(e, d);
                                                       if ("*" === d.repeat) return i;
                                                       var n = !1,
                                                            r = ot(!0),
                                                            o = G(r.l);
                                                       if (r.def === i || r.def.newBlockMarker || r.def.optionality || r.def.optionalQuantifier) {
                                                            n = !0;
                                                            for (var a = 0; a <= o; a++) {
                                                                 var s = O(a).match;
                                                                 if ((null !== s.fn && D().validPositions[a] === i && !0 !== s.optionality && !0 !== s.optionalQuantifier) || (null === s.fn && e[a] !== J(a, s))) {
                                                                      n = !1;
                                                                      break;
                                                                 }
                                                            }
                                                       }
                                                       return n;
                                                  }
                                                  function lt(t, e, n, r, o) {
                                                       if ((d.numericInput || w) && (e === u.keyCode.BACKSPACE ? (e = u.keyCode.DELETE) : e === u.keyCode.DELETE && (e = u.keyCode.BACKSPACE), w)) {
                                                            var a = n.end;
                                                            (n.end = n.begin), (n.begin = a);
                                                       }
                                                       if (
                                                            (e === u.keyCode.BACKSPACE && n.end - n.begin < 1
                                                                 ? ((n.begin = G(n.begin)), D().validPositions[n.begin] !== i && D().validPositions[n.begin].input === d.groupSeparator && n.begin--)
                                                                 : e === u.keyCode.DELETE &&
                                                                   n.begin === n.end &&
                                                                   ((n.end = $(n.end, !0) && D().validPositions[n.end] && D().validPositions[n.end].input !== d.radixPoint ? n.end + 1 : X(n.end) + 1),
                                                                   D().validPositions[n.begin] !== i && D().validPositions[n.begin].input === d.groupSeparator && n.end++),
                                                            q(n),
                                                            (!0 !== r && !1 !== d.keepStatic) || null !== d.regex)
                                                       ) {
                                                            var s = W(!0);
                                                            if (s) {
                                                                 var l = s.caret !== i ? s.caret : s.pos ? X(s.pos.begin ? s.pos.begin : s.pos) : E(-1, !0);
                                                                 (e !== u.keyCode.DELETE || n.begin > l) && n.begin;
                                                            }
                                                       }
                                                       var c = E(n.begin, !0);
                                                       if (c < n.begin || -1 === n.begin) D().p = X(c);
                                                       else if (!0 !== r && ((D().p = n.begin), !0 !== o)) for (; D().p < c && D().validPositions[D().p] === i; ) D().p++;
                                                  }
                                                  function ct(i) {
                                                       var r = (i.ownerDocument.defaultView || e).getComputedStyle(i, null),
                                                            o = n.createElement("div");
                                                       (o.style.width = r.width),
                                                            (o.style.textAlign = r.textAlign),
                                                            (y = n.createElement("div")),
                                                            (i.inputmask.colorMask = y),
                                                            (y.className = "im-colormask"),
                                                            i.parentNode.insertBefore(y, i),
                                                            i.parentNode.removeChild(i),
                                                            y.appendChild(i),
                                                            y.appendChild(o),
                                                            (i.style.left = o.offsetLeft + "px"),
                                                            t(y).on("mouseleave", function (t) {
                                                                 return et.mouseleaveEvent.call(i, [t]);
                                                            }),
                                                            t(y).on("mouseenter", function (t) {
                                                                 return et.mouseenterEvent.call(i, [t]);
                                                            }),
                                                            t(y).on("click", function (t) {
                                                                 return (
                                                                      rt(
                                                                           i,
                                                                           (function (t) {
                                                                                var e,
                                                                                     o = n.createElement("span");
                                                                                for (var a in r) isNaN(a) && -1 !== a.indexOf("font") && (o.style[a] = r[a]);
                                                                                (o.style.textTransform = r.textTransform),
                                                                                     (o.style.letterSpacing = r.letterSpacing),
                                                                                     (o.style.position = "absolute"),
                                                                                     (o.style.height = "auto"),
                                                                                     (o.style.width = "auto"),
                                                                                     (o.style.visibility = "hidden"),
                                                                                     (o.style.whiteSpace = "nowrap"),
                                                                                     n.body.appendChild(o);
                                                                                var s,
                                                                                     l = i.inputmask._valueGet(),
                                                                                     c = 0;
                                                                                for (e = 0, s = l.length; e <= s; e++) {
                                                                                     if (((o.innerHTML += l.charAt(e) || "_"), o.offsetWidth >= t)) {
                                                                                          var u = t - c,
                                                                                               h = o.offsetWidth - t;
                                                                                          (o.innerHTML = l.charAt(e)), (e = (u -= o.offsetWidth / 3) < h ? e - 1 : e);
                                                                                          break;
                                                                                     }
                                                                                     c = o.offsetWidth;
                                                                                }
                                                                                return n.body.removeChild(o), e;
                                                                           })(t.clientX)
                                                                      ),
                                                                      et.clickEvent.call(i, [t])
                                                                 );
                                                            });
                                                  }
                                                  function ut(t, e, r) {
                                                       var o,
                                                            a,
                                                            s,
                                                            l = [],
                                                            c = !1,
                                                            u = 0;
                                                       function h(t) {
                                                            if ((t === i && (t = ""), c || (null !== o.fn && a.input !== i)))
                                                                 if (c && ((null !== o.fn && a.input !== i) || "" === o.def)) {
                                                                      c = !1;
                                                                      var e = l.length;
                                                                      (l[e - 1] = l[e - 1] + "</span>"), l.push(t);
                                                                 } else l.push(t);
                                                            else (c = !0), l.push("<span class='im-static'>" + t);
                                                       }
                                                       if (y !== i) {
                                                            var p = H();
                                                            if ((e === i ? (e = rt(t)) : e.begin === i && (e = { begin: e, end: e }), !0 !== r)) {
                                                                 var f = E();
                                                                 do {
                                                                      D().validPositions[u]
                                                                           ? ((a = D().validPositions[u]), (o = a.match), (s = a.locator.slice()), h(p[u]))
                                                                           : ((a = O(u, s, u - 1)),
                                                                             (o = a.match),
                                                                             (s = a.locator.slice()),
                                                                             !1 === d.jitMasking || u < f || ("number" == typeof d.jitMasking && isFinite(d.jitMasking) && d.jitMasking > u) ? h(J(u, o)) : (c = !1)),
                                                                           u++;
                                                                 } while (((v === i || u < v) && (null !== o.fn || "" !== o.def)) || f > u || c);
                                                                 c && h(),
                                                                      n.activeElement === t &&
                                                                           (l.splice(
                                                                                e.begin,
                                                                                0,
                                                                                e.begin === e.end || e.end > D().maskLength
                                                                                     ? '<mark class="im-caret" style="border-right-width: 1px;border-right-style: solid;">'
                                                                                     : '<mark class="im-caret-select">'
                                                                           ),
                                                                           l.splice(e.end + 1, 0, "</mark>"));
                                                            }
                                                            var m = y.getElementsByTagName("div")[0];
                                                            (m.innerHTML = l.join("")), t.inputmask.positionColorMask(t, m);
                                                       }
                                                  }
                                                  if (r !== i)
                                                       switch (r.action) {
                                                            case "isComplete":
                                                                 return (x = r.el), st(H());
                                                            case "unmaskedvalue":
                                                                 return (
                                                                      (x !== i && r.value === i) ||
                                                                           ((Q = r.value),
                                                                           (Q = ((t.isFunction(d.onBeforeMask) && d.onBeforeMask.call(_, Q, d)) || Q).split("")),
                                                                           it.call(this, i, !1, !1, Q),
                                                                           t.isFunction(d.onBeforeWrite) && d.onBeforeWrite.call(_, i, H(), 0, d)),
                                                                      nt(x)
                                                                 );
                                                            case "mask":
                                                                 !(function (e) {
                                                                      tt.off(e);
                                                                      var r = (function (e, r) {
                                                                           var o = e.getAttribute("type"),
                                                                                s = ("INPUT" === e.tagName && -1 !== t.inArray(o, r.supportsInputType)) || e.isContentEditable || "TEXTAREA" === e.tagName;
                                                                           if (!s)
                                                                                if ("INPUT" === e.tagName) {
                                                                                     var l = n.createElement("input");
                                                                                     l.setAttribute("type", o), (s = "text" === l.type), (l = null);
                                                                                } else s = "partial";
                                                                           return (
                                                                                !1 !== s
                                                                                     ? (function (e) {
                                                                                            var o, s;
                                                                                            function l() {
                                                                                                 return this.inputmask
                                                                                                      ? this.inputmask.opts.autoUnmask
                                                                                                           ? this.inputmask.unmaskedvalue()
                                                                                                           : -1 !== E() || !0 !== r.nullable
                                                                                                           ? n.activeElement === this && r.clearMaskOnLostFocus
                                                                                                                ? (w ? at(H().slice()).reverse() : at(H().slice())).join("")
                                                                                                                : o.call(this)
                                                                                                           : ""
                                                                                                      : o.call(this);
                                                                                            }
                                                                                            function c(e) {
                                                                                                 s.call(this, e), this.inputmask && t(this).trigger("setvalue", [e]);
                                                                                            }
                                                                                            if (!e.inputmask.__valueGet) {
                                                                                                 if (!0 !== r.noValuePatching) {
                                                                                                      if (Object.getOwnPropertyDescriptor) {
                                                                                                           "function" != typeof Object.getPrototypeOf &&
                                                                                                                (Object.getPrototypeOf =
                                                                                                                     "object" === a("test".__proto__)
                                                                                                                          ? function (t) {
                                                                                                                                 return t.__proto__;
                                                                                                                            }
                                                                                                                          : function (t) {
                                                                                                                                 return t.constructor.prototype;
                                                                                                                            });
                                                                                                           var u = Object.getPrototypeOf ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e), "value") : i;
                                                                                                           u && u.get && u.set
                                                                                                                ? ((o = u.get), (s = u.set), Object.defineProperty(e, "value", { get: l, set: c, configurable: !0 }))
                                                                                                                : "INPUT" !== e.tagName &&
                                                                                                                  ((o = function () {
                                                                                                                       return this.textContent;
                                                                                                                  }),
                                                                                                                  (s = function (t) {
                                                                                                                       this.textContent = t;
                                                                                                                  }),
                                                                                                                  Object.defineProperty(e, "value", { get: l, set: c, configurable: !0 }));
                                                                                                      } else
                                                                                                           n.__lookupGetter__ &&
                                                                                                                e.__lookupGetter__("value") &&
                                                                                                                ((o = e.__lookupGetter__("value")),
                                                                                                                (s = e.__lookupSetter__("value")),
                                                                                                                e.__defineGetter__("value", l),
                                                                                                                e.__defineSetter__("value", c));
                                                                                                      (e.inputmask.__valueGet = o), (e.inputmask.__valueSet = s);
                                                                                                 }
                                                                                                 (e.inputmask._valueGet = function (t) {
                                                                                                      return w && !0 !== t ? o.call(this.el).split("").reverse().join("") : o.call(this.el);
                                                                                                 }),
                                                                                                      (e.inputmask._valueSet = function (t, e) {
                                                                                                           s.call(this.el, null === t || t === i ? "" : !0 !== e && w ? t.split("").reverse().join("") : t);
                                                                                                      }),
                                                                                                      o === i &&
                                                                                                           ((o = function () {
                                                                                                                return this.value;
                                                                                                           }),
                                                                                                           (s = function (t) {
                                                                                                                this.value = t;
                                                                                                           }),
                                                                                                           (function (e) {
                                                                                                                if (t.valHooks && (t.valHooks[e] === i || !0 !== t.valHooks[e].inputmaskpatch)) {
                                                                                                                     var n =
                                                                                                                               t.valHooks[e] && t.valHooks[e].get
                                                                                                                                    ? t.valHooks[e].get
                                                                                                                                    : function (t) {
                                                                                                                                           return t.value;
                                                                                                                                      },
                                                                                                                          o =
                                                                                                                               t.valHooks[e] && t.valHooks[e].set
                                                                                                                                    ? t.valHooks[e].set
                                                                                                                                    : function (t, e) {
                                                                                                                                           return (t.value = e), t;
                                                                                                                                      };
                                                                                                                     t.valHooks[e] = {
                                                                                                                          get: function (t) {
                                                                                                                               if (t.inputmask) {
                                                                                                                                    if (t.inputmask.opts.autoUnmask) return t.inputmask.unmaskedvalue();
                                                                                                                                    var e = n(t);
                                                                                                                                    return -1 !== E(i, i, t.inputmask.maskset.validPositions) || !0 !== r.nullable ? e : "";
                                                                                                                               }
                                                                                                                               return n(t);
                                                                                                                          },
                                                                                                                          set: function (e, i) {
                                                                                                                               var n,
                                                                                                                                    r = t(e);
                                                                                                                               return (n = o(e, i)), e.inputmask && r.trigger("setvalue", [i]), n;
                                                                                                                          },
                                                                                                                          inputmaskpatch: !0,
                                                                                                                     };
                                                                                                                }
                                                                                                           })(e.type),
                                                                                                           (function (e) {
                                                                                                                tt.on(e, "mouseenter", function (e) {
                                                                                                                     var i = t(this);
                                                                                                                     this.inputmask._valueGet() !== H().join("") && i.trigger("setvalue");
                                                                                                                });
                                                                                                           })(e));
                                                                                            }
                                                                                       })(e)
                                                                                     : (e.inputmask = i),
                                                                                s
                                                                           );
                                                                      })(e, d);
                                                                      if (
                                                                           !1 !== r &&
                                                                           ((g = t((x = e))),
                                                                           (b = x.placeholder),
                                                                           -1 === (v = x !== i ? x.maxLength : i) && (v = i),
                                                                           !0 === d.colorMask && ct(x),
                                                                           s &&
                                                                                ("inputMode" in x && ((x.inputmode = d.inputmode), x.setAttribute("inputmode", d.inputmode)),
                                                                                !0 === d.disablePredictiveText && ("autocorrect" in x ? (x.autocorrect = !1) : (!0 !== d.colorMask && ct(x), (x.type = "password")))),
                                                                           !0 === r &&
                                                                                (x.setAttribute("im-insert", d.insertMode),
                                                                                tt.on(x, "submit", et.submitEvent),
                                                                                tt.on(x, "reset", et.resetEvent),
                                                                                tt.on(x, "blur", et.blurEvent),
                                                                                tt.on(x, "focus", et.focusEvent),
                                                                                !0 !== d.colorMask && (tt.on(x, "click", et.clickEvent), tt.on(x, "mouseleave", et.mouseleaveEvent), tt.on(x, "mouseenter", et.mouseenterEvent)),
                                                                                tt.on(x, "paste", et.pasteEvent),
                                                                                tt.on(x, "cut", et.cutEvent),
                                                                                tt.on(x, "complete", d.oncomplete),
                                                                                tt.on(x, "incomplete", d.onincomplete),
                                                                                tt.on(x, "cleared", d.oncleared),
                                                                                s || !0 === d.inputEventOnly ? x.removeAttribute("maxLength") : (tt.on(x, "keydown", et.keydownEvent), tt.on(x, "keypress", et.keypressEvent)),
                                                                                tt.on(x, "input", et.inputFallBackEvent),
                                                                                tt.on(x, "beforeinput", et.beforeInputEvent)),
                                                                           tt.on(x, "setvalue", et.setValueEvent),
                                                                           (m = F().join("")),
                                                                           "" !== x.inputmask._valueGet(!0) || !1 === d.clearMaskOnLostFocus || n.activeElement === x)
                                                                      ) {
                                                                           var o = (t.isFunction(d.onBeforeMask) && d.onBeforeMask.call(_, x.inputmask._valueGet(!0), d)) || x.inputmask._valueGet(!0);
                                                                           "" !== o && it(x, !0, !1, o.split(""));
                                                                           var l = H().slice();
                                                                           (m = l.join("")),
                                                                                !1 === st(l) && d.clearIncomplete && L(),
                                                                                d.clearMaskOnLostFocus && n.activeElement !== x && (-1 === E() ? (l = []) : at(l)),
                                                                                (!1 === d.clearMaskOnLostFocus || (d.showMaskOnFocus && n.activeElement === x) || "" !== x.inputmask._valueGet(!0)) && Z(x, l),
                                                                                n.activeElement === x && rt(x, X(E()));
                                                                      }
                                                                 })(x);
                                                                 break;
                                                            case "format":
                                                                 return (
                                                                      (Q = ((t.isFunction(d.onBeforeMask) && d.onBeforeMask.call(_, r.value, d)) || r.value).split("")),
                                                                      it.call(this, i, !0, !1, Q),
                                                                      r.metadata
                                                                           ? { value: w ? H().slice().reverse().join("") : H().join(""), metadata: f.call(this, { action: "getmetadata" }, h, d) }
                                                                           : w
                                                                           ? H().slice().reverse().join("")
                                                                           : H().join("")
                                                                 );
                                                            case "isValid":
                                                                 r.value ? ((Q = r.value.split("")), it.call(this, i, !0, !0, Q)) : (r.value = H().join(""));
                                                                 for (var ht = H(), dt = ot(), pt = ht.length - 1; pt > dt && !$(pt); pt--);
                                                                 return ht.splice(dt, pt + 1 - dt), st(ht) && r.value === H().join("");
                                                            case "getemptymask":
                                                                 return F().join("");
                                                            case "remove":
                                                                 return (
                                                                      x &&
                                                                           x.inputmask &&
                                                                           (t.data(x, "_inputmask_opts", null),
                                                                           (g = t(x)),
                                                                           x.inputmask._valueSet(d.autoUnmask ? nt(x) : x.inputmask._valueGet(!0)),
                                                                           tt.off(x),
                                                                           x.inputmask.colorMask && ((y = x.inputmask.colorMask).removeChild(x), y.parentNode.insertBefore(x, y), y.parentNode.removeChild(y)),
                                                                           Object.getOwnPropertyDescriptor && Object.getPrototypeOf
                                                                                ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(x), "value") &&
                                                                                  x.inputmask.__valueGet &&
                                                                                  Object.defineProperty(x, "value", { get: x.inputmask.__valueGet, set: x.inputmask.__valueSet, configurable: !0 })
                                                                                : n.__lookupGetter__ &&
                                                                                  x.__lookupGetter__("value") &&
                                                                                  x.inputmask.__valueGet &&
                                                                                  (x.__defineGetter__("value", x.inputmask.__valueGet), x.__defineSetter__("value", x.inputmask.__valueSet)),
                                                                           (x.inputmask = i)),
                                                                      x
                                                                 );
                                                            case "getmetadata":
                                                                 if (t.isArray(h.metadata)) {
                                                                      var ft = C(!0, 0, !1).join("");
                                                                      return (
                                                                           t.each(h.metadata, function (t, e) {
                                                                                if (e.mask === ft) return (ft = e), !1;
                                                                           }),
                                                                           ft
                                                                      );
                                                                 }
                                                                 return h.metadata;
                                                       }
                                             }
                                             return (
                                                  (u.prototype = {
                                                       dataAttribute: "data-inputmask",
                                                       defaults: {
                                                            placeholder: "_",
                                                            optionalmarker: ["[", "]"],
                                                            quantifiermarker: ["{", "}"],
                                                            groupmarker: ["(", ")"],
                                                            alternatormarker: "|",
                                                            escapeChar: "\\",
                                                            mask: null,
                                                            regex: null,
                                                            oncomplete: t.noop,
                                                            onincomplete: t.noop,
                                                            oncleared: t.noop,
                                                            repeat: 0,
                                                            greedy: !1,
                                                            autoUnmask: !1,
                                                            removeMaskOnSubmit: !1,
                                                            clearMaskOnLostFocus: !0,
                                                            insertMode: !0,
                                                            clearIncomplete: !1,
                                                            alias: null,
                                                            onKeyDown: t.noop,
                                                            onBeforeMask: null,
                                                            onBeforePaste: function (e, i) {
                                                                 return t.isFunction(i.onBeforeMask) ? i.onBeforeMask.call(this, e, i) : e;
                                                            },
                                                            onBeforeWrite: null,
                                                            onUnMask: null,
                                                            showMaskOnFocus: !0,
                                                            showMaskOnHover: !0,
                                                            onKeyValidation: t.noop,
                                                            skipOptionalPartCharacter: " ",
                                                            numericInput: !1,
                                                            rightAlign: !1,
                                                            undoOnEscape: !0,
                                                            radixPoint: "",
                                                            _radixDance: !1,
                                                            groupSeparator: "",
                                                            keepStatic: null,
                                                            positionCaretOnTab: !0,
                                                            tabThrough: !1,
                                                            supportsInputType: ["text", "tel", "url", "password", "search"],
                                                            ignorables: [8, 9, 13, 19, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 93, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 229],
                                                            isComplete: null,
                                                            preValidation: null,
                                                            postValidation: null,
                                                            staticDefinitionSymbol: i,
                                                            jitMasking: !1,
                                                            nullable: !0,
                                                            inputEventOnly: !1,
                                                            noValuePatching: !1,
                                                            positionCaretOnClick: "lvp",
                                                            casing: null,
                                                            inputmode: "verbatim",
                                                            colorMask: !1,
                                                            disablePredictiveText: !1,
                                                            importDataAttributes: !0,
                                                            shiftPositions: !0,
                                                       },
                                                       definitions: { 9: { validator: "[0-9１-９]", definitionSymbol: "*" }, a: { validator: "[A-Za-zА-яЁёÀ-ÿµ]", definitionSymbol: "*" }, "*": { validator: "[0-9１-９A-Za-zА-яЁёÀ-ÿµ]" } },
                                                       aliases: {},
                                                       masksCache: {},
                                                       mask: function (r) {
                                                            var o = this;
                                                            return (
                                                                 "string" == typeof r && (r = n.getElementById(r) || n.querySelectorAll(r)),
                                                                 (r = r.nodeName ? [r] : r),
                                                                 t.each(r, function (n, r) {
                                                                      var a = t.extend(!0, {}, o.opts);
                                                                      if (
                                                                           (function (n, r, o, a) {
                                                                                if (!0 === r.importDataAttributes) {
                                                                                     var s,
                                                                                          l,
                                                                                          c,
                                                                                          u,
                                                                                          d = n.getAttribute(a),
                                                                                          p = function (t, r) {
                                                                                               null !== (r = r !== i ? r : n.getAttribute(a + "-" + t)) &&
                                                                                                    ("string" == typeof r && (0 === t.indexOf("on") ? (r = e[r]) : "false" === r ? (r = !1) : "true" === r && (r = !0)), (o[t] = r));
                                                                                          };
                                                                                     if ((d && "" !== d && ((d = d.replace(/'/g, '"')), (l = JSON.parse("{" + d + "}"))), l))
                                                                                          for (u in ((c = i), l))
                                                                                               if ("alias" === u.toLowerCase()) {
                                                                                                    c = l[u];
                                                                                                    break;
                                                                                               }
                                                                                     for (s in (p("alias", c), o.alias && h(o.alias, o, r), r)) {
                                                                                          if (l)
                                                                                               for (u in ((c = i), l))
                                                                                                    if (u.toLowerCase() === s.toLowerCase()) {
                                                                                                         c = l[u];
                                                                                                         break;
                                                                                                    }
                                                                                          p(s, c);
                                                                                     }
                                                                                }
                                                                                return (
                                                                                     t.extend(!0, r, o),
                                                                                     ("rtl" === n.dir || r.rightAlign) && (n.style.textAlign = "right"),
                                                                                     ("rtl" === n.dir || r.numericInput) && ((n.dir = "ltr"), n.removeAttribute("dir"), (r.isRTL = !0)),
                                                                                     Object.keys(o).length
                                                                                );
                                                                           })(r, a, t.extend(!0, {}, o.userOptions), o.dataAttribute)
                                                                      ) {
                                                                           var s = d(a, o.noMasksCache);
                                                                           s !== i &&
                                                                                (r.inputmask !== i && ((r.inputmask.opts.autoUnmask = !0), r.inputmask.remove()),
                                                                                (r.inputmask = new u(i, i, !0)),
                                                                                (r.inputmask.opts = a),
                                                                                (r.inputmask.noMasksCache = o.noMasksCache),
                                                                                (r.inputmask.userOptions = t.extend(!0, {}, o.userOptions)),
                                                                                (r.inputmask.isRTL = a.isRTL || a.numericInput),
                                                                                (r.inputmask.el = r),
                                                                                (r.inputmask.maskset = s),
                                                                                t.data(r, "_inputmask_opts", a),
                                                                                f.call(r.inputmask, { action: "mask" }));
                                                                      }
                                                                 }),
                                                                 (r && r[0] && r[0].inputmask) || this
                                                            );
                                                       },
                                                       option: function (e, i) {
                                                            return "string" == typeof e
                                                                 ? this.opts[e]
                                                                 : "object" === (void 0 === e ? "undefined" : a(e))
                                                                 ? (t.extend(this.userOptions, e), this.el && !0 !== i && this.mask(this.el), this)
                                                                 : void 0;
                                                       },
                                                       unmaskedvalue: function (t) {
                                                            return (this.maskset = this.maskset || d(this.opts, this.noMasksCache)), f.call(this, { action: "unmaskedvalue", value: t });
                                                       },
                                                       remove: function () {
                                                            return f.call(this, { action: "remove" });
                                                       },
                                                       getemptymask: function () {
                                                            return (this.maskset = this.maskset || d(this.opts, this.noMasksCache)), f.call(this, { action: "getemptymask" });
                                                       },
                                                       hasMaskedValue: function () {
                                                            return !this.opts.autoUnmask;
                                                       },
                                                       isComplete: function () {
                                                            return (this.maskset = this.maskset || d(this.opts, this.noMasksCache)), f.call(this, { action: "isComplete" });
                                                       },
                                                       getmetadata: function () {
                                                            return (this.maskset = this.maskset || d(this.opts, this.noMasksCache)), f.call(this, { action: "getmetadata" });
                                                       },
                                                       isValid: function (t) {
                                                            return (this.maskset = this.maskset || d(this.opts, this.noMasksCache)), f.call(this, { action: "isValid", value: t });
                                                       },
                                                       format: function (t, e) {
                                                            return (this.maskset = this.maskset || d(this.opts, this.noMasksCache)), f.call(this, { action: "format", value: t, metadata: e });
                                                       },
                                                       setValue: function (e) {
                                                            this.el && t(this.el).trigger("setvalue", [e]);
                                                       },
                                                       analyseMask: function (e, n, r) {
                                                            var o,
                                                                 a,
                                                                 s,
                                                                 l,
                                                                 c,
                                                                 h,
                                                                 d = /(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?(?:\|[0-9\+\*]*)?\})|[^.?*+^${[]()|\\]+|./g,
                                                                 p = /\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,
                                                                 f = !1,
                                                                 m = new y(),
                                                                 g = [],
                                                                 v = [];
                                                            function y(t, e, i, n) {
                                                                 (this.matches = []),
                                                                      (this.openGroup = t || !1),
                                                                      (this.alternatorGroup = !1),
                                                                      (this.isGroup = t || !1),
                                                                      (this.isOptional = e || !1),
                                                                      (this.isQuantifier = i || !1),
                                                                      (this.isAlternator = n || !1),
                                                                      (this.quantifier = { min: 1, max: 1 });
                                                            }
                                                            function b(e, o, a) {
                                                                 a = a !== i ? a : e.matches.length;
                                                                 var s = e.matches[a - 1];
                                                                 if (n)
                                                                      0 === o.indexOf("[") || (f && /\\d|\\s|\\w]/i.test(o)) || "." === o
                                                                           ? e.matches.splice(a++, 0, {
                                                                                  fn: new RegExp(o, r.casing ? "i" : ""),
                                                                                  optionality: !1,
                                                                                  newBlockMarker: s === i ? "master" : s.def !== o,
                                                                                  casing: null,
                                                                                  def: o,
                                                                                  placeholder: i,
                                                                                  nativeDef: o,
                                                                             })
                                                                           : (f && (o = o[o.length - 1]),
                                                                             t.each(o.split(""), function (t, n) {
                                                                                  (s = e.matches[a - 1]),
                                                                                       e.matches.splice(a++, 0, {
                                                                                            fn: null,
                                                                                            optionality: !1,
                                                                                            newBlockMarker: s === i ? "master" : s.def !== n && null !== s.fn,
                                                                                            casing: null,
                                                                                            def: r.staticDefinitionSymbol || n,
                                                                                            placeholder: r.staticDefinitionSymbol !== i ? n : i,
                                                                                            nativeDef: (f ? "'" : "") + n,
                                                                                       });
                                                                             })),
                                                                           (f = !1);
                                                                 else {
                                                                      var l = (r.definitions ? r.definitions[o] : i) || u.prototype.definitions[o];
                                                                      l && !f
                                                                           ? e.matches.splice(a++, 0, {
                                                                                  fn: l.validator
                                                                                       ? "string" == typeof l.validator
                                                                                            ? new RegExp(l.validator, r.casing ? "i" : "")
                                                                                            : new (function () {
                                                                                                   this.test = l.validator;
                                                                                              })()
                                                                                       : new RegExp("."),
                                                                                  optionality: !1,
                                                                                  newBlockMarker: s === i ? "master" : s.def !== (l.definitionSymbol || o),
                                                                                  casing: l.casing,
                                                                                  def: l.definitionSymbol || o,
                                                                                  placeholder: l.placeholder,
                                                                                  nativeDef: o,
                                                                             })
                                                                           : (e.matches.splice(a++, 0, {
                                                                                  fn: null,
                                                                                  optionality: !1,
                                                                                  newBlockMarker: s === i ? "master" : s.def !== o && null !== s.fn,
                                                                                  casing: null,
                                                                                  def: r.staticDefinitionSymbol || o,
                                                                                  placeholder: r.staticDefinitionSymbol !== i ? o : i,
                                                                                  nativeDef: (f ? "'" : "") + o,
                                                                             }),
                                                                             (f = !1));
                                                                 }
                                                            }
                                                            function _() {
                                                                 if (g.length > 0) {
                                                                      if ((b((l = g[g.length - 1]), a), l.isAlternator)) {
                                                                           c = g.pop();
                                                                           for (var t = 0; t < c.matches.length; t++) c.matches[t].isGroup && (c.matches[t].isGroup = !1);
                                                                           g.length > 0 ? (l = g[g.length - 1]).matches.push(c) : m.matches.push(c);
                                                                      }
                                                                 } else b(m, a);
                                                            }
                                                            function x(t) {
                                                                 var e = new y(!0);
                                                                 return (e.openGroup = !1), (e.matches = t), e;
                                                            }
                                                            for (n && ((r.optionalmarker[0] = i), (r.optionalmarker[1] = i)); (o = n ? p.exec(e) : d.exec(e)); ) {
                                                                 if (((a = o[0]), n))
                                                                      switch (a.charAt(0)) {
                                                                           case "?":
                                                                                a = "{0,1}";
                                                                                break;
                                                                           case "+":
                                                                           case "*":
                                                                                a = "{" + a + "}";
                                                                      }
                                                                 if (f) _();
                                                                 else
                                                                      switch (a.charAt(0)) {
                                                                           case "(?=":
                                                                           case "(?!":
                                                                           case "(?<=":
                                                                           case "(?<!":
                                                                                break;
                                                                           case r.escapeChar:
                                                                                (f = !0), n && _();
                                                                                break;
                                                                           case r.optionalmarker[1]:
                                                                           case r.groupmarker[1]:
                                                                                if ((((s = g.pop()).openGroup = !1), s !== i))
                                                                                     if (g.length > 0) {
                                                                                          if (((l = g[g.length - 1]).matches.push(s), l.isAlternator)) {
                                                                                               c = g.pop();
                                                                                               for (var w = 0; w < c.matches.length; w++) (c.matches[w].isGroup = !1), (c.matches[w].alternatorGroup = !1);
                                                                                               g.length > 0 ? (l = g[g.length - 1]).matches.push(c) : m.matches.push(c);
                                                                                          }
                                                                                     } else m.matches.push(s);
                                                                                else _();
                                                                                break;
                                                                           case r.optionalmarker[0]:
                                                                                g.push(new y(!1, !0));
                                                                                break;
                                                                           case r.groupmarker[0]:
                                                                                g.push(new y(!0));
                                                                                break;
                                                                           case r.quantifiermarker[0]:
                                                                                var k = new y(!1, !1, !0),
                                                                                     S = (a = a.replace(/[{}]/g, "")).split("|"),
                                                                                     M = S[0].split(","),
                                                                                     T = isNaN(M[0]) ? M[0] : parseInt(M[0]),
                                                                                     C = 1 === M.length ? T : isNaN(M[1]) ? M[1] : parseInt(M[1]);
                                                                                ("*" !== T && "+" !== T) || (T = "*" === C ? 0 : 1), (k.quantifier = { min: T, max: C, jit: S[1] });
                                                                                var D = g.length > 0 ? g[g.length - 1].matches : m.matches;
                                                                                if ((o = D.pop()).isAlternator) {
                                                                                     D.push(o), (D = o.matches);
                                                                                     var L = new y(!0),
                                                                                          E = D.pop();
                                                                                     D.push(L), (D = L.matches), (o = E);
                                                                                }
                                                                                o.isGroup || (o = x([o])), D.push(o), D.push(k);
                                                                                break;
                                                                           case r.alternatormarker:
                                                                                var A = function (t) {
                                                                                     var e = t.pop();
                                                                                     return e.isQuantifier && (e = x([t.pop(), e])), e;
                                                                                };
                                                                                if (g.length > 0) {
                                                                                     var P = (l = g[g.length - 1]).matches[l.matches.length - 1];
                                                                                     h = l.openGroup && (P.matches === i || (!1 === P.isGroup && !1 === P.isAlternator)) ? g.pop() : A(l.matches);
                                                                                } else h = A(m.matches);
                                                                                if (h.isAlternator) g.push(h);
                                                                                else if ((h.alternatorGroup ? ((c = g.pop()), (h.alternatorGroup = !1)) : (c = new y(!1, !1, !1, !0)), c.matches.push(h), g.push(c), h.openGroup)) {
                                                                                     h.openGroup = !1;
                                                                                     var I = new y(!0);
                                                                                     (I.alternatorGroup = !0), g.push(I);
                                                                                }
                                                                                break;
                                                                           default:
                                                                                _();
                                                                      }
                                                            }
                                                            for (; g.length > 0; ) (s = g.pop()), m.matches.push(s);
                                                            return (
                                                                 m.matches.length > 0 &&
                                                                      ((function e(o) {
                                                                           o &&
                                                                                o.matches &&
                                                                                t.each(o.matches, function (t, a) {
                                                                                     var s = o.matches[t + 1];
                                                                                     (s === i || s.matches === i || !1 === s.isQuantifier) &&
                                                                                          a &&
                                                                                          a.isGroup &&
                                                                                          ((a.isGroup = !1), n || (b(a, r.groupmarker[0], 0), !0 !== a.openGroup && b(a, r.groupmarker[1]))),
                                                                                          e(a);
                                                                                });
                                                                      })(m),
                                                                      v.push(m)),
                                                                 (r.numericInput || r.isRTL) &&
                                                                      (function t(e) {
                                                                           for (var n in ((e.matches = e.matches.reverse()), e.matches))
                                                                                if (e.matches.hasOwnProperty(n)) {
                                                                                     var o = parseInt(n);
                                                                                     if (e.matches[n].isQuantifier && e.matches[o + 1] && e.matches[o + 1].isGroup) {
                                                                                          var a = e.matches[n];
                                                                                          e.matches.splice(n, 1), e.matches.splice(o + 1, 0, a);
                                                                                     }
                                                                                     e.matches[n].matches !== i
                                                                                          ? (e.matches[n] = t(e.matches[n]))
                                                                                          : (e.matches[n] =
                                                                                                 ((s = e.matches[n]) === r.optionalmarker[0]
                                                                                                      ? (s = r.optionalmarker[1])
                                                                                                      : s === r.optionalmarker[1]
                                                                                                      ? (s = r.optionalmarker[0])
                                                                                                      : s === r.groupmarker[0]
                                                                                                      ? (s = r.groupmarker[1])
                                                                                                      : s === r.groupmarker[1] && (s = r.groupmarker[0]),
                                                                                                 s));
                                                                                }
                                                                           var s;
                                                                           return e;
                                                                      })(v[0]),
                                                                 v
                                                            );
                                                       },
                                                       positionColorMask: function (t, e) {
                                                            t.style.left = e.offsetLeft + "px";
                                                       },
                                                  }),
                                                  (u.extendDefaults = function (e) {
                                                       t.extend(!0, u.prototype.defaults, e);
                                                  }),
                                                  (u.extendDefinitions = function (e) {
                                                       t.extend(!0, u.prototype.definitions, e);
                                                  }),
                                                  (u.extendAliases = function (e) {
                                                       t.extend(!0, u.prototype.aliases, e);
                                                  }),
                                                  (u.format = function (t, e, i) {
                                                       return u(e).format(t, i);
                                                  }),
                                                  (u.unmask = function (t, e) {
                                                       return u(e).unmaskedvalue(t);
                                                  }),
                                                  (u.isValid = function (t, e) {
                                                       return u(e).isValid(t);
                                                  }),
                                                  (u.remove = function (e) {
                                                       "string" == typeof e && (e = n.getElementById(e) || n.querySelectorAll(e)),
                                                            (e = e.nodeName ? [e] : e),
                                                            t.each(e, function (t, e) {
                                                                 e.inputmask && e.inputmask.remove();
                                                            });
                                                  }),
                                                  (u.setValue = function (e, i) {
                                                       "string" == typeof e && (e = n.getElementById(e) || n.querySelectorAll(e)),
                                                            (e = e.nodeName ? [e] : e),
                                                            t.each(e, function (e, n) {
                                                                 n.inputmask ? n.inputmask.setValue(i) : t(n).trigger("setvalue", [i]);
                                                            });
                                                  }),
                                                  (u.escapeRegex = function (t) {
                                                       return t.replace(new RegExp("(\\" + ["/", ".", "*", "+", "?", "|", "(", ")", "[", "]", "{", "}", "\\", "$", "^"].join("|\\") + ")", "gim"), "\\$1");
                                                  }),
                                                  (u.keyCode = {
                                                       BACKSPACE: 8,
                                                       BACKSPACE_SAFARI: 127,
                                                       DELETE: 46,
                                                       DOWN: 40,
                                                       END: 35,
                                                       ENTER: 13,
                                                       ESCAPE: 27,
                                                       HOME: 36,
                                                       INSERT: 45,
                                                       LEFT: 37,
                                                       PAGE_DOWN: 34,
                                                       PAGE_UP: 33,
                                                       RIGHT: 39,
                                                       SPACE: 32,
                                                       TAB: 9,
                                                       UP: 38,
                                                       X: 88,
                                                       CONTROL: 17,
                                                  }),
                                                  (u.dependencyLib = t),
                                                  u
                                             );
                                        })
                                             ? n.apply(e, r)
                                             : n) || (t.exports = o);
                    },
                    function (t, e, i) {
                         "use strict";
                         var n, r, o;
                         "function" == typeof Symbol && Symbol.iterator;
                         (r = [i(4)]),
                              void 0 ===
                                   (o =
                                        "function" ==
                                        typeof (n = function (t) {
                                             return t;
                                        })
                                             ? n.apply(e, r)
                                             : n) || (t.exports = o);
                    },
                    function (t, e) {
                         t.exports = jQuery;
                    },
                    function (module, exports, __webpack_require__) {
                         "use strict";
                         var __WEBPACK_AMD_DEFINE_RESULT__,
                              _typeof =
                                   "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                        ? function (t) {
                                               return typeof t;
                                          }
                                        : function (t) {
                                               return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                          };
                         (__WEBPACK_AMD_DEFINE_RESULT__ = function () {
                              return "undefined" != typeof window ? window : new (eval("require('jsdom').JSDOM"))("").window;
                         }.call(exports, __webpack_require__, exports, module)),
                              void 0 === __WEBPACK_AMD_DEFINE_RESULT__ || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__);
                    },
                    function (t, e, i) {
                         "use strict";
                         var n,
                              r,
                              o,
                              a =
                                   "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                        ? function (t) {
                                               return typeof t;
                                          }
                                        : function (t) {
                                               return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                          };
                         (r = [i(2)]),
                              void 0 ===
                                   (o =
                                        "function" ==
                                        typeof (n = function (t) {
                                             var e = t.dependencyLib,
                                                  i = {
                                                       d: ["[1-9]|[12][0-9]|3[01]", Date.prototype.setDate, "day", Date.prototype.getDate],
                                                       dd: [
                                                            "0[1-9]|[12][0-9]|3[01]",
                                                            Date.prototype.setDate,
                                                            "day",
                                                            function () {
                                                                 return s(Date.prototype.getDate.call(this), 2);
                                                            },
                                                       ],
                                                       ddd: [""],
                                                       dddd: [""],
                                                       m: [
                                                            "[1-9]|1[012]",
                                                            Date.prototype.setMonth,
                                                            "month",
                                                            function () {
                                                                 return Date.prototype.getMonth.call(this) + 1;
                                                            },
                                                       ],
                                                       mm: [
                                                            "0[1-9]|1[012]",
                                                            Date.prototype.setMonth,
                                                            "month",
                                                            function () {
                                                                 return s(Date.prototype.getMonth.call(this) + 1, 2);
                                                            },
                                                       ],
                                                       mmm: [""],
                                                       mmmm: [""],
                                                       yy: [
                                                            "[0-9]{2}",
                                                            Date.prototype.setFullYear,
                                                            "year",
                                                            function () {
                                                                 return s(Date.prototype.getFullYear.call(this), 2);
                                                            },
                                                       ],
                                                       yyyy: [
                                                            "[0-9]{4}",
                                                            Date.prototype.setFullYear,
                                                            "year",
                                                            function () {
                                                                 return s(Date.prototype.getFullYear.call(this), 4);
                                                            },
                                                       ],
                                                       h: ["[1-9]|1[0-2]", Date.prototype.setHours, "hours", Date.prototype.getHours],
                                                       hh: [
                                                            "0[1-9]|1[0-2]",
                                                            Date.prototype.setHours,
                                                            "hours",
                                                            function () {
                                                                 return s(Date.prototype.getHours.call(this), 2);
                                                            },
                                                       ],
                                                       hhh: ["[0-9]+", Date.prototype.setHours, "hours", Date.prototype.getHours],
                                                       H: ["1?[0-9]|2[0-3]", Date.prototype.setHours, "hours", Date.prototype.getHours],
                                                       HH: [
                                                            "0[0-9]|1[0-9]|2[0-3]",
                                                            Date.prototype.setHours,
                                                            "hours",
                                                            function () {
                                                                 return s(Date.prototype.getHours.call(this), 2);
                                                            },
                                                       ],
                                                       HHH: ["[0-9]+", Date.prototype.setHours, "hours", Date.prototype.getHours],
                                                       M: ["[1-5]?[0-9]", Date.prototype.setMinutes, "minutes", Date.prototype.getMinutes],
                                                       MM: [
                                                            "0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]",
                                                            Date.prototype.setMinutes,
                                                            "minutes",
                                                            function () {
                                                                 return s(Date.prototype.getMinutes.call(this), 2);
                                                            },
                                                       ],
                                                       ss: [
                                                            "[0-5][0-9]",
                                                            Date.prototype.setSeconds,
                                                            "seconds",
                                                            function () {
                                                                 return s(Date.prototype.getSeconds.call(this), 2);
                                                            },
                                                       ],
                                                       l: [
                                                            "[0-9]{3}",
                                                            Date.prototype.setMilliseconds,
                                                            "milliseconds",
                                                            function () {
                                                                 return s(Date.prototype.getMilliseconds.call(this), 3);
                                                            },
                                                       ],
                                                       L: [
                                                            "[0-9]{2}",
                                                            Date.prototype.setMilliseconds,
                                                            "milliseconds",
                                                            function () {
                                                                 return s(Date.prototype.getMilliseconds.call(this), 2);
                                                            },
                                                       ],
                                                       t: ["[ap]"],
                                                       tt: ["[ap]m"],
                                                       T: ["[AP]"],
                                                       TT: ["[AP]M"],
                                                       Z: [""],
                                                       o: [""],
                                                       S: [""],
                                                  },
                                                  n = { isoDate: "yyyy-mm-dd", isoTime: "HH:MM:ss", isoDateTime: "yyyy-mm-dd'T'HH:MM:ss", isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'" };
                                             function r(t) {
                                                  if (!t.tokenizer) {
                                                       var e = [];
                                                       for (var n in i) -1 === e.indexOf(n[0]) && e.push(n[0]);
                                                       (t.tokenizer = "(" + e.join("+|") + ")+?|."), (t.tokenizer = new RegExp(t.tokenizer, "g"));
                                                  }
                                                  return t.tokenizer;
                                             }
                                             function o(e, n, o, a) {
                                                  for (var s, l = ""; (s = r(o).exec(e)); )
                                                       if (void 0 === n)
                                                            if (i[s[0]]) l += "(" + i[s[0]][0] + ")";
                                                            else
                                                                 switch (s[0]) {
                                                                      case "[":
                                                                           l += "(";
                                                                           break;
                                                                      case "]":
                                                                           l += ")?";
                                                                           break;
                                                                      default:
                                                                           l += t.escapeRegex(s[0]);
                                                                 }
                                                       else i[s[0]] ? (!0 !== a && i[s[0]][3] ? (l += i[s[0]][3].call(n.date)) : i[s[0]][2] ? (l += n["raw" + i[s[0]][2]]) : (l += s[0])) : (l += s[0]);
                                                  return l;
                                             }
                                             function s(t, e) {
                                                  for (t = String(t), e = e || 2; t.length < e; ) t = "0" + t;
                                                  return t;
                                             }
                                             function l(t, e, n) {
                                                  var o,
                                                       s,
                                                       l,
                                                       c = { date: new Date(1, 0, 1) },
                                                       u = t;
                                                  function h(t) {
                                                       var e = t.replace(/[^0-9]/g, "0");
                                                       if (e != t) {
                                                            var i = t.replace(/[^0-9]/g, ""),
                                                                 r = ((n.min && n.min[o]) || t).toString(),
                                                                 a = ((n.max && n.max[o]) || t).toString();
                                                            e = i + (i < r.slice(0, i.length) ? r.slice(i.length) : i > a.slice(0, i.length) ? a.slice(i.length) : e.toString().slice(i.length));
                                                       }
                                                       return e;
                                                  }
                                                  function d(t, e, i) {
                                                       (t[o] = h(e)), (t["raw" + o] = e), void 0 !== l && l.call(t.date, "month" == o ? parseInt(t[o]) - 1 : t[o]);
                                                  }
                                                  if ("string" == typeof u) {
                                                       for (; (s = r(n).exec(e)); ) {
                                                            var p = u.slice(0, s[0].length);
                                                            i.hasOwnProperty(s[0]) && (i[s[0]][0], (o = i[s[0]][2]), (l = i[s[0]][1]), d(c, p)), (u = u.slice(p.length));
                                                       }
                                                       return c;
                                                  }
                                                  if (u && "object" === (void 0 === u ? "undefined" : a(u)) && u.hasOwnProperty("date")) return u;
                                             }
                                             return (
                                                  t.extendAliases({
                                                       datetime: {
                                                            mask: function (t) {
                                                                 return (
                                                                      (i.S = t.i18n.ordinalSuffix.join("|")),
                                                                      (t.inputFormat = n[t.inputFormat] || t.inputFormat),
                                                                      (t.displayFormat = n[t.displayFormat] || t.displayFormat || t.inputFormat),
                                                                      (t.outputFormat = n[t.outputFormat] || t.outputFormat || t.inputFormat),
                                                                      (t.placeholder = "" !== t.placeholder ? t.placeholder : t.inputFormat.replace(/[\[\]]/, "")),
                                                                      (t.regex = o(t.inputFormat, void 0, t)),
                                                                      null
                                                                 );
                                                            },
                                                            placeholder: "",
                                                            inputFormat: "isoDateTime",
                                                            displayFormat: void 0,
                                                            outputFormat: void 0,
                                                            min: null,
                                                            max: null,
                                                            i18n: {
                                                                 dayNames: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
                                                                 monthNames: [
                                                                      "Jan",
                                                                      "Feb",
                                                                      "Mar",
                                                                      "Apr",
                                                                      "May",
                                                                      "Jun",
                                                                      "Jul",
                                                                      "Aug",
                                                                      "Sep",
                                                                      "Oct",
                                                                      "Nov",
                                                                      "Dec",
                                                                      "January",
                                                                      "February",
                                                                      "March",
                                                                      "April",
                                                                      "May",
                                                                      "June",
                                                                      "July",
                                                                      "August",
                                                                      "September",
                                                                      "October",
                                                                      "November",
                                                                      "December",
                                                                 ],
                                                                 ordinalSuffix: ["st", "nd", "rd", "th"],
                                                            },
                                                            postValidation: function (t, e, i, n) {
                                                                 (n.min = l(n.min, n.inputFormat, n)), (n.max = l(n.max, n.inputFormat, n));
                                                                 var r = i,
                                                                      a = l(t.join(""), n.inputFormat, n);
                                                                 return (
                                                                      r &&
                                                                           a.date.getTime() == a.date.getTime() &&
                                                                           (r =
                                                                                (r = (function (t, e) {
                                                                                     return (
                                                                                          (!isFinite(t.rawday) ||
                                                                                               ("29" == t.day && !isFinite(t.rawyear)) ||
                                                                                               new Date(t.date.getFullYear(), isFinite(t.rawmonth) ? t.month : t.date.getMonth() + 1, 0).getDate() >= t.day) &&
                                                                                          e
                                                                                     );
                                                                                })(a, r)) &&
                                                                                (function (t, e) {
                                                                                     var i = !0;
                                                                                     if (e.min) {
                                                                                          if (t.rawyear) {
                                                                                               var n = t.rawyear.replace(/[^0-9]/g, ""),
                                                                                                    r = e.min.year.substr(0, n.length);
                                                                                               i = r <= n;
                                                                                          }
                                                                                          t.year === t.rawyear && e.min.date.getTime() == e.min.date.getTime() && (i = e.min.date.getTime() <= t.date.getTime());
                                                                                     }
                                                                                     return i && e.max && e.max.date.getTime() == e.max.date.getTime() && (i = e.max.date.getTime() >= t.date.getTime()), i;
                                                                                })(a, n)),
                                                                      e && r && i.pos !== e ? { buffer: o(n.inputFormat, a, n), refreshFromBuffer: { start: e, end: i.pos } } : r
                                                                 );
                                                            },
                                                            onKeyDown: function (i, n, o, a) {
                                                                 if (i.ctrlKey && i.keyCode === t.keyCode.RIGHT) {
                                                                      for (var l, c = new Date(), u = ""; (l = r(a).exec(a.inputFormat)); )
                                                                           "d" === l[0].charAt(0)
                                                                                ? (u += s(c.getDate(), l[0].length))
                                                                                : "m" === l[0].charAt(0)
                                                                                ? (u += s(c.getMonth() + 1, l[0].length))
                                                                                : "yyyy" === l[0]
                                                                                ? (u += c.getFullYear().toString())
                                                                                : "y" === l[0].charAt(0) && (u += s(c.getYear(), l[0].length));
                                                                      this.inputmask._valueSet(u), e(this).trigger("setvalue");
                                                                 }
                                                            },
                                                            onUnMask: function (t, e, i) {
                                                                 return o(i.outputFormat, l(t, i.inputFormat, i), i, !0);
                                                            },
                                                            casing: function (t, e, i, n) {
                                                                 return 0 == e.nativeDef.indexOf("[ap]") ? t.toLowerCase() : 0 == e.nativeDef.indexOf("[AP]") ? t.toUpperCase() : t;
                                                            },
                                                            insertMode: !1,
                                                            shiftPositions: !1,
                                                       },
                                                  }),
                                                  t
                                             );
                                        })
                                             ? n.apply(e, r)
                                             : n) || (t.exports = o);
                    },
                    function (t, e, i) {
                         "use strict";
                         var n, r, o;
                         "function" == typeof Symbol && Symbol.iterator;
                         (r = [i(2)]),
                              void 0 ===
                                   (o =
                                        "function" ==
                                        typeof (n = function (t) {
                                             var e = t.dependencyLib;
                                             function i(e, i) {
                                                  for (var n = "", r = 0; r < e.length; r++)
                                                       t.prototype.definitions[e.charAt(r)] ||
                                                       i.definitions[e.charAt(r)] ||
                                                       i.optionalmarker.start === e.charAt(r) ||
                                                       i.optionalmarker.end === e.charAt(r) ||
                                                       i.quantifiermarker.start === e.charAt(r) ||
                                                       i.quantifiermarker.end === e.charAt(r) ||
                                                       i.groupmarker.start === e.charAt(r) ||
                                                       i.groupmarker.end === e.charAt(r) ||
                                                       i.alternatormarker === e.charAt(r)
                                                            ? (n += "\\" + e.charAt(r))
                                                            : (n += e.charAt(r));
                                                  return n;
                                             }
                                             return (
                                                  t.extendAliases({
                                                       numeric: {
                                                            mask: function (t) {
                                                                 if (
                                                                      (0 !== t.repeat && isNaN(t.integerDigits) && (t.integerDigits = t.repeat),
                                                                      (t.repeat = 0),
                                                                      t.groupSeparator === t.radixPoint &&
                                                                           t.digits &&
                                                                           "0" !== t.digits &&
                                                                           ("." === t.radixPoint ? (t.groupSeparator = ",") : "," === t.radixPoint ? (t.groupSeparator = ".") : (t.groupSeparator = "")),
                                                                      " " === t.groupSeparator && (t.skipOptionalPartCharacter = void 0),
                                                                      (t.autoGroup = t.autoGroup && "" !== t.groupSeparator),
                                                                      t.autoGroup && ("string" == typeof t.groupSize && isFinite(t.groupSize) && (t.groupSize = parseInt(t.groupSize)), isFinite(t.integerDigits)))
                                                                 ) {
                                                                      var e = Math.floor(t.integerDigits / t.groupSize),
                                                                           n = t.integerDigits % t.groupSize;
                                                                      (t.integerDigits = parseInt(t.integerDigits) + (0 === n ? e - 1 : e)), t.integerDigits < 1 && (t.integerDigits = "*");
                                                                 }
                                                                 t.placeholder.length > 1 && (t.placeholder = t.placeholder.charAt(0)),
                                                                      "radixFocus" === t.positionCaretOnClick && "" === t.placeholder && !1 === t.integerOptional && (t.positionCaretOnClick = "lvp"),
                                                                      (t.definitions[";"] = t.definitions["~"]),
                                                                      (t.definitions[";"].definitionSymbol = "~"),
                                                                      !0 === t.numericInput &&
                                                                           ((t.positionCaretOnClick = "radixFocus" === t.positionCaretOnClick ? "lvp" : t.positionCaretOnClick),
                                                                           (t.digitsOptional = !1),
                                                                           isNaN(t.digits) && (t.digits = 2),
                                                                           (t.decimalProtect = !1));
                                                                 var r = "[+]";
                                                                 if (((r += i(t.prefix, t)), !0 === t.integerOptional ? (r += "~{1," + t.integerDigits + "}") : (r += "~{" + t.integerDigits + "}"), void 0 !== t.digits)) {
                                                                      var o = t.decimalProtect ? ":" : t.radixPoint,
                                                                           a = t.digits.toString().split(",");
                                                                      isFinite(a[0]) && a[1] && isFinite(a[1])
                                                                           ? (r += o + ";{" + t.digits + "}")
                                                                           : (isNaN(t.digits) || parseInt(t.digits) > 0) && (t.digitsOptional ? (r += "[" + o + ";{1," + t.digits + "}]") : (r += o + ";{" + t.digits + "}"));
                                                                 }
                                                                 return (r += i(t.suffix, t)), (r += "[-]"), (t.greedy = !1), r;
                                                            },
                                                            placeholder: "",
                                                            greedy: !1,
                                                            digits: "*",
                                                            digitsOptional: !0,
                                                            enforceDigitsOnBlur: !1,
                                                            radixPoint: ".",
                                                            positionCaretOnClick: "radixFocus",
                                                            groupSize: 3,
                                                            groupSeparator: "",
                                                            autoGroup: !1,
                                                            allowMinus: !0,
                                                            negationSymbol: { front: "-", back: "" },
                                                            integerDigits: "+",
                                                            integerOptional: !0,
                                                            prefix: "",
                                                            suffix: "",
                                                            rightAlign: !0,
                                                            decimalProtect: !0,
                                                            min: null,
                                                            max: null,
                                                            step: 1,
                                                            insertMode: !0,
                                                            autoUnmask: !1,
                                                            unmaskAsNumber: !1,
                                                            inputType: "text",
                                                            inputmode: "numeric",
                                                            preValidation: function (t, i, n, r, o, a) {
                                                                 if ("-" === n || n === o.negationSymbol.front)
                                                                      return !0 === o.allowMinus && ((o.isNegative = void 0 === o.isNegative || !o.isNegative), "" === t.join("") || { caret: a.validPositions[i] ? i : void 0, dopost: !0 });
                                                                 if (!1 === r && n === o.radixPoint && void 0 !== o.digits && (isNaN(o.digits) || parseInt(o.digits) > 0)) {
                                                                      var s = e.inArray(o.radixPoint, t);
                                                                      if (-1 !== s && void 0 !== a.validPositions[s]) return !0 === o.numericInput ? i === s : { caret: s + 1 };
                                                                 }
                                                                 return !0;
                                                            },
                                                            postValidation: function (i, n, r, o) {
                                                                 var a = o.suffix.split(""),
                                                                      s = o.prefix.split("");
                                                                 if (void 0 === r.pos && void 0 !== r.caret && !0 !== r.dopost) return r;
                                                                 var l = void 0 !== r.caret ? r.caret : r.pos,
                                                                      c = i.slice();
                                                                 o.numericInput && ((l = c.length - l - 1), (c = c.reverse()));
                                                                 var u = c[l];
                                                                 if ((u === o.groupSeparator && (u = c[(l += 1)]), l === c.length - o.suffix.length - 1 && u === o.radixPoint)) return r;
                                                                 void 0 !== u &&
                                                                      u !== o.radixPoint &&
                                                                      u !== o.negationSymbol.front &&
                                                                      u !== o.negationSymbol.back &&
                                                                      ((c[l] = "?"),
                                                                      o.prefix.length > 0 && l >= (!1 === o.isNegative ? 1 : 0) && l < o.prefix.length - 1 + (!1 === o.isNegative ? 1 : 0)
                                                                           ? (s[l - (!1 === o.isNegative ? 1 : 0)] = "?")
                                                                           : o.suffix.length > 0 &&
                                                                             l >= c.length - o.suffix.length - (!1 === o.isNegative ? 1 : 0) &&
                                                                             (a[l - (c.length - o.suffix.length - (!1 === o.isNegative ? 1 : 0))] = "?")),
                                                                      (s = s.join("")),
                                                                      (a = a.join(""));
                                                                 var h = c.join("").replace(s, "");
                                                                 if (
                                                                      ((h = (h = (h = (h = h.replace(a, "")).replace(new RegExp(t.escapeRegex(o.groupSeparator), "g"), "")).replace(
                                                                           new RegExp("[-" + t.escapeRegex(o.negationSymbol.front) + "]", "g"),
                                                                           ""
                                                                      )).replace(new RegExp(t.escapeRegex(o.negationSymbol.back) + "$"), "")),
                                                                      isNaN(o.placeholder) && (h = h.replace(new RegExp(t.escapeRegex(o.placeholder), "g"), "")),
                                                                      h.length > 1 && 1 !== h.indexOf(o.radixPoint) && ("0" === u && (h = h.replace(/^\?/g, "")), (h = h.replace(/^0/g, ""))),
                                                                      h.charAt(0) === o.radixPoint && "" !== o.radixPoint && !0 !== o.numericInput && (h = "0" + h),
                                                                      "" !== h)
                                                                 ) {
                                                                      if (((h = h.split("")), (!o.digitsOptional || (o.enforceDigitsOnBlur && "blur" === r.event)) && isFinite(o.digits))) {
                                                                           var d = e.inArray(o.radixPoint, h),
                                                                                p = e.inArray(o.radixPoint, c);
                                                                           -1 === d && (h.push(o.radixPoint), (d = h.length - 1));
                                                                           for (var f = 1; f <= o.digits; f++)
                                                                                (o.digitsOptional && (!o.enforceDigitsOnBlur || "blur" !== r.event)) || (void 0 !== h[d + f] && h[d + f] !== o.placeholder.charAt(0))
                                                                                     ? -1 !== p && void 0 !== c[p + f] && (h[d + f] = h[d + f] || c[p + f])
                                                                                     : (h[d + f] = r.placeholder || o.placeholder.charAt(0));
                                                                      }
                                                                      if (!0 !== o.autoGroup || "" === o.groupSeparator || (u === o.radixPoint && void 0 === r.pos && !r.dopost)) h = h.join("");
                                                                      else {
                                                                           var m = h[h.length - 1] === o.radixPoint && r.c === o.radixPoint;
                                                                           (h = t(
                                                                                (function (t, e) {
                                                                                     var i = "";
                                                                                     if (((i += "(" + e.groupSeparator + "*{" + e.groupSize + "}){*}"), "" !== e.radixPoint)) {
                                                                                          var n = t.join("").split(e.radixPoint);
                                                                                          n[1] && (i += e.radixPoint + "*{" + n[1].match(/^\d*\??\d*/)[0].length + "}");
                                                                                     }
                                                                                     return i;
                                                                                })(h, o),
                                                                                { numericInput: !0, jitMasking: !0, definitions: { "*": { validator: "[0-9?]", cardinality: 1 } } }
                                                                           ).format(h.join(""))),
                                                                                m && (h += o.radixPoint),
                                                                                h.charAt(0) === o.groupSeparator && h.substr(1);
                                                                      }
                                                                 }
                                                                 if (
                                                                      (o.isNegative && "blur" === r.event && (o.isNegative = "0" !== h),
                                                                      (h = s + h),
                                                                      (h += a),
                                                                      o.isNegative && ((h = o.negationSymbol.front + h), (h += o.negationSymbol.back)),
                                                                      (h = h.split("")),
                                                                      void 0 !== u)
                                                                 )
                                                                      if (u !== o.radixPoint && u !== o.negationSymbol.front && u !== o.negationSymbol.back) (l = e.inArray("?", h)) > -1 ? (h[l] = u) : (l = r.caret || 0);
                                                                      else if (u === o.radixPoint || u === o.negationSymbol.front || u === o.negationSymbol.back) {
                                                                           var g = e.inArray(u, h);
                                                                           -1 !== g && (l = g);
                                                                      }
                                                                 o.numericInput && ((l = h.length - l - 1), (h = h.reverse()));
                                                                 var v = { caret: (void 0 !== u && void 0 === r.pos) || void 0 === l ? l : l + (o.numericInput ? -1 : 1), buffer: h, refreshFromBuffer: r.dopost || i.join("") !== h.join("") };
                                                                 return v.refreshFromBuffer ? v : r;
                                                            },
                                                            onBeforeWrite: function (i, n, r, o) {
                                                                 if (i)
                                                                      switch (i.type) {
                                                                           case "keydown":
                                                                                return o.postValidation(n, r, { caret: r, dopost: !0 }, o);
                                                                           case "blur":
                                                                           case "checkval":
                                                                                var a;
                                                                                if (
                                                                                     ((function (e) {
                                                                                          void 0 === e.parseMinMaxOptions &&
                                                                                               (null !== e.min &&
                                                                                                    ((e.min = e.min.toString().replace(new RegExp(t.escapeRegex(e.groupSeparator), "g"), "")),
                                                                                                    "," === e.radixPoint && (e.min = e.min.replace(e.radixPoint, ".")),
                                                                                                    (e.min = isFinite(e.min) ? parseFloat(e.min) : NaN),
                                                                                                    isNaN(e.min) && (e.min = Number.MIN_VALUE)),
                                                                                               null !== e.max &&
                                                                                                    ((e.max = e.max.toString().replace(new RegExp(t.escapeRegex(e.groupSeparator), "g"), "")),
                                                                                                    "," === e.radixPoint && (e.max = e.max.replace(e.radixPoint, ".")),
                                                                                                    (e.max = isFinite(e.max) ? parseFloat(e.max) : NaN),
                                                                                                    isNaN(e.max) && (e.max = Number.MAX_VALUE)),
                                                                                               (e.parseMinMaxOptions = "done"));
                                                                                     })(o),
                                                                                     null !== o.min || null !== o.max)
                                                                                ) {
                                                                                     if (((a = o.onUnMask(n.join(""), void 0, e.extend({}, o, { unmaskAsNumber: !0 }))), null !== o.min && a < o.min))
                                                                                          return (
                                                                                               (o.isNegative = o.min < 0),
                                                                                               o.postValidation(o.min.toString().replace(".", o.radixPoint).split(""), r, { caret: r, dopost: !0, placeholder: "0" }, o)
                                                                                          );
                                                                                     if (null !== o.max && a > o.max)
                                                                                          return (
                                                                                               (o.isNegative = o.max < 0),
                                                                                               o.postValidation(o.max.toString().replace(".", o.radixPoint).split(""), r, { caret: r, dopost: !0, placeholder: "0" }, o)
                                                                                          );
                                                                                }
                                                                                return o.postValidation(n, r, { caret: r, placeholder: "0", event: "blur" }, o);
                                                                           case "_checkval":
                                                                                return { caret: r };
                                                                      }
                                                            },
                                                            regex: {
                                                                 integerPart: function (e, i) {
                                                                      return i ? new RegExp("[" + t.escapeRegex(e.negationSymbol.front) + "+]?") : new RegExp("[" + t.escapeRegex(e.negationSymbol.front) + "+]?\\d+");
                                                                 },
                                                                 integerNPart: function (e) {
                                                                      return new RegExp("[\\d" + t.escapeRegex(e.groupSeparator) + t.escapeRegex(e.placeholder.charAt(0)) + "]+");
                                                                 },
                                                            },
                                                            definitions: {
                                                                 "~": {
                                                                      validator: function (e, i, n, r, o, a) {
                                                                           var s;
                                                                           if ("k" === e || "m" === e) {
                                                                                s = { insert: [], c: 0 };
                                                                                for (var l = 0, c = "k" === e ? 2 : 5; l < c; l++) s.insert.push({ pos: n + l, c: 0 });
                                                                                return (s.pos = n + c), s;
                                                                           }
                                                                           if (!0 === (s = r ? new RegExp("[0-9" + t.escapeRegex(o.groupSeparator) + "]").test(e) : new RegExp("[0-9]").test(e))) {
                                                                                if (!0 !== o.numericInput && void 0 !== i.validPositions[n] && "~" === i.validPositions[n].match.def && !a) {
                                                                                     var u = i.buffer.join(""),
                                                                                          h = (u = (u = u.replace(new RegExp("[-" + t.escapeRegex(o.negationSymbol.front) + "]", "g"), "")).replace(
                                                                                               new RegExp(t.escapeRegex(o.negationSymbol.back) + "$"),
                                                                                               ""
                                                                                          )).split(o.radixPoint);
                                                                                     h.length > 1 && (h[1] = h[1].replace(/0/g, o.placeholder.charAt(0))),
                                                                                          "0" === h[0] && (h[0] = h[0].replace(/0/g, o.placeholder.charAt(0))),
                                                                                          (u = h[0] + o.radixPoint + h[1] || "");
                                                                                     var d = i._buffer.join("");
                                                                                     for (u === o.radixPoint && (u = d); null === u.match(t.escapeRegex(d) + "$"); ) d = d.slice(1);
                                                                                     s = void 0 === (u = (u = u.replace(d, "")).split(""))[n] ? { pos: n, remove: n } : { pos: n };
                                                                                }
                                                                           } else r || e !== o.radixPoint || void 0 !== i.validPositions[n - 1] || (s = { insert: { pos: n, c: 0 }, pos: n + 1 });
                                                                           return s;
                                                                      },
                                                                      cardinality: 1,
                                                                 },
                                                                 "+": {
                                                                      validator: function (t, e, i, n, r) {
                                                                           return r.allowMinus && ("-" === t || t === r.negationSymbol.front);
                                                                      },
                                                                      cardinality: 1,
                                                                      placeholder: "",
                                                                 },
                                                                 "-": {
                                                                      validator: function (t, e, i, n, r) {
                                                                           return r.allowMinus && t === r.negationSymbol.back;
                                                                      },
                                                                      cardinality: 1,
                                                                      placeholder: "",
                                                                 },
                                                                 ":": {
                                                                      validator: function (e, i, n, r, o) {
                                                                           var a = "[" + t.escapeRegex(o.radixPoint) + "]",
                                                                                s = new RegExp(a).test(e);
                                                                           return s && i.validPositions[n] && i.validPositions[n].match.placeholder === o.radixPoint && (s = { caret: n + 1 }), s;
                                                                      },
                                                                      cardinality: 1,
                                                                      placeholder: function (t) {
                                                                           return t.radixPoint;
                                                                      },
                                                                 },
                                                            },
                                                            onUnMask: function (e, i, n) {
                                                                 if ("" === i && !0 === n.nullable) return i;
                                                                 var r = e.replace(n.prefix, "");
                                                                 return (
                                                                      (r = (r = r.replace(n.suffix, "")).replace(new RegExp(t.escapeRegex(n.groupSeparator), "g"), "")),
                                                                      "" !== n.placeholder.charAt(0) && (r = r.replace(new RegExp(n.placeholder.charAt(0), "g"), "0")),
                                                                      n.unmaskAsNumber
                                                                           ? ("" !== n.radixPoint && -1 !== r.indexOf(n.radixPoint) && (r = r.replace(t.escapeRegex.call(this, n.radixPoint), ".")),
                                                                             (r = (r = r.replace(new RegExp("^" + t.escapeRegex(n.negationSymbol.front)), "-")).replace(new RegExp(t.escapeRegex(n.negationSymbol.back) + "$"), "")),
                                                                             Number(r))
                                                                           : r
                                                                 );
                                                            },
                                                            isComplete: function (e, i) {
                                                                 var n = (i.numericInput ? e.slice().reverse() : e).join("");
                                                                 return (
                                                                      (n = (n = (n = (n = (n = n.replace(new RegExp("^" + t.escapeRegex(i.negationSymbol.front)), "-")).replace(
                                                                           new RegExp(t.escapeRegex(i.negationSymbol.back) + "$"),
                                                                           ""
                                                                      )).replace(i.prefix, "")).replace(i.suffix, "")).replace(new RegExp(t.escapeRegex(i.groupSeparator) + "([0-9]{3})", "g"), "$1")),
                                                                      "," === i.radixPoint && (n = n.replace(t.escapeRegex(i.radixPoint), ".")),
                                                                      isFinite(n)
                                                                 );
                                                            },
                                                            onBeforeMask: function (i, n) {
                                                                 n.isNegative = void 0;
                                                                 var r = n.radixPoint || ",";
                                                                 ("number" != typeof i && "number" !== n.inputType) || "" === r || (i = i.toString().replace(".", r));
                                                                 var o = i.split(r),
                                                                      a = o[0].replace(/[^\-0-9]/g, ""),
                                                                      s = o.length > 1 ? o[1].replace(/[^0-9]/g, "") : "";
                                                                 i = a + ("" !== s ? r + s : s);
                                                                 var l = 0;
                                                                 if ("" !== r && ((l = s.length), "" !== s)) {
                                                                      var c = Math.pow(10, l || 1);
                                                                      isFinite(n.digits) && ((l = parseInt(n.digits)), (c = Math.pow(10, l))),
                                                                           (i = i.replace(t.escapeRegex(r), ".")),
                                                                           isFinite(i) && (i = Math.round(parseFloat(i) * c) / c),
                                                                           (i = i.toString().replace(".", r));
                                                                 }
                                                                 return (
                                                                      0 === n.digits && -1 !== i.indexOf(t.escapeRegex(r)) && (i = i.substring(0, i.indexOf(t.escapeRegex(r)))),
                                                                      (function (t, i, n) {
                                                                           if (i > 0) {
                                                                                var r = e.inArray(n.radixPoint, t);
                                                                                -1 === r && (t.push(n.radixPoint), (r = t.length - 1));
                                                                                for (var o = 1; o <= i; o++) t[r + o] = t[r + o] || "0";
                                                                           }
                                                                           return t;
                                                                      })(i.toString().split(""), l, n).join("")
                                                                 );
                                                            },
                                                            onKeyDown: function (i, n, r, o) {
                                                                 var a = e(this);
                                                                 if (i.ctrlKey)
                                                                      switch (i.keyCode) {
                                                                           case t.keyCode.UP:
                                                                                a.val(parseFloat(this.inputmask.unmaskedvalue()) + parseInt(o.step)), a.trigger("setvalue");
                                                                                break;
                                                                           case t.keyCode.DOWN:
                                                                                a.val(parseFloat(this.inputmask.unmaskedvalue()) - parseInt(o.step)), a.trigger("setvalue");
                                                                      }
                                                            },
                                                       },
                                                       currency: { prefix: "$ ", groupSeparator: ",", alias: "numeric", placeholder: "0", autoGroup: !0, digits: 2, digitsOptional: !1, clearMaskOnLostFocus: !1 },
                                                       decimal: { alias: "numeric" },
                                                       integer: { alias: "numeric", digits: 0, radixPoint: "" },
                                                       percentage: { alias: "numeric", digits: 2, digitsOptional: !0, radixPoint: ".", placeholder: "0", autoGroup: !1, min: 0, max: 100, suffix: " %", allowMinus: !1 },
                                                  }),
                                                  t
                                             );
                                        })
                                             ? n.apply(e, r)
                                             : n) || (t.exports = o);
                    },
                    function (t, e, i) {
                         "use strict";
                         var n,
                              r,
                              o,
                              a =
                                   "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                                        ? function (t) {
                                               return typeof t;
                                          }
                                        : function (t) {
                                               return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
                                          };
                         (r = [i(4), i(2)]),
                              void 0 ===
                                   (o =
                                        "function" ==
                                        typeof (n = function (t, e) {
                                             return (
                                                  void 0 === t.fn.inputmask &&
                                                       (t.fn.inputmask = function (i, n) {
                                                            var r,
                                                                 o = this[0];
                                                            if ((void 0 === n && (n = {}), "string" == typeof i))
                                                                 switch (i) {
                                                                      case "unmaskedvalue":
                                                                           return o && o.inputmask ? o.inputmask.unmaskedvalue() : t(o).val();
                                                                      case "remove":
                                                                           return this.each(function () {
                                                                                this.inputmask && this.inputmask.remove();
                                                                           });
                                                                      case "getemptymask":
                                                                           return o && o.inputmask ? o.inputmask.getemptymask() : "";
                                                                      case "hasMaskedValue":
                                                                           return !(!o || !o.inputmask) && o.inputmask.hasMaskedValue();
                                                                      case "isComplete":
                                                                           return !o || !o.inputmask || o.inputmask.isComplete();
                                                                      case "getmetadata":
                                                                           return o && o.inputmask ? o.inputmask.getmetadata() : void 0;
                                                                      case "setvalue":
                                                                           e.setValue(o, n);
                                                                           break;
                                                                      case "option":
                                                                           if ("string" != typeof n)
                                                                                return this.each(function () {
                                                                                     if (void 0 !== this.inputmask) return this.inputmask.option(n);
                                                                                });
                                                                           if (o && void 0 !== o.inputmask) return o.inputmask.option(n);
                                                                           break;
                                                                      default:
                                                                           return (
                                                                                (n.alias = i),
                                                                                (r = new e(n)),
                                                                                this.each(function () {
                                                                                     r.mask(this);
                                                                                })
                                                                           );
                                                                 }
                                                            else {
                                                                 if (Array.isArray(i))
                                                                      return (
                                                                           (n.alias = i),
                                                                           (r = new e(n)),
                                                                           this.each(function () {
                                                                                r.mask(this);
                                                                           })
                                                                      );
                                                                 if ("object" == (void 0 === i ? "undefined" : a(i)))
                                                                      return (
                                                                           (r = new e(i)),
                                                                           void 0 === i.mask && void 0 === i.alias
                                                                                ? this.each(function () {
                                                                                       if (void 0 !== this.inputmask) return this.inputmask.option(i);
                                                                                       r.mask(this);
                                                                                  })
                                                                                : this.each(function () {
                                                                                       r.mask(this);
                                                                                  })
                                                                      );
                                                                 if (void 0 === i)
                                                                      return this.each(function () {
                                                                           (r = new e(n)).mask(this);
                                                                      });
                                                            }
                                                       }),
                                                  t.fn.inputmask
                                             );
                                        })
                                             ? n.apply(e, r)
                                             : n) || (t.exports = o);
                    },
               ]);
          }.call(this, __webpack_require__(1)));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(198), i(199);
                    t(document).ready(function () {
                         setTimeout(function () {
                              t(".multiselect-dropdown").select2({ theme: "bootstrap4", placeholder: "Select an option" }),
                                   t("#example-single").multiselect({ inheritClass: !0 }),
                                   t("#example-multi").multiselect({ inheritClass: !0 }),
                                   t("#example-multi-check").multiselect({ inheritClass: !0 });
                         }, 2e3);
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          (function (n) {
               var r, o, a;
               (o = [i(1)]),
                    void 0 ===
                         (a =
                              "function" ==
                              typeof (r = function (t) {
                                   var e = (function () {
                                             if (t && t.fn && t.fn.select2 && t.fn.select2.amd) var e = t.fn.select2.amd;
                                             return (
                                                  (function () {
                                                       var t, i, n;
                                                       (e && e.requirejs) ||
                                                            (e ? (i = e) : (e = {}),
                                                            (function (e) {
                                                                 var r,
                                                                      o,
                                                                      a,
                                                                      s,
                                                                      l = {},
                                                                      c = {},
                                                                      u = {},
                                                                      h = {},
                                                                      d = Object.prototype.hasOwnProperty,
                                                                      p = [].slice,
                                                                      f = /\.js$/;
                                                                 function m(t, e) {
                                                                      return d.call(t, e);
                                                                 }
                                                                 function g(t, e) {
                                                                      var i,
                                                                           n,
                                                                           r,
                                                                           o,
                                                                           a,
                                                                           s,
                                                                           l,
                                                                           c,
                                                                           h,
                                                                           d,
                                                                           p,
                                                                           m = e && e.split("/"),
                                                                           g = u.map,
                                                                           v = (g && g["*"]) || {};
                                                                      if (t) {
                                                                           for (
                                                                                a = (t = t.split("/")).length - 1,
                                                                                     u.nodeIdCompat && f.test(t[a]) && (t[a] = t[a].replace(f, "")),
                                                                                     "." === t[0].charAt(0) && m && (t = m.slice(0, m.length - 1).concat(t)),
                                                                                     h = 0;
                                                                                h < t.length;
                                                                                h++
                                                                           )
                                                                                if ("." === (p = t[h])) t.splice(h, 1), (h -= 1);
                                                                                else if (".." === p) {
                                                                                     if (0 === h || (1 === h && ".." === t[2]) || ".." === t[h - 1]) continue;
                                                                                     h > 0 && (t.splice(h - 1, 2), (h -= 2));
                                                                                }
                                                                           t = t.join("/");
                                                                      }
                                                                      if ((m || v) && g) {
                                                                           for (h = (i = t.split("/")).length; h > 0; h -= 1) {
                                                                                if (((n = i.slice(0, h).join("/")), m))
                                                                                     for (d = m.length; d > 0; d -= 1)
                                                                                          if ((r = g[m.slice(0, d).join("/")]) && (r = r[n])) {
                                                                                               (o = r), (s = h);
                                                                                               break;
                                                                                          }
                                                                                if (o) break;
                                                                                !l && v && v[n] && ((l = v[n]), (c = h));
                                                                           }
                                                                           !o && l && ((o = l), (s = c)), o && (i.splice(0, s, o), (t = i.join("/")));
                                                                      }
                                                                      return t;
                                                                 }
                                                                 function v(t, e) {
                                                                      return function () {
                                                                           var i = p.call(arguments, 0);
                                                                           return "string" != typeof i[0] && 1 === i.length && i.push(null), o.apply(void 0, i.concat([t, e]));
                                                                      };
                                                                 }
                                                                 function y(t) {
                                                                      return function (e) {
                                                                           l[t] = e;
                                                                      };
                                                                 }
                                                                 function b(t) {
                                                                      if (m(c, t)) {
                                                                           var e = c[t];
                                                                           delete c[t], (h[t] = !0), r.apply(void 0, e);
                                                                      }
                                                                      if (!m(l, t) && !m(h, t)) throw new Error("No " + t);
                                                                      return l[t];
                                                                 }
                                                                 function _(t) {
                                                                      var e,
                                                                           i = t ? t.indexOf("!") : -1;
                                                                      return i > -1 && ((e = t.substring(0, i)), (t = t.substring(i + 1, t.length))), [e, t];
                                                                 }
                                                                 function x(t) {
                                                                      return t ? _(t) : [];
                                                                 }
                                                                 function w(t) {
                                                                      return function () {
                                                                           return (u && u.config && u.config[t]) || {};
                                                                      };
                                                                 }
                                                                 (a = function (t, e) {
                                                                      var i,
                                                                           n,
                                                                           r = _(t),
                                                                           o = r[0],
                                                                           a = e[1];
                                                                      return (
                                                                           (t = r[1]),
                                                                           o && (i = b((o = g(o, a)))),
                                                                           o
                                                                                ? (t =
                                                                                       i && i.normalize
                                                                                            ? i.normalize(
                                                                                                   t,
                                                                                                   ((n = a),
                                                                                                   function (t) {
                                                                                                        return g(t, n);
                                                                                                   })
                                                                                              )
                                                                                            : g(t, a))
                                                                                : ((o = (r = _((t = g(t, a))))[0]), (t = r[1]), o && (i = b(o))),
                                                                           { f: o ? o + "!" + t : t, n: t, pr: o, p: i }
                                                                      );
                                                                 }),
                                                                      (s = {
                                                                           require: function (t) {
                                                                                return v(t);
                                                                           },
                                                                           exports: function (t) {
                                                                                var e = l[t];
                                                                                return void 0 !== e ? e : (l[t] = {});
                                                                           },
                                                                           module: function (t) {
                                                                                return { id: t, uri: "", exports: l[t], config: w(t) };
                                                                           },
                                                                      }),
                                                                      (r = function (t, e, i, n) {
                                                                           var r,
                                                                                o,
                                                                                u,
                                                                                d,
                                                                                p,
                                                                                f,
                                                                                g,
                                                                                _ = [],
                                                                                w = typeof i;
                                                                           if (((f = x((n = n || t))), "undefined" === w || "function" === w)) {
                                                                                for (e = !e.length && i.length ? ["require", "exports", "module"] : e, p = 0; p < e.length; p += 1)
                                                                                     if ("require" === (o = (d = a(e[p], f)).f)) _[p] = s.require(t);
                                                                                     else if ("exports" === o) (_[p] = s.exports(t)), (g = !0);
                                                                                     else if ("module" === o) r = _[p] = s.module(t);
                                                                                     else if (m(l, o) || m(c, o) || m(h, o)) _[p] = b(o);
                                                                                     else {
                                                                                          if (!d.p) throw new Error(t + " missing " + o);
                                                                                          d.p.load(d.n, v(n, !0), y(o), {}), (_[p] = l[o]);
                                                                                     }
                                                                                (u = i ? i.apply(l[t], _) : void 0), t && (r && void 0 !== r.exports && r.exports !== l[t] ? (l[t] = r.exports) : (void 0 === u && g) || (l[t] = u));
                                                                           } else t && (l[t] = i);
                                                                      }),
                                                                      (t = i = o = function (t, e, i, n, l) {
                                                                           if ("string" == typeof t) return s[t] ? s[t](e) : b(a(t, x(e)).f);
                                                                           if (!t.splice) {
                                                                                if (((u = t).deps && o(u.deps, u.callback), !e)) return;
                                                                                e.splice ? ((t = e), (e = i), (i = null)) : (t = void 0);
                                                                           }
                                                                           return (
                                                                                (e = e || function () {}),
                                                                                "function" == typeof i && ((i = n), (n = l)),
                                                                                n
                                                                                     ? r(void 0, t, e, i)
                                                                                     : setTimeout(function () {
                                                                                            r(void 0, t, e, i);
                                                                                       }, 4),
                                                                                o
                                                                           );
                                                                      }),
                                                                      (o.config = function (t) {
                                                                           return o(t);
                                                                      }),
                                                                      (t._defined = l),
                                                                      ((n = function (t, e, i) {
                                                                           if ("string" != typeof t) throw new Error("See almond README: incorrect module build, no module name");
                                                                           e.splice || ((i = e), (e = [])), m(l, t) || m(c, t) || (c[t] = [t, e, i]);
                                                                      }).amd = { jQuery: !0 });
                                                            })(),
                                                            (e.requirejs = t),
                                                            (e.require = i),
                                                            (e.define = n));
                                                  })(),
                                                  e.define("almond", function () {}),
                                                  e.define("jquery", [], function () {
                                                       var e = t || n;
                                                       return (
                                                            null == e &&
                                                                 console &&
                                                                 console.error &&
                                                                 console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),
                                                            e
                                                       );
                                                  }),
                                                  e.define("select2/utils", ["jquery"], function (t) {
                                                       var e = {};
                                                       function i(t) {
                                                            var e = t.prototype,
                                                                 i = [];
                                                            for (var n in e) "function" == typeof e[n] && "constructor" !== n && i.push(n);
                                                            return i;
                                                       }
                                                       (e.Extend = function (t, e) {
                                                            var i = {}.hasOwnProperty;
                                                            function n() {
                                                                 this.constructor = t;
                                                            }
                                                            for (var r in e) i.call(e, r) && (t[r] = e[r]);
                                                            return (n.prototype = e.prototype), (t.prototype = new n()), (t.__super__ = e.prototype), t;
                                                       }),
                                                            (e.Decorate = function (t, e) {
                                                                 var n = i(e),
                                                                      r = i(t);
                                                                 function o() {
                                                                      var i = Array.prototype.unshift,
                                                                           n = e.prototype.constructor.length,
                                                                           r = t.prototype.constructor;
                                                                      n > 0 && (i.call(arguments, t.prototype.constructor), (r = e.prototype.constructor)), r.apply(this, arguments);
                                                                 }
                                                                 (e.displayName = t.displayName),
                                                                      (o.prototype = new (function () {
                                                                           this.constructor = o;
                                                                      })());
                                                                 for (var a = 0; a < r.length; a++) {
                                                                      var s = r[a];
                                                                      o.prototype[s] = t.prototype[s];
                                                                 }
                                                                 for (
                                                                      var l = function (t) {
                                                                                var i = function () {};
                                                                                (t in o.prototype) && (i = o.prototype[t]);
                                                                                var n = e.prototype[t];
                                                                                return function () {
                                                                                     var t = Array.prototype.unshift;
                                                                                     return t.call(arguments, i), n.apply(this, arguments);
                                                                                };
                                                                           },
                                                                           c = 0;
                                                                      c < n.length;
                                                                      c++
                                                                 ) {
                                                                      var u = n[c];
                                                                      o.prototype[u] = l(u);
                                                                 }
                                                                 return o;
                                                            });
                                                       var n = function () {
                                                            this.listeners = {};
                                                       };
                                                       (n.prototype.on = function (t, e) {
                                                            (this.listeners = this.listeners || {}), t in this.listeners ? this.listeners[t].push(e) : (this.listeners[t] = [e]);
                                                       }),
                                                            (n.prototype.trigger = function (t) {
                                                                 var e = Array.prototype.slice,
                                                                      i = e.call(arguments, 1);
                                                                 (this.listeners = this.listeners || {}),
                                                                      null == i && (i = []),
                                                                      0 === i.length && i.push({}),
                                                                      (i[0]._type = t),
                                                                      t in this.listeners && this.invoke(this.listeners[t], e.call(arguments, 1)),
                                                                      "*" in this.listeners && this.invoke(this.listeners["*"], arguments);
                                                            }),
                                                            (n.prototype.invoke = function (t, e) {
                                                                 for (var i = 0, n = t.length; i < n; i++) t[i].apply(this, e);
                                                            }),
                                                            (e.Observable = n),
                                                            (e.generateChars = function (t) {
                                                                 for (var e = "", i = 0; i < t; i++) e += Math.floor(36 * Math.random()).toString(36);
                                                                 return e;
                                                            }),
                                                            (e.bind = function (t, e) {
                                                                 return function () {
                                                                      t.apply(e, arguments);
                                                                 };
                                                            }),
                                                            (e._convertData = function (t) {
                                                                 for (var e in t) {
                                                                      var i = e.split("-"),
                                                                           n = t;
                                                                      if (1 !== i.length) {
                                                                           for (var r = 0; r < i.length; r++) {
                                                                                var o = i[r];
                                                                                (o = o.substring(0, 1).toLowerCase() + o.substring(1)) in n || (n[o] = {}), r == i.length - 1 && (n[o] = t[e]), (n = n[o]);
                                                                           }
                                                                           delete t[e];
                                                                      }
                                                                 }
                                                                 return t;
                                                            }),
                                                            (e.hasScroll = function (e, i) {
                                                                 var n = t(i),
                                                                      r = i.style.overflowX,
                                                                      o = i.style.overflowY;
                                                                 return (r !== o || ("hidden" !== o && "visible" !== o)) && ("scroll" === r || "scroll" === o || n.innerHeight() < i.scrollHeight || n.innerWidth() < i.scrollWidth);
                                                            }),
                                                            (e.escapeMarkup = function (t) {
                                                                 var e = { "\\": "&#92;", "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;", "/": "&#47;" };
                                                                 return "string" != typeof t
                                                                      ? t
                                                                      : String(t).replace(/[&<>"'\/\\]/g, function (t) {
                                                                             return e[t];
                                                                        });
                                                            }),
                                                            (e.appendMany = function (e, i) {
                                                                 if ("1.7" === t.fn.jquery.substr(0, 3)) {
                                                                      var n = t();
                                                                      t.map(i, function (t) {
                                                                           n = n.add(t);
                                                                      }),
                                                                           (i = n);
                                                                 }
                                                                 e.append(i);
                                                            }),
                                                            (e.__cache = {});
                                                       var r = 0;
                                                       return (
                                                            (e.GetUniqueElementId = function (t) {
                                                                 var e = t.getAttribute("data-select2-id");
                                                                 return null == e && (t.id ? ((e = t.id), t.setAttribute("data-select2-id", e)) : (t.setAttribute("data-select2-id", ++r), (e = r.toString()))), e;
                                                            }),
                                                            (e.StoreData = function (t, i, n) {
                                                                 var r = e.GetUniqueElementId(t);
                                                                 e.__cache[r] || (e.__cache[r] = {}), (e.__cache[r][i] = n);
                                                            }),
                                                            (e.GetData = function (i, n) {
                                                                 var r = e.GetUniqueElementId(i);
                                                                 return n ? (e.__cache[r] && null != e.__cache[r][n] ? e.__cache[r][n] : t(i).data(n)) : e.__cache[r];
                                                            }),
                                                            (e.RemoveData = function (t) {
                                                                 var i = e.GetUniqueElementId(t);
                                                                 null != e.__cache[i] && delete e.__cache[i], t.removeAttribute("data-select2-id");
                                                            }),
                                                            e
                                                       );
                                                  }),
                                                  e.define("select2/results", ["jquery", "./utils"], function (t, e) {
                                                       function i(t, e, n) {
                                                            (this.$element = t), (this.data = n), (this.options = e), i.__super__.constructor.call(this);
                                                       }
                                                       return (
                                                            e.Extend(i, e.Observable),
                                                            (i.prototype.render = function () {
                                                                 var e = t('<ul class="select2-results__options" role="listbox"></ul>');
                                                                 return this.options.get("multiple") && e.attr("aria-multiselectable", "true"), (this.$results = e), e;
                                                            }),
                                                            (i.prototype.clear = function () {
                                                                 this.$results.empty();
                                                            }),
                                                            (i.prototype.displayMessage = function (e) {
                                                                 var i = this.options.get("escapeMarkup");
                                                                 this.clear(), this.hideLoading();
                                                                 var n = t('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),
                                                                      r = this.options.get("translations").get(e.message);
                                                                 n.append(i(r(e.args))), (n[0].className += " select2-results__message"), this.$results.append(n);
                                                            }),
                                                            (i.prototype.hideMessages = function () {
                                                                 this.$results.find(".select2-results__message").remove();
                                                            }),
                                                            (i.prototype.append = function (t) {
                                                                 this.hideLoading();
                                                                 var e = [];
                                                                 if (null != t.results && 0 !== t.results.length) {
                                                                      t.results = this.sort(t.results);
                                                                      for (var i = 0; i < t.results.length; i++) {
                                                                           var n = t.results[i],
                                                                                r = this.option(n);
                                                                           e.push(r);
                                                                      }
                                                                      this.$results.append(e);
                                                                 } else 0 === this.$results.children().length && this.trigger("results:message", { message: "noResults" });
                                                            }),
                                                            (i.prototype.position = function (t, e) {
                                                                 e.find(".select2-results").append(t);
                                                            }),
                                                            (i.prototype.sort = function (t) {
                                                                 return this.options.get("sorter")(t);
                                                            }),
                                                            (i.prototype.highlightFirstItem = function () {
                                                                 var t = this.$results.find(".select2-results__option[aria-selected]"),
                                                                      e = t.filter("[aria-selected=true]");
                                                                 e.length > 0 ? e.first().trigger("mouseenter") : t.first().trigger("mouseenter"), this.ensureHighlightVisible();
                                                            }),
                                                            (i.prototype.setClasses = function () {
                                                                 var i = this;
                                                                 this.data.current(function (n) {
                                                                      var r = t.map(n, function (t) {
                                                                           return t.id.toString();
                                                                      });
                                                                      i.$results.find(".select2-results__option[aria-selected]").each(function () {
                                                                           var i = t(this),
                                                                                n = e.GetData(this, "data"),
                                                                                o = "" + n.id;
                                                                           (null != n.element && n.element.selected) || (null == n.element && t.inArray(o, r) > -1) ? i.attr("aria-selected", "true") : i.attr("aria-selected", "false");
                                                                      });
                                                                 });
                                                            }),
                                                            (i.prototype.showLoading = function (t) {
                                                                 this.hideLoading();
                                                                 var e = { disabled: !0, loading: !0, text: this.options.get("translations").get("searching")(t) },
                                                                      i = this.option(e);
                                                                 (i.className += " loading-results"), this.$results.prepend(i);
                                                            }),
                                                            (i.prototype.hideLoading = function () {
                                                                 this.$results.find(".loading-results").remove();
                                                            }),
                                                            (i.prototype.option = function (i) {
                                                                 var n = document.createElement("li");
                                                                 n.className = "select2-results__option";
                                                                 var r = { role: "option", "aria-selected": "false" },
                                                                      o = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector;
                                                                 for (var a in (((null != i.element && o.call(i.element, ":disabled")) || (null == i.element && i.disabled)) && (delete r["aria-selected"], (r["aria-disabled"] = "true")),
                                                                 null == i.id && delete r["aria-selected"],
                                                                 null != i._resultId && (n.id = i._resultId),
                                                                 i.title && (n.title = i.title),
                                                                 i.children && ((r.role = "group"), (r["aria-label"] = i.text), delete r["aria-selected"]),
                                                                 r)) {
                                                                      var s = r[a];
                                                                      n.setAttribute(a, s);
                                                                 }
                                                                 if (i.children) {
                                                                      var l = t(n),
                                                                           c = document.createElement("strong");
                                                                      (c.className = "select2-results__group"), t(c), this.template(i, c);
                                                                      for (var u = [], h = 0; h < i.children.length; h++) {
                                                                           var d = i.children[h],
                                                                                p = this.option(d);
                                                                           u.push(p);
                                                                      }
                                                                      var f = t("<ul></ul>", { class: "select2-results__options select2-results__options--nested" });
                                                                      f.append(u), l.append(c), l.append(f);
                                                                 } else this.template(i, n);
                                                                 return e.StoreData(n, "data", i), n;
                                                            }),
                                                            (i.prototype.bind = function (i, n) {
                                                                 var r = this,
                                                                      o = i.id + "-results";
                                                                 this.$results.attr("id", o),
                                                                      i.on("results:all", function (t) {
                                                                           r.clear(), r.append(t.data), i.isOpen() && (r.setClasses(), r.highlightFirstItem());
                                                                      }),
                                                                      i.on("results:append", function (t) {
                                                                           r.append(t.data), i.isOpen() && r.setClasses();
                                                                      }),
                                                                      i.on("query", function (t) {
                                                                           r.hideMessages(), r.showLoading(t);
                                                                      }),
                                                                      i.on("select", function () {
                                                                           i.isOpen() && (r.setClasses(), r.options.get("scrollAfterSelect") && r.highlightFirstItem());
                                                                      }),
                                                                      i.on("unselect", function () {
                                                                           i.isOpen() && (r.setClasses(), r.options.get("scrollAfterSelect") && r.highlightFirstItem());
                                                                      }),
                                                                      i.on("open", function () {
                                                                           r.$results.attr("aria-expanded", "true"), r.$results.attr("aria-hidden", "false"), r.setClasses(), r.ensureHighlightVisible();
                                                                      }),
                                                                      i.on("close", function () {
                                                                           r.$results.attr("aria-expanded", "false"), r.$results.attr("aria-hidden", "true"), r.$results.removeAttr("aria-activedescendant");
                                                                      }),
                                                                      i.on("results:toggle", function () {
                                                                           var t = r.getHighlightedResults();
                                                                           0 !== t.length && t.trigger("mouseup");
                                                                      }),
                                                                      i.on("results:select", function () {
                                                                           var t = r.getHighlightedResults();
                                                                           if (0 !== t.length) {
                                                                                var i = e.GetData(t[0], "data");
                                                                                "true" == t.attr("aria-selected") ? r.trigger("close", {}) : r.trigger("select", { data: i });
                                                                           }
                                                                      }),
                                                                      i.on("results:previous", function () {
                                                                           var t = r.getHighlightedResults(),
                                                                                e = r.$results.find("[aria-selected]"),
                                                                                i = e.index(t);
                                                                           if (!(i <= 0)) {
                                                                                var n = i - 1;
                                                                                0 === t.length && (n = 0);
                                                                                var o = e.eq(n);
                                                                                o.trigger("mouseenter");
                                                                                var a = r.$results.offset().top,
                                                                                     s = o.offset().top,
                                                                                     l = r.$results.scrollTop() + (s - a);
                                                                                0 === n ? r.$results.scrollTop(0) : s - a < 0 && r.$results.scrollTop(l);
                                                                           }
                                                                      }),
                                                                      i.on("results:next", function () {
                                                                           var t = r.getHighlightedResults(),
                                                                                e = r.$results.find("[aria-selected]"),
                                                                                i = e.index(t) + 1;
                                                                           if (!(i >= e.length)) {
                                                                                var n = e.eq(i);
                                                                                n.trigger("mouseenter");
                                                                                var o = r.$results.offset().top + r.$results.outerHeight(!1),
                                                                                     a = n.offset().top + n.outerHeight(!1),
                                                                                     s = r.$results.scrollTop() + a - o;
                                                                                0 === i ? r.$results.scrollTop(0) : a > o && r.$results.scrollTop(s);
                                                                           }
                                                                      }),
                                                                      i.on("results:focus", function (t) {
                                                                           t.element.addClass("select2-results__option--highlighted");
                                                                      }),
                                                                      i.on("results:message", function (t) {
                                                                           r.displayMessage(t);
                                                                      }),
                                                                      t.fn.mousewheel &&
                                                                           this.$results.on("mousewheel", function (t) {
                                                                                var e = r.$results.scrollTop(),
                                                                                     i = r.$results.get(0).scrollHeight - e + t.deltaY,
                                                                                     n = t.deltaY > 0 && e - t.deltaY <= 0,
                                                                                     o = t.deltaY < 0 && i <= r.$results.height();
                                                                                n
                                                                                     ? (r.$results.scrollTop(0), t.preventDefault(), t.stopPropagation())
                                                                                     : o && (r.$results.scrollTop(r.$results.get(0).scrollHeight - r.$results.height()), t.preventDefault(), t.stopPropagation());
                                                                           }),
                                                                      this.$results.on("mouseup", ".select2-results__option[aria-selected]", function (i) {
                                                                           var n = t(this),
                                                                                o = e.GetData(this, "data");
                                                                           "true" !== n.attr("aria-selected")
                                                                                ? r.trigger("select", { originalEvent: i, data: o })
                                                                                : r.options.get("multiple")
                                                                                ? r.trigger("unselect", { originalEvent: i, data: o })
                                                                                : r.trigger("close", {});
                                                                      }),
                                                                      this.$results.on("mouseenter", ".select2-results__option[aria-selected]", function (i) {
                                                                           var n = e.GetData(this, "data");
                                                                           r.getHighlightedResults().removeClass("select2-results__option--highlighted"), r.trigger("results:focus", { data: n, element: t(this) });
                                                                      });
                                                            }),
                                                            (i.prototype.getHighlightedResults = function () {
                                                                 return this.$results.find(".select2-results__option--highlighted");
                                                            }),
                                                            (i.prototype.destroy = function () {
                                                                 this.$results.remove();
                                                            }),
                                                            (i.prototype.ensureHighlightVisible = function () {
                                                                 var t = this.getHighlightedResults();
                                                                 if (0 !== t.length) {
                                                                      var e = this.$results.find("[aria-selected]").index(t),
                                                                           i = this.$results.offset().top,
                                                                           n = t.offset().top,
                                                                           r = this.$results.scrollTop() + (n - i),
                                                                           o = n - i;
                                                                      (r -= 2 * t.outerHeight(!1)), e <= 2 ? this.$results.scrollTop(0) : (o > this.$results.outerHeight() || o < 0) && this.$results.scrollTop(r);
                                                                 }
                                                            }),
                                                            (i.prototype.template = function (e, i) {
                                                                 var n = this.options.get("templateResult"),
                                                                      r = this.options.get("escapeMarkup"),
                                                                      o = n(e, i);
                                                                 null == o ? (i.style.display = "none") : "string" == typeof o ? (i.innerHTML = r(o)) : t(i).append(o);
                                                            }),
                                                            i
                                                       );
                                                  }),
                                                  e.define("select2/keys", [], function () {
                                                       return {
                                                            BACKSPACE: 8,
                                                            TAB: 9,
                                                            ENTER: 13,
                                                            SHIFT: 16,
                                                            CTRL: 17,
                                                            ALT: 18,
                                                            ESC: 27,
                                                            SPACE: 32,
                                                            PAGE_UP: 33,
                                                            PAGE_DOWN: 34,
                                                            END: 35,
                                                            HOME: 36,
                                                            LEFT: 37,
                                                            UP: 38,
                                                            RIGHT: 39,
                                                            DOWN: 40,
                                                            DELETE: 46,
                                                       };
                                                  }),
                                                  e.define("select2/selection/base", ["jquery", "../utils", "../keys"], function (t, e, i) {
                                                       function n(t, e) {
                                                            (this.$element = t), (this.options = e), n.__super__.constructor.call(this);
                                                       }
                                                       return (
                                                            e.Extend(n, e.Observable),
                                                            (n.prototype.render = function () {
                                                                 var i = t('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');
                                                                 return (
                                                                      (this._tabindex = 0),
                                                                      null != e.GetData(this.$element[0], "old-tabindex")
                                                                           ? (this._tabindex = e.GetData(this.$element[0], "old-tabindex"))
                                                                           : null != this.$element.attr("tabindex") && (this._tabindex = this.$element.attr("tabindex")),
                                                                      i.attr("title", this.$element.attr("title")),
                                                                      i.attr("tabindex", this._tabindex),
                                                                      i.attr("aria-disabled", "false"),
                                                                      (this.$selection = i),
                                                                      i
                                                                 );
                                                            }),
                                                            (n.prototype.bind = function (t, e) {
                                                                 var n = this,
                                                                      r = t.id + "-results";
                                                                 (this.container = t),
                                                                      this.$selection.on("focus", function (t) {
                                                                           n.trigger("focus", t);
                                                                      }),
                                                                      this.$selection.on("blur", function (t) {
                                                                           n._handleBlur(t);
                                                                      }),
                                                                      this.$selection.on("keydown", function (t) {
                                                                           n.trigger("keypress", t), t.which === i.SPACE && t.preventDefault();
                                                                      }),
                                                                      t.on("results:focus", function (t) {
                                                                           n.$selection.attr("aria-activedescendant", t.data._resultId);
                                                                      }),
                                                                      t.on("selection:update", function (t) {
                                                                           n.update(t.data);
                                                                      }),
                                                                      t.on("open", function () {
                                                                           n.$selection.attr("aria-expanded", "true"), n.$selection.attr("aria-owns", r), n._attachCloseHandler(t);
                                                                      }),
                                                                      t.on("close", function () {
                                                                           n.$selection.attr("aria-expanded", "false"),
                                                                                n.$selection.removeAttr("aria-activedescendant"),
                                                                                n.$selection.removeAttr("aria-owns"),
                                                                                n.$selection.trigger("focus"),
                                                                                n._detachCloseHandler(t);
                                                                      }),
                                                                      t.on("enable", function () {
                                                                           n.$selection.attr("tabindex", n._tabindex), n.$selection.attr("aria-disabled", "false");
                                                                      }),
                                                                      t.on("disable", function () {
                                                                           n.$selection.attr("tabindex", "-1"), n.$selection.attr("aria-disabled", "true");
                                                                      });
                                                            }),
                                                            (n.prototype._handleBlur = function (e) {
                                                                 var i = this;
                                                                 window.setTimeout(function () {
                                                                      document.activeElement == i.$selection[0] || t.contains(i.$selection[0], document.activeElement) || i.trigger("blur", e);
                                                                 }, 1);
                                                            }),
                                                            (n.prototype._attachCloseHandler = function (i) {
                                                                 t(document.body).on("mousedown.select2." + i.id, function (i) {
                                                                      var n = t(i.target).closest(".select2");
                                                                      t(".select2.select2-container--open").each(function () {
                                                                           this != n[0] && e.GetData(this, "element").select2("close");
                                                                      });
                                                                 });
                                                            }),
                                                            (n.prototype._detachCloseHandler = function (e) {
                                                                 t(document.body).off("mousedown.select2." + e.id);
                                                            }),
                                                            (n.prototype.position = function (t, e) {
                                                                 e.find(".selection").append(t);
                                                            }),
                                                            (n.prototype.destroy = function () {
                                                                 this._detachCloseHandler(this.container);
                                                            }),
                                                            (n.prototype.update = function (t) {
                                                                 throw new Error("The `update` method must be defined in child classes.");
                                                            }),
                                                            (n.prototype.isEnabled = function () {
                                                                 return !this.isDisabled();
                                                            }),
                                                            (n.prototype.isDisabled = function () {
                                                                 return this.options.get("disabled");
                                                            }),
                                                            n
                                                       );
                                                  }),
                                                  e.define("select2/selection/single", ["jquery", "./base", "../utils", "../keys"], function (t, e, i, n) {
                                                       function r() {
                                                            r.__super__.constructor.apply(this, arguments);
                                                       }
                                                       return (
                                                            i.Extend(r, e),
                                                            (r.prototype.render = function () {
                                                                 var t = r.__super__.render.call(this);
                                                                 return (
                                                                      t.addClass("select2-selection--single"),
                                                                      t.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),
                                                                      t
                                                                 );
                                                            }),
                                                            (r.prototype.bind = function (t, e) {
                                                                 var i = this;
                                                                 r.__super__.bind.apply(this, arguments);
                                                                 var n = t.id + "-container";
                                                                 this.$selection.find(".select2-selection__rendered").attr("id", n).attr("role", "textbox").attr("aria-readonly", "true"),
                                                                      this.$selection.attr("aria-labelledby", n),
                                                                      this.$selection.on("mousedown", function (t) {
                                                                           1 === t.which && i.trigger("toggle", { originalEvent: t });
                                                                      }),
                                                                      this.$selection.on("focus", function (t) {}),
                                                                      this.$selection.on("blur", function (t) {}),
                                                                      t.on("focus", function (e) {
                                                                           t.isOpen() || i.$selection.trigger("focus");
                                                                      });
                                                            }),
                                                            (r.prototype.clear = function () {
                                                                 var t = this.$selection.find(".select2-selection__rendered");
                                                                 t.empty(), t.removeAttr("title");
                                                            }),
                                                            (r.prototype.display = function (t, e) {
                                                                 var i = this.options.get("templateSelection");
                                                                 return this.options.get("escapeMarkup")(i(t, e));
                                                            }),
                                                            (r.prototype.selectionContainer = function () {
                                                                 return t("<span></span>");
                                                            }),
                                                            (r.prototype.update = function (t) {
                                                                 if (0 !== t.length) {
                                                                      var e = t[0],
                                                                           i = this.$selection.find(".select2-selection__rendered"),
                                                                           n = this.display(e, i);
                                                                      i.empty().append(n);
                                                                      var r = e.title || e.text;
                                                                      r ? i.attr("title", r) : i.removeAttr("title");
                                                                 } else this.clear();
                                                            }),
                                                            r
                                                       );
                                                  }),
                                                  e.define("select2/selection/multiple", ["jquery", "./base", "../utils"], function (t, e, i) {
                                                       function n(t, e) {
                                                            n.__super__.constructor.apply(this, arguments);
                                                       }
                                                       return (
                                                            i.Extend(n, e),
                                                            (n.prototype.render = function () {
                                                                 var t = n.__super__.render.call(this);
                                                                 return t.addClass("select2-selection--multiple"), t.html('<ul class="select2-selection__rendered"></ul>'), t;
                                                            }),
                                                            (n.prototype.bind = function (e, r) {
                                                                 var o = this;
                                                                 n.__super__.bind.apply(this, arguments),
                                                                      this.$selection.on("click", function (t) {
                                                                           o.trigger("toggle", { originalEvent: t });
                                                                      }),
                                                                      this.$selection.on("click", ".select2-selection__choice__remove", function (e) {
                                                                           if (!o.isDisabled()) {
                                                                                var n = t(this).parent(),
                                                                                     r = i.GetData(n[0], "data");
                                                                                o.trigger("unselect", { originalEvent: e, data: r });
                                                                           }
                                                                      });
                                                            }),
                                                            (n.prototype.clear = function () {
                                                                 var t = this.$selection.find(".select2-selection__rendered");
                                                                 t.empty(), t.removeAttr("title");
                                                            }),
                                                            (n.prototype.display = function (t, e) {
                                                                 var i = this.options.get("templateSelection");
                                                                 return this.options.get("escapeMarkup")(i(t, e));
                                                            }),
                                                            (n.prototype.selectionContainer = function () {
                                                                 return t('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');
                                                            }),
                                                            (n.prototype.update = function (t) {
                                                                 if ((this.clear(), 0 !== t.length)) {
                                                                      for (var e = [], n = 0; n < t.length; n++) {
                                                                           var r = t[n],
                                                                                o = this.selectionContainer(),
                                                                                a = this.display(r, o);
                                                                           o.append(a);
                                                                           var s = r.title || r.text;
                                                                           s && o.attr("title", s), i.StoreData(o[0], "data", r), e.push(o);
                                                                      }
                                                                      var l = this.$selection.find(".select2-selection__rendered");
                                                                      i.appendMany(l, e);
                                                                 }
                                                            }),
                                                            n
                                                       );
                                                  }),
                                                  e.define("select2/selection/placeholder", ["../utils"], function (t) {
                                                       function e(t, e, i) {
                                                            (this.placeholder = this.normalizePlaceholder(i.get("placeholder"))), t.call(this, e, i);
                                                       }
                                                       return (
                                                            (e.prototype.normalizePlaceholder = function (t, e) {
                                                                 return "string" == typeof e && (e = { id: "", text: e }), e;
                                                            }),
                                                            (e.prototype.createPlaceholder = function (t, e) {
                                                                 var i = this.selectionContainer();
                                                                 return i.html(this.display(e)), i.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"), i;
                                                            }),
                                                            (e.prototype.update = function (t, e) {
                                                                 var i = 1 == e.length && e[0].id != this.placeholder.id;
                                                                 if (e.length > 1 || i) return t.call(this, e);
                                                                 this.clear();
                                                                 var n = this.createPlaceholder(this.placeholder);
                                                                 this.$selection.find(".select2-selection__rendered").append(n);
                                                            }),
                                                            e
                                                       );
                                                  }),
                                                  e.define("select2/selection/allowClear", ["jquery", "../keys", "../utils"], function (t, e, i) {
                                                       function n() {}
                                                       return (
                                                            (n.prototype.bind = function (t, e, i) {
                                                                 var n = this;
                                                                 t.call(this, e, i),
                                                                      null == this.placeholder &&
                                                                           this.options.get("debug") &&
                                                                           window.console &&
                                                                           console.error &&
                                                                           console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),
                                                                      this.$selection.on("mousedown", ".select2-selection__clear", function (t) {
                                                                           n._handleClear(t);
                                                                      }),
                                                                      e.on("keypress", function (t) {
                                                                           n._handleKeyboardClear(t, e);
                                                                      });
                                                            }),
                                                            (n.prototype._handleClear = function (t, e) {
                                                                 if (!this.isDisabled()) {
                                                                      var n = this.$selection.find(".select2-selection__clear");
                                                                      if (0 !== n.length) {
                                                                           e.stopPropagation();
                                                                           var r = i.GetData(n[0], "data"),
                                                                                o = this.$element.val();
                                                                           this.$element.val(this.placeholder.id);
                                                                           var a = { data: r };
                                                                           if ((this.trigger("clear", a), a.prevented)) this.$element.val(o);
                                                                           else {
                                                                                for (var s = 0; s < r.length; s++) if (((a = { data: r[s] }), this.trigger("unselect", a), a.prevented)) return void this.$element.val(o);
                                                                                this.$element.trigger("input").trigger("change"), this.trigger("toggle", {});
                                                                           }
                                                                      }
                                                                 }
                                                            }),
                                                            (n.prototype._handleKeyboardClear = function (t, i, n) {
                                                                 n.isOpen() || (i.which != e.DELETE && i.which != e.BACKSPACE) || this._handleClear(i);
                                                            }),
                                                            (n.prototype.update = function (e, n) {
                                                                 if ((e.call(this, n), !(this.$selection.find(".select2-selection__placeholder").length > 0 || 0 === n.length))) {
                                                                      var r = this.options.get("translations").get("removeAllItems"),
                                                                           o = t('<span class="select2-selection__clear" title="' + r() + '">&times;</span>');
                                                                      i.StoreData(o[0], "data", n), this.$selection.find(".select2-selection__rendered").prepend(o);
                                                                 }
                                                            }),
                                                            n
                                                       );
                                                  }),
                                                  e.define("select2/selection/search", ["jquery", "../utils", "../keys"], function (t, e, i) {
                                                       function n(t, e, i) {
                                                            t.call(this, e, i);
                                                       }
                                                       return (
                                                            (n.prototype.render = function (e) {
                                                                 var i = t(
                                                                      '<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>'
                                                                 );
                                                                 (this.$searchContainer = i), (this.$search = i.find("input"));
                                                                 var n = e.call(this);
                                                                 return this._transferTabIndex(), n;
                                                            }),
                                                            (n.prototype.bind = function (t, n, r) {
                                                                 var o = this,
                                                                      a = n.id + "-results";
                                                                 t.call(this, n, r),
                                                                      n.on("open", function () {
                                                                           o.$search.attr("aria-controls", a), o.$search.trigger("focus");
                                                                      }),
                                                                      n.on("close", function () {
                                                                           o.$search.val(""), o.$search.removeAttr("aria-controls"), o.$search.removeAttr("aria-activedescendant"), o.$search.trigger("focus");
                                                                      }),
                                                                      n.on("enable", function () {
                                                                           o.$search.prop("disabled", !1), o._transferTabIndex();
                                                                      }),
                                                                      n.on("disable", function () {
                                                                           o.$search.prop("disabled", !0);
                                                                      }),
                                                                      n.on("focus", function (t) {
                                                                           o.$search.trigger("focus");
                                                                      }),
                                                                      n.on("results:focus", function (t) {
                                                                           t.data._resultId ? o.$search.attr("aria-activedescendant", t.data._resultId) : o.$search.removeAttr("aria-activedescendant");
                                                                      }),
                                                                      this.$selection.on("focusin", ".select2-search--inline", function (t) {
                                                                           o.trigger("focus", t);
                                                                      }),
                                                                      this.$selection.on("focusout", ".select2-search--inline", function (t) {
                                                                           o._handleBlur(t);
                                                                      }),
                                                                      this.$selection.on("keydown", ".select2-search--inline", function (t) {
                                                                           if ((t.stopPropagation(), o.trigger("keypress", t), (o._keyUpPrevented = t.isDefaultPrevented()), t.which === i.BACKSPACE && "" === o.$search.val())) {
                                                                                var n = o.$searchContainer.prev(".select2-selection__choice");
                                                                                if (n.length > 0) {
                                                                                     var r = e.GetData(n[0], "data");
                                                                                     o.searchRemoveChoice(r), t.preventDefault();
                                                                                }
                                                                           }
                                                                      }),
                                                                      this.$selection.on("click", ".select2-search--inline", function (t) {
                                                                           o.$search.val() && t.stopPropagation();
                                                                      });
                                                                 var s = document.documentMode,
                                                                      l = s && s <= 11;
                                                                 this.$selection.on("input.searchcheck", ".select2-search--inline", function (t) {
                                                                      l ? o.$selection.off("input.search input.searchcheck") : o.$selection.off("keyup.search");
                                                                 }),
                                                                      this.$selection.on("keyup.search input.search", ".select2-search--inline", function (t) {
                                                                           if (l && "input" === t.type) o.$selection.off("input.search input.searchcheck");
                                                                           else {
                                                                                var e = t.which;
                                                                                e != i.SHIFT && e != i.CTRL && e != i.ALT && e != i.TAB && o.handleSearch(t);
                                                                           }
                                                                      });
                                                            }),
                                                            (n.prototype._transferTabIndex = function (t) {
                                                                 this.$search.attr("tabindex", this.$selection.attr("tabindex")), this.$selection.attr("tabindex", "-1");
                                                            }),
                                                            (n.prototype.createPlaceholder = function (t, e) {
                                                                 this.$search.attr("placeholder", e.text);
                                                            }),
                                                            (n.prototype.update = function (t, e) {
                                                                 var i = this.$search[0] == document.activeElement;
                                                                 this.$search.attr("placeholder", ""),
                                                                      t.call(this, e),
                                                                      this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),
                                                                      this.resizeSearch(),
                                                                      i && this.$search.trigger("focus");
                                                            }),
                                                            (n.prototype.handleSearch = function () {
                                                                 if ((this.resizeSearch(), !this._keyUpPrevented)) {
                                                                      var t = this.$search.val();
                                                                      this.trigger("query", { term: t });
                                                                 }
                                                                 this._keyUpPrevented = !1;
                                                            }),
                                                            (n.prototype.searchRemoveChoice = function (t, e) {
                                                                 this.trigger("unselect", { data: e }), this.$search.val(e.text), this.handleSearch();
                                                            }),
                                                            (n.prototype.resizeSearch = function () {
                                                                 this.$search.css("width", "25px");
                                                                 var t = "";
                                                                 (t = "" !== this.$search.attr("placeholder") ? this.$selection.find(".select2-selection__rendered").width() : 0.75 * (this.$search.val().length + 1) + "em"),
                                                                      this.$search.css("width", t);
                                                            }),
                                                            n
                                                       );
                                                  }),
                                                  e.define("select2/selection/eventRelay", ["jquery"], function (t) {
                                                       function e() {}
                                                       return (
                                                            (e.prototype.bind = function (e, i, n) {
                                                                 var r = this,
                                                                      o = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting", "clear", "clearing"],
                                                                      a = ["opening", "closing", "selecting", "unselecting", "clearing"];
                                                                 e.call(this, i, n),
                                                                      i.on("*", function (e, i) {
                                                                           if (-1 !== t.inArray(e, o)) {
                                                                                i = i || {};
                                                                                var n = t.Event("select2:" + e, { params: i });
                                                                                r.$element.trigger(n), -1 !== t.inArray(e, a) && (i.prevented = n.isDefaultPrevented());
                                                                           }
                                                                      });
                                                            }),
                                                            e
                                                       );
                                                  }),
                                                  e.define("select2/translation", ["jquery", "require"], function (t, e) {
                                                       function i(t) {
                                                            this.dict = t || {};
                                                       }
                                                       return (
                                                            (i.prototype.all = function () {
                                                                 return this.dict;
                                                            }),
                                                            (i.prototype.get = function (t) {
                                                                 return this.dict[t];
                                                            }),
                                                            (i.prototype.extend = function (e) {
                                                                 this.dict = t.extend({}, e.all(), this.dict);
                                                            }),
                                                            (i._cache = {}),
                                                            (i.loadPath = function (t) {
                                                                 if (!(t in i._cache)) {
                                                                      var n = e(t);
                                                                      i._cache[t] = n;
                                                                 }
                                                                 return new i(i._cache[t]);
                                                            }),
                                                            i
                                                       );
                                                  }),
                                                  e.define("select2/diacritics", [], function () {
                                                       return {
                                                            "Ⓐ": "A",
                                                            Ａ: "A",
                                                            À: "A",
                                                            Á: "A",
                                                            Â: "A",
                                                            Ầ: "A",
                                                            Ấ: "A",
                                                            Ẫ: "A",
                                                            Ẩ: "A",
                                                            Ã: "A",
                                                            Ā: "A",
                                                            Ă: "A",
                                                            Ằ: "A",
                                                            Ắ: "A",
                                                            Ẵ: "A",
                                                            Ẳ: "A",
                                                            Ȧ: "A",
                                                            Ǡ: "A",
                                                            Ä: "A",
                                                            Ǟ: "A",
                                                            Ả: "A",
                                                            Å: "A",
                                                            Ǻ: "A",
                                                            Ǎ: "A",
                                                            Ȁ: "A",
                                                            Ȃ: "A",
                                                            Ạ: "A",
                                                            Ậ: "A",
                                                            Ặ: "A",
                                                            Ḁ: "A",
                                                            Ą: "A",
                                                            Ⱥ: "A",
                                                            Ɐ: "A",
                                                            Ꜳ: "AA",
                                                            Æ: "AE",
                                                            Ǽ: "AE",
                                                            Ǣ: "AE",
                                                            Ꜵ: "AO",
                                                            Ꜷ: "AU",
                                                            Ꜹ: "AV",
                                                            Ꜻ: "AV",
                                                            Ꜽ: "AY",
                                                            "Ⓑ": "B",
                                                            Ｂ: "B",
                                                            Ḃ: "B",
                                                            Ḅ: "B",
                                                            Ḇ: "B",
                                                            Ƀ: "B",
                                                            Ƃ: "B",
                                                            Ɓ: "B",
                                                            "Ⓒ": "C",
                                                            Ｃ: "C",
                                                            Ć: "C",
                                                            Ĉ: "C",
                                                            Ċ: "C",
                                                            Č: "C",
                                                            Ç: "C",
                                                            Ḉ: "C",
                                                            Ƈ: "C",
                                                            Ȼ: "C",
                                                            Ꜿ: "C",
                                                            "Ⓓ": "D",
                                                            Ｄ: "D",
                                                            Ḋ: "D",
                                                            Ď: "D",
                                                            Ḍ: "D",
                                                            Ḑ: "D",
                                                            Ḓ: "D",
                                                            Ḏ: "D",
                                                            Đ: "D",
                                                            Ƌ: "D",
                                                            Ɗ: "D",
                                                            Ɖ: "D",
                                                            Ꝺ: "D",
                                                            Ǳ: "DZ",
                                                            Ǆ: "DZ",
                                                            ǲ: "Dz",
                                                            ǅ: "Dz",
                                                            "Ⓔ": "E",
                                                            Ｅ: "E",
                                                            È: "E",
                                                            É: "E",
                                                            Ê: "E",
                                                            Ề: "E",
                                                            Ế: "E",
                                                            Ễ: "E",
                                                            Ể: "E",
                                                            Ẽ: "E",
                                                            Ē: "E",
                                                            Ḕ: "E",
                                                            Ḗ: "E",
                                                            Ĕ: "E",
                                                            Ė: "E",
                                                            Ë: "E",
                                                            Ẻ: "E",
                                                            Ě: "E",
                                                            Ȅ: "E",
                                                            Ȇ: "E",
                                                            Ẹ: "E",
                                                            Ệ: "E",
                                                            Ȩ: "E",
                                                            Ḝ: "E",
                                                            Ę: "E",
                                                            Ḙ: "E",
                                                            Ḛ: "E",
                                                            Ɛ: "E",
                                                            Ǝ: "E",
                                                            "Ⓕ": "F",
                                                            Ｆ: "F",
                                                            Ḟ: "F",
                                                            Ƒ: "F",
                                                            Ꝼ: "F",
                                                            "Ⓖ": "G",
                                                            Ｇ: "G",
                                                            Ǵ: "G",
                                                            Ĝ: "G",
                                                            Ḡ: "G",
                                                            Ğ: "G",
                                                            Ġ: "G",
                                                            Ǧ: "G",
                                                            Ģ: "G",
                                                            Ǥ: "G",
                                                            Ɠ: "G",
                                                            Ꞡ: "G",
                                                            Ᵹ: "G",
                                                            Ꝿ: "G",
                                                            "Ⓗ": "H",
                                                            Ｈ: "H",
                                                            Ĥ: "H",
                                                            Ḣ: "H",
                                                            Ḧ: "H",
                                                            Ȟ: "H",
                                                            Ḥ: "H",
                                                            Ḩ: "H",
                                                            Ḫ: "H",
                                                            Ħ: "H",
                                                            Ⱨ: "H",
                                                            Ⱶ: "H",
                                                            Ɥ: "H",
                                                            "Ⓘ": "I",
                                                            Ｉ: "I",
                                                            Ì: "I",
                                                            Í: "I",
                                                            Î: "I",
                                                            Ĩ: "I",
                                                            Ī: "I",
                                                            Ĭ: "I",
                                                            İ: "I",
                                                            Ï: "I",
                                                            Ḯ: "I",
                                                            Ỉ: "I",
                                                            Ǐ: "I",
                                                            Ȉ: "I",
                                                            Ȋ: "I",
                                                            Ị: "I",
                                                            Į: "I",
                                                            Ḭ: "I",
                                                            Ɨ: "I",
                                                            "Ⓙ": "J",
                                                            Ｊ: "J",
                                                            Ĵ: "J",
                                                            Ɉ: "J",
                                                            "Ⓚ": "K",
                                                            Ｋ: "K",
                                                            Ḱ: "K",
                                                            Ǩ: "K",
                                                            Ḳ: "K",
                                                            Ķ: "K",
                                                            Ḵ: "K",
                                                            Ƙ: "K",
                                                            Ⱪ: "K",
                                                            Ꝁ: "K",
                                                            Ꝃ: "K",
                                                            Ꝅ: "K",
                                                            Ꞣ: "K",
                                                            "Ⓛ": "L",
                                                            Ｌ: "L",
                                                            Ŀ: "L",
                                                            Ĺ: "L",
                                                            Ľ: "L",
                                                            Ḷ: "L",
                                                            Ḹ: "L",
                                                            Ļ: "L",
                                                            Ḽ: "L",
                                                            Ḻ: "L",
                                                            Ł: "L",
                                                            Ƚ: "L",
                                                            Ɫ: "L",
                                                            Ⱡ: "L",
                                                            Ꝉ: "L",
                                                            Ꝇ: "L",
                                                            Ꞁ: "L",
                                                            Ǉ: "LJ",
                                                            ǈ: "Lj",
                                                            "Ⓜ": "M",
                                                            Ｍ: "M",
                                                            Ḿ: "M",
                                                            Ṁ: "M",
                                                            Ṃ: "M",
                                                            Ɱ: "M",
                                                            Ɯ: "M",
                                                            "Ⓝ": "N",
                                                            Ｎ: "N",
                                                            Ǹ: "N",
                                                            Ń: "N",
                                                            Ñ: "N",
                                                            Ṅ: "N",
                                                            Ň: "N",
                                                            Ṇ: "N",
                                                            Ņ: "N",
                                                            Ṋ: "N",
                                                            Ṉ: "N",
                                                            Ƞ: "N",
                                                            Ɲ: "N",
                                                            Ꞑ: "N",
                                                            Ꞥ: "N",
                                                            Ǌ: "NJ",
                                                            ǋ: "Nj",
                                                            "Ⓞ": "O",
                                                            Ｏ: "O",
                                                            Ò: "O",
                                                            Ó: "O",
                                                            Ô: "O",
                                                            Ồ: "O",
                                                            Ố: "O",
                                                            Ỗ: "O",
                                                            Ổ: "O",
                                                            Õ: "O",
                                                            Ṍ: "O",
                                                            Ȭ: "O",
                                                            Ṏ: "O",
                                                            Ō: "O",
                                                            Ṑ: "O",
                                                            Ṓ: "O",
                                                            Ŏ: "O",
                                                            Ȯ: "O",
                                                            Ȱ: "O",
                                                            Ö: "O",
                                                            Ȫ: "O",
                                                            Ỏ: "O",
                                                            Ő: "O",
                                                            Ǒ: "O",
                                                            Ȍ: "O",
                                                            Ȏ: "O",
                                                            Ơ: "O",
                                                            Ờ: "O",
                                                            Ớ: "O",
                                                            Ỡ: "O",
                                                            Ở: "O",
                                                            Ợ: "O",
                                                            Ọ: "O",
                                                            Ộ: "O",
                                                            Ǫ: "O",
                                                            Ǭ: "O",
                                                            Ø: "O",
                                                            Ǿ: "O",
                                                            Ɔ: "O",
                                                            Ɵ: "O",
                                                            Ꝋ: "O",
                                                            Ꝍ: "O",
                                                            Œ: "OE",
                                                            Ƣ: "OI",
                                                            Ꝏ: "OO",
                                                            Ȣ: "OU",
                                                            "Ⓟ": "P",
                                                            Ｐ: "P",
                                                            Ṕ: "P",
                                                            Ṗ: "P",
                                                            Ƥ: "P",
                                                            Ᵽ: "P",
                                                            Ꝑ: "P",
                                                            Ꝓ: "P",
                                                            Ꝕ: "P",
                                                            "Ⓠ": "Q",
                                                            Ｑ: "Q",
                                                            Ꝗ: "Q",
                                                            Ꝙ: "Q",
                                                            Ɋ: "Q",
                                                            "Ⓡ": "R",
                                                            Ｒ: "R",
                                                            Ŕ: "R",
                                                            Ṙ: "R",
                                                            Ř: "R",
                                                            Ȑ: "R",
                                                            Ȓ: "R",
                                                            Ṛ: "R",
                                                            Ṝ: "R",
                                                            Ŗ: "R",
                                                            Ṟ: "R",
                                                            Ɍ: "R",
                                                            Ɽ: "R",
                                                            Ꝛ: "R",
                                                            Ꞧ: "R",
                                                            Ꞃ: "R",
                                                            "Ⓢ": "S",
                                                            Ｓ: "S",
                                                            ẞ: "S",
                                                            Ś: "S",
                                                            Ṥ: "S",
                                                            Ŝ: "S",
                                                            Ṡ: "S",
                                                            Š: "S",
                                                            Ṧ: "S",
                                                            Ṣ: "S",
                                                            Ṩ: "S",
                                                            Ș: "S",
                                                            Ş: "S",
                                                            Ȿ: "S",
                                                            Ꞩ: "S",
                                                            Ꞅ: "S",
                                                            "Ⓣ": "T",
                                                            Ｔ: "T",
                                                            Ṫ: "T",
                                                            Ť: "T",
                                                            Ṭ: "T",
                                                            Ț: "T",
                                                            Ţ: "T",
                                                            Ṱ: "T",
                                                            Ṯ: "T",
                                                            Ŧ: "T",
                                                            Ƭ: "T",
                                                            Ʈ: "T",
                                                            Ⱦ: "T",
                                                            Ꞇ: "T",
                                                            Ꜩ: "TZ",
                                                            "Ⓤ": "U",
                                                            Ｕ: "U",
                                                            Ù: "U",
                                                            Ú: "U",
                                                            Û: "U",
                                                            Ũ: "U",
                                                            Ṹ: "U",
                                                            Ū: "U",
                                                            Ṻ: "U",
                                                            Ŭ: "U",
                                                            Ü: "U",
                                                            Ǜ: "U",
                                                            Ǘ: "U",
                                                            Ǖ: "U",
                                                            Ǚ: "U",
                                                            Ủ: "U",
                                                            Ů: "U",
                                                            Ű: "U",
                                                            Ǔ: "U",
                                                            Ȕ: "U",
                                                            Ȗ: "U",
                                                            Ư: "U",
                                                            Ừ: "U",
                                                            Ứ: "U",
                                                            Ữ: "U",
                                                            Ử: "U",
                                                            Ự: "U",
                                                            Ụ: "U",
                                                            Ṳ: "U",
                                                            Ų: "U",
                                                            Ṷ: "U",
                                                            Ṵ: "U",
                                                            Ʉ: "U",
                                                            "Ⓥ": "V",
                                                            Ｖ: "V",
                                                            Ṽ: "V",
                                                            Ṿ: "V",
                                                            Ʋ: "V",
                                                            Ꝟ: "V",
                                                            Ʌ: "V",
                                                            Ꝡ: "VY",
                                                            "Ⓦ": "W",
                                                            Ｗ: "W",
                                                            Ẁ: "W",
                                                            Ẃ: "W",
                                                            Ŵ: "W",
                                                            Ẇ: "W",
                                                            Ẅ: "W",
                                                            Ẉ: "W",
                                                            Ⱳ: "W",
                                                            "Ⓧ": "X",
                                                            Ｘ: "X",
                                                            Ẋ: "X",
                                                            Ẍ: "X",
                                                            "Ⓨ": "Y",
                                                            Ｙ: "Y",
                                                            Ỳ: "Y",
                                                            Ý: "Y",
                                                            Ŷ: "Y",
                                                            Ỹ: "Y",
                                                            Ȳ: "Y",
                                                            Ẏ: "Y",
                                                            Ÿ: "Y",
                                                            Ỷ: "Y",
                                                            Ỵ: "Y",
                                                            Ƴ: "Y",
                                                            Ɏ: "Y",
                                                            Ỿ: "Y",
                                                            "Ⓩ": "Z",
                                                            Ｚ: "Z",
                                                            Ź: "Z",
                                                            Ẑ: "Z",
                                                            Ż: "Z",
                                                            Ž: "Z",
                                                            Ẓ: "Z",
                                                            Ẕ: "Z",
                                                            Ƶ: "Z",
                                                            Ȥ: "Z",
                                                            Ɀ: "Z",
                                                            Ⱬ: "Z",
                                                            Ꝣ: "Z",
                                                            "ⓐ": "a",
                                                            ａ: "a",
                                                            ẚ: "a",
                                                            à: "a",
                                                            á: "a",
                                                            â: "a",
                                                            ầ: "a",
                                                            ấ: "a",
                                                            ẫ: "a",
                                                            ẩ: "a",
                                                            ã: "a",
                                                            ā: "a",
                                                            ă: "a",
                                                            ằ: "a",
                                                            ắ: "a",
                                                            ẵ: "a",
                                                            ẳ: "a",
                                                            ȧ: "a",
                                                            ǡ: "a",
                                                            ä: "a",
                                                            ǟ: "a",
                                                            ả: "a",
                                                            å: "a",
                                                            ǻ: "a",
                                                            ǎ: "a",
                                                            ȁ: "a",
                                                            ȃ: "a",
                                                            ạ: "a",
                                                            ậ: "a",
                                                            ặ: "a",
                                                            ḁ: "a",
                                                            ą: "a",
                                                            ⱥ: "a",
                                                            ɐ: "a",
                                                            ꜳ: "aa",
                                                            æ: "ae",
                                                            ǽ: "ae",
                                                            ǣ: "ae",
                                                            ꜵ: "ao",
                                                            ꜷ: "au",
                                                            ꜹ: "av",
                                                            ꜻ: "av",
                                                            ꜽ: "ay",
                                                            "ⓑ": "b",
                                                            ｂ: "b",
                                                            ḃ: "b",
                                                            ḅ: "b",
                                                            ḇ: "b",
                                                            ƀ: "b",
                                                            ƃ: "b",
                                                            ɓ: "b",
                                                            "ⓒ": "c",
                                                            ｃ: "c",
                                                            ć: "c",
                                                            ĉ: "c",
                                                            ċ: "c",
                                                            č: "c",
                                                            ç: "c",
                                                            ḉ: "c",
                                                            ƈ: "c",
                                                            ȼ: "c",
                                                            ꜿ: "c",
                                                            ↄ: "c",
                                                            "ⓓ": "d",
                                                            ｄ: "d",
                                                            ḋ: "d",
                                                            ď: "d",
                                                            ḍ: "d",
                                                            ḑ: "d",
                                                            ḓ: "d",
                                                            ḏ: "d",
                                                            đ: "d",
                                                            ƌ: "d",
                                                            ɖ: "d",
                                                            ɗ: "d",
                                                            ꝺ: "d",
                                                            ǳ: "dz",
                                                            ǆ: "dz",
                                                            "ⓔ": "e",
                                                            ｅ: "e",
                                                            è: "e",
                                                            é: "e",
                                                            ê: "e",
                                                            ề: "e",
                                                            ế: "e",
                                                            ễ: "e",
                                                            ể: "e",
                                                            ẽ: "e",
                                                            ē: "e",
                                                            ḕ: "e",
                                                            ḗ: "e",
                                                            ĕ: "e",
                                                            ė: "e",
                                                            ë: "e",
                                                            ẻ: "e",
                                                            ě: "e",
                                                            ȅ: "e",
                                                            ȇ: "e",
                                                            ẹ: "e",
                                                            ệ: "e",
                                                            ȩ: "e",
                                                            ḝ: "e",
                                                            ę: "e",
                                                            ḙ: "e",
                                                            ḛ: "e",
                                                            ɇ: "e",
                                                            ɛ: "e",
                                                            ǝ: "e",
                                                            "ⓕ": "f",
                                                            ｆ: "f",
                                                            ḟ: "f",
                                                            ƒ: "f",
                                                            ꝼ: "f",
                                                            "ⓖ": "g",
                                                            ｇ: "g",
                                                            ǵ: "g",
                                                            ĝ: "g",
                                                            ḡ: "g",
                                                            ğ: "g",
                                                            ġ: "g",
                                                            ǧ: "g",
                                                            ģ: "g",
                                                            ǥ: "g",
                                                            ɠ: "g",
                                                            ꞡ: "g",
                                                            ᵹ: "g",
                                                            ꝿ: "g",
                                                            "ⓗ": "h",
                                                            ｈ: "h",
                                                            ĥ: "h",
                                                            ḣ: "h",
                                                            ḧ: "h",
                                                            ȟ: "h",
                                                            ḥ: "h",
                                                            ḩ: "h",
                                                            ḫ: "h",
                                                            ẖ: "h",
                                                            ħ: "h",
                                                            ⱨ: "h",
                                                            ⱶ: "h",
                                                            ɥ: "h",
                                                            ƕ: "hv",
                                                            "ⓘ": "i",
                                                            ｉ: "i",
                                                            ì: "i",
                                                            í: "i",
                                                            î: "i",
                                                            ĩ: "i",
                                                            ī: "i",
                                                            ĭ: "i",
                                                            ï: "i",
                                                            ḯ: "i",
                                                            ỉ: "i",
                                                            ǐ: "i",
                                                            ȉ: "i",
                                                            ȋ: "i",
                                                            ị: "i",
                                                            į: "i",
                                                            ḭ: "i",
                                                            ɨ: "i",
                                                            ı: "i",
                                                            "ⓙ": "j",
                                                            ｊ: "j",
                                                            ĵ: "j",
                                                            ǰ: "j",
                                                            ɉ: "j",
                                                            "ⓚ": "k",
                                                            ｋ: "k",
                                                            ḱ: "k",
                                                            ǩ: "k",
                                                            ḳ: "k",
                                                            ķ: "k",
                                                            ḵ: "k",
                                                            ƙ: "k",
                                                            ⱪ: "k",
                                                            ꝁ: "k",
                                                            ꝃ: "k",
                                                            ꝅ: "k",
                                                            ꞣ: "k",
                                                            "ⓛ": "l",
                                                            ｌ: "l",
                                                            ŀ: "l",
                                                            ĺ: "l",
                                                            ľ: "l",
                                                            ḷ: "l",
                                                            ḹ: "l",
                                                            ļ: "l",
                                                            ḽ: "l",
                                                            ḻ: "l",
                                                            ſ: "l",
                                                            ł: "l",
                                                            ƚ: "l",
                                                            ɫ: "l",
                                                            ⱡ: "l",
                                                            ꝉ: "l",
                                                            ꞁ: "l",
                                                            ꝇ: "l",
                                                            ǉ: "lj",
                                                            "ⓜ": "m",
                                                            ｍ: "m",
                                                            ḿ: "m",
                                                            ṁ: "m",
                                                            ṃ: "m",
                                                            ɱ: "m",
                                                            ɯ: "m",
                                                            "ⓝ": "n",
                                                            ｎ: "n",
                                                            ǹ: "n",
                                                            ń: "n",
                                                            ñ: "n",
                                                            ṅ: "n",
                                                            ň: "n",
                                                            ṇ: "n",
                                                            ņ: "n",
                                                            ṋ: "n",
                                                            ṉ: "n",
                                                            ƞ: "n",
                                                            ɲ: "n",
                                                            ŉ: "n",
                                                            ꞑ: "n",
                                                            ꞥ: "n",
                                                            ǌ: "nj",
                                                            "ⓞ": "o",
                                                            ｏ: "o",
                                                            ò: "o",
                                                            ó: "o",
                                                            ô: "o",
                                                            ồ: "o",
                                                            ố: "o",
                                                            ỗ: "o",
                                                            ổ: "o",
                                                            õ: "o",
                                                            ṍ: "o",
                                                            ȭ: "o",
                                                            ṏ: "o",
                                                            ō: "o",
                                                            ṑ: "o",
                                                            ṓ: "o",
                                                            ŏ: "o",
                                                            ȯ: "o",
                                                            ȱ: "o",
                                                            ö: "o",
                                                            ȫ: "o",
                                                            ỏ: "o",
                                                            ő: "o",
                                                            ǒ: "o",
                                                            ȍ: "o",
                                                            ȏ: "o",
                                                            ơ: "o",
                                                            ờ: "o",
                                                            ớ: "o",
                                                            ỡ: "o",
                                                            ở: "o",
                                                            ợ: "o",
                                                            ọ: "o",
                                                            ộ: "o",
                                                            ǫ: "o",
                                                            ǭ: "o",
                                                            ø: "o",
                                                            ǿ: "o",
                                                            ɔ: "o",
                                                            ꝋ: "o",
                                                            ꝍ: "o",
                                                            ɵ: "o",
                                                            œ: "oe",
                                                            ƣ: "oi",
                                                            ȣ: "ou",
                                                            ꝏ: "oo",
                                                            "ⓟ": "p",
                                                            ｐ: "p",
                                                            ṕ: "p",
                                                            ṗ: "p",
                                                            ƥ: "p",
                                                            ᵽ: "p",
                                                            ꝑ: "p",
                                                            ꝓ: "p",
                                                            ꝕ: "p",
                                                            "ⓠ": "q",
                                                            ｑ: "q",
                                                            ɋ: "q",
                                                            ꝗ: "q",
                                                            ꝙ: "q",
                                                            "ⓡ": "r",
                                                            ｒ: "r",
                                                            ŕ: "r",
                                                            ṙ: "r",
                                                            ř: "r",
                                                            ȑ: "r",
                                                            ȓ: "r",
                                                            ṛ: "r",
                                                            ṝ: "r",
                                                            ŗ: "r",
                                                            ṟ: "r",
                                                            ɍ: "r",
                                                            ɽ: "r",
                                                            ꝛ: "r",
                                                            ꞧ: "r",
                                                            ꞃ: "r",
                                                            "ⓢ": "s",
                                                            ｓ: "s",
                                                            ß: "s",
                                                            ś: "s",
                                                            ṥ: "s",
                                                            ŝ: "s",
                                                            ṡ: "s",
                                                            š: "s",
                                                            ṧ: "s",
                                                            ṣ: "s",
                                                            ṩ: "s",
                                                            ș: "s",
                                                            ş: "s",
                                                            ȿ: "s",
                                                            ꞩ: "s",
                                                            ꞅ: "s",
                                                            ẛ: "s",
                                                            "ⓣ": "t",
                                                            ｔ: "t",
                                                            ṫ: "t",
                                                            ẗ: "t",
                                                            ť: "t",
                                                            ṭ: "t",
                                                            ț: "t",
                                                            ţ: "t",
                                                            ṱ: "t",
                                                            ṯ: "t",
                                                            ŧ: "t",
                                                            ƭ: "t",
                                                            ʈ: "t",
                                                            ⱦ: "t",
                                                            ꞇ: "t",
                                                            ꜩ: "tz",
                                                            "ⓤ": "u",
                                                            ｕ: "u",
                                                            ù: "u",
                                                            ú: "u",
                                                            û: "u",
                                                            ũ: "u",
                                                            ṹ: "u",
                                                            ū: "u",
                                                            ṻ: "u",
                                                            ŭ: "u",
                                                            ü: "u",
                                                            ǜ: "u",
                                                            ǘ: "u",
                                                            ǖ: "u",
                                                            ǚ: "u",
                                                            ủ: "u",
                                                            ů: "u",
                                                            ű: "u",
                                                            ǔ: "u",
                                                            ȕ: "u",
                                                            ȗ: "u",
                                                            ư: "u",
                                                            ừ: "u",
                                                            ứ: "u",
                                                            ữ: "u",
                                                            ử: "u",
                                                            ự: "u",
                                                            ụ: "u",
                                                            ṳ: "u",
                                                            ų: "u",
                                                            ṷ: "u",
                                                            ṵ: "u",
                                                            ʉ: "u",
                                                            "ⓥ": "v",
                                                            ｖ: "v",
                                                            ṽ: "v",
                                                            ṿ: "v",
                                                            ʋ: "v",
                                                            ꝟ: "v",
                                                            ʌ: "v",
                                                            ꝡ: "vy",
                                                            "ⓦ": "w",
                                                            ｗ: "w",
                                                            ẁ: "w",
                                                            ẃ: "w",
                                                            ŵ: "w",
                                                            ẇ: "w",
                                                            ẅ: "w",
                                                            ẘ: "w",
                                                            ẉ: "w",
                                                            ⱳ: "w",
                                                            "ⓧ": "x",
                                                            ｘ: "x",
                                                            ẋ: "x",
                                                            ẍ: "x",
                                                            "ⓨ": "y",
                                                            ｙ: "y",
                                                            ỳ: "y",
                                                            ý: "y",
                                                            ŷ: "y",
                                                            ỹ: "y",
                                                            ȳ: "y",
                                                            ẏ: "y",
                                                            ÿ: "y",
                                                            ỷ: "y",
                                                            ẙ: "y",
                                                            ỵ: "y",
                                                            ƴ: "y",
                                                            ɏ: "y",
                                                            ỿ: "y",
                                                            "ⓩ": "z",
                                                            ｚ: "z",
                                                            ź: "z",
                                                            ẑ: "z",
                                                            ż: "z",
                                                            ž: "z",
                                                            ẓ: "z",
                                                            ẕ: "z",
                                                            ƶ: "z",
                                                            ȥ: "z",
                                                            ɀ: "z",
                                                            ⱬ: "z",
                                                            ꝣ: "z",
                                                            Ά: "Α",
                                                            Έ: "Ε",
                                                            Ή: "Η",
                                                            Ί: "Ι",
                                                            Ϊ: "Ι",
                                                            Ό: "Ο",
                                                            Ύ: "Υ",
                                                            Ϋ: "Υ",
                                                            Ώ: "Ω",
                                                            ά: "α",
                                                            έ: "ε",
                                                            ή: "η",
                                                            ί: "ι",
                                                            ϊ: "ι",
                                                            ΐ: "ι",
                                                            ό: "ο",
                                                            ύ: "υ",
                                                            ϋ: "υ",
                                                            ΰ: "υ",
                                                            ώ: "ω",
                                                            ς: "σ",
                                                            "’": "'",
                                                       };
                                                  }),
                                                  e.define("select2/data/base", ["../utils"], function (t) {
                                                       function e(t, i) {
                                                            e.__super__.constructor.call(this);
                                                       }
                                                       return (
                                                            t.Extend(e, t.Observable),
                                                            (e.prototype.current = function (t) {
                                                                 throw new Error("The `current` method must be defined in child classes.");
                                                            }),
                                                            (e.prototype.query = function (t, e) {
                                                                 throw new Error("The `query` method must be defined in child classes.");
                                                            }),
                                                            (e.prototype.bind = function (t, e) {}),
                                                            (e.prototype.destroy = function () {}),
                                                            (e.prototype.generateResultId = function (e, i) {
                                                                 var n = e.id + "-result-";
                                                                 return (n += t.generateChars(4)), null != i.id ? (n += "-" + i.id.toString()) : (n += "-" + t.generateChars(4)), n;
                                                            }),
                                                            e
                                                       );
                                                  }),
                                                  e.define("select2/data/select", ["./base", "../utils", "jquery"], function (t, e, i) {
                                                       function n(t, e) {
                                                            (this.$element = t), (this.options = e), n.__super__.constructor.call(this);
                                                       }
                                                       return (
                                                            e.Extend(n, t),
                                                            (n.prototype.current = function (t) {
                                                                 var e = [],
                                                                      n = this;
                                                                 this.$element.find(":selected").each(function () {
                                                                      var t = i(this),
                                                                           r = n.item(t);
                                                                      e.push(r);
                                                                 }),
                                                                      t(e);
                                                            }),
                                                            (n.prototype.select = function (t) {
                                                                 var e = this;
                                                                 if (((t.selected = !0), i(t.element).is("option"))) return (t.element.selected = !0), void this.$element.trigger("input").trigger("change");
                                                                 if (this.$element.prop("multiple"))
                                                                      this.current(function (n) {
                                                                           var r = [];
                                                                           (t = [t]).push.apply(t, n);
                                                                           for (var o = 0; o < t.length; o++) {
                                                                                var a = t[o].id;
                                                                                -1 === i.inArray(a, r) && r.push(a);
                                                                           }
                                                                           e.$element.val(r), e.$element.trigger("input").trigger("change");
                                                                      });
                                                                 else {
                                                                      var n = t.id;
                                                                      this.$element.val(n), this.$element.trigger("input").trigger("change");
                                                                 }
                                                            }),
                                                            (n.prototype.unselect = function (t) {
                                                                 var e = this;
                                                                 if (this.$element.prop("multiple")) {
                                                                      if (((t.selected = !1), i(t.element).is("option"))) return (t.element.selected = !1), void this.$element.trigger("input").trigger("change");
                                                                      this.current(function (n) {
                                                                           for (var r = [], o = 0; o < n.length; o++) {
                                                                                var a = n[o].id;
                                                                                a !== t.id && -1 === i.inArray(a, r) && r.push(a);
                                                                           }
                                                                           e.$element.val(r), e.$element.trigger("input").trigger("change");
                                                                      });
                                                                 }
                                                            }),
                                                            (n.prototype.bind = function (t, e) {
                                                                 var i = this;
                                                                 (this.container = t),
                                                                      t.on("select", function (t) {
                                                                           i.select(t.data);
                                                                      }),
                                                                      t.on("unselect", function (t) {
                                                                           i.unselect(t.data);
                                                                      });
                                                            }),
                                                            (n.prototype.destroy = function () {
                                                                 this.$element.find("*").each(function () {
                                                                      e.RemoveData(this);
                                                                 });
                                                            }),
                                                            (n.prototype.query = function (t, e) {
                                                                 var n = [],
                                                                      r = this;
                                                                 this.$element.children().each(function () {
                                                                      var e = i(this);
                                                                      if (e.is("option") || e.is("optgroup")) {
                                                                           var o = r.item(e),
                                                                                a = r.matches(t, o);
                                                                           null !== a && n.push(a);
                                                                      }
                                                                 }),
                                                                      e({ results: n });
                                                            }),
                                                            (n.prototype.addOptions = function (t) {
                                                                 e.appendMany(this.$element, t);
                                                            }),
                                                            (n.prototype.option = function (t) {
                                                                 var n;
                                                                 t.children
                                                                      ? ((n = document.createElement("optgroup")).label = t.text)
                                                                      : void 0 !== (n = document.createElement("option")).textContent
                                                                      ? (n.textContent = t.text)
                                                                      : (n.innerText = t.text),
                                                                      void 0 !== t.id && (n.value = t.id),
                                                                      t.disabled && (n.disabled = !0),
                                                                      t.selected && (n.selected = !0),
                                                                      t.title && (n.title = t.title);
                                                                 var r = i(n),
                                                                      o = this._normalizeItem(t);
                                                                 return (o.element = n), e.StoreData(n, "data", o), r;
                                                            }),
                                                            (n.prototype.item = function (t) {
                                                                 var n = {};
                                                                 if (null != (n = e.GetData(t[0], "data"))) return n;
                                                                 if (t.is("option")) n = { id: t.val(), text: t.text(), disabled: t.prop("disabled"), selected: t.prop("selected"), title: t.prop("title") };
                                                                 else if (t.is("optgroup")) {
                                                                      n = { text: t.prop("label"), children: [], title: t.prop("title") };
                                                                      for (var r = t.children("option"), o = [], a = 0; a < r.length; a++) {
                                                                           var s = i(r[a]),
                                                                                l = this.item(s);
                                                                           o.push(l);
                                                                      }
                                                                      n.children = o;
                                                                 }
                                                                 return ((n = this._normalizeItem(n)).element = t[0]), e.StoreData(t[0], "data", n), n;
                                                            }),
                                                            (n.prototype._normalizeItem = function (t) {
                                                                 return (
                                                                      t !== Object(t) && (t = { id: t, text: t }),
                                                                      null != (t = i.extend({}, { text: "" }, t)).id && (t.id = t.id.toString()),
                                                                      null != t.text && (t.text = t.text.toString()),
                                                                      null == t._resultId && t.id && null != this.container && (t._resultId = this.generateResultId(this.container, t)),
                                                                      i.extend({}, { selected: !1, disabled: !1 }, t)
                                                                 );
                                                            }),
                                                            (n.prototype.matches = function (t, e) {
                                                                 return this.options.get("matcher")(t, e);
                                                            }),
                                                            n
                                                       );
                                                  }),
                                                  e.define("select2/data/array", ["./select", "../utils", "jquery"], function (t, e, i) {
                                                       function n(t, e) {
                                                            (this._dataToConvert = e.get("data") || []), n.__super__.constructor.call(this, t, e);
                                                       }
                                                       return (
                                                            e.Extend(n, t),
                                                            (n.prototype.bind = function (t, e) {
                                                                 n.__super__.bind.call(this, t, e), this.addOptions(this.convertToOptions(this._dataToConvert));
                                                            }),
                                                            (n.prototype.select = function (t) {
                                                                 var e = this.$element.find("option").filter(function (e, i) {
                                                                      return i.value == t.id.toString();
                                                                 });
                                                                 0 === e.length && ((e = this.option(t)), this.addOptions(e)), n.__super__.select.call(this, t);
                                                            }),
                                                            (n.prototype.convertToOptions = function (t) {
                                                                 var n = this,
                                                                      r = this.$element.find("option"),
                                                                      o = r
                                                                           .map(function () {
                                                                                return n.item(i(this)).id;
                                                                           })
                                                                           .get(),
                                                                      a = [];
                                                                 function s(t) {
                                                                      return function () {
                                                                           return i(this).val() == t.id;
                                                                      };
                                                                 }
                                                                 for (var l = 0; l < t.length; l++) {
                                                                      var c = this._normalizeItem(t[l]);
                                                                      if (i.inArray(c.id, o) >= 0) {
                                                                           var u = r.filter(s(c)),
                                                                                h = this.item(u),
                                                                                d = i.extend(!0, {}, c, h),
                                                                                p = this.option(d);
                                                                           u.replaceWith(p);
                                                                      } else {
                                                                           var f = this.option(c);
                                                                           if (c.children) {
                                                                                var m = this.convertToOptions(c.children);
                                                                                e.appendMany(f, m);
                                                                           }
                                                                           a.push(f);
                                                                      }
                                                                 }
                                                                 return a;
                                                            }),
                                                            n
                                                       );
                                                  }),
                                                  e.define("select2/data/ajax", ["./array", "../utils", "jquery"], function (t, e, i) {
                                                       function n(t, e) {
                                                            (this.ajaxOptions = this._applyDefaults(e.get("ajax"))),
                                                                 null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults),
                                                                 n.__super__.constructor.call(this, t, e);
                                                       }
                                                       return (
                                                            e.Extend(n, t),
                                                            (n.prototype._applyDefaults = function (t) {
                                                                 var e = {
                                                                      data: function (t) {
                                                                           return i.extend({}, t, { q: t.term });
                                                                      },
                                                                      transport: function (t, e, n) {
                                                                           var r = i.ajax(t);
                                                                           return r.then(e), r.fail(n), r;
                                                                      },
                                                                 };
                                                                 return i.extend({}, e, t, !0);
                                                            }),
                                                            (n.prototype.processResults = function (t) {
                                                                 return t;
                                                            }),
                                                            (n.prototype.query = function (t, e) {
                                                                 var n = this;
                                                                 null != this._request && (i.isFunction(this._request.abort) && this._request.abort(), (this._request = null));
                                                                 var r = i.extend({ type: "GET" }, this.ajaxOptions);
                                                                 function o() {
                                                                      var o = r.transport(
                                                                           r,
                                                                           function (r) {
                                                                                var o = n.processResults(r, t);
                                                                                n.options.get("debug") &&
                                                                                     window.console &&
                                                                                     console.error &&
                                                                                     ((o && o.results && i.isArray(o.results)) || console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),
                                                                                     e(o);
                                                                           },
                                                                           function () {
                                                                                (!("status" in o) || (0 !== o.status && "0" !== o.status)) && n.trigger("results:message", { message: "errorLoading" });
                                                                           }
                                                                      );
                                                                      n._request = o;
                                                                 }
                                                                 "function" == typeof r.url && (r.url = r.url.call(this.$element, t)),
                                                                      "function" == typeof r.data && (r.data = r.data.call(this.$element, t)),
                                                                      this.ajaxOptions.delay && null != t.term
                                                                           ? (this._queryTimeout && window.clearTimeout(this._queryTimeout), (this._queryTimeout = window.setTimeout(o, this.ajaxOptions.delay)))
                                                                           : o();
                                                            }),
                                                            n
                                                       );
                                                  }),
                                                  e.define("select2/data/tags", ["jquery"], function (t) {
                                                       function e(e, i, n) {
                                                            var r = n.get("tags"),
                                                                 o = n.get("createTag");
                                                            void 0 !== o && (this.createTag = o);
                                                            var a = n.get("insertTag");
                                                            if ((void 0 !== a && (this.insertTag = a), e.call(this, i, n), t.isArray(r)))
                                                                 for (var s = 0; s < r.length; s++) {
                                                                      var l = r[s],
                                                                           c = this._normalizeItem(l),
                                                                           u = this.option(c);
                                                                      this.$element.append(u);
                                                                 }
                                                       }
                                                       return (
                                                            (e.prototype.query = function (t, e, i) {
                                                                 var n = this;
                                                                 this._removeOldTags(),
                                                                      null != e.term && null == e.page
                                                                           ? t.call(this, e, function t(r, o) {
                                                                                  for (var a = r.results, s = 0; s < a.length; s++) {
                                                                                       var l = a[s],
                                                                                            c = null != l.children && !t({ results: l.children }, !0);
                                                                                       if ((l.text || "").toUpperCase() === (e.term || "").toUpperCase() || c) return !o && ((r.data = a), void i(r));
                                                                                  }
                                                                                  if (o) return !0;
                                                                                  var u = n.createTag(e);
                                                                                  if (null != u) {
                                                                                       var h = n.option(u);
                                                                                       h.attr("data-select2-tag", !0), n.addOptions([h]), n.insertTag(a, u);
                                                                                  }
                                                                                  (r.results = a), i(r);
                                                                             })
                                                                           : t.call(this, e, i);
                                                            }),
                                                            (e.prototype.createTag = function (e, i) {
                                                                 var n = t.trim(i.term);
                                                                 return "" === n ? null : { id: n, text: n };
                                                            }),
                                                            (e.prototype.insertTag = function (t, e, i) {
                                                                 e.unshift(i);
                                                            }),
                                                            (e.prototype._removeOldTags = function (e) {
                                                                 this.$element.find("option[data-select2-tag]").each(function () {
                                                                      this.selected || t(this).remove();
                                                                 });
                                                            }),
                                                            e
                                                       );
                                                  }),
                                                  e.define("select2/data/tokenizer", ["jquery"], function (t) {
                                                       function e(t, e, i) {
                                                            var n = i.get("tokenizer");
                                                            void 0 !== n && (this.tokenizer = n), t.call(this, e, i);
                                                       }
                                                       return (
                                                            (e.prototype.bind = function (t, e, i) {
                                                                 t.call(this, e, i), (this.$search = e.dropdown.$search || e.selection.$search || i.find(".select2-search__field"));
                                                            }),
                                                            (e.prototype.query = function (e, i, n) {
                                                                 var r = this;
                                                                 i.term = i.term || "";
                                                                 var o = this.tokenizer(i, this.options, function (e) {
                                                                      var i = r._normalizeItem(e);
                                                                      if (
                                                                           !r.$element.find("option").filter(function () {
                                                                                return t(this).val() === i.id;
                                                                           }).length
                                                                      ) {
                                                                           var n = r.option(i);
                                                                           n.attr("data-select2-tag", !0), r._removeOldTags(), r.addOptions([n]);
                                                                      }
                                                                      !(function (t) {
                                                                           r.trigger("select", { data: t });
                                                                      })(i);
                                                                 });
                                                                 o.term !== i.term && (this.$search.length && (this.$search.val(o.term), this.$search.trigger("focus")), (i.term = o.term)), e.call(this, i, n);
                                                            }),
                                                            (e.prototype.tokenizer = function (e, i, n, r) {
                                                                 for (
                                                                      var o = n.get("tokenSeparators") || [],
                                                                           a = i.term,
                                                                           s = 0,
                                                                           l =
                                                                                this.createTag ||
                                                                                function (t) {
                                                                                     return { id: t.term, text: t.term };
                                                                                };
                                                                      s < a.length;

                                                                 ) {
                                                                      var c = a[s];
                                                                      if (-1 !== t.inArray(c, o)) {
                                                                           var u = a.substr(0, s),
                                                                                h = l(t.extend({}, i, { term: u }));
                                                                           null != h ? (r(h), (a = a.substr(s + 1) || ""), (s = 0)) : s++;
                                                                      } else s++;
                                                                 }
                                                                 return { term: a };
                                                            }),
                                                            e
                                                       );
                                                  }),
                                                  e.define("select2/data/minimumInputLength", [], function () {
                                                       function t(t, e, i) {
                                                            (this.minimumInputLength = i.get("minimumInputLength")), t.call(this, e, i);
                                                       }
                                                       return (
                                                            (t.prototype.query = function (t, e, i) {
                                                                 (e.term = e.term || ""),
                                                                      e.term.length < this.minimumInputLength
                                                                           ? this.trigger("results:message", { message: "inputTooShort", args: { minimum: this.minimumInputLength, input: e.term, params: e } })
                                                                           : t.call(this, e, i);
                                                            }),
                                                            t
                                                       );
                                                  }),
                                                  e.define("select2/data/maximumInputLength", [], function () {
                                                       function t(t, e, i) {
                                                            (this.maximumInputLength = i.get("maximumInputLength")), t.call(this, e, i);
                                                       }
                                                       return (
                                                            (t.prototype.query = function (t, e, i) {
                                                                 (e.term = e.term || ""),
                                                                      this.maximumInputLength > 0 && e.term.length > this.maximumInputLength
                                                                           ? this.trigger("results:message", { message: "inputTooLong", args: { maximum: this.maximumInputLength, input: e.term, params: e } })
                                                                           : t.call(this, e, i);
                                                            }),
                                                            t
                                                       );
                                                  }),
                                                  e.define("select2/data/maximumSelectionLength", [], function () {
                                                       function t(t, e, i) {
                                                            (this.maximumSelectionLength = i.get("maximumSelectionLength")), t.call(this, e, i);
                                                       }
                                                       return (
                                                            (t.prototype.bind = function (t, e, i) {
                                                                 var n = this;
                                                                 t.call(this, e, i),
                                                                      e.on("select", function () {
                                                                           n._checkIfMaximumSelected();
                                                                      });
                                                            }),
                                                            (t.prototype.query = function (t, e, i) {
                                                                 var n = this;
                                                                 this._checkIfMaximumSelected(function () {
                                                                      t.call(n, e, i);
                                                                 });
                                                            }),
                                                            (t.prototype._checkIfMaximumSelected = function (t, e) {
                                                                 var i = this;
                                                                 this.current(function (t) {
                                                                      var n = null != t ? t.length : 0;
                                                                      i.maximumSelectionLength > 0 && n >= i.maximumSelectionLength
                                                                           ? i.trigger("results:message", { message: "maximumSelected", args: { maximum: i.maximumSelectionLength } })
                                                                           : e && e();
                                                                 });
                                                            }),
                                                            t
                                                       );
                                                  }),
                                                  e.define("select2/dropdown", ["jquery", "./utils"], function (t, e) {
                                                       function i(t, e) {
                                                            (this.$element = t), (this.options = e), i.__super__.constructor.call(this);
                                                       }
                                                       return (
                                                            e.Extend(i, e.Observable),
                                                            (i.prototype.render = function () {
                                                                 var e = t('<span class="select2-dropdown"><span class="select2-results"></span></span>');
                                                                 return e.attr("dir", this.options.get("dir")), (this.$dropdown = e), e;
                                                            }),
                                                            (i.prototype.bind = function () {}),
                                                            (i.prototype.position = function (t, e) {}),
                                                            (i.prototype.destroy = function () {
                                                                 this.$dropdown.remove();
                                                            }),
                                                            i
                                                       );
                                                  }),
                                                  e.define("select2/dropdown/search", ["jquery", "../utils"], function (t, e) {
                                                       function i() {}
                                                       return (
                                                            (i.prototype.render = function (e) {
                                                                 var i = e.call(this),
                                                                      n = t(
                                                                           '<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>'
                                                                      );
                                                                 return (this.$searchContainer = n), (this.$search = n.find("input")), i.prepend(n), i;
                                                            }),
                                                            (i.prototype.bind = function (e, i, n) {
                                                                 var r = this,
                                                                      o = i.id + "-results";
                                                                 e.call(this, i, n),
                                                                      this.$search.on("keydown", function (t) {
                                                                           r.trigger("keypress", t), (r._keyUpPrevented = t.isDefaultPrevented());
                                                                      }),
                                                                      this.$search.on("input", function (e) {
                                                                           t(this).off("keyup");
                                                                      }),
                                                                      this.$search.on("keyup input", function (t) {
                                                                           r.handleSearch(t);
                                                                      }),
                                                                      i.on("open", function () {
                                                                           r.$search.attr("tabindex", 0),
                                                                                r.$search.attr("aria-controls", o),
                                                                                r.$search.trigger("focus"),
                                                                                window.setTimeout(function () {
                                                                                     r.$search.trigger("focus");
                                                                                }, 0);
                                                                      }),
                                                                      i.on("close", function () {
                                                                           r.$search.attr("tabindex", -1), r.$search.removeAttr("aria-controls"), r.$search.removeAttr("aria-activedescendant"), r.$search.val(""), r.$search.trigger("blur");
                                                                      }),
                                                                      i.on("focus", function () {
                                                                           i.isOpen() || r.$search.trigger("focus");
                                                                      }),
                                                                      i.on("results:all", function (t) {
                                                                           (null != t.query.term && "" !== t.query.term) ||
                                                                                (r.showSearch(t) ? r.$searchContainer.removeClass("select2-search--hide") : r.$searchContainer.addClass("select2-search--hide"));
                                                                      }),
                                                                      i.on("results:focus", function (t) {
                                                                           t.data._resultId ? r.$search.attr("aria-activedescendant", t.data._resultId) : r.$search.removeAttr("aria-activedescendant");
                                                                      });
                                                            }),
                                                            (i.prototype.handleSearch = function (t) {
                                                                 if (!this._keyUpPrevented) {
                                                                      var e = this.$search.val();
                                                                      this.trigger("query", { term: e });
                                                                 }
                                                                 this._keyUpPrevented = !1;
                                                            }),
                                                            (i.prototype.showSearch = function (t, e) {
                                                                 return !0;
                                                            }),
                                                            i
                                                       );
                                                  }),
                                                  e.define("select2/dropdown/hidePlaceholder", [], function () {
                                                       function t(t, e, i, n) {
                                                            (this.placeholder = this.normalizePlaceholder(i.get("placeholder"))), t.call(this, e, i, n);
                                                       }
                                                       return (
                                                            (t.prototype.append = function (t, e) {
                                                                 (e.results = this.removePlaceholder(e.results)), t.call(this, e);
                                                            }),
                                                            (t.prototype.normalizePlaceholder = function (t, e) {
                                                                 return "string" == typeof e && (e = { id: "", text: e }), e;
                                                            }),
                                                            (t.prototype.removePlaceholder = function (t, e) {
                                                                 for (var i = e.slice(0), n = e.length - 1; n >= 0; n--) {
                                                                      var r = e[n];
                                                                      this.placeholder.id === r.id && i.splice(n, 1);
                                                                 }
                                                                 return i;
                                                            }),
                                                            t
                                                       );
                                                  }),
                                                  e.define("select2/dropdown/infiniteScroll", ["jquery"], function (t) {
                                                       function e(t, e, i, n) {
                                                            (this.lastParams = {}), t.call(this, e, i, n), (this.$loadingMore = this.createLoadingMore()), (this.loading = !1);
                                                       }
                                                       return (
                                                            (e.prototype.append = function (t, e) {
                                                                 this.$loadingMore.remove(), (this.loading = !1), t.call(this, e), this.showLoadingMore(e) && (this.$results.append(this.$loadingMore), this.loadMoreIfNeeded());
                                                            }),
                                                            (e.prototype.bind = function (t, e, i) {
                                                                 var n = this;
                                                                 t.call(this, e, i),
                                                                      e.on("query", function (t) {
                                                                           (n.lastParams = t), (n.loading = !0);
                                                                      }),
                                                                      e.on("query:append", function (t) {
                                                                           (n.lastParams = t), (n.loading = !0);
                                                                      }),
                                                                      this.$results.on("scroll", this.loadMoreIfNeeded.bind(this));
                                                            }),
                                                            (e.prototype.loadMoreIfNeeded = function () {
                                                                 var e = t.contains(document.documentElement, this.$loadingMore[0]);
                                                                 !this.loading && e && this.$results.offset().top + this.$results.outerHeight(!1) + 50 >= this.$loadingMore.offset().top + this.$loadingMore.outerHeight(!1) && this.loadMore();
                                                            }),
                                                            (e.prototype.loadMore = function () {
                                                                 this.loading = !0;
                                                                 var e = t.extend({}, { page: 1 }, this.lastParams);
                                                                 e.page++, this.trigger("query:append", e);
                                                            }),
                                                            (e.prototype.showLoadingMore = function (t, e) {
                                                                 return e.pagination && e.pagination.more;
                                                            }),
                                                            (e.prototype.createLoadingMore = function () {
                                                                 var e = t('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),
                                                                      i = this.options.get("translations").get("loadingMore");
                                                                 return e.html(i(this.lastParams)), e;
                                                            }),
                                                            e
                                                       );
                                                  }),
                                                  e.define("select2/dropdown/attachBody", ["jquery", "../utils"], function (t, e) {
                                                       function i(e, i, n) {
                                                            (this.$dropdownParent = t(n.get("dropdownParent") || document.body)), e.call(this, i, n);
                                                       }
                                                       return (
                                                            (i.prototype.bind = function (t, e, i) {
                                                                 var n = this;
                                                                 t.call(this, e, i),
                                                                      e.on("open", function () {
                                                                           n._showDropdown(), n._attachPositioningHandler(e), n._bindContainerResultHandlers(e);
                                                                      }),
                                                                      e.on("close", function () {
                                                                           n._hideDropdown(), n._detachPositioningHandler(e);
                                                                      }),
                                                                      this.$dropdownContainer.on("mousedown", function (t) {
                                                                           t.stopPropagation();
                                                                      });
                                                            }),
                                                            (i.prototype.destroy = function (t) {
                                                                 t.call(this), this.$dropdownContainer.remove();
                                                            }),
                                                            (i.prototype.position = function (t, e, i) {
                                                                 e.attr("class", i.attr("class")), e.removeClass("select2"), e.addClass("select2-container--open"), e.css({ position: "absolute", top: -999999 }), (this.$container = i);
                                                            }),
                                                            (i.prototype.render = function (e) {
                                                                 var i = t("<span></span>"),
                                                                      n = e.call(this);
                                                                 return i.append(n), (this.$dropdownContainer = i), i;
                                                            }),
                                                            (i.prototype._hideDropdown = function (t) {
                                                                 this.$dropdownContainer.detach();
                                                            }),
                                                            (i.prototype._bindContainerResultHandlers = function (t, e) {
                                                                 if (!this._containerResultsHandlersBound) {
                                                                      var i = this;
                                                                      e.on("results:all", function () {
                                                                           i._positionDropdown(), i._resizeDropdown();
                                                                      }),
                                                                           e.on("results:append", function () {
                                                                                i._positionDropdown(), i._resizeDropdown();
                                                                           }),
                                                                           e.on("results:message", function () {
                                                                                i._positionDropdown(), i._resizeDropdown();
                                                                           }),
                                                                           e.on("select", function () {
                                                                                i._positionDropdown(), i._resizeDropdown();
                                                                           }),
                                                                           e.on("unselect", function () {
                                                                                i._positionDropdown(), i._resizeDropdown();
                                                                           }),
                                                                           (this._containerResultsHandlersBound = !0);
                                                                 }
                                                            }),
                                                            (i.prototype._attachPositioningHandler = function (i, n) {
                                                                 var r = this,
                                                                      o = "scroll.select2." + n.id,
                                                                      a = "resize.select2." + n.id,
                                                                      s = "orientationchange.select2." + n.id,
                                                                      l = this.$container.parents().filter(e.hasScroll);
                                                                 l.each(function () {
                                                                      e.StoreData(this, "select2-scroll-position", { x: t(this).scrollLeft(), y: t(this).scrollTop() });
                                                                 }),
                                                                      l.on(o, function (i) {
                                                                           var n = e.GetData(this, "select2-scroll-position");
                                                                           t(this).scrollTop(n.y);
                                                                      }),
                                                                      t(window).on(o + " " + a + " " + s, function (t) {
                                                                           r._positionDropdown(), r._resizeDropdown();
                                                                      });
                                                            }),
                                                            (i.prototype._detachPositioningHandler = function (i, n) {
                                                                 var r = "scroll.select2." + n.id,
                                                                      o = "resize.select2." + n.id,
                                                                      a = "orientationchange.select2." + n.id;
                                                                 this.$container.parents().filter(e.hasScroll).off(r), t(window).off(r + " " + o + " " + a);
                                                            }),
                                                            (i.prototype._positionDropdown = function () {
                                                                 var e = t(window),
                                                                      i = this.$dropdown.hasClass("select2-dropdown--above"),
                                                                      n = this.$dropdown.hasClass("select2-dropdown--below"),
                                                                      r = null,
                                                                      o = this.$container.offset();
                                                                 o.bottom = o.top + this.$container.outerHeight(!1);
                                                                 var a = { height: this.$container.outerHeight(!1) };
                                                                 (a.top = o.top), (a.bottom = o.top + a.height);
                                                                 var s = this.$dropdown.outerHeight(!1),
                                                                      l = e.scrollTop(),
                                                                      c = e.scrollTop() + e.height(),
                                                                      u = l < o.top - s,
                                                                      h = c > o.bottom + s,
                                                                      d = { left: o.left, top: a.bottom },
                                                                      p = this.$dropdownParent;
                                                                 "static" === p.css("position") && (p = p.offsetParent());
                                                                 var f = { top: 0, left: 0 };
                                                                 (t.contains(document.body, p[0]) || p[0].isConnected) && (f = p.offset()),
                                                                      (d.top -= f.top),
                                                                      (d.left -= f.left),
                                                                      i || n || (r = "below"),
                                                                      h || !u || i ? !u && h && i && (r = "below") : (r = "above"),
                                                                      ("above" == r || (i && "below" !== r)) && (d.top = a.top - f.top - s),
                                                                      null != r &&
                                                                           (this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--" + r),
                                                                           this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--" + r)),
                                                                      this.$dropdownContainer.css(d);
                                                            }),
                                                            (i.prototype._resizeDropdown = function () {
                                                                 var t = { width: this.$container.outerWidth(!1) + "px" };
                                                                 this.options.get("dropdownAutoWidth") && ((t.minWidth = t.width), (t.position = "relative"), (t.width = "auto")), this.$dropdown.css(t);
                                                            }),
                                                            (i.prototype._showDropdown = function (t) {
                                                                 this.$dropdownContainer.appendTo(this.$dropdownParent), this._positionDropdown(), this._resizeDropdown();
                                                            }),
                                                            i
                                                       );
                                                  }),
                                                  e.define("select2/dropdown/minimumResultsForSearch", [], function () {
                                                       function t(t, e, i, n) {
                                                            (this.minimumResultsForSearch = i.get("minimumResultsForSearch")), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), t.call(this, e, i, n);
                                                       }
                                                       return (
                                                            (t.prototype.showSearch = function (t, e) {
                                                                 return (
                                                                      !(
                                                                           (function t(e) {
                                                                                for (var i = 0, n = 0; n < e.length; n++) {
                                                                                     var r = e[n];
                                                                                     r.children ? (i += t(r.children)) : i++;
                                                                                }
                                                                                return i;
                                                                           })(e.data.results) < this.minimumResultsForSearch
                                                                      ) && t.call(this, e)
                                                                 );
                                                            }),
                                                            t
                                                       );
                                                  }),
                                                  e.define("select2/dropdown/selectOnClose", ["../utils"], function (t) {
                                                       function e() {}
                                                       return (
                                                            (e.prototype.bind = function (t, e, i) {
                                                                 var n = this;
                                                                 t.call(this, e, i),
                                                                      e.on("close", function (t) {
                                                                           n._handleSelectOnClose(t);
                                                                      });
                                                            }),
                                                            (e.prototype._handleSelectOnClose = function (e, i) {
                                                                 if (i && null != i.originalSelect2Event) {
                                                                      var n = i.originalSelect2Event;
                                                                      if ("select" === n._type || "unselect" === n._type) return;
                                                                 }
                                                                 var r = this.getHighlightedResults();
                                                                 if (!(r.length < 1)) {
                                                                      var o = t.GetData(r[0], "data");
                                                                      (null != o.element && o.element.selected) || (null == o.element && o.selected) || this.trigger("select", { data: o });
                                                                 }
                                                            }),
                                                            e
                                                       );
                                                  }),
                                                  e.define("select2/dropdown/closeOnSelect", [], function () {
                                                       function t() {}
                                                       return (
                                                            (t.prototype.bind = function (t, e, i) {
                                                                 var n = this;
                                                                 t.call(this, e, i),
                                                                      e.on("select", function (t) {
                                                                           n._selectTriggered(t);
                                                                      }),
                                                                      e.on("unselect", function (t) {
                                                                           n._selectTriggered(t);
                                                                      });
                                                            }),
                                                            (t.prototype._selectTriggered = function (t, e) {
                                                                 var i = e.originalEvent;
                                                                 (i && (i.ctrlKey || i.metaKey)) || this.trigger("close", { originalEvent: i, originalSelect2Event: e });
                                                            }),
                                                            t
                                                       );
                                                  }),
                                                  e.define("select2/i18n/en", [], function () {
                                                       return {
                                                            errorLoading: function () {
                                                                 return "The results could not be loaded.";
                                                            },
                                                            inputTooLong: function (t) {
                                                                 var e = t.input.length - t.maximum,
                                                                      i = "Please delete " + e + " character";
                                                                 return 1 != e && (i += "s"), i;
                                                            },
                                                            inputTooShort: function (t) {
                                                                 return "Please enter " + (t.minimum - t.input.length) + " or more characters";
                                                            },
                                                            loadingMore: function () {
                                                                 return "Loading more results…";
                                                            },
                                                            maximumSelected: function (t) {
                                                                 var e = "You can only select " + t.maximum + " item";
                                                                 return 1 != t.maximum && (e += "s"), e;
                                                            },
                                                            noResults: function () {
                                                                 return "No results found";
                                                            },
                                                            searching: function () {
                                                                 return "Searching…";
                                                            },
                                                            removeAllItems: function () {
                                                                 return "Remove all items";
                                                            },
                                                       };
                                                  }),
                                                  e.define(
                                                       "select2/defaults",
                                                       [
                                                            "jquery",
                                                            "require",
                                                            "./results",
                                                            "./selection/single",
                                                            "./selection/multiple",
                                                            "./selection/placeholder",
                                                            "./selection/allowClear",
                                                            "./selection/search",
                                                            "./selection/eventRelay",
                                                            "./utils",
                                                            "./translation",
                                                            "./diacritics",
                                                            "./data/select",
                                                            "./data/array",
                                                            "./data/ajax",
                                                            "./data/tags",
                                                            "./data/tokenizer",
                                                            "./data/minimumInputLength",
                                                            "./data/maximumInputLength",
                                                            "./data/maximumSelectionLength",
                                                            "./dropdown",
                                                            "./dropdown/search",
                                                            "./dropdown/hidePlaceholder",
                                                            "./dropdown/infiniteScroll",
                                                            "./dropdown/attachBody",
                                                            "./dropdown/minimumResultsForSearch",
                                                            "./dropdown/selectOnClose",
                                                            "./dropdown/closeOnSelect",
                                                            "./i18n/en",
                                                       ],
                                                       function (t, e, i, n, r, o, a, s, l, c, u, h, d, p, f, m, g, v, y, b, _, x, w, k, S, M, T, C, D) {
                                                            function L() {
                                                                 this.reset();
                                                            }
                                                            return (
                                                                 (L.prototype.apply = function (u) {
                                                                      if (null == (u = t.extend(!0, {}, this.defaults, u)).dataAdapter) {
                                                                           if (
                                                                                (null != u.ajax ? (u.dataAdapter = f) : null != u.data ? (u.dataAdapter = p) : (u.dataAdapter = d),
                                                                                u.minimumInputLength > 0 && (u.dataAdapter = c.Decorate(u.dataAdapter, v)),
                                                                                u.maximumInputLength > 0 && (u.dataAdapter = c.Decorate(u.dataAdapter, y)),
                                                                                u.maximumSelectionLength > 0 && (u.dataAdapter = c.Decorate(u.dataAdapter, b)),
                                                                                u.tags && (u.dataAdapter = c.Decorate(u.dataAdapter, m)),
                                                                                (null == u.tokenSeparators && null == u.tokenizer) || (u.dataAdapter = c.Decorate(u.dataAdapter, g)),
                                                                                null != u.query)
                                                                           ) {
                                                                                var h = e(u.amdBase + "compat/query");
                                                                                u.dataAdapter = c.Decorate(u.dataAdapter, h);
                                                                           }
                                                                           if (null != u.initSelection) {
                                                                                var D = e(u.amdBase + "compat/initSelection");
                                                                                u.dataAdapter = c.Decorate(u.dataAdapter, D);
                                                                           }
                                                                      }
                                                                      if (
                                                                           (null == u.resultsAdapter &&
                                                                                ((u.resultsAdapter = i),
                                                                                null != u.ajax && (u.resultsAdapter = c.Decorate(u.resultsAdapter, k)),
                                                                                null != u.placeholder && (u.resultsAdapter = c.Decorate(u.resultsAdapter, w)),
                                                                                u.selectOnClose && (u.resultsAdapter = c.Decorate(u.resultsAdapter, T))),
                                                                           null == u.dropdownAdapter)
                                                                      ) {
                                                                           if (u.multiple) u.dropdownAdapter = _;
                                                                           else {
                                                                                var L = c.Decorate(_, x);
                                                                                u.dropdownAdapter = L;
                                                                           }
                                                                           if (
                                                                                (0 !== u.minimumResultsForSearch && (u.dropdownAdapter = c.Decorate(u.dropdownAdapter, M)),
                                                                                u.closeOnSelect && (u.dropdownAdapter = c.Decorate(u.dropdownAdapter, C)),
                                                                                null != u.dropdownCssClass || null != u.dropdownCss || null != u.adaptDropdownCssClass)
                                                                           ) {
                                                                                var E = e(u.amdBase + "compat/dropdownCss");
                                                                                u.dropdownAdapter = c.Decorate(u.dropdownAdapter, E);
                                                                           }
                                                                           u.dropdownAdapter = c.Decorate(u.dropdownAdapter, S);
                                                                      }
                                                                      if (null == u.selectionAdapter) {
                                                                           if (
                                                                                (u.multiple ? (u.selectionAdapter = r) : (u.selectionAdapter = n),
                                                                                null != u.placeholder && (u.selectionAdapter = c.Decorate(u.selectionAdapter, o)),
                                                                                u.allowClear && (u.selectionAdapter = c.Decorate(u.selectionAdapter, a)),
                                                                                u.multiple && (u.selectionAdapter = c.Decorate(u.selectionAdapter, s)),
                                                                                null != u.containerCssClass || null != u.containerCss || null != u.adaptContainerCssClass)
                                                                           ) {
                                                                                var A = e(u.amdBase + "compat/containerCss");
                                                                                u.selectionAdapter = c.Decorate(u.selectionAdapter, A);
                                                                           }
                                                                           u.selectionAdapter = c.Decorate(u.selectionAdapter, l);
                                                                      }
                                                                      (u.language = this._resolveLanguage(u.language)), u.language.push("en");
                                                                      for (var P = [], I = 0; I < u.language.length; I++) {
                                                                           var O = u.language[I];
                                                                           -1 === P.indexOf(O) && P.push(O);
                                                                      }
                                                                      return (u.language = P), (u.translations = this._processTranslations(u.language, u.debug)), u;
                                                                 }),
                                                                 (L.prototype.reset = function () {
                                                                      function e(t) {
                                                                           return t.replace(/[^\u0000-\u007E]/g, function (t) {
                                                                                return h[t] || t;
                                                                           });
                                                                      }
                                                                      this.defaults = {
                                                                           amdBase: "./",
                                                                           amdLanguageBase: "./i18n/",
                                                                           closeOnSelect: !0,
                                                                           debug: !1,
                                                                           dropdownAutoWidth: !1,
                                                                           escapeMarkup: c.escapeMarkup,
                                                                           language: {},
                                                                           matcher: function i(n, r) {
                                                                                if ("" === t.trim(n.term)) return r;
                                                                                if (r.children && r.children.length > 0) {
                                                                                     for (var o = t.extend(!0, {}, r), a = r.children.length - 1; a >= 0; a--) null == i(n, r.children[a]) && o.children.splice(a, 1);
                                                                                     return o.children.length > 0 ? o : i(n, o);
                                                                                }
                                                                                var s = e(r.text).toUpperCase(),
                                                                                     l = e(n.term).toUpperCase();
                                                                                return s.indexOf(l) > -1 ? r : null;
                                                                           },
                                                                           minimumInputLength: 0,
                                                                           maximumInputLength: 0,
                                                                           maximumSelectionLength: 0,
                                                                           minimumResultsForSearch: 0,
                                                                           selectOnClose: !1,
                                                                           scrollAfterSelect: !1,
                                                                           sorter: function (t) {
                                                                                return t;
                                                                           },
                                                                           templateResult: function (t) {
                                                                                return t.text;
                                                                           },
                                                                           templateSelection: function (t) {
                                                                                return t.text;
                                                                           },
                                                                           theme: "default",
                                                                           width: "resolve",
                                                                      };
                                                                 }),
                                                                 (L.prototype.applyFromElement = function (t, e) {
                                                                      var i = t.language,
                                                                           n = this.defaults.language,
                                                                           r = e.prop("lang"),
                                                                           o = e.closest("[lang]").prop("lang"),
                                                                           a = Array.prototype.concat.call(this._resolveLanguage(r), this._resolveLanguage(i), this._resolveLanguage(n), this._resolveLanguage(o));
                                                                      return (t.language = a), t;
                                                                 }),
                                                                 (L.prototype._resolveLanguage = function (e) {
                                                                      if (!e) return [];
                                                                      if (t.isEmptyObject(e)) return [];
                                                                      if (t.isPlainObject(e)) return [e];
                                                                      var i;
                                                                      i = t.isArray(e) ? e : [e];
                                                                      for (var n = [], r = 0; r < i.length; r++)
                                                                           if ((n.push(i[r]), "string" == typeof i[r] && i[r].indexOf("-") > 0)) {
                                                                                var o = i[r].split("-")[0];
                                                                                n.push(o);
                                                                           }
                                                                      return n;
                                                                 }),
                                                                 (L.prototype._processTranslations = function (e, i) {
                                                                      for (var n = new u(), r = 0; r < e.length; r++) {
                                                                           var o = new u(),
                                                                                a = e[r];
                                                                           if ("string" == typeof a)
                                                                                try {
                                                                                     o = u.loadPath(a);
                                                                                } catch (t) {
                                                                                     try {
                                                                                          (a = this.defaults.amdLanguageBase + a), (o = u.loadPath(a));
                                                                                     } catch (t) {
                                                                                          i &&
                                                                                               window.console &&
                                                                                               console.warn &&
                                                                                               console.warn('Select2: The language file for "' + a + '" could not be automatically loaded. A fallback will be used instead.');
                                                                                     }
                                                                                }
                                                                           else o = t.isPlainObject(a) ? new u(a) : a;
                                                                           n.extend(o);
                                                                      }
                                                                      return n;
                                                                 }),
                                                                 (L.prototype.set = function (e, i) {
                                                                      var n = {};
                                                                      n[t.camelCase(e)] = i;
                                                                      var r = c._convertData(n);
                                                                      t.extend(!0, this.defaults, r);
                                                                 }),
                                                                 new L()
                                                            );
                                                       }
                                                  ),
                                                  e.define("select2/options", ["require", "jquery", "./defaults", "./utils"], function (t, e, i, n) {
                                                       function r(e, r) {
                                                            if (
                                                                 ((this.options = e),
                                                                 null != r && this.fromElement(r),
                                                                 null != r && (this.options = i.applyFromElement(this.options, r)),
                                                                 (this.options = i.apply(this.options)),
                                                                 r && r.is("input"))
                                                            ) {
                                                                 var o = t(this.get("amdBase") + "compat/inputData");
                                                                 this.options.dataAdapter = n.Decorate(this.options.dataAdapter, o);
                                                            }
                                                       }
                                                       return (
                                                            (r.prototype.fromElement = function (t) {
                                                                 var i = ["select2"];
                                                                 null == this.options.multiple && (this.options.multiple = t.prop("multiple")),
                                                                      null == this.options.disabled && (this.options.disabled = t.prop("disabled")),
                                                                      null == this.options.dir &&
                                                                           (t.prop("dir")
                                                                                ? (this.options.dir = t.prop("dir"))
                                                                                : t.closest("[dir]").prop("dir")
                                                                                ? (this.options.dir = t.closest("[dir]").prop("dir"))
                                                                                : (this.options.dir = "ltr")),
                                                                      t.prop("disabled", this.options.disabled),
                                                                      t.prop("multiple", this.options.multiple),
                                                                      n.GetData(t[0], "select2Tags") &&
                                                                           (this.options.debug &&
                                                                                window.console &&
                                                                                console.warn &&
                                                                                console.warn(
                                                                                     'Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'
                                                                                ),
                                                                           n.StoreData(t[0], "data", n.GetData(t[0], "select2Tags")),
                                                                           n.StoreData(t[0], "tags", !0)),
                                                                      n.GetData(t[0], "ajaxUrl") &&
                                                                           (this.options.debug &&
                                                                                window.console &&
                                                                                console.warn &&
                                                                                console.warn(
                                                                                     "Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."
                                                                                ),
                                                                           t.attr("ajax--url", n.GetData(t[0], "ajaxUrl")),
                                                                           n.StoreData(t[0], "ajax-Url", n.GetData(t[0], "ajaxUrl")));
                                                                 var r = {};
                                                                 function o(t, e) {
                                                                      return e.toUpperCase();
                                                                 }
                                                                 for (var a = 0; a < t[0].attributes.length; a++) {
                                                                      var s = t[0].attributes[a].name;
                                                                      if ("data-" == s.substr(0, "data-".length)) {
                                                                           var l = s.substring("data-".length),
                                                                                c = n.GetData(t[0], l);
                                                                           r[l.replace(/-([a-z])/g, o)] = c;
                                                                      }
                                                                 }
                                                                 e.fn.jquery && "1." == e.fn.jquery.substr(0, 2) && t[0].dataset && (r = e.extend(!0, {}, t[0].dataset, r));
                                                                 var u = e.extend(!0, {}, n.GetData(t[0]), r);
                                                                 for (var h in (u = n._convertData(u))) e.inArray(h, i) > -1 || (e.isPlainObject(this.options[h]) ? e.extend(this.options[h], u[h]) : (this.options[h] = u[h]));
                                                                 return this;
                                                            }),
                                                            (r.prototype.get = function (t) {
                                                                 return this.options[t];
                                                            }),
                                                            (r.prototype.set = function (t, e) {
                                                                 this.options[t] = e;
                                                            }),
                                                            r
                                                       );
                                                  }),
                                                  e.define("select2/core", ["jquery", "./options", "./utils", "./keys"], function (t, e, i, n) {
                                                       var r = function (t, n) {
                                                            null != i.GetData(t[0], "select2") && i.GetData(t[0], "select2").destroy(),
                                                                 (this.$element = t),
                                                                 (this.id = this._generateId(t)),
                                                                 (n = n || {}),
                                                                 (this.options = new e(n, t)),
                                                                 r.__super__.constructor.call(this);
                                                            var o = t.attr("tabindex") || 0;
                                                            i.StoreData(t[0], "old-tabindex", o), t.attr("tabindex", "-1");
                                                            var a = this.options.get("dataAdapter");
                                                            this.dataAdapter = new a(t, this.options);
                                                            var s = this.render();
                                                            this._placeContainer(s);
                                                            var l = this.options.get("selectionAdapter");
                                                            (this.selection = new l(t, this.options)), (this.$selection = this.selection.render()), this.selection.position(this.$selection, s);
                                                            var c = this.options.get("dropdownAdapter");
                                                            (this.dropdown = new c(t, this.options)), (this.$dropdown = this.dropdown.render()), this.dropdown.position(this.$dropdown, s);
                                                            var u = this.options.get("resultsAdapter");
                                                            (this.results = new u(t, this.options, this.dataAdapter)), (this.$results = this.results.render()), this.results.position(this.$results, this.$dropdown);
                                                            var h = this;
                                                            this._bindAdapters(),
                                                                 this._registerDomEvents(),
                                                                 this._registerDataEvents(),
                                                                 this._registerSelectionEvents(),
                                                                 this._registerDropdownEvents(),
                                                                 this._registerResultsEvents(),
                                                                 this._registerEvents(),
                                                                 this.dataAdapter.current(function (t) {
                                                                      h.trigger("selection:update", { data: t });
                                                                 }),
                                                                 t.addClass("select2-hidden-accessible"),
                                                                 t.attr("aria-hidden", "true"),
                                                                 this._syncAttributes(),
                                                                 i.StoreData(t[0], "select2", this),
                                                                 t.data("select2", this);
                                                       };
                                                       return (
                                                            i.Extend(r, i.Observable),
                                                            (r.prototype._generateId = function (t) {
                                                                 return (
                                                                      "select2-" +
                                                                      (null != t.attr("id") ? t.attr("id") : null != t.attr("name") ? t.attr("name") + "-" + i.generateChars(2) : i.generateChars(4)).replace(/(:|\.|\[|\]|,)/g, "")
                                                                 );
                                                            }),
                                                            (r.prototype._placeContainer = function (t) {
                                                                 t.insertAfter(this.$element);
                                                                 var e = this._resolveWidth(this.$element, this.options.get("width"));
                                                                 null != e && t.css("width", e);
                                                            }),
                                                            (r.prototype._resolveWidth = function (t, e) {
                                                                 var i = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
                                                                 if ("resolve" == e) {
                                                                      var n = this._resolveWidth(t, "style");
                                                                      return null != n ? n : this._resolveWidth(t, "element");
                                                                 }
                                                                 if ("element" == e) {
                                                                      var r = t.outerWidth(!1);
                                                                      return r <= 0 ? "auto" : r + "px";
                                                                 }
                                                                 if ("style" == e) {
                                                                      var o = t.attr("style");
                                                                      if ("string" != typeof o) return null;
                                                                      for (var a = o.split(";"), s = 0, l = a.length; s < l; s += 1) {
                                                                           var c = a[s].replace(/\s/g, "").match(i);
                                                                           if (null !== c && c.length >= 1) return c[1];
                                                                      }
                                                                      return null;
                                                                 }
                                                                 return "computedstyle" == e ? window.getComputedStyle(t[0]).width : e;
                                                            }),
                                                            (r.prototype._bindAdapters = function () {
                                                                 this.dataAdapter.bind(this, this.$container), this.selection.bind(this, this.$container), this.dropdown.bind(this, this.$container), this.results.bind(this, this.$container);
                                                            }),
                                                            (r.prototype._registerDomEvents = function () {
                                                                 var t = this;
                                                                 this.$element.on("change.select2", function () {
                                                                      t.dataAdapter.current(function (e) {
                                                                           t.trigger("selection:update", { data: e });
                                                                      });
                                                                 }),
                                                                      this.$element.on("focus.select2", function (e) {
                                                                           t.trigger("focus", e);
                                                                      }),
                                                                      (this._syncA = i.bind(this._syncAttributes, this)),
                                                                      (this._syncS = i.bind(this._syncSubtree, this)),
                                                                      this.$element[0].attachEvent && this.$element[0].attachEvent("onpropertychange", this._syncA);
                                                                 var e = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
                                                                 null != e
                                                                      ? ((this._observer = new e(function (e) {
                                                                             t._syncA(), t._syncS(null, e);
                                                                        })),
                                                                        this._observer.observe(this.$element[0], { attributes: !0, childList: !0, subtree: !1 }))
                                                                      : this.$element[0].addEventListener &&
                                                                        (this.$element[0].addEventListener("DOMAttrModified", t._syncA, !1),
                                                                        this.$element[0].addEventListener("DOMNodeInserted", t._syncS, !1),
                                                                        this.$element[0].addEventListener("DOMNodeRemoved", t._syncS, !1));
                                                            }),
                                                            (r.prototype._registerDataEvents = function () {
                                                                 var t = this;
                                                                 this.dataAdapter.on("*", function (e, i) {
                                                                      t.trigger(e, i);
                                                                 });
                                                            }),
                                                            (r.prototype._registerSelectionEvents = function () {
                                                                 var e = this,
                                                                      i = ["toggle", "focus"];
                                                                 this.selection.on("toggle", function () {
                                                                      e.toggleDropdown();
                                                                 }),
                                                                      this.selection.on("focus", function (t) {
                                                                           e.focus(t);
                                                                      }),
                                                                      this.selection.on("*", function (n, r) {
                                                                           -1 === t.inArray(n, i) && e.trigger(n, r);
                                                                      });
                                                            }),
                                                            (r.prototype._registerDropdownEvents = function () {
                                                                 var t = this;
                                                                 this.dropdown.on("*", function (e, i) {
                                                                      t.trigger(e, i);
                                                                 });
                                                            }),
                                                            (r.prototype._registerResultsEvents = function () {
                                                                 var t = this;
                                                                 this.results.on("*", function (e, i) {
                                                                      t.trigger(e, i);
                                                                 });
                                                            }),
                                                            (r.prototype._registerEvents = function () {
                                                                 var t = this;
                                                                 this.on("open", function () {
                                                                      t.$container.addClass("select2-container--open");
                                                                 }),
                                                                      this.on("close", function () {
                                                                           t.$container.removeClass("select2-container--open");
                                                                      }),
                                                                      this.on("enable", function () {
                                                                           t.$container.removeClass("select2-container--disabled");
                                                                      }),
                                                                      this.on("disable", function () {
                                                                           t.$container.addClass("select2-container--disabled");
                                                                      }),
                                                                      this.on("blur", function () {
                                                                           t.$container.removeClass("select2-container--focus");
                                                                      }),
                                                                      this.on("query", function (e) {
                                                                           t.isOpen() || t.trigger("open", {}),
                                                                                this.dataAdapter.query(e, function (i) {
                                                                                     t.trigger("results:all", { data: i, query: e });
                                                                                });
                                                                      }),
                                                                      this.on("query:append", function (e) {
                                                                           this.dataAdapter.query(e, function (i) {
                                                                                t.trigger("results:append", { data: i, query: e });
                                                                           });
                                                                      }),
                                                                      this.on("keypress", function (e) {
                                                                           var i = e.which;
                                                                           t.isOpen()
                                                                                ? i === n.ESC || i === n.TAB || (i === n.UP && e.altKey)
                                                                                     ? (t.close(e), e.preventDefault())
                                                                                     : i === n.ENTER
                                                                                     ? (t.trigger("results:select", {}), e.preventDefault())
                                                                                     : i === n.SPACE && e.ctrlKey
                                                                                     ? (t.trigger("results:toggle", {}), e.preventDefault())
                                                                                     : i === n.UP
                                                                                     ? (t.trigger("results:previous", {}), e.preventDefault())
                                                                                     : i === n.DOWN && (t.trigger("results:next", {}), e.preventDefault())
                                                                                : (i === n.ENTER || i === n.SPACE || (i === n.DOWN && e.altKey)) && (t.open(), e.preventDefault());
                                                                      });
                                                            }),
                                                            (r.prototype._syncAttributes = function () {
                                                                 this.options.set("disabled", this.$element.prop("disabled")), this.isDisabled() ? (this.isOpen() && this.close(), this.trigger("disable", {})) : this.trigger("enable", {});
                                                            }),
                                                            (r.prototype._isChangeMutation = function (e, i) {
                                                                 var n = !1,
                                                                      r = this;
                                                                 if (!e || !e.target || "OPTION" === e.target.nodeName || "OPTGROUP" === e.target.nodeName) {
                                                                      if (i)
                                                                           if (i.addedNodes && i.addedNodes.length > 0) for (var o = 0; o < i.addedNodes.length; o++) i.addedNodes[o].selected && (n = !0);
                                                                           else
                                                                                i.removedNodes && i.removedNodes.length > 0
                                                                                     ? (n = !0)
                                                                                     : t.isArray(i) &&
                                                                                       t.each(i, function (t, e) {
                                                                                            if (r._isChangeMutation(t, e)) return (n = !0), !1;
                                                                                       });
                                                                      else n = !0;
                                                                      return n;
                                                                 }
                                                            }),
                                                            (r.prototype._syncSubtree = function (t, e) {
                                                                 var i = this._isChangeMutation(t, e),
                                                                      n = this;
                                                                 i &&
                                                                      this.dataAdapter.current(function (t) {
                                                                           n.trigger("selection:update", { data: t });
                                                                      });
                                                            }),
                                                            (r.prototype.trigger = function (t, e) {
                                                                 var i = r.__super__.trigger,
                                                                      n = { open: "opening", close: "closing", select: "selecting", unselect: "unselecting", clear: "clearing" };
                                                                 if ((void 0 === e && (e = {}), t in n)) {
                                                                      var o = n[t],
                                                                           a = { prevented: !1, name: t, args: e };
                                                                      if ((i.call(this, o, a), a.prevented)) return void (e.prevented = !0);
                                                                 }
                                                                 i.call(this, t, e);
                                                            }),
                                                            (r.prototype.toggleDropdown = function () {
                                                                 this.isDisabled() || (this.isOpen() ? this.close() : this.open());
                                                            }),
                                                            (r.prototype.open = function () {
                                                                 this.isOpen() || this.isDisabled() || this.trigger("query", {});
                                                            }),
                                                            (r.prototype.close = function (t) {
                                                                 this.isOpen() && this.trigger("close", { originalEvent: t });
                                                            }),
                                                            (r.prototype.isEnabled = function () {
                                                                 return !this.isDisabled();
                                                            }),
                                                            (r.prototype.isDisabled = function () {
                                                                 return this.options.get("disabled");
                                                            }),
                                                            (r.prototype.isOpen = function () {
                                                                 return this.$container.hasClass("select2-container--open");
                                                            }),
                                                            (r.prototype.hasFocus = function () {
                                                                 return this.$container.hasClass("select2-container--focus");
                                                            }),
                                                            (r.prototype.focus = function (t) {
                                                                 this.hasFocus() || (this.$container.addClass("select2-container--focus"), this.trigger("focus", {}));
                                                            }),
                                                            (r.prototype.enable = function (t) {
                                                                 this.options.get("debug") &&
                                                                      window.console &&
                                                                      console.warn &&
                                                                      console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),
                                                                      (null != t && 0 !== t.length) || (t = [!0]);
                                                                 var e = !t[0];
                                                                 this.$element.prop("disabled", e);
                                                            }),
                                                            (r.prototype.data = function () {
                                                                 this.options.get("debug") &&
                                                                      arguments.length > 0 &&
                                                                      window.console &&
                                                                      console.warn &&
                                                                      console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');
                                                                 var t = [];
                                                                 return (
                                                                      this.dataAdapter.current(function (e) {
                                                                           t = e;
                                                                      }),
                                                                      t
                                                                 );
                                                            }),
                                                            (r.prototype.val = function (e) {
                                                                 if (
                                                                      (this.options.get("debug") &&
                                                                           window.console &&
                                                                           console.warn &&
                                                                           console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),
                                                                      null == e || 0 === e.length)
                                                                 )
                                                                      return this.$element.val();
                                                                 var i = e[0];
                                                                 t.isArray(i) &&
                                                                      (i = t.map(i, function (t) {
                                                                           return t.toString();
                                                                      })),
                                                                      this.$element.val(i).trigger("input").trigger("change");
                                                            }),
                                                            (r.prototype.destroy = function () {
                                                                 this.$container.remove(),
                                                                      this.$element[0].detachEvent && this.$element[0].detachEvent("onpropertychange", this._syncA),
                                                                      null != this._observer
                                                                           ? (this._observer.disconnect(), (this._observer = null))
                                                                           : this.$element[0].removeEventListener &&
                                                                             (this.$element[0].removeEventListener("DOMAttrModified", this._syncA, !1),
                                                                             this.$element[0].removeEventListener("DOMNodeInserted", this._syncS, !1),
                                                                             this.$element[0].removeEventListener("DOMNodeRemoved", this._syncS, !1)),
                                                                      (this._syncA = null),
                                                                      (this._syncS = null),
                                                                      this.$element.off(".select2"),
                                                                      this.$element.attr("tabindex", i.GetData(this.$element[0], "old-tabindex")),
                                                                      this.$element.removeClass("select2-hidden-accessible"),
                                                                      this.$element.attr("aria-hidden", "false"),
                                                                      i.RemoveData(this.$element[0]),
                                                                      this.$element.removeData("select2"),
                                                                      this.dataAdapter.destroy(),
                                                                      this.selection.destroy(),
                                                                      this.dropdown.destroy(),
                                                                      this.results.destroy(),
                                                                      (this.dataAdapter = null),
                                                                      (this.selection = null),
                                                                      (this.dropdown = null),
                                                                      (this.results = null);
                                                            }),
                                                            (r.prototype.render = function () {
                                                                 var e = t('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');
                                                                 return (
                                                                      e.attr("dir", this.options.get("dir")),
                                                                      (this.$container = e),
                                                                      this.$container.addClass("select2-container--" + this.options.get("theme")),
                                                                      i.StoreData(e[0], "element", this.$element),
                                                                      e
                                                                 );
                                                            }),
                                                            r
                                                       );
                                                  }),
                                                  e.define("jquery-mousewheel", ["jquery"], function (t) {
                                                       return t;
                                                  }),
                                                  e.define("jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults", "./select2/utils"], function (t, e, i, n, r) {
                                                       if (null == t.fn.select2) {
                                                            var o = ["open", "close", "destroy"];
                                                            t.fn.select2 = function (e) {
                                                                 if ("object" == typeof (e = e || {}))
                                                                      return (
                                                                           this.each(function () {
                                                                                var n = t.extend(!0, {}, e);
                                                                                new i(t(this), n);
                                                                           }),
                                                                           this
                                                                      );
                                                                 if ("string" == typeof e) {
                                                                      var n,
                                                                           a = Array.prototype.slice.call(arguments, 1);
                                                                      return (
                                                                           this.each(function () {
                                                                                var t = r.GetData(this, "select2");
                                                                                null == t && window.console && console.error && console.error("The select2('" + e + "') method was called on an element that is not using Select2."),
                                                                                     (n = t[e].apply(t, a));
                                                                           }),
                                                                           t.inArray(e, o) > -1 ? this : n
                                                                      );
                                                                 }
                                                                 throw new Error("Invalid arguments for Select2: " + e);
                                                            };
                                                       }
                                                       return null == t.fn.select2.defaults && (t.fn.select2.defaults = n), i;
                                                  }),
                                                  { define: e.define, require: e.require }
                                             );
                                        })(),
                                        i = e.require("jquery.select2");
                                   return (t.fn.select2.amd = e), i;
                              })
                                   ? r.apply(e, o)
                                   : r) || (t.exports = a);
          }.call(this, i(1)));
     },
     function (t, e, i) {
          (function (t) {
               !(function (t) {
                    "use strict";
                    function e(e, i) {
                         (this.$select = t(e)),
                              (this.options = this.mergeOptions(t.extend({}, i, this.$select.data()))),
                              this.$select.attr("data-placeholder") && (this.options.nonSelectedText = this.$select.data("placeholder")),
                              this.$select.attr("data-button-width") && (this.options.buttonWidth = this.$select.data("button-width")),
                              (this.originalOptions = this.$select.clone()[0].options),
                              (this.query = ""),
                              (this.searchTimeout = null),
                              (this.lastToggledInput = null),
                              (this.options.multiple = "multiple" === this.$select.attr("multiple")),
                              (this.options.onChange = t.proxy(this.options.onChange, this)),
                              (this.options.onSelectAll = t.proxy(this.options.onSelectAll, this)),
                              (this.options.onDeselectAll = t.proxy(this.options.onDeselectAll, this)),
                              (this.options.onDropdownShow = t.proxy(this.options.onDropdownShow, this)),
                              (this.options.onDropdownHide = t.proxy(this.options.onDropdownHide, this)),
                              (this.options.onDropdownShown = t.proxy(this.options.onDropdownShown, this)),
                              (this.options.onDropdownHidden = t.proxy(this.options.onDropdownHidden, this)),
                              (this.options.onInitialized = t.proxy(this.options.onInitialized, this)),
                              (this.options.onFiltering = t.proxy(this.options.onFiltering, this)),
                              this.buildContainer(),
                              this.buildButton(),
                              this.buildDropdown(),
                              this.buildSelectAll(),
                              this.buildDropdownOptions(),
                              this.buildFilter(),
                              this.updateButtonText(),
                              this.updateSelectAll(!0),
                              this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups(),
                              (this.options.wasDisabled = this.$select.prop("disabled")),
                              this.options.disableIfEmpty && t("option", this.$select).length <= 0 && this.disable(),
                              this.$select.wrap('<div class="multiselect-native-select" />').after(this.$container),
                              this.options.onInitialized(this.$select, this.$container);
                    }
                    "undefined" != typeof ko &&
                         ko.bindingHandlers &&
                         !ko.bindingHandlers.multiselect &&
                         (ko.bindingHandlers.multiselect = {
                              after: ["options", "value", "selectedOptions", "enable", "disable"],
                              init: function (e, i, n, r, o) {
                                   var a = t(e),
                                        s = ko.toJS(i());
                                   if ((a.multiselect(s), n.has("options"))) {
                                        var l = n.get("options");
                                        ko.isObservable(l) &&
                                             ko.computed({
                                                  read: function () {
                                                       l(),
                                                            setTimeout(function () {
                                                                 var t = a.data("multiselect");
                                                                 t && t.updateOriginalOptions(), a.multiselect("rebuild");
                                                            }, 1);
                                                  },
                                                  disposeWhenNodeIsRemoved: e,
                                             });
                                   }
                                   if (n.has("value")) {
                                        var c = n.get("value");
                                        ko.isObservable(c) &&
                                             ko
                                                  .computed({
                                                       read: function () {
                                                            c(),
                                                                 setTimeout(function () {
                                                                      a.multiselect("refresh");
                                                                 }, 1);
                                                       },
                                                       disposeWhenNodeIsRemoved: e,
                                                  })
                                                  .extend({ rateLimit: 100, notifyWhenChangesStop: !0 });
                                   }
                                   if (n.has("selectedOptions")) {
                                        var u = n.get("selectedOptions");
                                        ko.isObservable(u) &&
                                             ko
                                                  .computed({
                                                       read: function () {
                                                            u(),
                                                                 setTimeout(function () {
                                                                      a.multiselect("refresh");
                                                                 }, 1);
                                                       },
                                                       disposeWhenNodeIsRemoved: e,
                                                  })
                                                  .extend({ rateLimit: 100, notifyWhenChangesStop: !0 });
                                   }
                                   var h = function (t) {
                                        setTimeout(function () {
                                             t ? a.multiselect("enable") : a.multiselect("disable");
                                        });
                                   };
                                   if (n.has("enable")) {
                                        var d = n.get("enable");
                                        ko.isObservable(d)
                                             ? ko
                                                    .computed({
                                                         read: function () {
                                                              h(d());
                                                         },
                                                         disposeWhenNodeIsRemoved: e,
                                                    })
                                                    .extend({ rateLimit: 100, notifyWhenChangesStop: !0 })
                                             : h(d);
                                   }
                                   if (n.has("disable")) {
                                        var p = n.get("disable");
                                        ko.isObservable(p)
                                             ? ko
                                                    .computed({
                                                         read: function () {
                                                              h(!p());
                                                         },
                                                         disposeWhenNodeIsRemoved: e,
                                                    })
                                                    .extend({ rateLimit: 100, notifyWhenChangesStop: !0 })
                                             : h(!p);
                                   }
                                   ko.utils.domNodeDisposal.addDisposeCallback(e, function () {
                                        a.multiselect("destroy");
                                   });
                              },
                              update: function (e, i, n, r, o) {
                                   var a = t(e),
                                        s = ko.toJS(i());
                                   a.multiselect("setOptions", s), a.multiselect("rebuild");
                              },
                         }),
                         (e.prototype = {
                              defaults: {
                                   buttonText: function (e, i) {
                                        if (this.disabledText.length > 0 && (i.prop("disabled") || (0 == e.length && this.disableIfEmpty))) return this.disabledText;
                                        if (0 === e.length) return this.nonSelectedText;
                                        if (this.allSelectedText && e.length === t("option", t(i)).length && 1 !== t("option", t(i)).length && this.multiple)
                                             return this.selectAllNumber ? this.allSelectedText + " (" + e.length + ")" : this.allSelectedText;
                                        if (e.length > this.numberDisplayed) return e.length + " " + this.nSelectedText;
                                        var n = "",
                                             r = this.delimiterText;
                                        return (
                                             e.each(function () {
                                                  var e = void 0 !== t(this).attr("label") ? t(this).attr("label") : t(this).text();
                                                  n += e + r;
                                             }),
                                             n.substr(0, n.length - this.delimiterText.length)
                                        );
                                   },
                                   buttonTitle: function (e, i) {
                                        if (0 === e.length) return this.nonSelectedText;
                                        var n = "",
                                             r = this.delimiterText;
                                        return (
                                             e.each(function () {
                                                  var e = void 0 !== t(this).attr("label") ? t(this).attr("label") : t(this).text();
                                                  n += e + r;
                                             }),
                                             n.substr(0, n.length - this.delimiterText.length)
                                        );
                                   },
                                   checkboxName: function (t) {
                                        return !1;
                                   },
                                   optionLabel: function (e) {
                                        return t(e).attr("label") || t(e).text();
                                   },
                                   optionClass: function (e) {
                                        return t(e).attr("class") || "";
                                   },
                                   onChange: function (t, e) {},
                                   onDropdownShow: function (t) {},
                                   onDropdownHide: function (t) {},
                                   onDropdownShown: function (t) {},
                                   onDropdownHidden: function (t) {},
                                   onSelectAll: function () {},
                                   onDeselectAll: function () {},
                                   onInitialized: function (t, e) {},
                                   onFiltering: function (t) {},
                                   enableHTML: !0,
                                   buttonClass: "btn btn-default",
                                   inheritClass: !1,
                                   buttonWidth: "100%",
                                   buttonContainer: '<div class="btn-group" />',
                                   dropRight: !1,
                                   dropUp: !1,
                                   selectedClass: "active",
                                   maxHeight: !1,
                                   includeSelectAllOption: !1,
                                   includeSelectAllIfMoreThan: 0,
                                   selectAllText: " Select all",
                                   selectAllValue: "multiselect-all",
                                   selectAllName: !1,
                                   selectAllNumber: !0,
                                   selectAllJustVisible: !0,
                                   enableFiltering: !1,
                                   enableCaseInsensitiveFiltering: !1,
                                   enableFullValueFiltering: !1,
                                   enableClickableOptGroups: !1,
                                   enableCollapsibleOptGroups: !1,
                                   filterPlaceholder: "Search",
                                   filterBehavior: "text",
                                   includeFilterClearBtn: !0,
                                   preventInputChangeEvent: !1,
                                   nonSelectedText: "None selected",
                                   nSelectedText: "selected",
                                   allSelectedText: "All selected",
                                   numberDisplayed: 3,
                                   disableIfEmpty: !1,
                                   disabledText: "",
                                   delimiterText: ", ",
                                   templates: {
                                        button: '<button type="button" class="multiselect dropdown-toggle" data-toggle="dropdown"><span class="multiselect-selected-text"></span> <b class="caret"></b></button>',
                                        ul: '<ul class="multiselect-container dropdown-menu"></ul>',
                                        filter:
                                             '<li class="multiselect-item multiselect-filter"><div class="input-group"><span class="input-group-addon"><i class="icon-search4 text-size-base"></i></span><input class="form-control multiselect-search" type="text"></div></li>',
                                        filterClearBtn: '<span class="input-group-btn"><button class="btn btn-default multiselect-clear-filter" type="button"><i class="icon-cross2"></i></button></span>',
                                        li: '<li class="multiselect-item dropdown-item"><a tabindex="0"><label></label></a></li>',
                                        divider: '<li class="multiselect-item divider"></li>',
                                        liGroup: '<li class="multiselect-item multiselect-group"><label></label></li>',
                                   },
                              },
                              constructor: e,
                              buildContainer: function () {
                                   (this.$container = t(this.options.buttonContainer)),
                                        this.$container.on("show.bs.dropdown", this.options.onDropdownShow),
                                        this.$container.on("hide.bs.dropdown", this.options.onDropdownHide),
                                        this.$container.on("shown.bs.dropdown", this.options.onDropdownShown),
                                        this.$container.on("hidden.bs.dropdown", this.options.onDropdownHidden);
                              },
                              buildButton: function () {
                                   (this.$button = t(this.options.templates.button).addClass(this.options.buttonClass)),
                                        this.$select.attr("class") && this.options.inheritClass && this.$button.addClass(this.$select.attr("class")),
                                        this.$select.prop("disabled") ? this.disable() : this.enable(),
                                        this.options.buttonWidth &&
                                             "auto" !== this.options.buttonWidth &&
                                             (this.$button.css({ width: "100%", overflow: "hidden", "text-overflow": "ellipsis" }), this.$container.css({ width: this.options.buttonWidth }));
                                   var e = this.$select.attr("tabindex");
                                   e && this.$button.attr("tabindex", e), this.$container.prepend(this.$button);
                              },
                              buildDropdown: function () {
                                   if (
                                        ((this.$ul = t(this.options.templates.ul)),
                                        this.options.dropRight && this.$ul.addClass("dropdown-menu-right"),
                                        this.options.maxHeight && this.$ul.css({ "max-height": this.options.maxHeight + "px", "overflow-y": "auto", "overflow-x": "hidden" }),
                                        this.options.dropUp)
                                   ) {
                                        var e = Math.min(
                                                  this.options.maxHeight,
                                                  26 * t('option[data-role!="divider"]', this.$select).length +
                                                       19 * t('option[data-role="divider"]', this.$select).length +
                                                       (this.options.includeSelectAllOption ? 26 : 0) +
                                                       (this.options.enableFiltering || this.options.enableCaseInsensitiveFiltering ? 44 : 0)
                                             ),
                                             i = e + 34;
                                        this.$ul.css({ "max-height": e + "px", "overflow-y": "auto", "overflow-x": "hidden", "margin-top": "-" + i + "px" });
                                   }
                                   this.$container.append(this.$ul);
                              },
                              buildDropdownOptions: function () {
                                   this.$select.children().each(
                                        t.proxy(function (e, i) {
                                             var n = t(i),
                                                  r = n.prop("tagName").toLowerCase();
                                             n.prop("value") !== this.options.selectAllValue &&
                                                  ("optgroup" === r ? this.createOptgroup(i) : "option" === r && ("divider" === n.data("role") ? this.createDivider() : this.createOptionValue(i)));
                                        }, this)
                                   ),
                                        t(".multiselect-item:not(.multiselect-group) input", this.$ul).on(
                                             "change",
                                             t.proxy(function (e) {
                                                  var i = t(e.target),
                                                       n = i.prop("checked") || !1,
                                                       r = i.val() === this.options.selectAllValue;
                                                  this.options.selectedClass && (n ? i.closest(".multiselect-item").addClass(this.options.selectedClass) : i.closest(".multiselect-item").removeClass(this.options.selectedClass));
                                                  var o = i.val(),
                                                       a = this.getOptionByValue(o),
                                                       s = t("option", this.$select).not(a),
                                                       l = t("input", this.$container).not(i);
                                                  if (
                                                       (r
                                                            ? n
                                                                 ? this.selectAll(this.options.selectAllJustVisible, !0)
                                                                 : this.deselectAll(this.options.selectAllJustVisible, !0)
                                                            : (n
                                                                   ? (a.prop("selected", !0),
                                                                     this.options.multiple
                                                                          ? a.prop("selected", !0)
                                                                          : (this.options.selectedClass && t(l).closest(".multiselect-item").removeClass(this.options.selectedClass),
                                                                            t(l).prop("checked", !1),
                                                                            s.prop("selected", !1),
                                                                            this.$button.click()))
                                                                   : a.prop("selected", !1),
                                                              this.options.onChange(a, n),
                                                              this.updateSelectAll(),
                                                              this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups()),
                                                       this.$select.change(),
                                                       this.updateButtonText(),
                                                       this.options.preventInputChangeEvent)
                                                  )
                                                       return !1;
                                             }, this)
                                        ),
                                        t(".dropdown-item", this.$ul).on("mousedown", function (t) {
                                             if (t.shiftKey) return !1;
                                        }),
                                        t(".dropdown-item", this.$ul).on(
                                             "touchstart click",
                                             t.proxy(function (e) {
                                                  e.stopPropagation();
                                                  var i = t(e.target);
                                                  if (e.shiftKey && this.options.multiple) {
                                                       i.is("label") && (e.preventDefault(), (i = i.find("input")).prop("checked", !i.prop("checked")));
                                                       var n = i.prop("checked") || !1;
                                                       if (null !== this.lastToggledInput && this.lastToggledInput !== i) {
                                                            var r = i.closest(".multiselect-item").index(),
                                                                 o = this.lastToggledInput.closest(".multiselect-item").index();
                                                            if (r > o) {
                                                                 var a = o;
                                                                 (o = r), (r = a);
                                                            }
                                                            ++o;
                                                            var s = this.$ul.find(".multiselect-item").slice(r, o).find("input");
                                                            s.prop("checked", n), this.options.selectedClass && s.closest(".multiselect-item").toggleClass(this.options.selectedClass, n);
                                                            for (var l = 0, c = s.length; l < c; l++) {
                                                                 var u = t(s[l]);
                                                                 this.getOptionByValue(u.val()).prop("selected", n);
                                                            }
                                                       }
                                                       i.trigger("change");
                                                  }
                                                  i.is("input") && !i.closest("div, a").is(".multiselect-item") && (this.lastToggledInput = i), i.blur();
                                             }, this)
                                        ),
                                        this.$container.off("keydown.multiselect").on(
                                             "keydown.multiselect",
                                             t.proxy(function (e) {
                                                  if (!t('input[type="text"]', this.$container).is(":focus"))
                                                       if (9 === e.keyCode && this.$container.hasClass("show")) this.$button.click();
                                                       else {
                                                            var i = t(this.$container).find(".dropdown-item:not(.disabled)").filter(":visible");
                                                            if (!i.length) return;
                                                            var n = i.index(i.filter(":focus"));
                                                            38 === e.keyCode && n > 0 ? n-- : 40 === e.keyCode && n < i.length - 1 ? n++ : ~n || (n = 0);
                                                            var r = i.eq(n);
                                                            if ((r.focus(), 32 === e.keyCode || 13 === e.keyCode)) {
                                                                 var o = r.find("input");
                                                                 o.prop("checked", !o.prop("checked")), o.change();
                                                            }
                                                            e.stopPropagation(), e.preventDefault();
                                                       }
                                             }, this)
                                        ),
                                        this.options.enableClickableOptGroups &&
                                             this.options.multiple &&
                                             t(".multiselect-group input", this.$ul).on(
                                                  "change",
                                                  t.proxy(function (e) {
                                                       e.stopPropagation();
                                                       var i = t(e.target).prop("checked") || !1,
                                                            n = t(e.target).closest(".multiselect-item"),
                                                            r = n.nextUntil(".multiselect-group").not(".multiselect-filter-hidden").not(".disabled").find("input"),
                                                            o = [];
                                                       this.options.selectedClass && (i ? n.addClass(this.options.selectedClass) : n.removeClass(this.options.selectedClass)),
                                                            t.each(
                                                                 r,
                                                                 t.proxy(function (e, n) {
                                                                      var r = t(n).val(),
                                                                           a = this.getOptionByValue(r);
                                                                      i
                                                                           ? (t(n).prop("checked", !0), t(n).closest(".multiselect-item").addClass(this.options.selectedClass), a.prop("selected", !0))
                                                                           : (t(n).prop("checked", !1), t(n).closest(".multiselect-item").removeClass(this.options.selectedClass), a.prop("selected", !1)),
                                                                           o.push(this.getOptionByValue(r));
                                                                 }, this)
                                                            ),
                                                            this.options.onChange(o, i),
                                                            this.updateButtonText(),
                                                            this.updateSelectAll();
                                                  }, this)
                                             ),
                                        this.options.enableCollapsibleOptGroups &&
                                             this.options.multiple &&
                                             (t(".multiselect-group .caret-container", this.$ul).on(
                                                  "click",
                                                  t.proxy(function (e) {
                                                       var i = t(e.target).closest(".multiselect-item").nextUntil(".multiselect-group").not(".multiselect-filter-hidden"),
                                                            n = !0;
                                                       i.each(function () {
                                                            n = n && t(this).is(":visible");
                                                       }),
                                                            n ? i.hide().addClass("multiselect-collapsible-hidden") : i.show().removeClass("multiselect-collapsible-hidden");
                                                  }, this)
                                             ),
                                             t(".multiselect-all", this.$ul).css("background", "#f3f3f3").css("border-bottom", "1px solid #eaeaea"),
                                             t(".multiselect-all > label.multiselect-group-label", this.$ul).css("padding", "3px 20px 3px 35px"),
                                             t(".multiselect-group > input", this.$ul).css("margin", "4px 0px 5px -20px"));
                              },
                              createOptionValue: function (e) {
                                   var i = t(e);
                                   i.is(":selected") && i.prop("selected", !0);
                                   var n = this.options.optionLabel(e),
                                        r = this.options.optionClass(e),
                                        o = i.val(),
                                        a = this.options.multiple ? "checkbox" : "radio",
                                        s = t(this.options.templates.li),
                                        l = t("label", s);
                                   s.addClass(r), this.options.enableHTML ? l.html(" " + n + "<span class='form-check-control-indicator' />") : l.text(" " + n);
                                   var c = t("<input/>").attr("type", a),
                                        u = this.options.checkboxName(i);
                                   u && c.attr("name", u), l.prepend(c);
                                   var h = i.prop("selected") || !1;
                                   c.val(o),
                                        o === this.options.selectAllValue && s.addClass("multiselect-item multiselect-all"),
                                        l.attr("title", i.attr("title")),
                                        this.$ul.append(s),
                                        i.is(":disabled") && c.attr("disabled", "disabled").prop("disabled", !0).closest(".dropdown-item").attr("tabindex", "-1").addClass("disabled"),
                                        c.prop("checked", h),
                                        h && this.options.selectedClass && c.closest(".dropdown-item").addClass(this.options.selectedClass);
                              },
                              createDivider: function (e) {
                                   var i = t(this.options.templates.divider);
                                   this.$ul.append(i);
                              },
                              createOptgroup: function (e) {
                                   var i = t(e).attr("label"),
                                        n = t(e).attr("value"),
                                        r = t('<li class="multiselect-item multiselect-group"><label></label></li>'),
                                        o = this.options.optionClass(e);
                                   r.addClass(o),
                                        this.options.enableHTML ? t("label", r).html(" " + i) : t("label", r).text(" " + i),
                                        this.options.enableCollapsibleOptGroups && this.options.multiple && t(r).addClass("dropdown-toggle"),
                                        this.options.enableClickableOptGroups &&
                                             this.options.multiple &&
                                             (t("label", r)
                                                  .addClass("multiselect-group-label")
                                                  .prepend('<input type="checkbox" value="' + n + '"/> <span class="form-check-control-indicator" />'),
                                             r.closest(".multiselect-item").addClass("dropdown-item")),
                                        t(e).is(":disabled") && r.addClass("disabled"),
                                        this.$ul.append(r),
                                        t("option", e).each(
                                             t.proxy(function (t, e) {
                                                  this.createOptionValue(e);
                                             }, this)
                                        );
                              },
                              buildSelectAll: function () {
                                   if (
                                        ("number" == typeof this.options.selectAllValue && (this.options.selectAllValue = this.options.selectAllValue.toString()),
                                        !this.hasSelectAll() && this.options.includeSelectAllOption && this.options.multiple && t("option", this.$select).length > this.options.includeSelectAllIfMoreThan)
                                   ) {
                                        this.options.includeSelectAllDivider && this.$ul.prepend(t(this.options.templates.divider));
                                        var e = t(this.options.templates.li);
                                        this.options.enableHTML ? t("label", e).html(" " + this.options.selectAllText + "<span class='form-check-control-indicator' />") : t("label", e).text(" " + this.options.selectAllText),
                                             this.options.selectAllName ? t("label", e).prepend('<input type="checkbox" name="' + this.options.selectAllName + '" />') : t("label", e).prepend('<input type="checkbox" />');
                                        var i = t("input", e);
                                        i.val(this.options.selectAllValue), e.addClass("multiselect-item multiselect-all"), this.$ul.prepend(e), i.prop("checked", !1);
                                   }
                              },
                              buildFilter: function () {
                                   if (this.options.enableFiltering || this.options.enableCaseInsensitiveFiltering) {
                                        var e = Math.max(this.options.enableFiltering, this.options.enableCaseInsensitiveFiltering);
                                        if (this.$select.find("option").length >= e) {
                                             if (((this.$filter = t(this.options.templates.filter)), t("input", this.$filter).attr("placeholder", this.options.filterPlaceholder), this.options.includeFilterClearBtn)) {
                                                  var i = t(this.options.templates.filterClearBtn);
                                                  i.on(
                                                       "click",
                                                       t.proxy(function (e) {
                                                            clearTimeout(this.searchTimeout),
                                                                 this.$filter.find(".multiselect-search").val(""),
                                                                 t(".multiselect-item", this.$ul).show().removeClass("multiselect-filter-hidden"),
                                                                 this.updateSelectAll(),
                                                                 this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups();
                                                       }, this)
                                                  ),
                                                       this.$filter.find(".input-group").append(i);
                                             }
                                             this.$ul.prepend(this.$filter),
                                                  this.$filter
                                                       .val(this.query)
                                                       .on("click", function (t) {
                                                            t.stopPropagation();
                                                       })
                                                       .on(
                                                            "input keydown",
                                                            t.proxy(function (e) {
                                                                 13 === e.which && e.preventDefault(),
                                                                      clearTimeout(this.searchTimeout),
                                                                      (this.searchTimeout = this.asyncFunction(
                                                                           t.proxy(function () {
                                                                                var i, n;
                                                                                this.query !== e.target.value &&
                                                                                     ((this.query = e.target.value),
                                                                                     t.each(
                                                                                          t(".multiselect-item", this.$ul),
                                                                                          t.proxy(function (e, r) {
                                                                                               var o = t("input", r).length > 0 ? t("input", r).val() : "",
                                                                                                    a = t("label", r).text(),
                                                                                                    s = "";
                                                                                               if (
                                                                                                    ("text" === this.options.filterBehavior
                                                                                                         ? (s = a)
                                                                                                         : "value" === this.options.filterBehavior
                                                                                                         ? (s = o)
                                                                                                         : "both" === this.options.filterBehavior && (s = a + "\n" + o),
                                                                                                    o !== this.options.selectAllValue && a)
                                                                                               ) {
                                                                                                    var l = !1;
                                                                                                    if (
                                                                                                         (this.options.enableCaseInsensitiveFiltering && ((s = s.toLowerCase()), (this.query = this.query.toLowerCase())),
                                                                                                         this.options.enableFullValueFiltering && "both" !== this.options.filterBehavior)
                                                                                                    ) {
                                                                                                         var c = s.trim().substring(0, this.query.length);
                                                                                                         this.query.indexOf(c) > -1 && (l = !0);
                                                                                                    } else s.indexOf(this.query) > -1 && (l = !0);
                                                                                                    t(r).toggle(l).toggleClass("multiselect-filter-hidden", !l),
                                                                                                         t(r).hasClass("multiselect-group")
                                                                                                              ? ((i = r), (n = l))
                                                                                                              : (l && t(i).show().removeClass("multiselect-filter-hidden"), !l && n && t(r).show().removeClass("multiselect-filter-hidden"));
                                                                                               }
                                                                                          }, this)
                                                                                     ));
                                                                                this.updateSelectAll(), this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups(), this.options.onFiltering(e.target);
                                                                           }, this),
                                                                           300,
                                                                           this
                                                                      ));
                                                            }, this)
                                                       );
                                        }
                                   }
                              },
                              destroy: function () {
                                   this.$container.remove(), this.$select.unwrap(), this.$select.prop("disabled", this.options.wasDisabled), this.$select.data("multiselect", null);
                              },
                              refresh: function () {
                                   var e = t.map(t(".multiselect-item input", this.$ul), t);
                                   t("option", this.$select).each(
                                        t.proxy(function (i, n) {
                                             for (var r, o = t(n), a = o.val(), s = e.length; 0 < s--; )
                                                  if (a === (r = e[s]).val()) {
                                                       o.is(":selected")
                                                            ? (r.prop("checked", !0), this.options.selectedClass && r.closest(".multiselect-item").addClass(this.options.selectedClass))
                                                            : (r.prop("checked", !1), this.options.selectedClass && r.closest(".multiselect-item").removeClass(this.options.selectedClass)),
                                                            o.is(":disabled")
                                                                 ? r.attr("disabled", "disabled").prop("disabled", !0).closest(".multiselect-item").addClass("disabled")
                                                                 : r.prop("disabled", !1).closest(".multiselect-item").removeClass("disabled");
                                                       break;
                                                  }
                                        }, this)
                                   ),
                                        this.updateButtonText(),
                                        this.updateSelectAll(),
                                        this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups();
                              },
                              select: function (e, i) {
                                   t.isArray(e) || (e = [e]);
                                   for (var n = 0; n < e.length; n++) {
                                        var r = e[n];
                                        if (null != r) {
                                             var o = this.getOptionByValue(r),
                                                  a = this.getInputByValue(r);
                                             void 0 !== o &&
                                                  void 0 !== a &&
                                                  (this.options.multiple || this.deselectAll(!1),
                                                  this.options.selectedClass && a.closest(".multiselect-item").addClass(this.options.selectedClass),
                                                  a.prop("checked", !0),
                                                  o.prop("selected", !0),
                                                  i && this.options.onChange(o, !0));
                                        }
                                   }
                                   this.updateButtonText(), this.updateSelectAll(), this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups();
                              },
                              clearSelection: function () {
                                   this.deselectAll(!1), this.updateButtonText(), this.updateSelectAll(), this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups();
                              },
                              deselect: function (e, i) {
                                   t.isArray(e) || (e = [e]);
                                   for (var n = 0; n < e.length; n++) {
                                        var r = e[n];
                                        if (null != r) {
                                             var o = this.getOptionByValue(r),
                                                  a = this.getInputByValue(r);
                                             void 0 !== o &&
                                                  void 0 !== a &&
                                                  (this.options.selectedClass && a.closest(".multiselect-item").removeClass(this.options.selectedClass), a.prop("checked", !1), o.prop("selected", !1), i && this.options.onChange(o, !1));
                                        }
                                   }
                                   this.updateButtonText(), this.updateSelectAll(), this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups();
                              },
                              selectAll: function (e, i) {
                                   e = void 0 === e || e;
                                   var n = t(".multiselect-item:not(.dropdown-divider):not(.disabled):not(.multiselect-group)", this.$ul),
                                        r = t(".multiselect-item:not(.dropdown-divider):not(.disabled):not(.multiselect-group):not(.multiselect-filter-hidden):not(.multiselect-collapisble-hidden)", this.$ul).filter(":visible");
                                   e
                                        ? (t("input:enabled", r).prop("checked", !0),
                                          r.addClass(this.options.selectedClass),
                                          t("input:enabled", r).each(
                                               t.proxy(function (e, i) {
                                                    var n = t(i).val(),
                                                         r = this.getOptionByValue(n);
                                                    t(r).prop("selected", !0);
                                               }, this)
                                          ))
                                        : (t("input:enabled", n).prop("checked", !0),
                                          n.addClass(this.options.selectedClass),
                                          t("input:enabled", n).each(
                                               t.proxy(function (e, i) {
                                                    var n = t(i).val(),
                                                         r = this.getOptionByValue(n);
                                                    t(r).prop("selected", !0);
                                               }, this)
                                          )),
                                        t('.multiselect-item input[value="' + this.options.selectAllValue + '"]', this.$ul).prop("checked", !0),
                                        this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups(),
                                        i && this.options.onSelectAll();
                              },
                              deselectAll: function (e, i) {
                                   e = void 0 === e || e;
                                   var n = t(".multiselect-item:not(.dropdown-divider):not(.disabled):not(.multiselect-group)", this.$ul),
                                        r = t(".multiselect-item:not(.dropdown-divider):not(.disabled):not(.multiselect-group):not(.multiselect-filter-hidden):not(.multiselect-collapisble-hidden)", this.$ul).filter(":visible");
                                   e
                                        ? (t('input[type="checkbox"]:enabled', r).prop("checked", !1),
                                          r.removeClass(this.options.selectedClass),
                                          t('input[type="checkbox"]:enabled', r).each(
                                               t.proxy(function (e, i) {
                                                    var n = t(i).val(),
                                                         r = this.getOptionByValue(n);
                                                    t(r).prop("selected", !1);
                                               }, this)
                                          ))
                                        : (t('input[type="checkbox"]:enabled', n).prop("checked", !1),
                                          n.removeClass(this.options.selectedClass),
                                          t('input[type="checkbox"]:enabled', n).each(
                                               t.proxy(function (e, i) {
                                                    var n = t(i).val(),
                                                         r = this.getOptionByValue(n);
                                                    t(r).prop("selected", !1);
                                               }, this)
                                          )),
                                        t('.multiselect-item input[value="' + this.options.selectAllValue + '"]', this.$ul).prop("checked", !1),
                                        this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups(),
                                        i && this.options.onDeselectAll();
                              },
                              rebuild: function () {
                                   this.$ul.html(""),
                                        (this.options.multiple = "multiple" === this.$select.attr("multiple")),
                                        this.buildSelectAll(),
                                        this.buildDropdownOptions(),
                                        this.buildFilter(),
                                        this.updateButtonText(),
                                        this.updateSelectAll(!0),
                                        this.options.enableClickableOptGroups && this.options.multiple && this.updateOptGroups(),
                                        this.options.disableIfEmpty && t("option", this.$select).length <= 0 ? this.disable() : this.enable(),
                                        this.options.dropRight && this.$ul.addClass("dropdown-menu-right");
                              },
                              dataprovider: function (e) {
                                   var i = 0,
                                        n = this.$select.empty();
                                   t.each(e, function (e, r) {
                                        var o;
                                        if (t.isArray(r.children))
                                             i++,
                                                  (o = t("<optgroup/>").attr({ label: r.label || "Group " + i, disabled: !!r.disabled })),
                                                  (function (t, e) {
                                                       for (var i = 0; i < t.length; ++i) e(t[i], i);
                                                  })(r.children, function (e) {
                                                       var i = { value: e.value, label: e.label || e.value, title: e.title, selected: !!e.selected, disabled: !!e.disabled };
                                                       for (var n in e.attributes) i["data-" + n] = e.attributes[n];
                                                       o.append(t("<option/>").attr(i));
                                                  });
                                        else {
                                             var a = { value: r.value, label: r.label || r.value, title: r.title, class: r.class, selected: !!r.selected, disabled: !!r.disabled };
                                             for (var s in r.attributes) a["data-" + s] = r.attributes[s];
                                             (o = t("<option/>").attr(a)).text(r.label || r.value);
                                        }
                                        n.append(o);
                                   }),
                                        this.rebuild();
                              },
                              enable: function () {
                                   this.$select.prop("disabled", !1), this.$button.prop("disabled", !1).removeClass("disabled");
                              },
                              disable: function () {
                                   this.$select.prop("disabled", !0), this.$button.prop("disabled", !0).addClass("disabled");
                              },
                              setOptions: function (t) {
                                   this.options = this.mergeOptions(t);
                              },
                              mergeOptions: function (e) {
                                   return t.extend(!0, {}, this.defaults, this.options, e);
                              },
                              hasSelectAll: function () {
                                   return t("a.multiselect-all", this.$ul).length > 0;
                              },
                              updateOptGroups: function () {
                                   var e = t(".multiselect-group", this.$ul),
                                        i = this.options.selectedClass;
                                   e.each(function () {
                                        var e = t(this).nextUntil(".multiselect-group").not(".multiselect-filter-hidden").not(".disabled"),
                                             n = !0;
                                        e.each(function () {
                                             t("input", this).prop("checked") || (n = !1);
                                        }),
                                             i && (n ? t(this).addClass(i) : t(this).removeClass(i)),
                                             t("input", this).prop("checked", n);
                                   });
                              },
                              updateSelectAll: function (e) {
                                   if (this.hasSelectAll()) {
                                        var i = t(".dropdown-item:not(.multiselect-group):not(.multiselect-all):not(.disabled) input:enabled", this.$ul),
                                             n = i.length,
                                             r = i.filter(":checked").length,
                                             o = t("a.multiselect-all", this.$ul),
                                             a = o.find("input");
                                        r > 0 && r === n ? (a.prop("checked", !0), o.addClass(this.options.selectedClass).addClass("asflkjnsdflkjbsdhqf")) : (a.prop("checked", !1), o.removeClass(this.options.selectedClass));
                                   }
                              },
                              updateButtonText: function () {
                                   var e = this.getSelected();
                                   this.options.enableHTML
                                        ? t(".multiselect .multiselect-selected-text", this.$container).html(this.options.buttonText(e, this.$select))
                                        : t(".multiselect .multiselect-selected-text", this.$container).text(this.options.buttonText(e, this.$select)),
                                        t(".multiselect", this.$container).attr("title", this.options.buttonTitle(e, this.$select));
                              },
                              getSelected: function () {
                                   return t("option", this.$select).filter(":selected");
                              },
                              getOptionByValue: function (e) {
                                   for (var i = t("option", this.$select), n = e.toString(), r = 0; r < i.length; r += 1) {
                                        var o = i[r];
                                        if (o.value === n) return t(o);
                                   }
                              },
                              getInputByValue: function (e) {
                                   for (var i = t(".multiselect-item input:not(.multiselect-search)", this.$ul), n = e.toString(), r = 0; r < i.length; r += 1) {
                                        var o = i[r];
                                        if (o.value === n) return t(o);
                                   }
                              },
                              updateOriginalOptions: function () {
                                   this.originalOptions = this.$select.clone()[0].options;
                              },
                              asyncFunction: function (t, e, i) {
                                   var n = Array.prototype.slice.call(arguments, 3);
                                   return setTimeout(function () {
                                        t.apply(i || window, n);
                                   }, e);
                              },
                              setAllSelectedText: function (t) {
                                   (this.options.allSelectedText = t), this.updateButtonText();
                              },
                         }),
                         (t.fn.multiselect = function (i, n, r) {
                              return this.each(function () {
                                   var o = t(this).data("multiselect");
                                   o || ((o = new e(this, "object" == typeof i && i)), t(this).data("multiselect", o)), "string" == typeof i && (o[i](n, r), "destroy" === i && t(this).data("multiselect", !1));
                              });
                         }),
                         (t.fn.multiselect.Constructor = e),
                         t(function () {
                              t("select[data-role=multiselect]").multiselect();
                         });
               })(t);
          }.call(this, i(1)));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var e = i(5),
                         n = i.n(e),
                         r = i(11),
                         o = i.n(r);
                    t(document).ready(function () {
                         var t = document.getElementById("rangeslider-1"),
                              e = document.getElementById("rangeslider-2"),
                              i = document.getElementById("rangeslider-3"),
                              r = document.getElementById("rangeslider-4"),
                              a = document.getElementById("rangeslider-11"),
                              s = document.getElementById("rangeslider-21"),
                              l = document.getElementById("rangeslider-31"),
                              c = document.getElementById("rangeslider-41"),
                              u = document.getElementById("pips-steps");
                         t && n.a.create(t, { start: [20, 80], connect: !0, range: { min: 0, max: 100 } }),
                              e && n.a.create(e, { start: [20, 40, 60], connect: [!0, !1, !0, !0], range: { min: 0, max: 80 } }),
                              i && n.a.create(i, { start: [20, 80], step: 10, range: { min: 0, max: 100 } }),
                              r && n.a.create(r, { start: [20, 80, 120], tooltips: [!1, o()({ decimals: 1 }), !0], range: { min: 0, max: 200 } }),
                              a && n.a.create(a, { start: [20, 80], connect: !0, range: { min: 0, max: 100 } }),
                              s && n.a.create(s, { start: [20, 40, 60], connect: [!0, !1, !0, !0], range: { min: 0, max: 80 } }),
                              l && n.a.create(l, { start: [20, 80], step: 10, connect: !0, range: { min: 0, max: 100 } }),
                              c && n.a.create(c, { start: [20, 80, 120], connect: !0, tooltips: [!1, o()({ decimals: 1 }), !0], range: { min: 0, max: 200 } }),
                              u && n.a.create(u, { range: { min: [0], "10%": [500, 500], "50%": [4e3, 1e3], max: [1e4] }, start: 0, pips: { mode: "range", density: 3 } });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(202);
                    t(document).ready(function () {
                         t("textarea.autosize-input").textareaAutoSize();
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          (function (t) {
               !(function (t, e, i, n) {
                    function r(e, i) {
                         (this.element = e), (this.$element = t(e)), this.init();
                    }
                    (r.prototype = {
                         init: function () {
                              this.$element.outerHeight();
                              var i = parseInt(this.$element.css("paddingBottom")) + parseInt(this.$element.css("paddingTop")) || 0;
                              this.element.value.replace(/\s/g, "").length > 0 && this.$element.height(this.element.scrollHeight - i),
                                   this.$element.on("input keyup", function (n) {
                                        var r = t(e),
                                             o = r.scrollTop();
                                        t(this)
                                             .height(0)
                                             .height(this.scrollHeight - i),
                                             r.scrollTop(o);
                                   });
                         },
                    }),
                         (t.fn.textareaAutoSize = function (e) {
                              return (
                                   this.each(function () {
                                        t.data(this, "plugin_textareaAutoSize") || t.data(this, "plugin_textareaAutoSize", new r(this, e));
                                   }),
                                   this
                              );
                         });
               })(t, window, document);
          }.call(this, i(1)));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(204);
                    t(document).ready(function () {});
               }.call(this, i(1));
     },
     function (t, e, i) {
          (function (t) {
               !(function (t) {
                    "use strict";
                    function e(e, i) {
                         (this.$element = t(e)), (this.options = t.extend({}, this.defaults(), i)), this.render();
                    }
                    (e.VERSION = "3.6.0"),
                         (e.DEFAULTS = { on: "On", off: "Off", onstyle: "primary", offstyle: "light", size: "normal", style: "", width: null, height: null }),
                         (e.prototype.defaults = function () {
                              return {
                                   on: this.$element.attr("data-on") || e.DEFAULTS.on,
                                   off: this.$element.attr("data-off") || e.DEFAULTS.off,
                                   onstyle: this.$element.attr("data-onstyle") || e.DEFAULTS.onstyle,
                                   offstyle: this.$element.attr("data-offstyle") || e.DEFAULTS.offstyle,
                                   size: this.$element.attr("data-size") || e.DEFAULTS.size,
                                   style: this.$element.attr("data-style") || e.DEFAULTS.style,
                                   width: this.$element.attr("data-width") || e.DEFAULTS.width,
                                   height: this.$element.attr("data-height") || e.DEFAULTS.height,
                              };
                         }),
                         (e.prototype.render = function () {
                              (this._onstyle = "btn-" + this.options.onstyle), (this._offstyle = "btn-" + this.options.offstyle);
                              var e =
                                        "large" === this.options.size || "lg" === this.options.size
                                             ? "btn-lg"
                                             : "small" === this.options.size || "sm" === this.options.size
                                             ? "btn-sm"
                                             : "mini" === this.options.size || "xs" === this.options.size
                                             ? "btn-xs"
                                             : "",
                                   i = t('<label for="' + this.$element.prop("id") + '" class="btn">')
                                        .html(this.options.on)
                                        .addClass(this._onstyle + " " + e),
                                   n = t('<label for="' + this.$element.prop("id") + '" class="btn">')
                                        .html(this.options.off)
                                        .addClass(this._offstyle + " " + e),
                                   r = t('<span class="toggle-handle btn btn-light">').addClass(e),
                                   o = t('<div class="toggle-group">').append(i, n, r),
                                   a = t('<div class="toggle btn" data-toggle="toggle" role="button">')
                                        .addClass(this.$element.prop("checked") ? this._onstyle : this._offstyle + " off")
                                        .addClass(e)
                                        .addClass(this.options.style);
                              this.$element.wrap(a), t.extend(this, { $toggle: this.$element.parent(), $toggleOn: i, $toggleOff: n, $toggleGroup: o }), this.$toggle.append(o);
                              var s = this.options.width || Math.max(i.outerWidth(), n.outerWidth()) + r.outerWidth() / 2,
                                   l = this.options.height || Math.max(i.outerHeight(), n.outerHeight());
                              i.addClass("toggle-on"),
                                   n.addClass("toggle-off"),
                                   this.$toggle.css({ width: s, height: l }),
                                   this.options.height && (i.css("line-height", i.height() + "px"), n.css("line-height", n.height() + "px")),
                                   this.update(!0),
                                   this.trigger(!0);
                         }),
                         (e.prototype.toggle = function () {
                              this.$element.prop("checked") ? this.off() : this.on();
                         }),
                         (e.prototype.on = function (t) {
                              if (this.$element.prop("disabled")) return !1;
                              this.$toggle.removeClass(this._offstyle + " off").addClass(this._onstyle), this.$element.prop("checked", !0), t || this.trigger();
                         }),
                         (e.prototype.off = function (t) {
                              if (this.$element.prop("disabled")) return !1;
                              this.$toggle.removeClass(this._onstyle).addClass(this._offstyle + " off"), this.$element.prop("checked", !1), t || this.trigger();
                         }),
                         (e.prototype.enable = function () {
                              this.$toggle.removeClass("disabled"), this.$toggle.removeAttr("disabled"), this.$element.prop("disabled", !1);
                         }),
                         (e.prototype.disable = function () {
                              this.$toggle.addClass("disabled"), this.$toggle.attr("disabled", "disabled"), this.$element.prop("disabled", !0);
                         }),
                         (e.prototype.update = function (t) {
                              this.$element.prop("disabled") ? this.disable() : this.enable(), this.$element.prop("checked") ? this.on(t) : this.off(t);
                         }),
                         (e.prototype.trigger = function (e) {
                              this.$element.off("change.bs.toggle"),
                                   e || this.$element.change(),
                                   this.$element.on(
                                        "change.bs.toggle",
                                        t.proxy(function () {
                                             this.update();
                                        }, this)
                                   );
                         }),
                         (e.prototype.destroy = function () {
                              this.$element.off("change.bs.toggle"), this.$toggleGroup.remove(), this.$element.removeData("bs.toggle"), this.$element.unwrap();
                         });
                    var i = t.fn.bootstrapToggle;
                    (t.fn.bootstrapToggle = function (i) {
                         var n = Array.prototype.slice.call(arguments, 1)[0];
                         return this.each(function () {
                              var r = t(this),
                                   o = r.data("bs.toggle"),
                                   a = "object" == typeof i && i;
                              o || r.data("bs.toggle", (o = new e(this, a))), "string" == typeof i && o[i] && "boolean" == typeof n ? o[i](n) : "string" == typeof i && o[i] && o[i]();
                         });
                    }),
                         (t.fn.bootstrapToggle.Constructor = e),
                         (t.fn.toggle.noConflict = function () {
                              return (t.fn.bootstrapToggle = i), this;
                         }),
                         t(function () {
                              t("input[type=checkbox][data-toggle^=toggle]").bootstrapToggle();
                         }),
                         t(document).on("click.bs.toggle", "div[data-toggle^=toggle]", function (e) {
                              t(this).find("input[type=checkbox]").bootstrapToggle("toggle"), e.preventDefault();
                         });
               })(t);
          }.call(this, i(1)));
     },
     function (t, e, i) {
          "use strict";
          i.r(e);
          var n = i(4),
               r = i.n(n),
               o =
                    (i(206),
                    function () {
                         return Math.round(100 * Math.random());
                    }),
               a = r.a.helpers.color,
               s = (a(window.chartColors.red).alpha(0.5).rgbString(), window.chartColors.red, o(), o(), o(), o(), o(), o(), o(), a(window.chartColors.blue).alpha(0.5).rgbString(), window.chartColors.blue, o(), o(), o(), o(), o(), o(), o()),
               l = {
                    type: "pie",
                    data: {
                         datasets: [
                              { data: [o(), o(), o(), o(), o()], backgroundColor: [window.chartColors.red, window.chartColors.orange, window.chartColors.yellow, window.chartColors.green, window.chartColors.blue], label: "Dataset 1" },
                         ],
                         labels: ["Red", "Orange", "Yellow", "Green", "Blue"],
                    },
                    options: { responsive: !0 },
               },
               c =
                    ((s = {
                         labels: ["January", "February", "March", "April", "May", "June", "July"],
                         datasets: [
                              { label: "Dataset 1", backgroundColor: window.chartColors.red, data: [o(), o(), o(), o(), o(), o(), o()] },
                              { label: "Dataset 2", backgroundColor: window.chartColors.blue, data: [o(), o(), o(), o(), o(), o(), o()] },
                              { label: "Dataset 3", backgroundColor: window.chartColors.green, data: [o(), o(), o(), o(), o(), o(), o()] },
                         ],
                    }),
                    {
                         type: "radar",
                         data: {
                              labels: [["Eating", "Dinner"], ["Drinking", "Water"], "Sleeping", ["Designing", "Graphics"], "Coding", "Cycling", "Running"],
                              datasets: [
                                   {
                                        label: "My First dataset",
                                        backgroundColor: a(window.chartColors.red).alpha(0.2).rgbString(),
                                        borderColor: window.chartColors.red,
                                        pointBackgroundColor: window.chartColors.red,
                                        data: [o(), o(), o(), o(), o(), o(), o()],
                                   },
                                   {
                                        label: "My Second dataset",
                                        backgroundColor: a(window.chartColors.blue).alpha(0.2).rgbString(),
                                        borderColor: window.chartColors.blue,
                                        pointBackgroundColor: window.chartColors.blue,
                                        data: [o(), o(), o(), o(), o(), o(), o()],
                                   },
                              ],
                         },
                         options: { legend: { position: "top" }, title: { display: !1, text: "Chart.js Radar Chart" }, scale: { ticks: { beginAtZero: !0 } } },
                    }),
               u = {
                    type: "doughnut",
                    data: {
                         datasets: [
                              { data: [o(), o(), o(), o(), o()], backgroundColor: [window.chartColors.red, window.chartColors.orange, window.chartColors.yellow, window.chartColors.green, window.chartColors.blue], label: "Dataset 1" },
                         ],
                         labels: ["Red", "Orange", "Yellow", "Green", "Blue"],
                    },
                    options: { responsive: !0, legend: { position: "top" }, title: { display: !1, text: "Chart.js Doughnut Chart" }, animation: { animateScale: !0, animateRotate: !0 } },
               },
               h = {
                    type: "doughnut",
                    data: {
                         datasets: [
                              { data: [o(), o(), o(), o(), o()], backgroundColor: [window.chartColors.red, window.chartColors.orange, window.chartColors.yellow, window.chartColors.green, window.chartColors.blue], label: "Dataset 1" },
                         ],
                         labels: ["Red", "Orange", "Yellow", "Green", "Blue"],
                    },
                    options: { responsive: !0, maintainAspectRatio: !1, legend: { display: !1 }, title: { display: !1, text: "Chart.js Doughnut Chart" }, animation: { animateScale: !0, animateRotate: !0 } },
               },
               d = {
                    data: {
                         datasets: [
                              {
                                   data: [o(), o(), o(), o(), o()],
                                   backgroundColor: [
                                        a(chartColors.red).alpha(0.5).rgbString(),
                                        a(chartColors.orange).alpha(0.5).rgbString(),
                                        a(chartColors.yellow).alpha(0.5).rgbString(),
                                        a(chartColors.green).alpha(0.5).rgbString(),
                                        a(chartColors.blue).alpha(0.5).rgbString(),
                                   ],
                                   label: "My dataset",
                              },
                         ],
                         labels: ["Red", "Orange", "Yellow", "Green", "Blue"],
                    },
                    options: {
                         responsive: !0,
                         legend: { position: "right" },
                         title: { display: !1, text: "Chart.js Polar Area Chart" },
                         scale: { ticks: { beginAtZero: !0 }, reverse: !1 },
                         animation: { animateRotate: !1, animateScale: !0 },
                    },
               },
               p = {
                    type: "line",
                    data: {
                         labels: ["January", "February", "March", "April", "May", "June", "July"],
                         datasets: [
                              { label: "My First dataset", backgroundColor: window.chartColors.red, borderColor: window.chartColors.red, data: [o(), o(), o(), o(), o(), o(), o()], fill: !1 },
                              { label: "My Second dataset", fill: !1, backgroundColor: window.chartColors.blue, borderColor: window.chartColors.blue, data: [o(), o(), o(), o(), o(), o(), o()] },
                         ],
                    },
                    options: {
                         responsive: !0,
                         maintainAspectRatio: !1,
                         title: { display: !1, text: "Chart.js Line Chart" },
                         legend: { display: !1 },
                         layout: { padding: { left: 10, right: 10, top: 10, bottom: 0 } },
                         tooltips: { mode: "index", intersect: !1 },
                         hover: { mode: "nearest", intersect: !0 },
                         pointBackgroundColor: "#fff",
                         pointBorderColor: window.chartColors.blue,
                         pointBorderWidth: "2",
                         scales: { xAxes: [{ display: !1, scaleLabel: { display: !0, labelString: "Month" } }], yAxes: [{ display: !1, scaleLabel: { display: !0, labelString: "Value" } }] },
                    },
               },
               f = {
                    labels: ["January", "February", "March", "April", "May", "June", "July"],
                    datasets: [
                         { label: "Dataset 1", backgroundColor: a(window.chartColors.red).alpha(0.5).rgbString(), borderColor: window.chartColors.red, borderWidth: 1, data: [o(), o(), o(), o(), o(), o(), o()] },
                         { label: "Dataset 2", backgroundColor: a(window.chartColors.blue).alpha(0.5).rgbString(), borderColor: window.chartColors.blue, data: [o(), o(), o(), o(), o(), o(), o()] },
                    ],
               };
          window.onload = function () {
               if (document.getElementById("canvas")) {
                    var t = document.getElementById("canvas").getContext("2d");
                    window.myBar = new r.a(t, { type: "bar", data: s, options: { responsive: !0, legend: { position: "top" }, title: { display: !1, text: "Chart.js Bar Chart" } } });
               }
               if (document.getElementById("chart-area")) {
                    var e = document.getElementById("chart-area").getContext("2d");
                    window.myPie = new r.a(e, l);
               }
               if (document.getElementById("doughnut-chart")) {
                    var i = document.getElementById("doughnut-chart").getContext("2d");
                    window.myDoughnut = new r.a(i, u);
               }
               if (document.getElementById("doughnut-chart-2")) {
                    var n = document.getElementById("doughnut-chart-2").getContext("2d");
                    window.myDoughnut = new r.a(n, h);
               }
               if (document.getElementById("doughnut-chart-3")) {
                    var o = document.getElementById("doughnut-chart-3").getContext("2d");
                    window.myDoughnut = new r.a(o, h);
               }
               if ((document.getElementById("radar-chart") && (window.myRadar = new r.a(document.getElementById("radar-chart"), c)), document.getElementById("polar-chart"))) {
                    var a = document.getElementById("polar-chart");
                    window.myPolarArea = r.a.PolarArea(a, d);
               }
               if (document.getElementById("line-chart")) {
                    var m = document.getElementById("line-chart").getContext("2d");
                    window.myLine = new r.a(m, p);
               }
               if (document.getElementById("chart-horiz-bar")) {
                    var g = document.getElementById("chart-horiz-bar").getContext("2d");
                    window.myHorizontalBar = new r.a(g, {
                         type: "horizontalBar",
                         data: f,
                         options: { elements: { rectangle: { borderWidth: 2 } }, responsive: !0, legend: { position: "right" }, title: { display: !1, text: "Chart.js Horizontal Bar Chart" } },
                    });
               }
               if (document.getElementById("stacked-bars-chart")) {
                    var v = document.getElementById("stacked-bars-chart").getContext("2d");
                    window.myBar = new r.a(v, {
                         type: "bar",
                         data: s,
                         options: { title: { display: !0, text: "Chart.js Bar Chart - Stacked" }, tooltips: { mode: "index", intersect: !1 }, responsive: !0, scales: { xAxes: [{ stacked: !0 }], yAxes: [{ stacked: !0 }] } },
                    });
               }
          };
     },
     function (t, e, i) {
          "use strict";
          var n, r, o, a, s, l, c, u, h, d, p;
          (window.chartColors = { red: "#dc3545", orange: "#fd7e14", yellow: "#ffc107", green: "#28a745", blue: "#007bff", purple: "#6f42c1", grey: "#6c757d" }),
               (u = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]),
               (h = ["#4dc9f6", "#f67019", "#f53794", "#537bc4", "#acc236", "#166a8f", "#00a950", "#58595b", "#8549ba"]),
               (d = (n = this).Samples || (n.Samples = {})),
               (p = n.Color),
               (d.utils = {
                    srand: function (t) {
                         this._seed = t;
                    },
                    rand: function (t, e) {
                         var i = this._seed;
                         return (t = void 0 === t ? 0 : t), (e = void 0 === e ? 1 : e), (this._seed = (9301 * i + 49297) % 233280), t + (this._seed / 233280) * (e - t);
                    },
                    numbers: function (t) {
                         var e,
                              i,
                              n = t || {},
                              r = n.min || 0,
                              o = n.max || 1,
                              a = n.from || [],
                              s = n.count || 8,
                              l = n.decimals || 8,
                              c = n.continuity || 1,
                              u = Math.pow(10, l) || 0,
                              h = [];
                         for (e = 0; e < s; ++e) (i = (a[e] || 0) + this.rand(r, o)), this.rand() <= c ? h.push(Math.round(u * i) / u) : h.push(null);
                         return h;
                    },
                    labels: function (t) {
                         var e,
                              i = t || {},
                              n = i.min || 0,
                              r = i.max || 100,
                              o = (r - n) / (i.count || 8),
                              a = i.decimals || 8,
                              s = Math.pow(10, a) || 0,
                              l = i.prefix || "",
                              c = [];
                         for (e = n; e < r; e += o) c.push(l + Math.round(s * e) / s);
                         return c;
                    },
                    months: function (t) {
                         var e,
                              i,
                              n = t || {},
                              r = n.count || 12,
                              o = n.section,
                              a = [];
                         for (e = 0; e < r; ++e) (i = u[Math.ceil(e) % 12]), a.push(i.substring(0, o));
                         return a;
                    },
                    color: function (t) {
                         return h[t % h.length];
                    },
                    transparentize: function (t, e) {
                         var i = void 0 === e ? 0.5 : 1 - e;
                         return p(t).alpha(i).rgbString();
                    },
               }),
               (window.randomScalingFactor = function () {
                    return Math.round(d.utils.rand(-100, 100));
               }),
               d.utils.srand(Date.now()),
               document.location.hostname.match(/^(www\.)?chartjs\.org$/) &&
                    ((r = window),
                    (o = document),
                    (a = "script"),
                    (s = "ga"),
                    (r.GoogleAnalyticsObject = s),
                    (r.ga =
                         r.ga ||
                         function () {
                              (r.ga.q = r.ga.q || []).push(arguments);
                         }),
                    (r.ga.l = 1 * new Date()),
                    (l = o.createElement(a)),
                    (c = o.getElementsByTagName(a)[0]),
                    (l.async = 1),
                    (l.src = "//www.google-analytics.com/analytics.js"),
                    c.parentNode.insertBefore(l, c),
                    ga("create", "UA-28909194-3", "auto"),
                    ga("send", "pageview"));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    var e = i(2),
                         n = i.n(e);
                    window.Apex = { dataLabels: { enabled: !1 }, stroke: { width: 2 } };
                    var r = {
                              monthDataSeries1: {
                                   prices: [8107.85, 8128, 8122.9, 8165.5, 8340.7, 8423.7, 8423.5, 8514.3, 8481.85, 8487.7, 8506.9, 8626.2, 8668.95, 8602.3, 8607.55, 8512.9, 8496.25, 8600.65, 8881.1, 9340.85],
                                   dates: [
                                        "13 Nov 2017",
                                        "14 Nov 2017",
                                        "15 Nov 2017",
                                        "16 Nov 2017",
                                        "17 Nov 2017",
                                        "20 Nov 2017",
                                        "21 Nov 2017",
                                        "22 Nov 2017",
                                        "23 Nov 2017",
                                        "24 Nov 2017",
                                        "27 Nov 2017",
                                        "28 Nov 2017",
                                        "29 Nov 2017",
                                        "30 Nov 2017",
                                        "01 Dec 2017",
                                        "04 Dec 2017",
                                        "05 Dec 2017",
                                        "06 Dec 2017",
                                        "07 Dec 2017",
                                        "08 Dec 2017",
                                   ],
                              },
                              monthDataSeries2: {
                                   prices: [8423.7, 8423.5, 8514.3, 8481.85, 8487.7, 8506.9, 8626.2, 8668.95, 8602.3, 8607.55, 8512.9, 8496.25, 8600.65, 8881.1, 9040.85, 8340.7, 8165.5, 8122.9, 8107.85, 8128],
                                   dates: [
                                        "13 Nov 2017",
                                        "14 Nov 2017",
                                        "15 Nov 2017",
                                        "16 Nov 2017",
                                        "17 Nov 2017",
                                        "20 Nov 2017",
                                        "21 Nov 2017",
                                        "22 Nov 2017",
                                        "23 Nov 2017",
                                        "24 Nov 2017",
                                        "27 Nov 2017",
                                        "28 Nov 2017",
                                        "29 Nov 2017",
                                        "30 Nov 2017",
                                        "01 Dec 2017",
                                        "04 Dec 2017",
                                        "05 Dec 2017",
                                        "06 Dec 2017",
                                        "07 Dec 2017",
                                        "08 Dec 2017",
                                   ],
                              },
                              monthDataSeries3: {
                                   prices: [
                                        7114.25,
                                        7126.6,
                                        7116.95,
                                        7203.7,
                                        7233.75,
                                        7451,
                                        7381.15,
                                        7348.95,
                                        7347.75,
                                        7311.25,
                                        7266.4,
                                        7253.25,
                                        7215.45,
                                        7266.35,
                                        7315.25,
                                        7237.2,
                                        7191.4,
                                        7238.95,
                                        7222.6,
                                        7217.9,
                                        7359.3,
                                        7371.55,
                                        7371.15,
                                        7469.2,
                                        7429.25,
                                        7434.65,
                                        7451.1,
                                        7475.25,
                                        7566.25,
                                        7556.8,
                                        7525.55,
                                        7555.45,
                                        7560.9,
                                        7490.7,
                                        7527.6,
                                        7551.9,
                                        7514.85,
                                        7577.95,
                                        7592.3,
                                        7621.95,
                                        7707.95,
                                        7859.1,
                                        7815.7,
                                        7739,
                                        7778.7,
                                        7839.45,
                                        7756.45,
                                        7669.2,
                                        7580.45,
                                        7452.85,
                                        7617.25,
                                        7701.6,
                                        7606.8,
                                        7620.05,
                                        7513.85,
                                        7498.45,
                                        7575.45,
                                        7601.95,
                                        7589.1,
                                        7525.85,
                                        7569.5,
                                        7702.5,
                                        7812.7,
                                        7803.75,
                                        7816.3,
                                        7851.15,
                                        7912.2,
                                        7972.8,
                                        8145,
                                        8161.1,
                                        8121.05,
                                        8071.25,
                                        8088.2,
                                        8154.45,
                                        8148.3,
                                        8122.05,
                                        8132.65,
                                        8074.55,
                                        7952.8,
                                        7885.55,
                                        7733.9,
                                        7897.15,
                                        7973.15,
                                        7888.5,
                                        7842.8,
                                        7838.4,
                                        7909.85,
                                        7892.75,
                                        7897.75,
                                        7820.05,
                                        7904.4,
                                        7872.2,
                                        7847.5,
                                        7849.55,
                                        7789.6,
                                        7736.35,
                                        7819.4,
                                        7875.35,
                                        7871.8,
                                        8076.5,
                                        8114.8,
                                        8193.55,
                                        8217.1,
                                        8235.05,
                                        8215.3,
                                        8216.4,
                                        8301.55,
                                        8235.25,
                                        8229.75,
                                        8201.95,
                                        8164.95,
                                        8107.85,
                                        8128,
                                        8122.9,
                                        8165.5,
                                        8340.7,
                                        8423.7,
                                        8423.5,
                                        8514.3,
                                        8481.85,
                                        8487.7,
                                        8506.9,
                                        8626.2,
                                   ],
                                   dates: [
                                        "02 Jun 2017",
                                        "05 Jun 2017",
                                        "06 Jun 2017",
                                        "07 Jun 2017",
                                        "08 Jun 2017",
                                        "09 Jun 2017",
                                        "12 Jun 2017",
                                        "13 Jun 2017",
                                        "14 Jun 2017",
                                        "15 Jun 2017",
                                        "16 Jun 2017",
                                        "19 Jun 2017",
                                        "20 Jun 2017",
                                        "21 Jun 2017",
                                        "22 Jun 2017",
                                        "23 Jun 2017",
                                        "27 Jun 2017",
                                        "28 Jun 2017",
                                        "29 Jun 2017",
                                        "30 Jun 2017",
                                        "03 Jul 2017",
                                        "04 Jul 2017",
                                        "05 Jul 2017",
                                        "06 Jul 2017",
                                        "07 Jul 2017",
                                        "10 Jul 2017",
                                        "11 Jul 2017",
                                        "12 Jul 2017",
                                        "13 Jul 2017",
                                        "14 Jul 2017",
                                        "17 Jul 2017",
                                        "18 Jul 2017",
                                        "19 Jul 2017",
                                        "20 Jul 2017",
                                        "21 Jul 2017",
                                        "24 Jul 2017",
                                        "25 Jul 2017",
                                        "26 Jul 2017",
                                        "27 Jul 2017",
                                        "28 Jul 2017",
                                        "31 Jul 2017",
                                        "01 Aug 2017",
                                        "02 Aug 2017",
                                        "03 Aug 2017",
                                        "04 Aug 2017",
                                        "07 Aug 2017",
                                        "08 Aug 2017",
                                        "09 Aug 2017",
                                        "10 Aug 2017",
                                        "11 Aug 2017",
                                        "14 Aug 2017",
                                        "16 Aug 2017",
                                        "17 Aug 2017",
                                        "18 Aug 2017",
                                        "21 Aug 2017",
                                        "22 Aug 2017",
                                        "23 Aug 2017",
                                        "24 Aug 2017",
                                        "28 Aug 2017",
                                        "29 Aug 2017",
                                        "30 Aug 2017",
                                        "31 Aug 2017",
                                        "01 Sep 2017",
                                        "04 Sep 2017",
                                        "05 Sep 2017",
                                        "06 Sep 2017",
                                        "07 Sep 2017",
                                        "08 Sep 2017",
                                        "11 Sep 2017",
                                        "12 Sep 2017",
                                        "13 Sep 2017",
                                        "14 Sep 2017",
                                        "15 Sep 2017",
                                        "18 Sep 2017",
                                        "19 Sep 2017",
                                        "20 Sep 2017",
                                        "21 Sep 2017",
                                        "22 Sep 2017",
                                        "25 Sep 2017",
                                        "26 Sep 2017",
                                        "27 Sep 2017",
                                        "28 Sep 2017",
                                        "29 Sep 2017",
                                        "03 Oct 2017",
                                        "04 Oct 2017",
                                        "05 Oct 2017",
                                        "06 Oct 2017",
                                        "09 Oct 2017",
                                        "10 Oct 2017",
                                        "11 Oct 2017",
                                        "12 Oct 2017",
                                        "13 Oct 2017",
                                        "16 Oct 2017",
                                        "17 Oct 2017",
                                        "18 Oct 2017",
                                        "19 Oct 2017",
                                        "23 Oct 2017",
                                        "24 Oct 2017",
                                        "25 Oct 2017",
                                        "26 Oct 2017",
                                        "27 Oct 2017",
                                        "30 Oct 2017",
                                        "31 Oct 2017",
                                        "01 Nov 2017",
                                        "02 Nov 2017",
                                        "03 Nov 2017",
                                        "06 Nov 2017",
                                        "07 Nov 2017",
                                        "08 Nov 2017",
                                        "09 Nov 2017",
                                        "10 Nov 2017",
                                        "13 Nov 2017",
                                        "14 Nov 2017",
                                        "15 Nov 2017",
                                        "16 Nov 2017",
                                        "17 Nov 2017",
                                        "20 Nov 2017",
                                        "21 Nov 2017",
                                        "22 Nov 2017",
                                        "23 Nov 2017",
                                        "24 Nov 2017",
                                        "27 Nov 2017",
                                        "28 Nov 2017",
                                   ],
                              },
                         },
                         o = {
                              chart: { height: 350, type: "radialBar", toolbar: { show: !0 } },
                              plotOptions: {
                                   radialBar: {
                                        startAngle: -135,
                                        endAngle: 225,
                                        hollow: { margin: 0, size: "70%", background: "#fff", image: void 0, imageOffsetX: 0, imageOffsetY: 0, position: "front", dropShadow: { enabled: !0, top: 3, left: 0, blur: 4, opacity: 0.24 } },
                                        track: { background: "#fff", strokeWidth: "67%", margin: 0, dropShadow: { enabled: !0, top: -3, left: 0, blur: 4, opacity: 0.35 } },
                                        dataLabels: {
                                             showOn: "always",
                                             name: { offsetY: -10, show: !0, color: "#888", fontSize: "17px" },
                                             value: {
                                                  formatter: function (t) {
                                                       return parseInt(t);
                                                  },
                                                  color: "#111",
                                                  fontSize: "36px",
                                                  show: !0,
                                             },
                                        },
                                   },
                              },
                              fill: { type: "gradient", gradient: { shade: "dark", type: "horizontal", shadeIntensity: 0.5, gradientToColors: ["#ABE5A1"], inverseColors: !0, opacityFrom: 1, opacityTo: 1, stops: [0, 100] } },
                              series: [75],
                              stroke: { lineCap: "round" },
                              labels: ["Percent"],
                         },
                         a = new n.a(document.querySelector("#chart-radial"), o),
                         s = new n.a(document.querySelector("#bar-vertical-candle"), {
                              chart: { type: "bar", height: 200, width: "100%", stacked: !0, foreColor: "#999" },
                              plotOptions: { bar: { dataLabels: { enabled: !1 }, columnWidth: "75%", endingShape: "rounded" } },
                              colors: ["#00C5A4", "#F3F2FC"],
                              series: [
                                   { name: "Sessions", data: [20, 16, 24, 28, 26, 22, 15, 5, 14, 16, 22, 29, 24, 19, 15, 10, 11, 15, 19, 23] },
                                   { name: "Views", data: [20, 16, 24, 28, 26, 22, 15, 5, 14, 16, 22, 29, 24, 19, 15, 10, 11, 15, 19, 23] },
                              ],
                              labels: [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 1, 2, 3, 4],
                              xaxis: { axisBorder: { show: !1 }, axisTicks: { show: !1 }, crosshairs: { show: !1 }, labels: { show: !1, style: { fontSize: "14px" } } },
                              grid: { xaxis: { lines: { show: !1 } }, yaxis: { lines: { show: !1 } } },
                              yaxis: { axisBorder: { show: !1 }, labels: { show: !1 } },
                              legend: { floating: !0, position: "top", horizontalAlign: "center", offsetY: 15 },
                              subtitle: { text: "Sessions and Views" },
                              tooltip: { shared: !0 },
                         }),
                         l = new n.a(document.querySelector("#bar-vertical-candle-lg"), {
                              chart: { type: "bar", height: 318, width: "100%", stacked: !0, foreColor: "#999" },
                              plotOptions: { bar: { dataLabels: { enabled: !1 }, columnWidth: "75%", endingShape: "rounded" } },
                              colors: ["#6086c5", "#d2f5fc"],
                              series: [
                                   { name: "Sessions", data: [20, 16, 24, 28, 26, 22, 15, 5, 14, 16, 22, 29, 24, 19, 15, 10, 11, 15, 19, 23] },
                                   { name: "Views", data: [20, 16, 24, 28, 26, 22, 15, 5, 14, 16, 22, 29, 24, 19, 15, 10, 11, 15, 19, 23] },
                              ],
                              labels: [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 1, 2, 3, 4],
                              xaxis: { axisBorder: { show: !1 }, axisTicks: { show: !1 }, crosshairs: { show: !1 }, labels: { show: !1, style: { fontSize: "14px" } } },
                              grid: { xaxis: { lines: { show: !1 } }, yaxis: { lines: { show: !1 } } },
                              yaxis: { axisBorder: { show: !1 }, labels: { show: !1 } },
                              legend: { floating: !0, position: "top", horizontalAlign: "center", offsetY: 15 },
                              subtitle: { text: "Sessions and Views" },
                              tooltip: { shared: !0 },
                         }),
                         c = new n.a(document.querySelector("#chart-col-1"), {
                              chart: { height: 200, type: "bar", sparkline: { enabled: !0 } },
                              plotOptions: { bar: { horizontal: !1, endingShape: "rounded", columnWidth: "55%" } },
                              dataLabels: { enabled: !1 },
                              stroke: { show: !0, width: 2, colors: ["transparent"] },
                              series: [
                                   { name: "Net Profit", data: [44, 55, 57, 56, 61, 58, 63, 60, 66] },
                                   { name: "Revenue", data: [76, 85, 101, 98, 87, 105, 91, 114, 94] },
                                   { name: "Free Cash Flow", data: [35, 41, 36, 26, 45, 48, 52, 53, 41] },
                              ],
                              xaxis: { categories: ["Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"] },
                              yaxis: { title: { text: "$ (thousands)" } },
                              fill: { opacity: 1 },
                              tooltip: {
                                   y: {
                                        formatter: function (t) {
                                             return "$ " + t + " thousands";
                                        },
                                   },
                              },
                         }),
                         u = new n.a(document.querySelector("#chart-col-2"), {
                              chart: { height: 200, type: "line", sparkline: { enabled: !0 } },
                              plotOptions: { bar: { horizontal: !1, endingShape: "rounded", columnWidth: "55%" } },
                              dataLabels: { enabled: !1 },
                              stroke: { show: !0, width: 2, colors: ["transparent"] },
                              series: [
                                   { name: "Net Profit", data: [44, 55, 57, 56, 61, 58, 63, 60, 66] },
                                   { name: "Revenue", data: [76, 85, 101, 98, 87, 105, 91, 114, 94] },
                                   { name: "Free Cash Flow", data: [35, 41, 36, 26, 45, 48, 52, 53, 41] },
                              ],
                              xaxis: { categories: ["Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"] },
                              yaxis: { title: { text: "$ (thousands)" } },
                              fill: { opacity: 1 },
                              tooltip: {
                                   y: {
                                        formatter: function (t) {
                                             return "$ " + t + " thousands";
                                        },
                                   },
                              },
                         }),
                         h = new n.a(document.querySelector("#chart-col-3"), {
                              chart: { height: 200, type: "area", sparkline: { enabled: !0 } },
                              plotOptions: { bar: { horizontal: !1, endingShape: "rounded", columnWidth: "55%" } },
                              dataLabels: { enabled: !1 },
                              stroke: { show: !0, width: 2, colors: ["transparent"] },
                              series: [
                                   { name: "Net Profit", data: [44, 55, 57, 56, 61, 58, 63, 60, 66] },
                                   { name: "Revenue", data: [76, 85, 101, 98, 87, 105, 91, 114, 94] },
                                   { name: "Free Cash Flow", data: [35, 41, 36, 26, 45, 48, 52, 53, 41] },
                              ],
                              xaxis: { categories: ["Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"] },
                              yaxis: { title: { text: "$ (thousands)" } },
                              fill: { opacity: 1 },
                              tooltip: {
                                   y: {
                                        formatter: function (t) {
                                             return "$ " + t + " thousands";
                                        },
                                   },
                              },
                         }),
                         d = {
                              chart: { height: 397, type: "line", toolbar: { show: !1 } },
                              series: [
                                   { name: "Website Blog", type: "column", data: [440, 505, 414, 671, 227, 413, 201, 352, 752, 320, 257, 160] },
                                   { name: "Social Media", type: "line", data: [23, 42, 35, 27, 43, 22, 17, 31, 22, 22, 12, 16] },
                              ],
                              stroke: { width: [0, 4] },
                              labels: ["01 Jan 2001", "02 Jan 2001", "03 Jan 2001", "04 Jan 2001", "05 Jan 2001", "06 Jan 2001", "07 Jan 2001", "08 Jan 2001", "09 Jan 2001", "10 Jan 2001", "11 Jan 2001", "12 Jan 2001"],
                              xaxis: { type: "datetime" },
                              yaxis: [{ title: { text: "Website Blog" } }, { opposite: !0, title: { text: "Social Media" } }],
                         },
                         p = new n.a(document.querySelector("#chart-combined"), d),
                         f = {
                              chart: { height: 350, type: "area", zoom: { enabled: !1 } },
                              dataLabels: { enabled: !1 },
                              stroke: { curve: "straight" },
                              series: [{ name: "STOCK ABC", data: r.monthDataSeries1.prices }],
                              title: { text: "Fundamental Analysis of Stocks", align: "left" },
                              subtitle: { text: "Price Movements", align: "left" },
                              labels: r.monthDataSeries1.dates,
                              xaxis: { type: "datetime" },
                              yaxis: { opposite: !0 },
                              legend: { horizontalAlign: "left" },
                         },
                         m = new n.a(document.querySelector("#chart-apex-area"), f),
                         g = new n.a(document.querySelector("#chart-apex-negative"), {
                              chart: { height: 350, type: "area" },
                              dataLabels: { enabled: !1 },
                              stroke: { curve: "straight" },
                              series: [
                                   {
                                        name: "north",
                                        data: [
                                             { x: 1996, y: 322 },
                                             { x: 1997, y: 324 },
                                             { x: 1998, y: 329 },
                                             { x: 1999, y: 342 },
                                             { x: 2e3, y: 348 },
                                             { x: 2001, y: 334 },
                                             { x: 2002, y: 325 },
                                             { x: 2003, y: 316 },
                                             { x: 2004, y: 318 },
                                             { x: 2005, y: 330 },
                                             { x: 2006, y: 355 },
                                             { x: 2007, y: 366 },
                                             { x: 2008, y: 337 },
                                             { x: 2009, y: 352 },
                                             { x: 2010, y: 377 },
                                             { x: 2011, y: 383 },
                                             { x: 2012, y: 344 },
                                             { x: 2013, y: 366 },
                                             { x: 2014, y: 389 },
                                             { x: 2015, y: 334 },
                                        ],
                                   },
                                   {
                                        name: "south",
                                        data: [
                                             { x: 1996, y: 162 },
                                             { x: 1997, y: 90 },
                                             { x: 1998, y: 50 },
                                             { x: 1999, y: 77 },
                                             { x: 2e3, y: 35 },
                                             { x: 2001, y: -45 },
                                             { x: 2002, y: -88 },
                                             { x: 2003, y: -120 },
                                             { x: 2004, y: -156 },
                                             { x: 2005, y: -123 },
                                             { x: 2006, y: -88 },
                                             { x: 2007, y: -66 },
                                             { x: 2008, y: -45 },
                                             { x: 2009, y: -29 },
                                             { x: 2010, y: -45 },
                                             { x: 2011, y: -88 },
                                             { x: 2012, y: -132 },
                                             { x: 2013, y: -146 },
                                             { x: 2014, y: -169 },
                                             { x: 2015, y: -184 },
                                        ],
                                   },
                              ],
                              title: { text: "Area with Negative Values", align: "left", style: { fontSize: "14px" } },
                              xaxis: { type: "datetime", axisBorder: { show: !1 }, axisTicks: { show: !1 } },
                              yaxis: { tickAmount: 4, floating: !1, labels: { style: { color: "#8e8da4" }, offsetY: -7, offsetX: 0 }, axisBorder: { show: !1 }, axisTicks: { show: !1 } },
                              fill: { opacity: 0.5, gradient: { enabled: !1 } },
                              tooltip: { x: { format: "yyyy" }, fixed: { enabled: !1, position: "topRight" } },
                              grid: { yaxis: { lines: { offsetX: -30 } }, padding: { left: 20 } },
                         }),
                         v = new n.a(document.querySelector("#chart-apex-column"), {
                              chart: { height: 350, type: "bar" },
                              plotOptions: { bar: { horizontal: !1, endingShape: "rounded", columnWidth: "55%" } },
                              dataLabels: { enabled: !1 },
                              stroke: { show: !0, width: 2, colors: ["transparent"] },
                              series: [
                                   { name: "Net Profit", data: [44, 55, 57, 56, 61, 58, 63, 60, 66] },
                                   { name: "Revenue", data: [76, 85, 101, 98, 87, 105, 91, 114, 94] },
                                   { name: "Free Cash Flow", data: [35, 41, 36, 26, 45, 48, 52, 53, 41] },
                              ],
                              xaxis: { categories: ["Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"] },
                              yaxis: { title: { text: "$ (thousands)" } },
                              fill: { opacity: 1 },
                              tooltip: {
                                   y: {
                                        formatter: function (t) {
                                             return "$ " + t + " thousands";
                                        },
                                   },
                              },
                         }),
                         y = {
                              chart: { height: 350, type: "bar", stacked: !0 },
                              plotOptions: { bar: { horizontal: !0 } },
                              stroke: { width: 1, colors: ["#fff"] },
                              series: [
                                   { name: "Marine Sprite", data: [44, 55, 41, 37, 22, 43, 21] },
                                   { name: "Striking Calf", data: [53, 32, 33, 52, 13, 43, 32] },
                                   { name: "Tank Picture", data: [12, 17, 11, 9, 15, 11, 20] },
                                   { name: "Bucket Slope", data: [9, 7, 5, 8, 6, 9, 4] },
                                   { name: "Reborn Kid", data: [25, 12, 19, 32, 25, 24, 10] },
                              ],
                              title: { text: "Fiction Books Sales" },
                              xaxis: {
                                   categories: [2008, 2009, 2010, 2011, 2012, 2013, 2014],
                                   labels: {
                                        formatter: function (t) {
                                             return t + "K";
                                        },
                                   },
                              },
                              yaxis: { title: { text: void 0 } },
                              tooltip: {
                                   y: {
                                        formatter: function (t) {
                                             return t + "K";
                                        },
                                   },
                              },
                              fill: { opacity: 1 },
                              legend: { position: "top", horizontalAlign: "left", offsetX: 40 },
                         },
                         b = new n.a(document.querySelector("#chart-apex-stacked"), y),
                         _ = {
                              chart: { height: 274, type: "bar", stacked: !0, toolbar: { show: !1 } },
                              plotOptions: { bar: { horizontal: !0 } },
                              stroke: { width: 1, colors: ["#fff"] },
                              series: [
                                   { name: "Marine", data: [44, 55, 41, 37, 22, 43] },
                                   { name: "Striking", data: [53, 32, 33, 52, 13, 43] },
                                   { name: "Tank", data: [12, 17, 11, 9, 15, 11] },
                                   { name: "Bucket", data: [9, 7, 5, 8, 6, 9] },
                                   { name: "Reborn", data: [25, 12, 19, 32, 25, 24] },
                              ],
                              tooltip: {
                                   y: {
                                        formatter: function (t) {
                                             return t + "K";
                                        },
                                   },
                              },
                              fill: { opacity: 1 },
                              legend: { position: "top", horizontalAlign: "center" },
                         },
                         x = new n.a(document.querySelector("#chart-apex-stacked-commerce"), _),
                         w = function (t) {
                              for (var e, i, n = t.slice(), r = n.length; 0 !== r; ) (i = Math.floor(Math.random() * r)), (e = n[(r -= 1)]), (n[r] = n[i]), (n[i] = e);
                              return n;
                         },
                         k = [47, 45, 54, 38, 56, 24, 65, 31, 37, 39, 62, 51, 35, 41, 35, 27, 93, 53, 61, 27, 54, 43, 19, 46],
                         S = {
                              chart: { type: "line", width: 100, height: 35, sparkline: { enabled: !0 } },
                              series: [{ data: [25, 66, 41, 89, 63, 25, 44, 12, 36, 9, 54] }],
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                         },
                         M = {
                              chart: { type: "line", width: 100, height: 35, sparkline: { enabled: !0 } },
                              series: [{ data: [12, 14, 2, 47, 42, 15, 47, 75, 65, 19, 14] }],
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                         },
                         T = {
                              chart: { type: "line", width: 100, height: 35, sparkline: { enabled: !0 } },
                              series: [{ data: [47, 45, 74, 14, 56, 74, 14, 11, 7, 39, 82] }],
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                         },
                         C = {
                              chart: { type: "line", width: 100, height: 35, sparkline: { enabled: !0 } },
                              series: [{ data: [15, 75, 47, 65, 14, 2, 41, 54, 4, 27, 15] }],
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                         },
                         D = {
                              chart: { type: "bar", width: 100, height: 35, sparkline: { enabled: !0 } },
                              plotOptions: { bar: { columnWidth: "80%" } },
                              series: [{ data: [25, 66, 41, 89, 63, 25, 44, 12, 36, 9, 54] }],
                              labels: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
                              xaxis: { crosshairs: { width: 1 } },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                         },
                         L = {
                              chart: { type: "bar", width: 100, height: 35, sparkline: { enabled: !0 } },
                              plotOptions: { bar: { columnWidth: "80%" } },
                              series: [{ data: [12, 14, 2, 47, 42, 15, 47, 75, 65, 19, 14] }],
                              labels: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
                              xaxis: { crosshairs: { width: 1 } },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                         },
                         E = {
                              chart: { type: "bar", width: 100, height: 35, sparkline: { enabled: !0 } },
                              plotOptions: { bar: { columnWidth: "80%" } },
                              series: [{ data: [47, 45, 74, 14, 56, 74, 14, 11, 7, 39, 82] }],
                              labels: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
                              xaxis: { crosshairs: { width: 1 } },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                         },
                         A = {
                              chart: { type: "bar", width: 100, height: 35, sparkline: { enabled: !0 } },
                              plotOptions: { bar: { columnWidth: "80%" } },
                              colors: ["#4a47c4"],
                              stroke: { width: 0, curve: "smooth" },
                              series: [{ data: [25, 66, 41, 89, 63, 25, 44, 12, 36, 9, 54] }],
                              labels: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
                              xaxis: { crosshairs: { width: 1 } },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                         },
                         P = {
                              chart: { type: "area", width: 100, height: 35, sparkline: { enabled: !0 } },
                              colors: ["#3ac47d"],
                              stroke: { width: 2, curve: "smooth" },
                              series: [{ data: [25, 66, 41, 89, 63, 25, 44, 12, 36, 9, 54] }],
                              labels: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
                              xaxis: { crosshairs: { width: 1 } },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                         },
                         I = {
                              chart: { type: "area", height: 152, sparkline: { enabled: !0 } },
                              colors: ["#3f6ad8"],
                              stroke: { width: 5, curve: "smooth" },
                              markers: { size: 0 },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              fill: { type: "gradient", gradient: { shadeIntensity: 1, opacityFrom: 0.7, opacityTo: 0.9, stops: [0, 90, 100] } },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         O = {
                              chart: { type: "area", height: 152, sparkline: { enabled: !0 } },
                              colors: ["rgba(255,255,255,.8)"],
                              stroke: { width: 5, curve: "smooth" },
                              markers: { size: 0 },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              fill: { type: "gradient", gradient: { shadeIntensity: 1, opacityFrom: 0.2, opacityTo: 0.7, stops: [0, 90, 100] } },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         Y = {
                              chart: { type: "area", height: 152, sparkline: { enabled: !0 } },
                              stroke: { width: 5, curve: "smooth" },
                              colors: ["#f7b924"],
                              markers: { size: 0 },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              fill: { type: "gradient", gradient: { shadeIntensity: 1, opacityFrom: 0.7, opacityTo: 0.9, stops: [0, 90, 100] } },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         z = {
                              chart: { type: "area", height: 152, sparkline: { enabled: !0 } },
                              colors: ["#3ac47d"],
                              stroke: { width: 5, curve: "smooth" },
                              markers: { size: 0 },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              fill: { type: "gradient", gradient: { shadeIntensity: 1, opacityFrom: 0.7, opacityTo: 0.9, stops: [0, 90, 100] } },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         R = {
                              chart: { type: "area", height: 332, sparkline: { enabled: !0 } },
                              colors: ["#3ac47d"],
                              stroke: { width: 5, curve: "smooth" },
                              markers: { size: 0 },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              fill: { type: "gradient", gradient: { shadeIntensity: 1, opacityFrom: 0.7, opacityTo: 0.9, stops: [0, 90, 100] } },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         F = {
                              chart: { type: "line", height: 100, sparkline: { enabled: !0 } },
                              colors: ["#3ac47d"],
                              stroke: { width: 3, curve: "smooth" },
                              markers: { size: 0 },
                              tooltip: {
                                   fixed: { enabled: !0 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              series: [{ data: [25, 66, 41, 89, 63, 25, 44, 12, 36, 9, 54]  }],
                              yaxis: { min: 0 },
                         },
                         H = {
                              chart: { type: "line", height: 100, sparkline: { enabled: !0 } },
                              stroke: { width: 3, curve: "smooth" },
                              colors: ["#007bff"],
                              markers: { size: 0 },
                              tooltip: {
                                   fixed: { enabled: !0 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         j = {
                              chart: { type: "line", height: 100, sparkline: { enabled: !0 } },
                              colors: ["#f7b924"],
                              stroke: { width: 3, curve: "smooth" },
                              markers: { size: 0 },
                              tooltip: {
                                   fixed: { enabled: !0 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         N = {
                              chart: { type: "line", height: 100, sparkline: { enabled: !0 } },
                              colors: ["#d92550"],
                              stroke: { width: 3, curve: "smooth" },
                              markers: { size: 0 },
                              tooltip: {
                                   fixed: { enabled: !0 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         B = {
                              chart: { type: "line", height: 120, sparkline: { enabled: !0 } },
                              tooltip: { enabled: !1 },
                              colors: ["#3ac47d"],
                              stroke: { width: 3, curve: "smooth" },
                              markers: { size: 0 },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         W = {
                              chart: { type: "bar", height: 120, sparkline: { enabled: !0 } },
                              tooltip: { enabled: !1 },
                              stroke: { width: 3, curve: "smooth" },
                              colors: ["#007bff"],
                              markers: { size: 0 },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         V = {
                              chart: { type: "area", height: 120, sparkline: { enabled: !0 } },
                              tooltip: { enabled: !1 },
                              colors: ["#f7b924"],
                              stroke: { width: 3, curve: "smooth" },
                              markers: { size: 0 },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         U = {
                              chart: { height: 265, type: "bar", stacked: !1, toolbar: { show: !1 } },
                              plotOptions: { bar: { horizontal: !1 } },
                              colors: ["#007bff", "#16aaff"],
                              stroke: { width: 0, colors: ["#fff"], curve: "smooth" },
                              series: [
                                   { name: "Marine", data: [44, 55, 41, 37, 22, 43] },
                                   { name: "Striking", data: [53, 32, 33, 52, 13, 43] },
                              ],
                              tooltip: {
                                   y: {
                                        formatter: function (t) {
                                             return t + "K";
                                        },
                                   },
                              },
                              fill: { opacity: 0.8 },
                              legend: { position: "bottom", horizontalAlign: "center" },
                         },
                         q = {
                              chart: { type: "bar", height: 174, sparkline: { enabled: !0 } },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              stroke: { width: 2, curve: "smooth" },
                              colors: ["rgba(255,255,255,.3)"],
                              markers: { size: 0 },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         },
                         $ = {
                              chart: { type: "line", height: 148, sparkline: { enabled: !0 } },
                              tooltip: {
                                   fixed: { enabled: !1 },
                                   x: { show: !1 },
                                   y: {
                                        title: {
                                             formatter: function (t) {
                                                  return "";
                                             },
                                        },
                                   },
                                   marker: { show: !1 },
                              },
                              colors: ["rgba(255,255,255,.3)"],
                              stroke: { width: 2, curve: "smooth" },
                              markers: { size: 0 },
                              series: [{ data: w(k) }],
                              yaxis: { min: 0 },
                         };

                    t(document).ready(function () {
                         setTimeout(function () {
                              document.getElementById("chart-apex-area") && m.render(),
                                   document.getElementById("chart-apex-negative") && g.render(),
                                   document.getElementById("chart-apex-column") && v.render(),
                                   document.getElementById("chart-apex-stacked") && b.render(),
                                   document.getElementById("chart-col-1") && c.render(),
                                   document.getElementById("chart-col-2") && u.render(),
                                   document.getElementById("chart-col-3") && h.render(),
                                   document.getElementById("sparkline-chart1") && new n.a(document.querySelector("#sparkline-chart1"), S).render(),
                                   document.getElementById("sparkline-chart2") && new n.a(document.querySelector("#sparkline-chart2"), M).render(),
                                   document.getElementById("sparkline-chart3") && new n.a(document.querySelector("#sparkline-chart3"), T).render(),
                                   document.getElementById("sparkline-chart4") && new n.a(document.querySelector("#sparkline-chart4"), C).render(),
                                   document.getElementById("sparkline-chart5") && new n.a(document.querySelector("#sparkline-chart5"), D).render(),
                                   document.getElementById("sparkline-chart6") && new n.a(document.querySelector("#sparkline-chart6"), L).render(),
                                   document.getElementById("sparkline-chart7") && new n.a(document.querySelector("#sparkline-chart7"), E).render(),
                                   document.getElementById("sparkline-chart8") && new n.a(document.querySelector("#sparkline-chart8"), A).render(),
                                   document.getElementById("sparkline-chart9") && new n.a(document.querySelector("#sparkline-chart9"), P).render(),
                                   document.getElementById("dashboard-sparkline-1") && new n.a(document.querySelector("#dashboard-sparkline-1"), I).render(),
                                   document.getElementById("dashboard-sparkline-4") && new n.a(document.querySelector("#dashboard-sparkline-4"), O).render(),
                                   document.getElementById("dashboard-sparkline-2") && new n.a(document.querySelector("#dashboard-sparkline-2"), Y).render(),
                                   document.getElementById("dashboard-sparkline-3") && new n.a(document.querySelector("#dashboard-sparkline-3"), z).render(),
                                   document.getElementById("dashboard-sparklines-1") && new n.a(document.querySelector("#dashboard-sparklines-1"), PAGAMENTOS).render(),
                                   document.getElementById("dashboard-sparklines-2") && new n.a(document.querySelector("#dashboard-sparklines-2"), SAQUES).render(),
                                   document.getElementById("dashboard-sparklines-3") && new n.a(document.querySelector("#dashboard-sparklines-3"), CLIENTES).render(),
                                   document.getElementById("dashboard-sparklines-4") && new n.a(document.querySelector("#dashboard-sparklines-4"), N).render(),
                                   document.getElementById("dashboard-sparklines-primary") && new n.a(document.querySelector("#dashboard-sparklines-primary"), U).render(),
                                   document.getElementById("dashboard-sparklines-simple-1") && new n.a(document.querySelector("#dashboard-sparklines-simple-1"), B).render(),
                                   document.getElementById("dashboard-sparklines-simple-2") && new n.a(document.querySelector("#dashboard-sparklines-simple-2"), W).render(),
                                   document.getElementById("dashboard-sparklines-simple-3") && new n.a(document.querySelector("#dashboard-sparklines-simple-3"), V).render(),
                                   document.getElementById("dashboard-sparklines-transparent-2") && new n.a(document.querySelector("#dashboard-sparklines-transparent-2"), q).render(),
                                   document.getElementById("dashboard-sparklines-transparent-3") && new n.a(document.querySelector("#dashboard-sparklines-transparent-3"), $).render(),
                                   document.getElementById("dashboard-sparkline-carousel-1") && new n.a(document.querySelector("#dashboard-sparkline-carousel-1"), B).render(),
                                   document.getElementById("dashboard-sparkline-carousel-2") && new n.a(document.querySelector("#dashboard-sparkline-carousel-2"), W).render(),
                                   document.getElementById("dashboard-sparkline-carousel-3") && new n.a(document.querySelector("#dashboard-sparkline-carousel-3"), V).render(),
                                   document.getElementById("sparkline-carousel-3") && new n.a(document.querySelector("#sparkline-carousel-3"), B).render(),
                                   document.getElementById("dashboard-sparkline-11") && new n.a(document.querySelector("#dashboard-sparkline-11"), E).render(),
                                   document.getElementById("dashboard-sparkline-22") && new n.a(document.querySelector("#dashboard-sparkline-22"), A).render(),
                                   document.getElementById("dashboard-sparkline-33") && new n.a(document.querySelector("#dashboard-sparkline-33"), P).render(),
                                   document.getElementById("chart-apex-stacked-commerce") && x.render(),
                                   document.getElementById("chart-radial") && a.render(),
                                   document.getElementById("chart-combined") && p.render(),
                                   document.getElementById("bar-vertical-candle") && s.render(),
                                   document.getElementById("bar-vertical-candle-lg") && l.render();
                         }, 1e3),
                              t(".minimal-tab-btn-1").one("click", function () {
                                   setTimeout(function () {
                                        new n.a(document.querySelector("#chart-combined-tab"), d).render();
                                   }, 500);
                              }),
                              t(".dd-chart-btn").one("click", function () {
                                   setTimeout(function () {
                                        document.getElementById("dashboard-sparkline-carousel-3-pop") && new n.a(document.querySelector("#dashboard-sparkline-carousel-3-pop"), V).render();
                                   }, 500);
                              }),
                              t(".dd-chart-btn-2").one("click", function () {
                                   setTimeout(function () {
                                        document.getElementById("dashboard-sparkline-carousel-4-pop") && new n.a(document.querySelector("#dashboard-sparkline-carousel-4-pop"), W).render();
                                   }, 500);
                              }),
                              t(".minimal-tab-btn-3").one("click", function () {
                                   setTimeout(function () {
                                        new n.a(document.querySelector("#chart-combined-tab-3"), _).render();
                                   }, 500);
                              }),
                              t(".second-tab-toggle").one("click", function () {
                                   setTimeout(function () {
                                        new n.a(document.querySelector("#dashboard-sparklines-333"), N).render();
                                   }, 500);
                              }),
                              t(".second-tab-toggle-alt").one("click", function () {
                                   setTimeout(function () {
                                        new n.a(document.querySelector("#dashboard-sparkline-37"), R).render();
                                   }, 500);
                              });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          "use strict";
          i.r(e),
               function (t) {
                    i(209);
                    t(document).ready(function () {
                         t(function () {
                              t(".bar-sparkline").sparkline(
                                   [
                                        [4, 8],
                                        [2, 7],
                                        [2, 6],
                                        [2, 7],
                                        [3, 5],
                                        [2, 7],
                                        [2, 6],
                                        [2, 7],
                                        [3, 5],
                                        [4, 7],
                                        [2, 5],
                                        [3, 5],
                                        [4, 7],
                                        [4, 7],
                                        [5, 7],
                                        [4, 8],
                                        [2, 7],
                                        [2, 6],
                                        [2, 7],
                                        [3, 5],
                                   ],
                                   { type: "bar", height: "35px", barWidth: "5px", barSpacing: "2px" }
                              ),
                                   t(".bar-sparkline-2").sparkline("html", { type: "bar", barColor: "#0099ff", height: "35px", barWidth: "5px", barSpacing: "2px" });
                              t(".dynamic-sparkline").sparkline([10, 8, 5, 7, 4, 4, 1], { height: "35px", width: "135px" }),
                                   t(".tristate-sparkline").sparkline("html", { type: "tristate", barColor: "var(--primary)", height: "35px", barWidth: "5px", barSpacing: "2px" }),
                                   t(".discrete-sparkline").sparkline("html", { type: "discrete", barColor: "var(--primary)", height: "45px", barSpacing: "4px" }),
                                   t(".pie-sparkline").sparkline("html", { type: "pie", barColor: "var(--primary)", height: "45px", width: "45px" });
                         });
                    });
               }.call(this, i(1));
     },
     function (t, e, i) {
          var n, r, o;
          !(function (a, s, l) {
               (r = [i(1)]),
                    void 0 ===
                         (o =
                              "function" ==
                              typeof (n = function (t) {
                                   "use strict";
                                   var e,
                                        i,
                                        n,
                                        r,
                                        o,
                                        l,
                                        c,
                                        u,
                                        h,
                                        d,
                                        p,
                                        f,
                                        m,
                                        g,
                                        v,
                                        y,
                                        b,
                                        _,
                                        x,
                                        w,
                                        k,
                                        S,
                                        M,
                                        T,
                                        C,
                                        D,
                                        L,
                                        E,
                                        A,
                                        P = {},
                                        I = 0;
                                   (e = function () {
                                        return {
                                             common: {
                                                  type: "line",
                                                  lineColor: "#00f",
                                                  fillColor: "#cdf",
                                                  defaultPixelsPerValue: 3,
                                                  width: "auto",
                                                  height: "auto",
                                                  composite: !1,
                                                  tagValuesAttribute: "values",
                                                  tagOptionsPrefix: "spark",
                                                  enableTagOptions: !1,
                                                  enableHighlight: !0,
                                                  highlightLighten: 1.4,
                                                  tooltipSkipNull: !0,
                                                  tooltipPrefix: "",
                                                  tooltipSuffix: "",
                                                  disableHiddenCheck: !1,
                                                  numberFormatter: !1,
                                                  numberDigitGroupCount: 3,
                                                  numberDigitGroupSep: ",",
                                                  numberDecimalMark: ".",
                                                  disableTooltips: !1,
                                                  disableInteraction: !1,
                                             },
                                             line: {
                                                  spotColor: "#f80",
                                                  highlightSpotColor: "#5f5",
                                                  highlightLineColor: "#f22",
                                                  spotRadius: 1.5,
                                                  minSpotColor: "#f80",
                                                  maxSpotColor: "#f80",
                                                  lineWidth: 1,
                                                  normalRangeMin: void 0,
                                                  normalRangeMax: void 0,
                                                  normalRangeColor: "#ccc",
                                                  drawNormalOnTop: !1,
                                                  chartRangeMin: void 0,
                                                  chartRangeMax: void 0,
                                                  chartRangeMinX: void 0,
                                                  chartRangeMaxX: void 0,
                                                  tooltipFormat: new n('<span style="color: {{color}}">&#9679;</span> {{prefix}}{{y}}{{suffix}}'),
                                             },
                                             bar: {
                                                  barColor: "#3366cc",
                                                  negBarColor: "#f44",
                                                  stackedBarColor: ["#3366cc", "#dc3912", "#ff9900", "#109618", "#66aa00", "#dd4477", "#0099c6", "#990099"],
                                                  zeroColor: void 0,
                                                  nullColor: void 0,
                                                  zeroAxis: !0,
                                                  barWidth: 4,
                                                  barSpacing: 1,
                                                  chartRangeMax: void 0,
                                                  chartRangeMin: void 0,
                                                  chartRangeClip: !1,
                                                  colorMap: void 0,
                                                  tooltipFormat: new n('<span style="color: {{color}}">&#9679;</span> {{prefix}}{{value}}{{suffix}}'),
                                             },
                                             tristate: {
                                                  barWidth: 4,
                                                  barSpacing: 1,
                                                  posBarColor: "#6f6",
                                                  negBarColor: "#f44",
                                                  zeroBarColor: "#999",
                                                  colorMap: {},
                                                  tooltipFormat: new n('<span style="color: {{color}}">&#9679;</span> {{value:map}}'),
                                                  tooltipValueLookups: { map: { "-1": "Loss", 0: "Draw", 1: "Win" } },
                                             },
                                             discrete: {
                                                  lineHeight: "auto",
                                                  thresholdColor: void 0,
                                                  thresholdValue: 0,
                                                  chartRangeMax: void 0,
                                                  chartRangeMin: void 0,
                                                  chartRangeClip: !1,
                                                  tooltipFormat: new n("{{prefix}}{{value}}{{suffix}}"),
                                             },
                                             bullet: {
                                                  targetColor: "#f33",
                                                  targetWidth: 3,
                                                  performanceColor: "#33f",
                                                  rangeColors: ["#d3dafe", "#a8b6ff", "#7f94ff"],
                                                  base: void 0,
                                                  tooltipFormat: new n("{{fieldkey:fields}} - {{value}}"),
                                                  tooltipValueLookups: { fields: { r: "Range", p: "Performance", t: "Target" } },
                                             },
                                             pie: {
                                                  offset: 0,
                                                  sliceColors: ["#3366cc", "#dc3912", "#ff9900", "#109618", "#66aa00", "#dd4477", "#0099c6", "#990099"],
                                                  borderWidth: 0,
                                                  borderColor: "#000",
                                                  tooltipFormat: new n('<span style="color: {{color}}">&#9679;</span> {{value}} ({{percent.1}}%)'),
                                             },
                                             box: {
                                                  raw: !1,
                                                  boxLineColor: "#000",
                                                  boxFillColor: "#cdf",
                                                  whiskerColor: "#000",
                                                  outlierLineColor: "#333",
                                                  outlierFillColor: "#fff",
                                                  medianColor: "#f00",
                                                  showOutliers: !0,
                                                  outlierIQR: 1.5,
                                                  spotRadius: 1.5,
                                                  target: void 0,
                                                  targetColor: "#4a2",
                                                  chartRangeMax: void 0,
                                                  chartRangeMin: void 0,
                                                  tooltipFormat: new n("{{field:fields}}: {{value}}"),
                                                  tooltipFormatFieldlistKey: "field",
                                                  tooltipValueLookups: { fields: { lq: "Lower Quartile", med: "Median", uq: "Upper Quartile", lo: "Left Outlier", ro: "Right Outlier", lw: "Left Whisker", rw: "Right Whisker" } },
                                             },
                                        };
                                   }),
                                        (i = function () {
                                             var e, i;
                                             return (
                                                  (e = function () {
                                                       this.init.apply(this, arguments);
                                                  }),
                                                  arguments.length > 1
                                                       ? (arguments[0] ? ((e.prototype = t.extend(new arguments[0](), arguments[arguments.length - 1])), (e._super = arguments[0].prototype)) : (e.prototype = arguments[arguments.length - 1]),
                                                         arguments.length > 2 && ((i = Array.prototype.slice.call(arguments, 1, -1)).unshift(e.prototype), t.extend.apply(t, i)))
                                                       : (e.prototype = arguments[0]),
                                                  (e.prototype.cls = e),
                                                  e
                                             );
                                        }),
                                        (t.SPFormatClass = n = i({
                                             fre: /\{\{([\w.]+?)(:(.+?))?\}\}/g,
                                             precre: /(\w+)\.(\d+)/,
                                             init: function (t, e) {
                                                  (this.format = t), (this.fclass = e);
                                             },
                                             render: function (t, e, i) {
                                                  var n,
                                                       r,
                                                       o,
                                                       a,
                                                       s,
                                                       l = this,
                                                       c = t;
                                                  return this.format.replace(this.fre, function () {
                                                       return (
                                                            (r = arguments[1]),
                                                            (o = arguments[3]),
                                                            (n = l.precre.exec(r)) ? ((s = n[2]), (r = n[1])) : (s = !1),
                                                            void 0 === (a = c[r])
                                                                 ? ""
                                                                 : o && e && e[o]
                                                                 ? e[o].get
                                                                      ? e[o].get(a) || a
                                                                      : e[o][a] || a
                                                                 : (h(a) && (a = i.get("numberFormatter") ? i.get("numberFormatter")(a) : m(a, s, i.get("numberDigitGroupCount"), i.get("numberDigitGroupSep"), i.get("numberDecimalMark"))), a)
                                                       );
                                                  });
                                             },
                                        })),
                                        (t.spformat = function (t, e) {
                                             return new n(t, e);
                                        }),
                                        (r = function (t, e, i) {
                                             return t < e ? e : t > i ? i : t;
                                        }),
                                        (o = function (t, e) {
                                             var i;
                                             return 2 === e
                                                  ? ((i = s.floor(t.length / 2)), t.length % 2 ? t[i] : (t[i - 1] + t[i]) / 2)
                                                  : t.length % 2
                                                  ? (i = (t.length * e + e) / 4) % 1
                                                       ? (t[s.floor(i)] + t[s.floor(i) - 1]) / 2
                                                       : t[i - 1]
                                                  : (i = (t.length * e + 2) / 4) % 1
                                                  ? (t[s.floor(i)] + t[s.floor(i) - 1]) / 2
                                                  : t[i - 1];
                                        }),
                                        (l = function (t) {
                                             var e;
                                             switch (t) {
                                                  case "undefined":
                                                       t = void 0;
                                                       break;
                                                  case "null":
                                                       t = null;
                                                       break;
                                                  case "true":
                                                       t = !0;
                                                       break;
                                                  case "false":
                                                       t = !1;
                                                       break;
                                                  default:
                                                       t == (e = parseFloat(t)) && (t = e);
                                             }
                                             return t;
                                        }),
                                        (c = function (t) {
                                             var e,
                                                  i = [];
                                             for (e = t.length; e--; ) i[e] = l(t[e]);
                                             return i;
                                        }),
                                        (u = function (t, e) {
                                             var i,
                                                  n,
                                                  r = [];
                                             for (i = 0, n = t.length; i < n; i++) t[i] !== e && r.push(t[i]);
                                             return r;
                                        }),
                                        (h = function (t) {
                                             return !isNaN(parseFloat(t)) && isFinite(t);
                                        }),
                                        (m = function (e, i, n, r, o) {
                                             var a, s;
                                             for (e = (!1 === i ? parseFloat(e).toString() : e.toFixed(i)).split(""), (a = (a = t.inArray(".", e)) < 0 ? e.length : a) < e.length && (e[a] = o), s = a - n; s > 0; s -= n) e.splice(s, 0, r);
                                             return e.join("");
                                        }),
                                        (d = function (t, e, i) {
                                             var n;
                                             for (n = e.length; n--; ) if ((!i || null !== e[n]) && e[n] !== t) return !1;
                                             return !0;
                                        }),
                                        (f = function (e) {
                                             return t.isArray(e) ? e : [e];
                                        }),
                                        (p = function (t) {
                                             var e, i;
                                             if (a.createStyleSheet)
                                                  try {
                                                       return void (a.createStyleSheet().cssText = t);
                                                  } catch (t) {
                                                       i = !0;
                                                  }
                                             ((e = a.createElement("style")).type = "text/css"),
                                                  a.getElementsByTagName("head")[0].appendChild(e),
                                                  i ? (a.styleSheets[a.styleSheets.length - 1].cssText = t) : (e["string" == typeof a.body.style.WebkitAppearance ? "innerText" : "innerHTML"] = t);
                                        }),
                                        (t.fn.simpledraw = function (e, i, n, r) {
                                             var o, s;
                                             if (n && (o = this.data("_jqs_vcanvas"))) return o;
                                             if (!1 === t.fn.sparkline.canvas) return !1;
                                             if (void 0 === t.fn.sparkline.canvas) {
                                                  var l = a.createElement("canvas");
                                                  if (l.getContext && l.getContext("2d"))
                                                       t.fn.sparkline.canvas = function (t, e, i, n) {
                                                            return new L(t, e, i, n);
                                                       };
                                                  else {
                                                       if (!a.namespaces || a.namespaces.v) return (t.fn.sparkline.canvas = !1), !1;
                                                       a.namespaces.add("v", "urn:schemas-microsoft-com:vml", "#default#VML"),
                                                            (t.fn.sparkline.canvas = function (t, e, i, n) {
                                                                 return new E(t, e, i);
                                                            });
                                                  }
                                             }
                                             return (
                                                  void 0 === e && (e = t(this).innerWidth()),
                                                  void 0 === i && (i = t(this).innerHeight()),
                                                  (o = t.fn.sparkline.canvas(e, i, this, r)),
                                                  (s = t(this).data("_jqs_mhandler")) && s.registerCanvas(o),
                                                  o
                                             );
                                        }),
                                        (t.fn.cleardraw = function () {
                                             var t = this.data("_jqs_vcanvas");
                                             t && t.reset();
                                        }),
                                        (t.RangeMapClass = g = i({
                                             init: function (t) {
                                                  var e,
                                                       i,
                                                       n = [];
                                                  for (e in t)
                                                       t.hasOwnProperty(e) &&
                                                            "string" == typeof e &&
                                                            e.indexOf(":") > -1 &&
                                                            (((i = e.split(":"))[0] = 0 === i[0].length ? -1 / 0 : parseFloat(i[0])), (i[1] = 0 === i[1].length ? 1 / 0 : parseFloat(i[1])), (i[2] = t[e]), n.push(i));
                                                  (this.map = t), (this.rangelist = n || !1);
                                             },
                                             get: function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r = this.rangelist;
                                                  if (void 0 !== (n = this.map[t])) return n;
                                                  if (r) for (e = r.length; e--; ) if ((i = r[e])[0] <= t && i[1] >= t) return i[2];
                                             },
                                        })),
                                        (t.range_map = function (t) {
                                             return new g(t);
                                        }),
                                        (v = i({
                                             init: function (e, i) {
                                                  var n = t(e);
                                                  (this.$el = n),
                                                       (this.options = i),
                                                       (this.currentPageX = 0),
                                                       (this.currentPageY = 0),
                                                       (this.el = e),
                                                       (this.splist = []),
                                                       (this.tooltip = null),
                                                       (this.over = !1),
                                                       (this.displayTooltips = !i.get("disableTooltips")),
                                                       (this.highlightEnabled = !i.get("disableHighlight"));
                                             },
                                             registerSparkline: function (t) {
                                                  this.splist.push(t), this.over && this.updateDisplay();
                                             },
                                             registerCanvas: function (e) {
                                                  var i = t(e.canvas);
                                                  (this.canvas = e), (this.$canvas = i), i.mouseenter(t.proxy(this.mouseenter, this)), i.mouseleave(t.proxy(this.mouseleave, this)), i.click(t.proxy(this.mouseclick, this));
                                             },
                                             reset: function (t) {
                                                  (this.splist = []), this.tooltip && t && (this.tooltip.remove(), (this.tooltip = void 0));
                                             },
                                             mouseclick: function (e) {
                                                  var i = t.Event("sparklineClick");
                                                  (i.originalEvent = e), (i.sparklines = this.splist), this.$el.trigger(i);
                                             },
                                             mouseenter: function (e) {
                                                  t(a.body).unbind("mousemove.jqs"),
                                                       t(a.body).bind("mousemove.jqs", t.proxy(this.mousemove, this)),
                                                       (this.over = !0),
                                                       (this.currentPageX = e.pageX),
                                                       (this.currentPageY = e.pageY),
                                                       (this.currentEl = e.target),
                                                       !this.tooltip && this.displayTooltips && ((this.tooltip = new y(this.options)), this.tooltip.updatePosition(e.pageX, e.pageY)),
                                                       this.updateDisplay();
                                             },
                                             mouseleave: function () {
                                                  t(a.body).unbind("mousemove.jqs");
                                                  var e,
                                                       i = this.splist,
                                                       n = i.length,
                                                       r = !1;
                                                  for (this.over = !1, this.currentEl = null, this.tooltip && (this.tooltip.remove(), (this.tooltip = null)), e = 0; e < n; e++) i[e].clearRegionHighlight() && (r = !0);
                                                  r && this.canvas.render();
                                             },
                                             mousemove: function (t) {
                                                  (this.currentPageX = t.pageX), (this.currentPageY = t.pageY), (this.currentEl = t.target), this.tooltip && this.tooltip.updatePosition(t.pageX, t.pageY), this.updateDisplay();
                                             },
                                             updateDisplay: function () {
                                                  var e,
                                                       i,
                                                       n,
                                                       r,
                                                       o = this.splist,
                                                       a = o.length,
                                                       s = !1,
                                                       l = this.$canvas.offset(),
                                                       c = this.currentPageX - l.left,
                                                       u = this.currentPageY - l.top;
                                                  if (this.over) {
                                                       for (i = 0; i < a; i++) (n = o[i].setRegionHighlight(this.currentEl, c, u)) && (s = !0);
                                                       if (s) {
                                                            if ((((r = t.Event("sparklineRegionChange")).sparklines = this.splist), this.$el.trigger(r), this.tooltip)) {
                                                                 for (e = "", i = 0; i < a; i++) e += o[i].getCurrentRegionTooltip();
                                                                 this.tooltip.setContent(e);
                                                            }
                                                            this.disableHighlight || this.canvas.render();
                                                       }
                                                       null === n && this.mouseleave();
                                                  }
                                             },
                                        })),
                                        (y = i({
                                             sizeStyle: "position: static !important;display: block !important;visibility: hidden !important;float: left !important;",
                                             init: function (e) {
                                                  var i,
                                                       n = e.get("tooltipClassname", "jqstooltip"),
                                                       r = this.sizeStyle;
                                                  (this.container = e.get("tooltipContainer") || a.body),
                                                       (this.tooltipOffsetX = e.get("tooltipOffsetX", 10)),
                                                       (this.tooltipOffsetY = e.get("tooltipOffsetY", 12)),
                                                       t("#jqssizetip").remove(),
                                                       t("#jqstooltip").remove(),
                                                       (this.sizetip = t("<div/>", { id: "jqssizetip", style: r, class: n })),
                                                       (this.tooltip = t("<div/>", { id: "jqstooltip", class: n }).appendTo(this.container)),
                                                       (i = this.tooltip.offset()),
                                                       (this.offsetLeft = i.left),
                                                       (this.offsetTop = i.top),
                                                       (this.hidden = !0),
                                                       t(window).unbind("resize.jqs scroll.jqs"),
                                                       t(window).bind("resize.jqs scroll.jqs", t.proxy(this.updateWindowDims, this)),
                                                       this.updateWindowDims();
                                             },
                                             updateWindowDims: function () {
                                                  (this.scrollTop = t(window).scrollTop()), (this.scrollLeft = t(window).scrollLeft()), (this.scrollRight = this.scrollLeft + t(window).width()), this.updatePosition();
                                             },
                                             getSize: function (t) {
                                                  this.sizetip.html(t).appendTo(this.container), (this.width = this.sizetip.width() + 1), (this.height = this.sizetip.height()), this.sizetip.remove();
                                             },
                                             setContent: function (t) {
                                                  if (!t) return this.tooltip.css("visibility", "hidden"), void (this.hidden = !0);
                                                  this.getSize(t), this.tooltip.html(t).css({ width: this.width, height: this.height, visibility: "visible" }), this.hidden && ((this.hidden = !1), this.updatePosition());
                                             },
                                             updatePosition: function (t, e) {
                                                  if (void 0 === t) {
                                                       if (void 0 === this.mousex) return;
                                                       (t = this.mousex - this.offsetLeft), (e = this.mousey - this.offsetTop);
                                                  } else (this.mousex = t -= this.offsetLeft), (this.mousey = e -= this.offsetTop);
                                                  this.height &&
                                                       this.width &&
                                                       !this.hidden &&
                                                       ((e -= this.height + this.tooltipOffsetY),
                                                       (t += this.tooltipOffsetX),
                                                       e < this.scrollTop && (e = this.scrollTop),
                                                       t < this.scrollLeft ? (t = this.scrollLeft) : t + this.width > this.scrollRight && (t = this.scrollRight - this.width),
                                                       this.tooltip.css({ left: t, top: e }));
                                             },
                                             remove: function () {
                                                  this.tooltip.remove(), this.sizetip.remove(), (this.sizetip = this.tooltip = void 0), t(window).unbind("resize.jqs scroll.jqs");
                                             },
                                        })),
                                        t(function () {
                                             p(
                                                  '.jqstooltip { position: absolute;left: 0px;top: 0px;visibility: hidden;background: rgb(0, 0, 0) transparent;background-color: rgba(0,0,0,0.6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";color: white;font: 10px arial, san serif;text-align: left;white-space: nowrap;padding: 5px;border: 1px solid white;box-sizing: content-box;z-index: 10000;}.jqsfield { color: white;font: 10px arial, san serif;text-align: left;}'
                                             );
                                        }),
                                        (A = []),
                                        (t.fn.sparkline = function (e, i) {
                                             return this.each(function () {
                                                  var n,
                                                       r,
                                                       o = new t.fn.sparkline.options(this, i),
                                                       s = t(this);
                                                  if (
                                                       ((n = function () {
                                                            var i, n, r, l, c, u, h;
                                                            "html" === e || void 0 === e
                                                                 ? (null == (h = this.getAttribute(o.get("tagValuesAttribute"))) && (h = s.html()), (i = h.replace(/(^\s*<!--)|(-->\s*$)|\s+/g, "").split(",")))
                                                                 : (i = e),
                                                                 (n = "auto" === o.get("width") ? i.length * o.get("defaultPixelsPerValue") : o.get("width")),
                                                                 "auto" === o.get("height")
                                                                      ? (o.get("composite") && t.data(this, "_jqs_vcanvas")) ||
                                                                        (((l = a.createElement("span")).innerHTML = "a"), s.html(l), (r = t(l).innerHeight() || t(l).height()), t(l).remove(), (l = null))
                                                                      : (r = o.get("height")),
                                                                 o.get("disableInteraction") ? (c = !1) : (c = t.data(this, "_jqs_mhandler")) ? o.get("composite") || c.reset() : ((c = new v(this, o)), t.data(this, "_jqs_mhandler", c)),
                                                                 !o.get("composite") || t.data(this, "_jqs_vcanvas")
                                                                      ? ((u = new t.fn.sparkline[o.get("type")](this, i, o, n, r)).render(), c && c.registerSparkline(u))
                                                                      : t.data(this, "_jqs_errnotify") || (alert("Attempted to attach a composite sparkline to an element with no existing sparkline"), t.data(this, "_jqs_errnotify", !0));
                                                       }),
                                                       (t(this).html() && !o.get("disableHiddenCheck") && t(this).is(":hidden")) || !t(this).parents("body").length)
                                                  ) {
                                                       if (!o.get("composite") && t.data(this, "_jqs_pending")) for (r = A.length; r; r--) A[r - 1][0] == this && A.splice(r - 1, 1);
                                                       A.push([this, n]), t.data(this, "_jqs_pending", !0);
                                                  } else n.call(this);
                                             });
                                        }),
                                        (t.fn.sparkline.defaults = e()),
                                        (t.sparkline_display_visible = function () {
                                             var e,
                                                  i,
                                                  n,
                                                  r = [];
                                             for (i = 0, n = A.length; i < n; i++)
                                                  (e = A[i][0]),
                                                       t(e).is(":visible") && !t(e).parents().is(":hidden")
                                                            ? (A[i][1].call(e), t.data(A[i][0], "_jqs_pending", !1), r.push(i))
                                                            : t(e).closest("html").length || t.data(e, "_jqs_pending") || (t.data(A[i][0], "_jqs_pending", !1), r.push(i));
                                             for (i = r.length; i; i--) A.splice(r[i - 1], 1);
                                        }),
                                        (t.fn.sparkline.options = i({
                                             init: function (e, i) {
                                                  var n, r, o, a;
                                                  (this.userOptions = i = i || {}),
                                                       (this.tag = e),
                                                       (this.tagValCache = {}),
                                                       (o = (r = t.fn.sparkline.defaults).common),
                                                       (this.tagOptionsPrefix = i.enableTagOptions && (i.tagOptionsPrefix || o.tagOptionsPrefix)),
                                                       (n = (a = this.getTagSetting("type")) === P ? r[i.type || o.type] : r[a]),
                                                       (this.mergedOptions = t.extend({}, o, n, i));
                                             },
                                             getTagSetting: function (t) {
                                                  var e,
                                                       i,
                                                       n,
                                                       r,
                                                       o = this.tagOptionsPrefix;
                                                  if (!1 === o || void 0 === o) return P;
                                                  if (this.tagValCache.hasOwnProperty(t)) e = this.tagValCache.key;
                                                  else {
                                                       if (null == (e = this.tag.getAttribute(o + t))) e = P;
                                                       else if ("[" === e.substr(0, 1)) for (i = (e = e.substr(1, e.length - 2).split(",")).length; i--; ) e[i] = l(e[i].replace(/(^\s*)|(\s*$)/g, ""));
                                                       else if ("{" === e.substr(0, 1))
                                                            for (n = e.substr(1, e.length - 2).split(","), e = {}, i = n.length; i--; ) e[(r = n[i].split(":", 2))[0].replace(/(^\s*)|(\s*$)/g, "")] = l(r[1].replace(/(^\s*)|(\s*$)/g, ""));
                                                       else e = l(e);
                                                       this.tagValCache.key = e;
                                                  }
                                                  return e;
                                             },
                                             get: function (t, e) {
                                                  var i,
                                                       n = this.getTagSetting(t);
                                                  return n !== P ? n : void 0 === (i = this.mergedOptions[t]) ? e : i;
                                             },
                                        })),
                                        (t.fn.sparkline._base = i({
                                             disabled: !1,
                                             init: function (e, i, n, r, o) {
                                                  (this.el = e), (this.$el = t(e)), (this.values = i), (this.options = n), (this.width = r), (this.height = o), (this.currentRegion = void 0);
                                             },
                                             initTarget: function () {
                                                  var t = !this.options.get("disableInteraction");
                                                  (this.target = this.$el.simpledraw(this.width, this.height, this.options.get("composite"), t))
                                                       ? ((this.canvasWidth = this.target.pixelWidth), (this.canvasHeight = this.target.pixelHeight))
                                                       : (this.disabled = !0);
                                             },
                                             render: function () {
                                                  return !this.disabled || ((this.el.innerHTML = ""), !1);
                                             },
                                             getRegion: function (t, e) {},
                                             setRegionHighlight: function (t, e, i) {
                                                  var n,
                                                       r = this.currentRegion,
                                                       o = !this.options.get("disableHighlight");
                                                  return e > this.canvasWidth || i > this.canvasHeight || e < 0 || i < 0
                                                       ? null
                                                       : r !== (n = this.getRegion(t, e, i)) && (void 0 !== r && o && this.removeHighlight(), (this.currentRegion = n), void 0 !== n && o && this.renderHighlight(), !0);
                                             },
                                             clearRegionHighlight: function () {
                                                  return void 0 !== this.currentRegion && (this.removeHighlight(), (this.currentRegion = void 0), !0);
                                             },
                                             renderHighlight: function () {
                                                  this.changeHighlight(!0);
                                             },
                                             removeHighlight: function () {
                                                  this.changeHighlight(!1);
                                             },
                                             changeHighlight: function (t) {},
                                             getCurrentRegionTooltip: function () {
                                                  var e,
                                                       i,
                                                       r,
                                                       o,
                                                       a,
                                                       s,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       d,
                                                       p,
                                                       f,
                                                       m,
                                                       g = this.options,
                                                       v = "",
                                                       y = [];
                                                  if (void 0 === this.currentRegion) return "";
                                                  if (((e = this.getCurrentRegionFields()), (d = g.get("tooltipFormatter")))) return d(this, g, e);
                                                  if ((g.get("tooltipChartTitle") && (v += '<div class="jqs jqstitle">' + g.get("tooltipChartTitle") + "</div>\n"), !(i = this.options.get("tooltipFormat")))) return "";
                                                  if ((t.isArray(i) || (i = [i]), t.isArray(e) || (e = [e]), (l = this.options.get("tooltipFormatFieldlist")), (c = this.options.get("tooltipFormatFieldlistKey")), l && c)) {
                                                       for (u = [], s = e.length; s--; ) (h = e[s][c]), -1 != (m = t.inArray(h, l)) && (u[m] = e[s]);
                                                       e = u;
                                                  }
                                                  for (r = i.length, f = e.length, s = 0; s < r; s++)
                                                       for ("string" == typeof (p = i[s]) && (p = new n(p)), o = p.fclass || "jqsfield", m = 0; m < f; m++)
                                                            (e[m].isNull && g.get("tooltipSkipNull")) ||
                                                                 (t.extend(e[m], { prefix: g.get("tooltipPrefix"), suffix: g.get("tooltipSuffix") }),
                                                                 (a = p.render(e[m], g.get("tooltipValueLookups"), g)),
                                                                 y.push('<div class="' + o + '">' + a + "</div>"));
                                                  return y.length ? v + y.join("\n") : "";
                                             },
                                             getCurrentRegionFields: function () {},
                                             calcHighlightColor: function (t, e) {
                                                  var i,
                                                       n,
                                                       o,
                                                       a,
                                                       l = e.get("highlightColor"),
                                                       c = e.get("highlightLighten");
                                                  if (l) return l;
                                                  if (c && (i = /^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(t) || /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(t))) {
                                                       for (o = [], n = 4 === t.length ? 16 : 1, a = 0; a < 3; a++) o[a] = r(s.round(parseInt(i[a + 1], 16) * n * c), 0, 255);
                                                       return "rgb(" + o.join(",") + ")";
                                                  }
                                                  return t;
                                             },
                                        })),
                                        (b = {
                                             changeHighlight: function (e) {
                                                  var i,
                                                       n = this.currentRegion,
                                                       r = this.target,
                                                       o = this.regionShapes[n];
                                                  o &&
                                                       ((i = this.renderRegion(n, e)),
                                                       t.isArray(i) || t.isArray(o)
                                                            ? (r.replaceWithShapes(o, i),
                                                              (this.regionShapes[n] = t.map(i, function (t) {
                                                                   return t.id;
                                                              })))
                                                            : (r.replaceWithShape(o, i), (this.regionShapes[n] = i.id)));
                                             },
                                             render: function () {
                                                  var e,
                                                       i,
                                                       n,
                                                       r,
                                                       o = this.values,
                                                       a = this.target,
                                                       s = this.regionShapes;
                                                  if (this.cls._super.render.call(this)) {
                                                       for (n = o.length; n--; )
                                                            if ((e = this.renderRegion(n)))
                                                                 if (t.isArray(e)) {
                                                                      for (i = [], r = e.length; r--; ) e[r].append(), i.push(e[r].id);
                                                                      s[n] = i;
                                                                 } else e.append(), (s[n] = e.id);
                                                            else s[n] = null;
                                                       a.render();
                                                  }
                                             },
                                        }),
                                        (t.fn.sparkline.line = _ = i(t.fn.sparkline._base, {
                                             type: "line",
                                             init: function (t, e, i, n, r) {
                                                  _._super.init.call(this, t, e, i, n, r),
                                                       (this.vertices = []),
                                                       (this.regionMap = []),
                                                       (this.xvalues = []),
                                                       (this.yvalues = []),
                                                       (this.yminmax = []),
                                                       (this.hightlightSpotId = null),
                                                       (this.lastShapeId = null),
                                                       this.initTarget();
                                             },
                                             getRegion: function (t, e, i) {
                                                  var n,
                                                       r = this.regionMap;
                                                  for (n = r.length; n--; ) if (null !== r[n] && e >= r[n][0] && e <= r[n][1]) return r[n][2];
                                             },
                                             getCurrentRegionFields: function () {
                                                  var t = this.currentRegion;
                                                  return { isNull: null === this.yvalues[t], x: this.xvalues[t], y: this.yvalues[t], color: this.options.get("lineColor"), fillColor: this.options.get("fillColor"), offset: t };
                                             },
                                             renderHighlight: function () {
                                                  var t,
                                                       e,
                                                       i = this.currentRegion,
                                                       n = this.target,
                                                       r = this.vertices[i],
                                                       o = this.options,
                                                       a = o.get("spotRadius"),
                                                       s = o.get("highlightSpotColor"),
                                                       l = o.get("highlightLineColor");
                                                  r &&
                                                       (a && s && ((t = n.drawCircle(r[0], r[1], a, void 0, s)), (this.highlightSpotId = t.id), n.insertAfterShape(this.lastShapeId, t)),
                                                       l && ((e = n.drawLine(r[0], this.canvasTop, r[0], this.canvasTop + this.canvasHeight, l)), (this.highlightLineId = e.id), n.insertAfterShape(this.lastShapeId, e)));
                                             },
                                             removeHighlight: function () {
                                                  var t = this.target;
                                                  this.highlightSpotId && (t.removeShapeId(this.highlightSpotId), (this.highlightSpotId = null)),
                                                       this.highlightLineId && (t.removeShapeId(this.highlightLineId), (this.highlightLineId = null));
                                             },
                                             scanValues: function () {
                                                  var t,
                                                       e,
                                                       i,
                                                       n,
                                                       r,
                                                       o = this.values,
                                                       a = o.length,
                                                       l = this.xvalues,
                                                       c = this.yvalues,
                                                       u = this.yminmax;
                                                  for (t = 0; t < a; t++)
                                                       (e = o[t]),
                                                            (i = "string" == typeof o[t]),
                                                            (n = "object" == typeof o[t] && o[t] instanceof Array),
                                                            (r = i && o[t].split(":")),
                                                            i && 2 === r.length
                                                                 ? (l.push(Number(r[0])), c.push(Number(r[1])), u.push(Number(r[1])))
                                                                 : n
                                                                 ? (l.push(e[0]), c.push(e[1]), u.push(e[1]))
                                                                 : (l.push(t), null === o[t] || "null" === o[t] ? c.push(null) : (c.push(Number(e)), u.push(Number(e))));
                                                  this.options.get("xvalues") && (l = this.options.get("xvalues")),
                                                       (this.maxy = this.maxyorg = s.max.apply(s, u)),
                                                       (this.miny = this.minyorg = s.min.apply(s, u)),
                                                       (this.maxx = s.max.apply(s, l)),
                                                       (this.minx = s.min.apply(s, l)),
                                                       (this.xvalues = l),
                                                       (this.yvalues = c),
                                                       (this.yminmax = u);
                                             },
                                             processRangeOptions: function () {
                                                  var t = this.options,
                                                       e = t.get("normalRangeMin"),
                                                       i = t.get("normalRangeMax");
                                                  void 0 !== e && (e < this.miny && (this.miny = e), i > this.maxy && (this.maxy = i)),
                                                       void 0 !== t.get("chartRangeMin") && (t.get("chartRangeClip") || t.get("chartRangeMin") < this.miny) && (this.miny = t.get("chartRangeMin")),
                                                       void 0 !== t.get("chartRangeMax") && (t.get("chartRangeClip") || t.get("chartRangeMax") > this.maxy) && (this.maxy = t.get("chartRangeMax")),
                                                       void 0 !== t.get("chartRangeMinX") && (t.get("chartRangeClipX") || t.get("chartRangeMinX") < this.minx) && (this.minx = t.get("chartRangeMinX")),
                                                       void 0 !== t.get("chartRangeMaxX") && (t.get("chartRangeClipX") || t.get("chartRangeMaxX") > this.maxx) && (this.maxx = t.get("chartRangeMaxX"));
                                             },
                                             drawNormalRange: function (t, e, i, n, r) {
                                                  var o = this.options.get("normalRangeMin"),
                                                       a = this.options.get("normalRangeMax"),
                                                       l = e + s.round(i - i * ((a - this.miny) / r)),
                                                       c = s.round((i * (a - o)) / r);
                                                  this.target.drawRect(t, l, n, c, void 0, this.options.get("normalRangeColor")).append();
                                             },
                                             render: function () {
                                                  var e,
                                                       i,
                                                       n,
                                                       r,
                                                       o,
                                                       a,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       d,
                                                       p,
                                                       f,
                                                       m,
                                                       v,
                                                       y,
                                                       b,
                                                       x,
                                                       w,
                                                       k,
                                                       S,
                                                       M,
                                                       T,
                                                       C,
                                                       D = this.options,
                                                       L = this.target,
                                                       E = this.canvasWidth,
                                                       A = this.canvasHeight,
                                                       P = this.vertices,
                                                       I = D.get("spotRadius"),
                                                       O = this.regionMap;
                                                  if (_._super.render.call(this) && (this.scanValues(), this.processRangeOptions(), (M = this.xvalues), (T = this.yvalues), this.yminmax.length && !(this.yvalues.length < 2))) {
                                                       for (
                                                            r = o = 0,
                                                                 e = this.maxx - this.minx == 0 ? 1 : this.maxx - this.minx,
                                                                 i = this.maxy - this.miny == 0 ? 1 : this.maxy - this.miny,
                                                                 n = this.yvalues.length - 1,
                                                                 I && (E < 4 * I || A < 4 * I) && (I = 0),
                                                                 I &&
                                                                      (((k = D.get("highlightSpotColor") && !D.get("disableInteraction")) || D.get("minSpotColor") || (D.get("spotColor") && T[n] === this.miny)) && (A -= s.ceil(I)),
                                                                      (k || D.get("maxSpotColor") || (D.get("spotColor") && T[n] === this.maxy)) && ((A -= s.ceil(I)), (r += s.ceil(I))),
                                                                      (k || ((D.get("minSpotColor") || D.get("maxSpotColor")) && (T[0] === this.miny || T[0] === this.maxy))) && ((o += s.ceil(I)), (E -= s.ceil(I))),
                                                                      (k || D.get("spotColor") || D.get("minSpotColor") || (D.get("maxSpotColor") && (T[n] === this.miny || T[n] === this.maxy))) && (E -= s.ceil(I))),
                                                                 A--,
                                                                 void 0 === D.get("normalRangeMin") || D.get("drawNormalOnTop") || this.drawNormalRange(o, r, A, E, i),
                                                                 c = [(l = [])],
                                                                 f = m = null,
                                                                 v = T.length,
                                                                 C = 0;
                                                            C < v;
                                                            C++
                                                       )
                                                            (u = M[C]),
                                                                 (d = M[C + 1]),
                                                                 (h = T[C]),
                                                                 (m = (p = o + s.round((u - this.minx) * (E / e))) + ((C < v - 1 ? o + s.round((d - this.minx) * (E / e)) : E) - p) / 2),
                                                                 (O[C] = [f || 0, m, C]),
                                                                 (f = m),
                                                                 null === h
                                                                      ? C && (null !== T[C - 1] && ((l = []), c.push(l)), P.push(null))
                                                                      : (h < this.miny && (h = this.miny),
                                                                        h > this.maxy && (h = this.maxy),
                                                                        l.length || l.push([p, r + A]),
                                                                        (a = [p, r + s.round(A - A * ((h - this.miny) / i))]),
                                                                        l.push(a),
                                                                        P.push(a));
                                                       for (y = [], b = [], x = c.length, C = 0; C < x; C++)
                                                            (l = c[C]).length && (D.get("fillColor") && (l.push([l[l.length - 1][0], r + A]), b.push(l.slice(0)), l.pop()), l.length > 2 && (l[0] = [l[0][0], l[1][1]]), y.push(l));
                                                       for (x = b.length, C = 0; C < x; C++) L.drawShape(b[C], D.get("fillColor"), D.get("fillColor")).append();
                                                       for (void 0 !== D.get("normalRangeMin") && D.get("drawNormalOnTop") && this.drawNormalRange(o, r, A, E, i), x = y.length, C = 0; C < x; C++)
                                                            L.drawShape(y[C], D.get("lineColor"), void 0, D.get("lineWidth")).append();
                                                       if (I && D.get("valueSpots"))
                                                            for (void 0 === (w = D.get("valueSpots")).get && (w = new g(w)), C = 0; C < v; C++)
                                                                 (S = w.get(T[C])) && L.drawCircle(o + s.round((M[C] - this.minx) * (E / e)), r + s.round(A - A * ((T[C] - this.miny) / i)), I, void 0, S).append();
                                                       I &&
                                                            D.get("spotColor") &&
                                                            null !== T[n] &&
                                                            L.drawCircle(o + s.round((M[M.length - 1] - this.minx) * (E / e)), r + s.round(A - A * ((T[n] - this.miny) / i)), I, void 0, D.get("spotColor")).append(),
                                                            this.maxy !== this.minyorg &&
                                                                 (I &&
                                                                      D.get("minSpotColor") &&
                                                                      ((u = M[t.inArray(this.minyorg, T)]),
                                                                      L.drawCircle(o + s.round((u - this.minx) * (E / e)), r + s.round(A - A * ((this.minyorg - this.miny) / i)), I, void 0, D.get("minSpotColor")).append()),
                                                                 I &&
                                                                      D.get("maxSpotColor") &&
                                                                      ((u = M[t.inArray(this.maxyorg, T)]),
                                                                      L.drawCircle(o + s.round((u - this.minx) * (E / e)), r + s.round(A - A * ((this.maxyorg - this.miny) / i)), I, void 0, D.get("maxSpotColor")).append())),
                                                            (this.lastShapeId = L.getLastShapeId()),
                                                            (this.canvasTop = r),
                                                            L.render();
                                                  }
                                             },
                                        })),
                                        (t.fn.sparkline.bar = x = i(t.fn.sparkline._base, b, {
                                             type: "bar",
                                             init: function (e, i, n, o, a) {
                                                  var h,
                                                       d,
                                                       p,
                                                       f,
                                                       m,
                                                       v,
                                                       y,
                                                       b,
                                                       _,
                                                       w,
                                                       k,
                                                       S,
                                                       M,
                                                       T,
                                                       C,
                                                       D,
                                                       L,
                                                       E,
                                                       A,
                                                       P,
                                                       I,
                                                       O = parseInt(n.get("barWidth"), 10),
                                                       Y = parseInt(n.get("barSpacing"), 10),
                                                       z = n.get("chartRangeMin"),
                                                       R = n.get("chartRangeMax"),
                                                       F = n.get("chartRangeClip"),
                                                       H = 1 / 0,
                                                       j = -1 / 0;
                                                  for (x._super.init.call(this, e, i, n, o, a), v = 0, y = i.length; v < y; v++)
                                                       ((h = "string" == typeof (P = i[v]) && P.indexOf(":") > -1) || t.isArray(P)) &&
                                                            ((C = !0), h && (P = i[v] = c(P.split(":"))), (P = u(P, null)), (d = s.min.apply(s, P)) < H && (H = d), (p = s.max.apply(s, P)) > j && (j = p));
                                                  (this.stacked = C),
                                                       (this.regionShapes = {}),
                                                       (this.barWidth = O),
                                                       (this.barSpacing = Y),
                                                       (this.totalBarWidth = O + Y),
                                                       (this.width = o = i.length * O + (i.length - 1) * Y),
                                                       this.initTarget(),
                                                       F && ((M = void 0 === z ? -1 / 0 : z), (T = void 0 === R ? 1 / 0 : R)),
                                                       (m = []),
                                                       (f = C ? [] : m);
                                                  var N = [],
                                                       B = [];
                                                  for (v = 0, y = i.length; v < y; v++)
                                                       if (C)
                                                            for (D = i[v], i[v] = A = [], N[v] = 0, f[v] = B[v] = 0, L = 0, E = D.length; L < E; L++)
                                                                 null !== (P = A[L] = F ? r(D[L], M, T) : D[L]) &&
                                                                      (P > 0 && (N[v] += P), H < 0 && j > 0 ? (P < 0 ? (B[v] += s.abs(P)) : (f[v] += P)) : (f[v] += s.abs(P - (P < 0 ? j : H))), m.push(P));
                                                       else (P = F ? r(i[v], M, T) : i[v]), null !== (P = i[v] = l(P)) && m.push(P);
                                                  (this.max = S = s.max.apply(s, m)),
                                                       (this.min = k = s.min.apply(s, m)),
                                                       (this.stackMax = j = C ? s.max.apply(s, N) : S),
                                                       (this.stackMin = H = C ? s.min.apply(s, m) : k),
                                                       void 0 !== n.get("chartRangeMin") && (n.get("chartRangeClip") || n.get("chartRangeMin") < k) && (k = n.get("chartRangeMin")),
                                                       void 0 !== n.get("chartRangeMax") && (n.get("chartRangeClip") || n.get("chartRangeMax") > S) && (S = n.get("chartRangeMax")),
                                                       (this.zeroAxis = _ = n.get("zeroAxis", !0)),
                                                       (w = k <= 0 && S >= 0 && _ ? 0 : 0 == _ || k > 0 ? k : S),
                                                       (this.xaxisOffset = w),
                                                       (b = C ? s.max.apply(s, f) + s.max.apply(s, B) : S - k),
                                                       (this.canvasHeightEf = _ && k < 0 ? this.canvasHeight - 2 : this.canvasHeight - 1),
                                                       k < w ? (I = (((C && S >= 0 ? j : S) - w) / b) * this.canvasHeight) !== s.ceil(I) && ((this.canvasHeightEf -= 2), (I = s.ceil(I))) : (I = this.canvasHeight),
                                                       (this.yoffset = I),
                                                       t.isArray(n.get("colorMap"))
                                                            ? ((this.colorMapByIndex = n.get("colorMap")), (this.colorMapByValue = null))
                                                            : ((this.colorMapByIndex = null),
                                                              (this.colorMapByValue = n.get("colorMap")),
                                                              this.colorMapByValue && void 0 === this.colorMapByValue.get && (this.colorMapByValue = new g(this.colorMapByValue))),
                                                       (this.range = b);
                                             },
                                             getRegion: function (t, e, i) {
                                                  var n = s.floor(e / this.totalBarWidth);
                                                  return n < 0 || n >= this.values.length ? void 0 : n;
                                             },
                                             getCurrentRegionFields: function () {
                                                  var t,
                                                       e,
                                                       i = this.currentRegion,
                                                       n = f(this.values[i]),
                                                       r = [];
                                                  for (e = n.length; e--; ) (t = n[e]), r.push({ isNull: null === t, value: t, color: this.calcColor(e, t, i), offset: i });
                                                  return r;
                                             },
                                             calcColor: function (e, i, n) {
                                                  var r,
                                                       o,
                                                       a = this.colorMapByIndex,
                                                       s = this.colorMapByValue,
                                                       l = this.options;
                                                  return (
                                                       (r = this.stacked ? l.get("stackedBarColor") : i < 0 ? l.get("negBarColor") : l.get("barColor")),
                                                       0 === i && void 0 !== l.get("zeroColor") && (r = l.get("zeroColor")),
                                                       s && (o = s.get(i)) ? (r = o) : a && a.length > n && (r = a[n]),
                                                       t.isArray(r) ? r[e % r.length] : r
                                                  );
                                             },
                                             renderRegion: function (e, i) {
                                                  var n,
                                                       r,
                                                       o,
                                                       a,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       p,
                                                       f,
                                                       m = this.values[e],
                                                       g = this.options,
                                                       v = this.xaxisOffset,
                                                       y = [],
                                                       b = this.range,
                                                       _ = this.stacked,
                                                       x = this.target,
                                                       w = e * this.totalBarWidth,
                                                       k = this.canvasHeightEf,
                                                       S = this.yoffset;
                                                  if (((u = (m = t.isArray(m) ? m : [m]).length), (h = m[0]), (a = d(null, m)), (f = d(v, m, !0)), a))
                                                       return g.get("nullColor")
                                                            ? ((o = i ? g.get("nullColor") : this.calcHighlightColor(g.get("nullColor"), g)), (n = S > 0 ? S - 1 : S), x.drawRect(w, n, this.barWidth - 1, 0, o, o))
                                                            : void 0;
                                                  for (l = S, c = 0; c < u; c++) {
                                                       if (((h = m[c]), _ && h === v)) {
                                                            if (!f || p) continue;
                                                            p = !0;
                                                       }
                                                       (r = b > 0 ? s.floor(k * (s.abs(h - v) / b)) + 1 : 1),
                                                            h < v || (h === v && 0 === S) ? ((n = l), (l += r)) : ((n = S - r), (S -= r)),
                                                            (o = this.calcColor(c, h, e)),
                                                            i && (o = this.calcHighlightColor(o, g)),
                                                            y.push(x.drawRect(w, n, this.barWidth - 1, r - 1, o, o));
                                                  }
                                                  return 1 === y.length ? y[0] : y;
                                             },
                                        })),
                                        (t.fn.sparkline.tristate = w = i(t.fn.sparkline._base, b, {
                                             type: "tristate",
                                             init: function (e, i, n, r, o) {
                                                  var a = parseInt(n.get("barWidth"), 10),
                                                       s = parseInt(n.get("barSpacing"), 10);
                                                  w._super.init.call(this, e, i, n, r, o),
                                                       (this.regionShapes = {}),
                                                       (this.barWidth = a),
                                                       (this.barSpacing = s),
                                                       (this.totalBarWidth = a + s),
                                                       (this.values = t.map(i, Number)),
                                                       (this.width = r = i.length * a + (i.length - 1) * s),
                                                       t.isArray(n.get("colorMap"))
                                                            ? ((this.colorMapByIndex = n.get("colorMap")), (this.colorMapByValue = null))
                                                            : ((this.colorMapByIndex = null),
                                                              (this.colorMapByValue = n.get("colorMap")),
                                                              this.colorMapByValue && void 0 === this.colorMapByValue.get && (this.colorMapByValue = new g(this.colorMapByValue))),
                                                       this.initTarget();
                                             },
                                             getRegion: function (t, e, i) {
                                                  return s.floor(e / this.totalBarWidth);
                                             },
                                             getCurrentRegionFields: function () {
                                                  var t = this.currentRegion;
                                                  return { isNull: void 0 === this.values[t], value: this.values[t], color: this.calcColor(this.values[t], t), offset: t };
                                             },
                                             calcColor: function (t, e) {
                                                  var i,
                                                       n = this.values,
                                                       r = this.options,
                                                       o = this.colorMapByIndex,
                                                       a = this.colorMapByValue;
                                                  return a && (i = a.get(t)) ? i : o && o.length > e ? o[e] : n[e] < 0 ? r.get("negBarColor") : n[e] > 0 ? r.get("posBarColor") : r.get("zeroBarColor");
                                             },
                                             renderRegion: function (t, e) {
                                                  var i,
                                                       n,
                                                       r,
                                                       o,
                                                       a,
                                                       l,
                                                       c = this.values,
                                                       u = this.options,
                                                       h = this.target;
                                                  if (
                                                       ((i = h.pixelHeight),
                                                       (r = s.round(i / 2)),
                                                       (o = t * this.totalBarWidth),
                                                       c[t] < 0 ? ((a = r), (n = r - 1)) : c[t] > 0 ? ((a = 0), (n = r - 1)) : ((a = r - 1), (n = 2)),
                                                       null !== (l = this.calcColor(c[t], t)))
                                                  )
                                                       return e && (l = this.calcHighlightColor(l, u)), h.drawRect(o, a, this.barWidth - 1, n - 1, l, l);
                                             },
                                        })),
                                        (t.fn.sparkline.discrete = k = i(t.fn.sparkline._base, b, {
                                             type: "discrete",
                                             init: function (e, i, n, r, o) {
                                                  k._super.init.call(this, e, i, n, r, o),
                                                       (this.regionShapes = {}),
                                                       (this.values = i = t.map(i, Number)),
                                                       (this.min = s.min.apply(s, i)),
                                                       (this.max = s.max.apply(s, i)),
                                                       (this.range = this.max - this.min),
                                                       (this.width = r = "auto" === n.get("width") ? 2 * i.length : this.width),
                                                       (this.interval = s.floor(r / i.length)),
                                                       (this.itemWidth = r / i.length),
                                                       void 0 !== n.get("chartRangeMin") && (n.get("chartRangeClip") || n.get("chartRangeMin") < this.min) && (this.min = n.get("chartRangeMin")),
                                                       void 0 !== n.get("chartRangeMax") && (n.get("chartRangeClip") || n.get("chartRangeMax") > this.max) && (this.max = n.get("chartRangeMax")),
                                                       this.initTarget(),
                                                       this.target && (this.lineHeight = "auto" === n.get("lineHeight") ? s.round(0.3 * this.canvasHeight) : n.get("lineHeight"));
                                             },
                                             getRegion: function (t, e, i) {
                                                  return s.floor(e / this.itemWidth);
                                             },
                                             getCurrentRegionFields: function () {
                                                  var t = this.currentRegion;
                                                  return { isNull: void 0 === this.values[t], value: this.values[t], offset: t };
                                             },
                                             renderRegion: function (t, e) {
                                                  var i,
                                                       n,
                                                       o,
                                                       a,
                                                       l = this.values,
                                                       c = this.options,
                                                       u = this.min,
                                                       h = this.max,
                                                       d = this.range,
                                                       p = this.interval,
                                                       f = this.target,
                                                       m = this.canvasHeight,
                                                       g = this.lineHeight,
                                                       v = m - g;
                                                  return (
                                                       (n = r(l[t], u, h)),
                                                       (a = t * p),
                                                       (i = s.round(v - v * ((n - u) / d))),
                                                       (o = c.get("thresholdColor") && n < c.get("thresholdValue") ? c.get("thresholdColor") : c.get("lineColor")),
                                                       e && (o = this.calcHighlightColor(o, c)),
                                                       f.drawLine(a, i, a, i + g, o)
                                                  );
                                             },
                                        })),
                                        (t.fn.sparkline.bullet = S = i(t.fn.sparkline._base, {
                                             type: "bullet",
                                             init: function (t, e, i, n, r) {
                                                  var o, a, l;
                                                  S._super.init.call(this, t, e, i, n, r),
                                                       (this.values = e = c(e)),
                                                       ((l = e.slice())[0] = null === l[0] ? l[2] : l[0]),
                                                       (l[1] = null === e[1] ? l[2] : l[1]),
                                                       (o = s.min.apply(s, e)),
                                                       (a = s.max.apply(s, e)),
                                                       (o = void 0 === i.get("base") ? (o < 0 ? o : 0) : i.get("base")),
                                                       (this.min = o),
                                                       (this.max = a),
                                                       (this.range = a - o),
                                                       (this.shapes = {}),
                                                       (this.valueShapes = {}),
                                                       (this.regiondata = {}),
                                                       (this.width = n = "auto" === i.get("width") ? "4.0em" : n),
                                                       (this.target = this.$el.simpledraw(n, r, i.get("composite"))),
                                                       e.length || (this.disabled = !0),
                                                       this.initTarget();
                                             },
                                             getRegion: function (t, e, i) {
                                                  var n = this.target.getShapeAt(t, e, i);
                                                  return void 0 !== n && void 0 !== this.shapes[n] ? this.shapes[n] : void 0;
                                             },
                                             getCurrentRegionFields: function () {
                                                  var t = this.currentRegion;
                                                  return { fieldkey: t.substr(0, 1), value: this.values[t.substr(1)], region: t };
                                             },
                                             changeHighlight: function (t) {
                                                  var e,
                                                       i = this.currentRegion,
                                                       n = this.valueShapes[i];
                                                  switch ((delete this.shapes[n], i.substr(0, 1))) {
                                                       case "r":
                                                            e = this.renderRange(i.substr(1), t);
                                                            break;
                                                       case "p":
                                                            e = this.renderPerformance(t);
                                                            break;
                                                       case "t":
                                                            e = this.renderTarget(t);
                                                  }
                                                  (this.valueShapes[i] = e.id), (this.shapes[e.id] = i), this.target.replaceWithShape(n, e);
                                             },
                                             renderRange: function (t, e) {
                                                  var i = this.values[t],
                                                       n = s.round(this.canvasWidth * ((i - this.min) / this.range)),
                                                       r = this.options.get("rangeColors")[t - 2];
                                                  return e && (r = this.calcHighlightColor(r, this.options)), this.target.drawRect(0, 0, n - 1, this.canvasHeight - 1, r, r);
                                             },
                                             renderPerformance: function (t) {
                                                  var e = this.values[1],
                                                       i = s.round(this.canvasWidth * ((e - this.min) / this.range)),
                                                       n = this.options.get("performanceColor");
                                                  return t && (n = this.calcHighlightColor(n, this.options)), this.target.drawRect(0, s.round(0.3 * this.canvasHeight), i - 1, s.round(0.4 * this.canvasHeight) - 1, n, n);
                                             },
                                             renderTarget: function (t) {
                                                  var e = this.values[0],
                                                       i = s.round(this.canvasWidth * ((e - this.min) / this.range) - this.options.get("targetWidth") / 2),
                                                       n = s.round(0.1 * this.canvasHeight),
                                                       r = this.canvasHeight - 2 * n,
                                                       o = this.options.get("targetColor");
                                                  return t && (o = this.calcHighlightColor(o, this.options)), this.target.drawRect(i, n, this.options.get("targetWidth") - 1, r - 1, o, o);
                                             },
                                             render: function () {
                                                  var t,
                                                       e,
                                                       i = this.values.length,
                                                       n = this.target;
                                                  if (S._super.render.call(this)) {
                                                       for (t = 2; t < i; t++) (e = this.renderRange(t).append()), (this.shapes[e.id] = "r" + t), (this.valueShapes["r" + t] = e.id);
                                                       null !== this.values[1] && ((e = this.renderPerformance().append()), (this.shapes[e.id] = "p1"), (this.valueShapes.p1 = e.id)),
                                                            null !== this.values[0] && ((e = this.renderTarget().append()), (this.shapes[e.id] = "t0"), (this.valueShapes.t0 = e.id)),
                                                            n.render();
                                                  }
                                             },
                                        })),
                                        (t.fn.sparkline.pie = M = i(t.fn.sparkline._base, {
                                             type: "pie",
                                             init: function (e, i, n, r, o) {
                                                  var a,
                                                       l = 0;
                                                  if (
                                                       (M._super.init.call(this, e, i, n, r, o),
                                                       (this.shapes = {}),
                                                       (this.valueShapes = {}),
                                                       (this.values = i = t.map(i, Number)),
                                                       "auto" === n.get("width") && (this.width = this.height),
                                                       i.length > 0)
                                                  )
                                                       for (a = i.length; a--; ) l += i[a];
                                                  (this.total = l), this.initTarget(), (this.radius = s.floor(s.min(this.canvasWidth, this.canvasHeight) / 2));
                                             },
                                             getRegion: function (t, e, i) {
                                                  var n = this.target.getShapeAt(t, e, i);
                                                  return void 0 !== n && void 0 !== this.shapes[n] ? this.shapes[n] : void 0;
                                             },
                                             getCurrentRegionFields: function () {
                                                  var t = this.currentRegion;
                                                  return {
                                                       isNull: void 0 === this.values[t],
                                                       value: this.values[t],
                                                       percent: (this.values[t] / this.total) * 100,
                                                       color: this.options.get("sliceColors")[t % this.options.get("sliceColors").length],
                                                       offset: t,
                                                  };
                                             },
                                             changeHighlight: function (t) {
                                                  var e = this.currentRegion,
                                                       i = this.renderSlice(e, t),
                                                       n = this.valueShapes[e];
                                                  delete this.shapes[n], this.target.replaceWithShape(n, i), (this.valueShapes[e] = i.id), (this.shapes[i.id] = e);
                                             },
                                             renderSlice: function (t, e) {
                                                  var i,
                                                       n,
                                                       r,
                                                       o,
                                                       a,
                                                       l = this.target,
                                                       c = this.options,
                                                       u = this.radius,
                                                       h = c.get("borderWidth"),
                                                       d = c.get("offset"),
                                                       p = 2 * s.PI,
                                                       f = this.values,
                                                       m = this.total,
                                                       g = d ? 2 * s.PI * (d / 360) : 0;
                                                  for (o = f.length, r = 0; r < o; r++) {
                                                       if (((i = g), (n = g), m > 0 && (n = g + p * (f[r] / m)), t === r))
                                                            return (a = c.get("sliceColors")[r % c.get("sliceColors").length]), e && (a = this.calcHighlightColor(a, c)), l.drawPieSlice(u, u, u - h, i, n, void 0, a);
                                                       g = n;
                                                  }
                                             },
                                             render: function () {
                                                  var t,
                                                       e,
                                                       i = this.target,
                                                       n = this.values,
                                                       r = this.options,
                                                       o = this.radius,
                                                       a = r.get("borderWidth"),
                                                       l = r.get("donutWidth");
                                                  if (M._super.render.call(this)) {
                                                       for (a && i.drawCircle(o, o, s.floor(o - a / 2), r.get("borderColor"), void 0, a).append(), e = n.length; e--; )
                                                            n[e] && ((t = this.renderSlice(e).append()), (this.valueShapes[e] = t.id), (this.shapes[t.id] = e));
                                                       l && i.drawCircle(o, o, o - l, r.get("donutColor"), r.get("donutColor"), 0).append(), i.render();
                                                  }
                                             },
                                        })),
                                        (t.fn.sparkline.box = T = i(t.fn.sparkline._base, {
                                             type: "box",
                                             init: function (e, i, n, r, o) {
                                                  T._super.init.call(this, e, i, n, r, o),
                                                       (this.values = t.map(i, Number)),
                                                       (this.width = "auto" === n.get("width") ? "4.0em" : r),
                                                       this.initTarget(),
                                                       this.values.length || (this.disabled = 1);
                                             },
                                             getRegion: function () {
                                                  return 1;
                                             },
                                             getCurrentRegionFields: function () {
                                                  var t = [
                                                       { field: "lq", value: this.quartiles[0] },
                                                       { field: "med", value: this.quartiles[1] },
                                                       { field: "uq", value: this.quartiles[2] },
                                                  ];
                                                  return (
                                                       void 0 !== this.loutlier && t.push({ field: "lo", value: this.loutlier }),
                                                       void 0 !== this.routlier && t.push({ field: "ro", value: this.routlier }),
                                                       void 0 !== this.lwhisker && t.push({ field: "lw", value: this.lwhisker }),
                                                       void 0 !== this.rwhisker && t.push({ field: "rw", value: this.rwhisker }),
                                                       t
                                                  );
                                             },
                                             render: function () {
                                                  var t,
                                                       e,
                                                       i,
                                                       n,
                                                       r,
                                                       a,
                                                       l,
                                                       c,
                                                       u,
                                                       h,
                                                       d,
                                                       p = this.target,
                                                       f = this.values,
                                                       m = f.length,
                                                       g = this.options,
                                                       v = this.canvasWidth,
                                                       y = this.canvasHeight,
                                                       b = void 0 === g.get("chartRangeMin") ? s.min.apply(s, f) : g.get("chartRangeMin"),
                                                       _ = void 0 === g.get("chartRangeMax") ? s.max.apply(s, f) : g.get("chartRangeMax"),
                                                       x = 0;
                                                  if (T._super.render.call(this)) {
                                                       if (g.get("raw"))
                                                            g.get("showOutliers") && f.length > 5
                                                                 ? ((e = f[0]), (t = f[1]), (n = f[2]), (r = f[3]), (a = f[4]), (l = f[5]), (c = f[6]))
                                                                 : ((t = f[0]), (n = f[1]), (r = f[2]), (a = f[3]), (l = f[4]));
                                                       else if (
                                                            (f.sort(function (t, e) {
                                                                 return t - e;
                                                            }),
                                                            (n = o(f, 1)),
                                                            (r = o(f, 2)),
                                                            (i = (a = o(f, 3)) - n),
                                                            g.get("showOutliers"))
                                                       ) {
                                                            for (t = l = void 0, u = 0; u < m; u++) void 0 === t && f[u] > n - i * g.get("outlierIQR") && (t = f[u]), f[u] < a + i * g.get("outlierIQR") && (l = f[u]);
                                                            (e = f[0]), (c = f[m - 1]);
                                                       } else (t = f[0]), (l = f[m - 1]);
                                                       (this.quartiles = [n, r, a]),
                                                            (this.lwhisker = t),
                                                            (this.rwhisker = l),
                                                            (this.loutlier = e),
                                                            (this.routlier = c),
                                                            (d = v / (_ - b + 1)),
                                                            g.get("showOutliers") &&
                                                                 ((x = s.ceil(g.get("spotRadius"))),
                                                                 (d = (v -= 2 * s.ceil(g.get("spotRadius"))) / (_ - b + 1)),
                                                                 e < t && p.drawCircle((e - b) * d + x, y / 2, g.get("spotRadius"), g.get("outlierLineColor"), g.get("outlierFillColor")).append(),
                                                                 c > l && p.drawCircle((c - b) * d + x, y / 2, g.get("spotRadius"), g.get("outlierLineColor"), g.get("outlierFillColor")).append()),
                                                            p.drawRect(s.round((n - b) * d + x), s.round(0.1 * y), s.round((a - n) * d), s.round(0.8 * y), g.get("boxLineColor"), g.get("boxFillColor")).append(),
                                                            p.drawLine(s.round((t - b) * d + x), s.round(y / 2), s.round((n - b) * d + x), s.round(y / 2), g.get("lineColor")).append(),
                                                            p.drawLine(s.round((t - b) * d + x), s.round(y / 4), s.round((t - b) * d + x), s.round(y - y / 4), g.get("whiskerColor")).append(),
                                                            p.drawLine(s.round((l - b) * d + x), s.round(y / 2), s.round((a - b) * d + x), s.round(y / 2), g.get("lineColor")).append(),
                                                            p.drawLine(s.round((l - b) * d + x), s.round(y / 4), s.round((l - b) * d + x), s.round(y - y / 4), g.get("whiskerColor")).append(),
                                                            p.drawLine(s.round((r - b) * d + x), s.round(0.1 * y), s.round((r - b) * d + x), s.round(0.9 * y), g.get("medianColor")).append(),
                                                            g.get("target") &&
                                                                 ((h = s.ceil(g.get("spotRadius"))),
                                                                 p.drawLine(s.round((g.get("target") - b) * d + x), s.round(y / 2 - h), s.round((g.get("target") - b) * d + x), s.round(y / 2 + h), g.get("targetColor")).append(),
                                                                 p.drawLine(s.round((g.get("target") - b) * d + x - h), s.round(y / 2), s.round((g.get("target") - b) * d + x + h), s.round(y / 2), g.get("targetColor")).append()),
                                                            p.render();
                                                  }
                                             },
                                        })),
                                        (C = i({
                                             init: function (t, e, i, n) {
                                                  (this.target = t), (this.id = e), (this.type = i), (this.args = n);
                                             },
                                             append: function () {
                                                  return this.target.appendShape(this), this;
                                             },
                                        })),
                                        (D = i({
                                             _pxregex: /(\d+)(px)?\s*$/i,
                                             init: function (e, i, n) {
                                                  e && ((this.width = e), (this.height = i), (this.target = n), (this.lastShapeId = null), n[0] && (n = n[0]), t.data(n, "_jqs_vcanvas", this));
                                             },
                                             drawLine: function (t, e, i, n, r, o) {
                                                  return this.drawShape(
                                                       [
                                                            [t, e],
                                                            [i, n],
                                                       ],
                                                       r,
                                                       o
                                                  );
                                             },
                                             drawShape: function (t, e, i, n) {
                                                  return this._genShape("Shape", [t, e, i, n]);
                                             },
                                             drawCircle: function (t, e, i, n, r, o) {
                                                  return this._genShape("Circle", [t, e, i, n, r, o]);
                                             },
                                             drawPieSlice: function (t, e, i, n, r, o, a) {
                                                  return this._genShape("PieSlice", [t, e, i, n, r, o, a]);
                                             },
                                             drawRect: function (t, e, i, n, r, o) {
                                                  return this._genShape("Rect", [t, e, i, n, r, o]);
                                             },
                                             getElement: function () {
                                                  return this.canvas;
                                             },
                                             getLastShapeId: function () {
                                                  return this.lastShapeId;
                                             },
                                             reset: function () {
                                                  alert("reset not implemented");
                                             },
                                             _insert: function (e, i) {
                                                  t(i).html(e);
                                             },
                                             _calculatePixelDims: function (e, i, n) {
                                                  var r;
                                                  (r = this._pxregex.exec(i)), (this.pixelHeight = r ? r[1] : t(n).height()), (r = this._pxregex.exec(e)), (this.pixelWidth = r ? r[1] : t(n).width());
                                             },
                                             _genShape: function (t, e) {
                                                  var i = I++;
                                                  return e.unshift(i), new C(this, i, t, e);
                                             },
                                             appendShape: function (t) {
                                                  alert("appendShape not implemented");
                                             },
                                             replaceWithShape: function (t, e) {
                                                  alert("replaceWithShape not implemented");
                                             },
                                             insertAfterShape: function (t, e) {
                                                  alert("insertAfterShape not implemented");
                                             },
                                             removeShapeId: function (t) {
                                                  alert("removeShapeId not implemented");
                                             },
                                             getShapeAt: function (t, e, i) {
                                                  alert("getShapeAt not implemented");
                                             },
                                             render: function () {
                                                  alert("render not implemented");
                                             },
                                        })),
                                        (L = i(D, {
                                             init: function (e, i, n, r) {
                                                  L._super.init.call(this, e, i, n),
                                                       (this.canvas = a.createElement("canvas")),
                                                       n[0] && (n = n[0]),
                                                       t.data(n, "_jqs_vcanvas", this),
                                                       t(this.canvas).css({ display: "inline-block", width: e, height: i, verticalAlign: "top" }),
                                                       this._insert(this.canvas, n),
                                                       this._calculatePixelDims(e, i, this.canvas),
                                                       (this.canvas.width = this.pixelWidth),
                                                       (this.canvas.height = this.pixelHeight),
                                                       (this.interact = r),
                                                       (this.shapes = {}),
                                                       (this.shapeseq = []),
                                                       (this.currentTargetShapeId = void 0),
                                                       t(this.canvas).css({ width: this.pixelWidth, height: this.pixelHeight });
                                             },
                                             _getContext: function (t, e, i) {
                                                  var n = this.canvas.getContext("2d");
                                                  return void 0 !== t && (n.strokeStyle = t), (n.lineWidth = void 0 === i ? 1 : i), void 0 !== e && (n.fillStyle = e), n;
                                             },
                                             reset: function () {
                                                  this._getContext().clearRect(0, 0, this.pixelWidth, this.pixelHeight), (this.shapes = {}), (this.shapeseq = []), (this.currentTargetShapeId = void 0);
                                             },
                                             _drawShape: function (t, e, i, n, r) {
                                                  var o,
                                                       a,
                                                       s = this._getContext(i, n, r);
                                                  for (s.beginPath(), s.moveTo(e[0][0] + 0.5, e[0][1] + 0.5), o = 1, a = e.length; o < a; o++) s.lineTo(e[o][0] + 0.5, e[o][1] + 0.5);
                                                  void 0 !== i && s.stroke(), void 0 !== n && s.fill(), void 0 !== this.targetX && void 0 !== this.targetY && s.isPointInPath(this.targetX, this.targetY) && (this.currentTargetShapeId = t);
                                             },
                                             _drawCircle: function (t, e, i, n, r, o, a) {
                                                  var l = this._getContext(r, o, a);
                                                  l.beginPath(),
                                                       l.arc(e, i, n, 0, 2 * s.PI, !1),
                                                       void 0 !== this.targetX && void 0 !== this.targetY && l.isPointInPath(this.targetX, this.targetY) && (this.currentTargetShapeId = t),
                                                       void 0 !== r && l.stroke(),
                                                       void 0 !== o && l.fill();
                                             },
                                             _drawPieSlice: function (t, e, i, n, r, o, a, s) {
                                                  var l = this._getContext(a, s);
                                                  l.beginPath(),
                                                       l.moveTo(e, i),
                                                       l.arc(e, i, n, r, o, !1),
                                                       l.lineTo(e, i),
                                                       l.closePath(),
                                                       void 0 !== a && l.stroke(),
                                                       s && l.fill(),
                                                       void 0 !== this.targetX && void 0 !== this.targetY && l.isPointInPath(this.targetX, this.targetY) && (this.currentTargetShapeId = t);
                                             },
                                             _drawRect: function (t, e, i, n, r, o, a) {
                                                  return this._drawShape(
                                                       t,
                                                       [
                                                            [e, i],
                                                            [e + n, i],
                                                            [e + n, i + r],
                                                            [e, i + r],
                                                            [e, i],
                                                       ],
                                                       o,
                                                       a
                                                  );
                                             },
                                             appendShape: function (t) {
                                                  return (this.shapes[t.id] = t), this.shapeseq.push(t.id), (this.lastShapeId = t.id), t.id;
                                             },
                                             replaceWithShape: function (t, e) {
                                                  var i,
                                                       n = this.shapeseq;
                                                  for (this.shapes[e.id] = e, i = n.length; i--; ) n[i] == t && (n[i] = e.id);
                                                  delete this.shapes[t];
                                             },
                                             replaceWithShapes: function (t, e) {
                                                  var i,
                                                       n,
                                                       r,
                                                       o = this.shapeseq,
                                                       a = {};
                                                  for (n = t.length; n--; ) a[t[n]] = !0;
                                                  for (n = o.length; n--; ) a[(i = o[n])] && (o.splice(n, 1), delete this.shapes[i], (r = n));
                                                  for (n = e.length; n--; ) o.splice(r, 0, e[n].id), (this.shapes[e[n].id] = e[n]);
                                             },
                                             insertAfterShape: function (t, e) {
                                                  var i,
                                                       n = this.shapeseq;
                                                  for (i = n.length; i--; ) if (n[i] === t) return n.splice(i + 1, 0, e.id), void (this.shapes[e.id] = e);
                                             },
                                             removeShapeId: function (t) {
                                                  var e,
                                                       i = this.shapeseq;
                                                  for (e = i.length; e--; )
                                                       if (i[e] === t) {
                                                            i.splice(e, 1);
                                                            break;
                                                       }
                                                  delete this.shapes[t];
                                             },
                                             getShapeAt: function (t, e, i) {
                                                  return (this.targetX = e), (this.targetY = i), this.render(), this.currentTargetShapeId;
                                             },
                                             render: function () {
                                                  var t,
                                                       e,
                                                       i = this.shapeseq,
                                                       n = this.shapes,
                                                       r = i.length;
                                                  for (this._getContext().clearRect(0, 0, this.pixelWidth, this.pixelHeight), e = 0; e < r; e++) this["_draw" + (t = n[i[e]]).type].apply(this, t.args);
                                                  this.interact || ((this.shapes = {}), (this.shapeseq = []));
                                             },
                                        })),
                                        (E = i(D, {
                                             init: function (e, i, n) {
                                                  var r;
                                                  E._super.init.call(this, e, i, n),
                                                       n[0] && (n = n[0]),
                                                       t.data(n, "_jqs_vcanvas", this),
                                                       (this.canvas = a.createElement("span")),
                                                       t(this.canvas).css({ display: "inline-block", position: "relative", overflow: "hidden", width: e, height: i, margin: "0px", padding: "0px", verticalAlign: "top" }),
                                                       this._insert(this.canvas, n),
                                                       this._calculatePixelDims(e, i, this.canvas),
                                                       (this.canvas.width = this.pixelWidth),
                                                       (this.canvas.height = this.pixelHeight),
                                                       (r =
                                                            '<v:group coordorigin="0 0" coordsize="' +
                                                            this.pixelWidth +
                                                            " " +
                                                            this.pixelHeight +
                                                            '" style="position:absolute;top:0;left:0;width:' +
                                                            this.pixelWidth +
                                                            "px;height=" +
                                                            this.pixelHeight +
                                                            'px;"></v:group>'),
                                                       this.canvas.insertAdjacentHTML("beforeEnd", r),
                                                       (this.group = t(this.canvas).children()[0]),
                                                       (this.rendered = !1),
                                                       (this.prerender = "");
                                             },
                                             _drawShape: function (t, e, i, n, r) {
                                                  var o,
                                                       a,
                                                       s,
                                                       l,
                                                       c,
                                                       u,
                                                       h = [];
                                                  for (u = 0, c = e.length; u < c; u++) h[u] = e[u][0] + "," + e[u][1];
                                                  return (
                                                       (o = h.splice(0, 1)),
                                                       (r = void 0 === r ? 1 : r),
                                                       (a = void 0 === i ? ' stroked="false" ' : ' strokeWeight="' + r + 'px" strokeColor="' + i + '" '),
                                                       (s = void 0 === n ? ' filled="false"' : ' fillColor="' + n + '" filled="true" '),
                                                       (l = h[0] === h[h.length - 1] ? "x " : ""),
                                                       '<v:shape coordorigin="0 0" coordsize="' +
                                                            this.pixelWidth +
                                                            " " +
                                                            this.pixelHeight +
                                                            '"  id="jqsshape' +
                                                            t +
                                                            '" ' +
                                                            a +
                                                            s +
                                                            ' style="position:absolute;left:0px;top:0px;height:' +
                                                            this.pixelHeight +
                                                            "px;width:" +
                                                            this.pixelWidth +
                                                            'px;padding:0px;margin:0px;"  path="m ' +
                                                            o +
                                                            " l " +
                                                            h.join(", ") +
                                                            " " +
                                                            l +
                                                            'e"> </v:shape>'
                                                  );
                                             },
                                             _drawCircle: function (t, e, i, n, r, o, a) {
                                                  return (
                                                       '<v:oval  id="jqsshape' +
                                                       t +
                                                       '" ' +
                                                       (void 0 === r ? ' stroked="false" ' : ' strokeWeight="' + a + 'px" strokeColor="' + r + '" ') +
                                                       (void 0 === o ? ' filled="false"' : ' fillColor="' + o + '" filled="true" ') +
                                                       ' style="position:absolute;top:' +
                                                       (i -= n) +
                                                       "px; left:" +
                                                       (e -= n) +
                                                       "px; width:" +
                                                       2 * n +
                                                       "px; height:" +
                                                       2 * n +
                                                       'px"></v:oval>'
                                                  );
                                             },
                                             _drawPieSlice: function (t, e, i, n, r, o, a, l) {
                                                  var c, u, h, d, p, f, m;
                                                  if (r === o) return "";
                                                  if (
                                                       (o - r == 2 * s.PI && ((r = 0), (o = 2 * s.PI)),
                                                       (u = e + s.round(s.cos(r) * n)),
                                                       (h = i + s.round(s.sin(r) * n)),
                                                       (d = e + s.round(s.cos(o) * n)),
                                                       (p = i + s.round(s.sin(o) * n)),
                                                       u === d && h === p)
                                                  ) {
                                                       if (o - r < s.PI) return "";
                                                       (u = d = e + n), (h = p = i);
                                                  }
                                                  return u === d && h === p && o - r < s.PI
                                                       ? ""
                                                       : ((c = [e - n, i - n, e + n, i + n, u, h, d, p]),
                                                         (f = void 0 === a ? ' stroked="false" ' : ' strokeWeight="1px" strokeColor="' + a + '" '),
                                                         (m = void 0 === l ? ' filled="false"' : ' fillColor="' + l + '" filled="true" '),
                                                         '<v:shape coordorigin="0 0" coordsize="' +
                                                              this.pixelWidth +
                                                              " " +
                                                              this.pixelHeight +
                                                              '"  id="jqsshape' +
                                                              t +
                                                              '" ' +
                                                              f +
                                                              m +
                                                              ' style="position:absolute;left:0px;top:0px;height:' +
                                                              this.pixelHeight +
                                                              "px;width:" +
                                                              this.pixelWidth +
                                                              'px;padding:0px;margin:0px;"  path="m ' +
                                                              e +
                                                              "," +
                                                              i +
                                                              " wa " +
                                                              c.join(", ") +
                                                              ' x e"> </v:shape>');
                                             },
                                             _drawRect: function (t, e, i, n, r, o, a) {
                                                  return this._drawShape(
                                                       t,
                                                       [
                                                            [e, i],
                                                            [e, i + r],
                                                            [e + n, i + r],
                                                            [e + n, i],
                                                            [e, i],
                                                       ],
                                                       o,
                                                       a
                                                  );
                                             },
                                             reset: function () {
                                                  this.group.innerHTML = "";
                                             },
                                             appendShape: function (t) {
                                                  var e = this["_draw" + t.type].apply(this, t.args);
                                                  return this.rendered ? this.group.insertAdjacentHTML("beforeEnd", e) : (this.prerender += e), (this.lastShapeId = t.id), t.id;
                                             },
                                             replaceWithShape: function (e, i) {
                                                  var n = t("#jqsshape" + e),
                                                       r = this["_draw" + i.type].apply(this, i.args);
                                                  n[0].outerHTML = r;
                                             },
                                             replaceWithShapes: function (e, i) {
                                                  var n,
                                                       r = t("#jqsshape" + e[0]),
                                                       o = "",
                                                       a = i.length;
                                                  for (n = 0; n < a; n++) o += this["_draw" + i[n].type].apply(this, i[n].args);
                                                  for (r[0].outerHTML = o, n = 1; n < e.length; n++) t("#jqsshape" + e[n]).remove();
                                             },
                                             insertAfterShape: function (e, i) {
                                                  var n = t("#jqsshape" + e),
                                                       r = this["_draw" + i.type].apply(this, i.args);
                                                  n[0].insertAdjacentHTML("afterEnd", r);
                                             },
                                             removeShapeId: function (e) {
                                                  var i = t("#jqsshape" + e);
                                                  this.group.removeChild(i[0]);
                                             },
                                             getShapeAt: function (t, e, i) {
                                                  return t.id.substr(8);
                                             },
                                             render: function () {
                                                  this.rendered || ((this.group.innerHTML = this.prerender), (this.rendered = !0));
                                             },
                                        }));
                              })
                                   ? n.apply(e, r)
                                   : n) || (t.exports = o);
          })(document, Math);
     },
     function (t, e) {},
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     ,
     function (t, e) {},
     ,
     ,
     ,
     ,
     ,
     function (t, e) {},
     function (t, e) {},
     function (t, e) {},
     function (t, e) {},
     function (t, e) {},
]);
